Message ID | 1455014518-8708-4-git-send-email-bharatku@xilinx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Feb 09, 2016 at 04:11:56PM +0530, Bharat Kumar Gogada wrote: > Modifying Xilinx AXI PCIe Host Bridge Soft IP driver to work on both > Zynq and Microblaze Architectures. > With these modifications drivers/pci/host/pcie-xilinx.c, will > work on both Zynq and Microblaze Architectures. > > Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com> > Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com> > --- > Changes: > Removed unneccessary architecture dependent number of MSI's. > Added #ifdef to pci_fixup_irqs which is ARM specific API. Hi Bharat, Why do you say pci_fixup_irqs is ARM-specific? It's declared in include/linux/pci.h, defined in drivers/pci/setup-irq.c & used by multiple architectures (alpha, arm, m68k, mips, sh, sparc, tile, unicore32 from a quick grep). Will you not break INTX-style interrupts by removing this? Thanks, Paul > --- > drivers/pci/host/pcie-xilinx.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie-xilinx.c > index 13fec35..6cbce34 100644 > --- a/drivers/pci/host/pcie-xilinx.c > +++ b/drivers/pci/host/pcie-xilinx.c > @@ -704,7 +704,9 @@ static int xilinx_pcie_probe(struct platform_device *pdev) > #endif > pci_scan_child_bus(bus); > pci_assign_unassigned_bus_resources(bus); > +#ifdef CONFIG_ARM > pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci); > +#endif > pci_bus_add_devices(bus); > platform_set_drvdata(pdev, port); > > -- > 2.1.1 >
> On Tue, Feb 09, 2016 at 04:11:56PM +0530, Bharat Kumar Gogada wrote: > > Modifying Xilinx AXI PCIe Host Bridge Soft IP driver to work on both > > Zynq and Microblaze Architectures. > > With these modifications drivers/pci/host/pcie-xilinx.c, will work on > > both Zynq and Microblaze Architectures. > > > > Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com> > > Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com> > > --- > > Changes: > > Removed unneccessary architecture dependent number of MSI's. > > Added #ifdef to pci_fixup_irqs which is ARM specific API. > > Hi Bharat, > > Why do you say pci_fixup_irqs is ARM-specific? It's declared in > include/linux/pci.h, defined in drivers/pci/setup-irq.c & used by multiple > architectures (alpha, arm, m68k, mips, sh, sparc, tile, > unicore32 from a quick grep). > > Will you not break INTX-style interrupts by removing this? > I meant to say ARM specific w.r.t Microblaze architecture, which is what this patch series are for. This has been already discussed in my previous patch by Arnd Bergmann and Lorenzo Pieralisi . (https://lkml.org/lkml/2016/1/12/707) Bharat
On Wed, Feb 10, 2016 at 05:55:51AM +0000, Bharat Kumar Gogada wrote: > > On Tue, Feb 09, 2016 at 04:11:56PM +0530, Bharat Kumar Gogada wrote: > > > Modifying Xilinx AXI PCIe Host Bridge Soft IP driver to work on both > > > Zynq and Microblaze Architectures. > > > With these modifications drivers/pci/host/pcie-xilinx.c, will work on > > > both Zynq and Microblaze Architectures. > > > > > > Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com> > > > Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com> > > > --- > > > Changes: > > > Removed unneccessary architecture dependent number of MSI's. > > > Added #ifdef to pci_fixup_irqs which is ARM specific API. > > > > Hi Bharat, > > > > Why do you say pci_fixup_irqs is ARM-specific? It's declared in > > include/linux/pci.h, defined in drivers/pci/setup-irq.c & used by multiple > > architectures (alpha, arm, m68k, mips, sh, sparc, tile, > > unicore32 from a quick grep). > > > > Will you not break INTX-style interrupts by removing this? > > > I meant to say ARM specific w.r.t Microblaze architecture, which is > what this patch series are for. This has been already discussed in my > previous patch by Arnd Bergmann and Lorenzo Pieralisi . > (https://lkml.org/lkml/2016/1/12/707) Hi Bharat, Ok, so you don't need it for microblaze but do need it for zynq/ARM. We also need it for MIPS, where my recent patches enable this driver. So if #ifdef'ing this is the current way forwards could you please invert the condition to #ifndef CONFIG_MICROBLAZE? Thanks, Paul
On Wednesday 10 February 2016 09:27:07 Paul Burton wrote: > On Wed, Feb 10, 2016 at 05:55:51AM +0000, Bharat Kumar Gogada wrote: > > > On Tue, Feb 09, 2016 at 04:11:56PM +0530, Bharat Kumar Gogada wrote: > > > > Modifying Xilinx AXI PCIe Host Bridge Soft IP driver to work on both > > > > Zynq and Microblaze Architectures. > > > > With these modifications drivers/pci/host/pcie-xilinx.c, will work on > > > > both Zynq and Microblaze Architectures. > > > > > > > > Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com> > > > > Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com> > > > > --- > > > > Changes: > > > > Removed unneccessary architecture dependent number of MSI's. > > > > Added #ifdef to pci_fixup_irqs which is ARM specific API. > > > > > > Hi Bharat, > > > > > > Why do you say pci_fixup_irqs is ARM-specific? It's declared in > > > include/linux/pci.h, defined in drivers/pci/setup-irq.c & used by multiple > > > architectures (alpha, arm, m68k, mips, sh, sparc, tile, > > > unicore32 from a quick grep). > > > > > > Will you not break INTX-style interrupts by removing this? > > > > > I meant to say ARM specific w.r.t Microblaze architecture, which is > > what this patch series are for. This has been already discussed in my > > previous patch by Arnd Bergmann and Lorenzo Pieralisi . > > (https://lkml.org/lkml/2016/1/12/707) > > Hi Bharat, > > Ok, so you don't need it for microblaze but do need it for zynq/ARM. We > also need it for MIPS, where my recent patches enable this driver. So if > #ifdef'ing this is the current way forwards could you please invert the > condition to #ifndef CONFIG_MICROBLAZE? I think we are getting to the point where we should try much harder to make sure nobody needs that hack and it all works out of the box. Arnd
> Subject: Re: [PATCH V3 3/5] PCI: xilinx: Modifying AXI PCIe Host Bridge driver > to work on both Zynq and Microblaze > > On Wednesday 10 February 2016 09:27:07 Paul Burton wrote: > > On Wed, Feb 10, 2016 at 05:55:51AM +0000, Bharat Kumar Gogada wrote: > > > > On Tue, Feb 09, 2016 at 04:11:56PM +0530, Bharat Kumar Gogada > wrote: > > > > > Modifying Xilinx AXI PCIe Host Bridge Soft IP driver to work on > > > > > both Zynq and Microblaze Architectures. > > > > > With these modifications drivers/pci/host/pcie-xilinx.c, will > > > > > work on both Zynq and Microblaze Architectures. > > > > > > > > > > Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com> > > > > > Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com> > > > > > --- > > > > > Changes: > > > > > Removed unneccessary architecture dependent number of MSI's. > > > > > Added #ifdef to pci_fixup_irqs which is ARM specific API. > > > > > > > > Hi Bharat, > > > > > > > > Why do you say pci_fixup_irqs is ARM-specific? It's declared in > > > > include/linux/pci.h, defined in drivers/pci/setup-irq.c & used by > > > > multiple architectures (alpha, arm, m68k, mips, sh, sparc, tile, > > > > unicore32 from a quick grep). > > > > > > > > Will you not break INTX-style interrupts by removing this? > > > > > > > I meant to say ARM specific w.r.t Microblaze architecture, which is > > > what this patch series are for. This has been already discussed in > > > my previous patch by Arnd Bergmann and Lorenzo Pieralisi . > > > (https://lkml.org/lkml/2016/1/12/707) > > > > Hi Bharat, > > > > Ok, so you don't need it for microblaze but do need it for zynq/ARM. > > We also need it for MIPS, where my recent patches enable this driver. > > So if #ifdef'ing this is the current way forwards could you please > > invert the condition to #ifndef CONFIG_MICROBLAZE? > > I think we are getting to the point where we should try much harder to make > sure nobody needs that hack and it all works out of the box. Ok I will invert to this condition and resend the patches. Bharat
diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie-xilinx.c index 13fec35..6cbce34 100644 --- a/drivers/pci/host/pcie-xilinx.c +++ b/drivers/pci/host/pcie-xilinx.c @@ -704,7 +704,9 @@ static int xilinx_pcie_probe(struct platform_device *pdev) #endif pci_scan_child_bus(bus); pci_assign_unassigned_bus_resources(bus); +#ifdef CONFIG_ARM pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci); +#endif pci_bus_add_devices(bus); platform_set_drvdata(pdev, port);