public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Sylvain Munaut <tnt@246tNt•com>
To: Wolfgang Denk <wd@denx•de>
Cc: linuxppc-embedded@ozlabs•org
Subject: Re: [PATCH] MPC5200 - Make PCI work in 2.6 with the IceCube 5200
Date: Wed, 12 Oct 2005 01:22:01 +0200	[thread overview]
Message-ID: <434C4919.7030007@246tNt.com> (raw)
In-Reply-To: <20051010193700.67266353ADC@atlas.denx.de>

Hi Wolfgang,


Weird, I would have thought the usage of in_be out_be macro ensured
that. But after checking, they only include a isync instruction which
doesn't guarantee memory access will be done while mb() uses sync that
does guarantee that.

Any one can comment on that ? Wasn't the purpose of the in_be out_be to
ensure that ?



	Sylvain



Wolfgang Denk wrote:
> Hello,
> 
> the following patch is against the current 2.6 kernel.org tree
> (commit f96c3bbe91117402f13119ce9e609db9087ed58f):
> 
> As a prerequisite for a working system, the  following  two  poatches
> are needed, too:
> 
> http://patchwork.ozlabs.org/linuxppc/patch?id=2018
> http://patchwork.ozlabs.org/linuxppc/patch?id=2017
> 
> \f
> !-------------------------------------------------------------flip-
> 
> [patch] making PCI work in the MPC5200
> Patch by Alessandro Rubini, 08 Oct 2005
> 
> Make PCI work in 2.6 with the IceCube 5200.
> 
> Without the memory barriers all PCI config reads returned 0xffffffff
> (actually, there may be more mb() than needed). Using wmb(); was not
> enough to be able to read configuration registers.
> 
> Signed-off by Alessandro Rubini <rubini@gnudd•com>
> Signed-off by Wolfgang Denk <wd@denx•de>
> 
> ---
> commit cdd7fdf10b3cbb7eb82cacc7ba5dba3553020f49
> tree 97d045b44c87c00a4b3fe5bca57b479be87e68b6
> parent 509b5c9fcbfe7fcae7d4f98946e4dc9794d68645
> author Wolfgang Denk <wd@pollux•denx.de> Sat, 08 Oct 2005 22:41:53 +0200
> committer Wolfgang Denk <wd@pollux•denx.de> Sat, 08 Oct 2005 22:41:53 +0200
> 
>  arch/ppc/syslib/mpc52xx_pci.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/ppc/syslib/mpc52xx_pci.c b/arch/ppc/syslib/mpc52xx_pci.c
> --- a/arch/ppc/syslib/mpc52xx_pci.c
> +++ b/arch/ppc/syslib/mpc52xx_pci.c
> @@ -39,6 +39,7 @@ mpc52xx_pci_read_config(struct pci_bus *
>  		((bus->number - hose->bus_offset) << 16) |
>  		(devfn << 8) |
>  		(offset & 0xfc));
> +	mb();
>  
>  	value = in_le32(hose->cfg_data);
>  
> @@ -70,6 +71,7 @@ mpc52xx_pci_write_config(struct pci_bus 
>  		((bus->number - hose->bus_offset) << 16) |
>  		(devfn << 8) |
>  		(offset & 0xfc));
> +	mb();
>  
>  	if (len != 4) {
>  		value = in_le32(hose->cfg_data);
> @@ -80,9 +82,11 @@ mpc52xx_pci_write_config(struct pci_bus 
>  
>  		value &= ~mask;
>  		val = value | ((val << offset) & mask);
> +		mb();
>  	}
>  
>  	out_le32(hose->cfg_data, val);
> +	mb();
>  
>  	out_be32(hose->cfg_addr, 0);
>  
> 
> 
> \f
> !-------------------------------------------------------------flip-
> 
> 
> 
> Best regards,
> 
> Wolfgang Denk
> 

      reply	other threads:[~2005-10-11 23:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-10 19:37 [PATCH] MPC5200 - Make PCI work in 2.6 with the IceCube 5200 Wolfgang Denk
2005-10-11 23:22 ` Sylvain Munaut [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=434C4919.7030007@246tNt.com \
    --to=tnt@246tnt$(echo .)com \
    --cc=linuxppc-embedded@ozlabs$(echo .)org \
    --cc=wd@denx$(echo .)de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox