RE: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support for bsc9132qds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Scott,

Could you please help to apply this patch?

Thanks,
Zhiqiang

> -----Original Message-----
> From: Scott Wood
> Sent: 2015年11月20日 11:02
> To: Zhiqiang Hou; Zhiqiang Hou; linuxppc-dev@xxxxxxxxxxxxxxxx;
> galak@xxxxxxxxxxxxxxxxxxx; benh@xxxxxxxxxxxxxxxxxxx; paulus@xxxxxxxxx;
> mpe@xxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx;
> pawel.moll@xxxxxxx; mark.rutland@xxxxxxx; ijc+devicetree@xxxxxxxxxxxxxx;
> Harninder Rai
> Cc: Minghuan Lian; Mingkai Hu
> Subject: Re: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support for
> bsc9132qds
> 
> On Mon, 2015-11-16 at 20:31 -0600, Hou Zhiqiang-B48286 wrote:
> > Hi,
> >
> > Any response, please comment.
> 
> They look OK.
> 
> -Scott
> 
> >
> > > -----Original Message-----
> > > From: Zhiqiang Hou [mailto:Zhiqiang.Hou@xxxxxxxxxxxxx]
> > > Sent: 2015年11月5日 11:16
> > > To: linuxppc-dev@xxxxxxxxxxxxxxxx; Wood Scott-B07421;
> > > galak@xxxxxxxxxxxxxxxxxxx; benh@xxxxxxxxxxxxxxxxxxx;
> > > paulus@xxxxxxxxx; mpe@xxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> > > robh+dt@xxxxxxxxxx; pawel.moll@xxxxxxx; mark.rutland@xxxxxxx;
> > > ijc+devicetree@xxxxxxxxxxxxxx; Rai Harninder-B01044
> > > Cc: Lian Minghuan-B31939; Hu Mingkai-B21284; Hou Zhiqiang-B48286
> > > Subject: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support
> > > for bsc9132qds
> > >
> > > From: Harninder Rai <harninder.rai@xxxxxxxxxxxxx>
> > >
> > > 1. Use machine_arch_initcall to hook mpc85xx_common_publish_devices
> > > This can ensure before pcibios_init() is called, pci controllers
> > > have been probed and added to the hose_list.
> > > 2. Add a workaround for errata A-005434 For the BSC9132,
> > > PEX_PEXIWARn[TRGT] for all windows defaults to 0xF, which is mapped
> > > to CCSRBAR. However, for other products, 0xF is mapped to the local
> > > memory. Therefore, for the BSC9132, any default PCI Express access
> > > to the local memory (DDR) will now access the CCSRBAR. This patch
> > > changes the mapping of targets of inbound windows PEX_PEXIWARn[TRGT]
> > > to the Local address space – 0x0 (from 0xF).
> > >
> > > Signed-off-by: Harninder Rai <harninder.rai@xxxxxxxxxxxxx>
> > > Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx>
> > > Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx>
> > > ---
> > > V4: V3:
> > >  - Remove gerrit stuff.
> > >
> > >  arch/powerpc/platforms/85xx/bsc913x_qds.c |  8 +++++++-
> > >  arch/powerpc/sysdev/fsl_pci.c             | 13 +++++++++++++
> > >  2 files changed, 20 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/arch/powerpc/platforms/85xx/bsc913x_qds.c
> > > b/arch/powerpc/platforms/85xx/bsc913x_qds.c
> > > index f0927e5..dcfafd6 100644
> > > --- a/arch/powerpc/platforms/85xx/bsc913x_qds.c
> > > +++ b/arch/powerpc/platforms/85xx/bsc913x_qds.c
> > > @@ -17,6 +17,7 @@
> > >  #include <linux/pci.h>
> > >  #include <asm/mpic.h>
> > >  #include <sysdev/fsl_soc.h>
> > > +#include <sysdev/fsl_pci.h>
> > >  #include <asm/udbg.h>
> > >
> > >  #include "mpc85xx.h"
> > > @@ -46,10 +47,12 @@ static void __init bsc913x_qds_setup_arch(void)
> > >  	mpc85xx_smp_init();
> > >  #endif
> > >
> > > +	fsl_pci_assign_primary();
> > > +
> > >  	pr_info("bsc913x board from Freescale Semiconductor\n");  }
> > >
> > > -machine_device_initcall(bsc9132_qds,
> > > mpc85xx_common_publish_devices);
> > > +machine_arch_initcall(bsc9132_qds, mpc85xx_common_publish_devices);
> > >
> > >  /*
> > >   * Called very early, device-tree isn't unflattened @@ -67,6 +70,9
> > > @@
> > > define_machine(bsc9132_qds) {
> > >  	.probe			= bsc9132_qds_probe,
> > >  	.setup_arch		= bsc913x_qds_setup_arch,
> > >  	.init_IRQ		= bsc913x_qds_pic_init,
> > > +#ifdef CONFIG_PCI
> > > +	.pcibios_fixup_bus	= fsl_pcibios_fixup_bus,
> > > +#endif
> > >  	.get_irq		= mpic_get_irq,
> > >  	.restart		= fsl_rstcr_restart,
> > >  	.calibrate_decr		= generic_calibrate_decr,
> > > diff --git a/arch/powerpc/sysdev/fsl_pci.c
> > > b/arch/powerpc/sysdev/fsl_pci.c index ebc1f412..b8607f6 100644
> > > --- a/arch/powerpc/sysdev/fsl_pci.c
> > > +++ b/arch/powerpc/sysdev/fsl_pci.c
> > > @@ -193,6 +193,19 @@ static void setup_pci_atmu(struct
> > > pci_controller
> > > *hose)
> > >  	const u64 *reg;
> > >  	int len;
> > >
> > > +	if (of_device_is_compatible(hose->dn, "fsl,bsc9132-pcie")) {
> > > +		/*
> > > +		 * BSC9132 Rev1.0 has an issue where all the PEX inbound
> > > +		 * windows have implemented the default target value as
> > > 0xf
> > > +		 * for CCSR space.In all Freescale legacy devices the
> > > target
> > > +		 * of 0xf is reserved for local memory space. 9132 Rev1.0
> > > +		 * now has local mempry space mapped to target 0x0
> > > instead of
> > > +		 * 0xf. Hence adding a workaround to remove the target
> > > 0xf
> > > +		 * defined for memory space from Inbound window
> > > attributes.
> > > +		 */
> > > +		piwar &= ~PIWAR_TGI_LOCAL;
> > > +	}
> > > +
> > >  	if (early_find_capability(hose, 0, 0, PCI_CAP_ID_EXP)) {
> > >  		if (in_be32(&pci->block_rev1) >= PCIE_IP_REV_2_2) {
> > >  			win_idx = 2;
> > > --
> > > 2.1.0.27.g96db324
> >
> > Thanks,
> > Zhiqiang
��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux