Re: Patch notification: 1 patch updated
"Christophe Leroy (CS GROUP)" <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Message-ID | <35d19b6e-5d0f-4725-89ab-2f9aaf153f1d__47530.1697779045$1786110779$gmane$org@kernel.org> |
Hi Christian, Le 07/08/2026 à 15:44, Christian Zigotzky a écrit : > Hello, > > I believe Patchwork did not fully associate the latest revision of my patch series with the previous one. Not sure what you mean, in patchwork we have: https://patchwork.ozlabs.org/project/linuxppc-dev/patch/[email protected]/ So I marked following ones as been superseded by it: https://patchwork.ozlabs.org/project/linuxppc-dev/patch/[email protected]/ https://patchwork.ozlabs.org/project/linuxppc-dev/patch/[email protected]/ Did I miss something ? Thanks Christophe > > Please use the following latest patch. > > Thanks, > Christian > > —- > The Nemo board requires the PCIe ports to be initialized before the > SB600 ISA bridge can be accessed. > > Since pas_pci_init() is now called later during boot, the i8259 > initialization in pas_init_IRQ() happens too early and accesses > registers that are not yet mapped, preventing the board from booting. > > Move the Nemo-specific i8259 initialization to pas_add_bridge(), > after the ISA bridge has been discovered. > > Suggested-by: Darren Stevens <darren at stevens-zone.net> > Tested-by: Christian Zigotzky <chzigotzky at xenosoft.de> > Signed-off-by: Christian Zigotzky <chzigotzky at xenosoft.de> > --- > arch/powerpc/platforms/pasemi/pasemi.h | 6 ++++++ > arch/powerpc/platforms/pasemi/pci.c | 5 +++++ > arch/powerpc/platforms/pasemi/setup.c | 12 ++++-------- > 3 files changed, 15 insertions(+), 8 deletions(-) > > diff --git a/arch/powerpc/platforms/pasemi/pasemi.h b/arch/powerpc/platforms/pasemi/pasemi.h > index 6f6743b8e48d..c37e5c684bb9 100644 > --- a/arch/powerpc/platforms/pasemi/pasemi.h > +++ b/arch/powerpc/platforms/pasemi/pasemi.h > @@ -7,6 +7,12 @@ extern void pas_pci_init(void); > struct pci_dev; > extern void pas_pci_dma_dev_setup(struct pci_dev *dev); > > +#ifdef CONFIG_PPC_PASEMI_NEMO > +extern void __init nemo_init_IRQ(void); > +#else > +static inline void __init nemo_init_IRQ(void) { } > +#endif > + > void __iomem *__init pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset); > > extern void __init pasemi_map_registers(void); > diff --git a/arch/powerpc/platforms/pasemi/pci.c b/arch/powerpc/platforms/pasemi/pci.c > index 2df955274652..fb53782da7ec 100644 > --- a/arch/powerpc/platforms/pasemi/pci.c > +++ b/arch/powerpc/platforms/pasemi/pci.c > @@ -265,6 +265,11 @@ static int __init pas_add_bridge(struct device_node *dev) > */ > isa_bridge_find_early(hose); > > + /* > + * ISA bridge is now active, add the i8259 cascade (if needed) > + */ > + nemo_init_IRQ(); > + > return 0; > } > > diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c > index d03b41336901..c410e29414ee 100644 > --- a/arch/powerpc/platforms/pasemi/setup.c > +++ b/arch/powerpc/platforms/pasemi/setup.c > @@ -214,10 +214,12 @@ static void sb600_8259_cascade(struct irq_desc *desc) > chip->irq_eoi(&desc->irq_data); > } > > -static void __init nemo_init_IRQ(struct mpic *mpic) > +void __init nemo_init_IRQ(void) > { > struct device_node *np; > int gpio_virq; > + struct mpic *mpic; > + > /* Connect the SB600's legacy i8259 controller */ > np = of_find_node_by_path("/pxp at 0,e0000000"); > i8259_init(np, 0); > @@ -228,14 +230,10 @@ static void __init nemo_init_IRQ(struct mpic *mpic) > irq_set_chained_handler(gpio_virq, sb600_8259_cascade); > mpic_unmask_irq(irq_get_irq_data(gpio_virq)); > > + mpic = irq_get_chip_data(gpio_virq); > irq_set_default_domain(mpic->irqhost); > } > > -#else > - > -static inline void nemo_init_IRQ(struct mpic *mpic) > -{ > -} > #endif > > static __init void pas_init_IRQ(void) > @@ -298,8 +296,6 @@ static __init void pas_init_IRQ(void) > mpic_unmask_irq(irq_get_irq_data(nmi_virq)); > } > > - nemo_init_IRQ(mpic); > - > of_node_put(mpic_node); > of_node_put(root); > }