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
>
prev parent 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