[PATCH v2 9/9] Created quirk_mpc8641_transparent() to initialize bridge resources.

Kumar Gala galak at kernel.crashing.org
Fri Jun 22 23:50:42 EST 2007


On Jun 4, 2007, at 5:30 PM, Jon Loeliger wrote:

> The 8641 RC poses as a transparent bridge, but does not implement the
> IO_BASE or IO_LIMIT registers in the config space.  This means that
> the code which initializes the bridge resources ends up setting the
> IO resources erroneously.
>
> This change sets RC of mpc8641 to be a transparent bridge
> for legacy I/O access and initializes the RC bridge resources
> from the device tree.
>
> Signed-off-by: Zhang Wei <wei.zhang at freescale.com>
> Signed-off-by: Andy Fleming <afleming at freescale.com>
> Signed-off-by: Jon Loeliger <jdl at freescale.com>
> ---
>
> Incorporates review suggestions from Milton.
>
>  arch/powerpc/platforms/86xx/mpc86xx_hpcn.c |   76 +++++++++++++++++ 
> +++++++++++
>  1 files changed, 76 insertions(+), 0 deletions(-)
>
> diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/ 
> powerpc/platforms/86xx/mpc86xx_hpcn.c
> index a82da4b..83a2c28 100644
> --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
> +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
> @@ -318,6 +318,7 @@ static void __devinit quirk_uli5288(struct  
> pci_dev *dev)
>  static void __devinit quirk_uli5229(struct pci_dev *dev)
>  {
>  	unsigned short temp;
> +
>  	pci_write_config_word(dev, 0x04, 0x0405);
>  	dev->class &= ~0x5;
>  	pci_read_config_word(dev, 0x4a, &temp);
> @@ -325,6 +326,75 @@ static void __devinit quirk_uli5229(struct  
> pci_dev *dev)
>  	pci_write_config_word(dev, 0x4a, temp);
>  }
>
> +static void __devinit quirk_mpc8641_transparent(struct pci_dev *dev)
> +{

Shouldn't we put this in fsl_pcie.c since it will be need by everyone  
using an 85xx/86xx pci-e controller?

[snip]
> +}

- k



More information about the Linuxppc-dev mailing list