Re: [linuxppc-dev] Patch notification: 1 patch updated

"Christophe Leroy (CS GROUP)" <[email protected]>
Newsgroups org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>
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);
>   }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.