From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de [81.169.146.166]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DC863BA249 for ; Wed, 1 Jul 2026 11:01:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=81.169.146.166 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782903693; cv=pass; b=QUqDPS9RU+3wVqS81rX1/tYrFRinjbH7r8ApGdorsBMsZYwM5U1l4Qqv5O5iAOt8IG9mf5Pze6THBZLsarCytxzUk/Z5H/r5rCD+cRwJ73yZSxFz2AZUto6Kdd/t9yh+PWXqZMM7zDxWb5OeBe88xSeYT4GIZPZZAkXoS6SMbQE= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782903693; c=relaxed/simple; bh=pqJWcMdH7+oGnLkm1/gBALLWOVClpEfZJ0L5YORtrbU=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=i01hEzSgQYT/6MTt6JGdJrjvw6IZtUfHFFbb0VClMgBWeP2ThSnTyDHZlmTRLXMrSUUGuWoCQwmNDHRrrUYotdpK6xFD1sC2LT3Xa/aW9qct74LZDD6Y/e9o2m9VHuhiBF56ueeN/Fa/SmyJ9O0VliRC4uHdI+/XVG7R/iLDngg= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=xenosoft.de; spf=none smtp.mailfrom=xenosoft.de; dkim=pass (2048-bit key) header.d=xenosoft.de header.i=@xenosoft.de header.b=mQgP4Wan; dkim=permerror (0-bit key) header.d=xenosoft.de header.i=@xenosoft.de header.b=c/w6PdYr; arc=pass smtp.client-ip=81.169.146.166 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=xenosoft.de Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=xenosoft.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=xenosoft.de header.i=@xenosoft.de header.b="mQgP4Wan"; dkim=permerror (0-bit key) header.d=xenosoft.de header.i=@xenosoft.de header.b="c/w6PdYr" ARC-Seal: i=1; a=rsa-sha256; t=1782903326; cv=none; d=strato.com; s=strato-dkim-0002; b=AHyjOGzjYIWtNloPOlv4rFncjyqLy0vIAdyIyv0Lk0yED3g5K9MsOJw0U3CisAVeyA t1Pj+jpX7FQrytFpVoGBeOmWMFgI/5lq2bM59MPsvqZmzIiGTRj+YdP3SAxqXet7zG25 IpjkN9qohKflhQuNUPJsTIwtz9Jzh6TnbMFvvuNPxCmZ7MCP2WR72gY/ZnfaVdqtMNGn w663e973oJSanH4hGDNIq3+izOYsNPAHAb5Va2yhT04DL3jOR6ggyLnjfz72Rxttez/c dDS5KY9Ha5Itqm+wLNDL8mB/uyHG6Cis+iLHwOdeFQLdLaHPn+kgTa01F57f6YZ2Rez5 dXQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1782903326; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=dUYAUXkJMw6pnMgvNTxJrQyZPFRvQ5X9Spg8T1Q9gAk=; b=tia/45C/jv3RCb5gGio4RX2voPP5y+rFRCUr0dyVeR519vQDSygVSYI3A9zhauphf7 W9yhoUaaE79NJxUqzwtfPSU1F7vkdVjibnwc7vhHdW+kLzj/czTbEMZWXblalH8iCDyq 5wyIjYCNLReyOytFBZy0TVmWQZq3s+ObBtAkzuk12FUGr1xhpEw7DkSicyWkEFDFp1N6 qzZrht6Kxh70AWoEpecUP1V3+IE6aF4FOROUQNCHWel0lEcUluCc3E4qHHMVGPYAUt8D ETovhaSxFsYdDsxHDNEqv2rpd5p9wDLiNcXNEzmZjSo3xLxRvzXAgpMZ47I/zzx/29iM J2MQ== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo01 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1782903326; s=strato-dkim-0002; d=xenosoft.de; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=dUYAUXkJMw6pnMgvNTxJrQyZPFRvQ5X9Spg8T1Q9gAk=; b=mQgP4WanVCjcjaRDtrIeDjiqbrWlkkmw4SSB555Zntrut44lFVFedHyRlKjQZ9gFLn FcMfHjz/rBrRszGLVCee7eVVA5eLtA5Hp81009AoSsqmWm2XU9KjDPnL3RMwoHTjzdcN s3fMXc7IdiJdOdNRielaAv0QID5qb9AOgtAj9/DoMum0Fw3T5MtnsYZiVs0PdXQFe50Z khP6iAqC5auc4WfIgypAsG7n28UwBVxq5qZho2U/+/rKtwKvkwUfF6JDLyLF2wNbu1Ah vKzrNMowbCu3iNKzWsx1egEfFI9FGKkWp+NaDMHS+EXqcyakGlg+PIkucfs4c7SsVgGQ 8pjQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1782903326; s=strato-dkim-0003; d=xenosoft.de; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=dUYAUXkJMw6pnMgvNTxJrQyZPFRvQ5X9Spg8T1Q9gAk=; b=c/w6PdYrxb85iLDOAFamYoLD9kke7qsMob7Xsg+NlQojobGUbKNjzVWEgJBLsmP5t1 gUBhqVHWbQT6mlHnw3Dg== X-RZG-AUTH: ":L2QefEenb+UdBJSdRCXu93KJ1bmSGnhMdmOod1DhGN0rBVhd9dFr6PxsY+ZPjaJwNagAH4FDfQ==" Received: from INTER8676 by smtp.strato.de (RZmta 55.5.6 AUTH) with ESMTPSA id e4c84d261AtPQ6a (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Wed, 1 Jul 2026 12:55:25 +0200 (CEST) From: Christian Zigotzky To: Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Christian Zigotzky , Krzysztof Kozlowski , linuxppc-dev@lists.ozlabs.org (open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] Connecting the SB600's i8259 controller rather in pasemi's pci.c than in pasemi's setup.c. Date: Wed, 1 Jul 2026 12:54:57 +0200 Message-ID: <20260701105501.2093-1-chzigotzky@xenosoft.de> X-Mailer: git-send-email 2.55.0.windows.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="us-ascii" "pas_pci_init" was before "nemo_init_IRQ". Now "pas_pci_init" is after "nemo_init_IRQ" in the official kernel source code. I think "pas_pci_init" scans (discovers) the PCI(e) devices and after that, "nemo_init_IRQ" assigns interrupt numbers to these devices if required. It's not possible to assigns interrupt numbers to PCI(e) devices which have not been discovered yet. Signed-off-by: Christian Zigotzky --- arch/powerpc/platforms/pasemi/pci.c | 7 +++++++ arch/powerpc/platforms/pasemi/setup.c | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/platforms/pasemi/pci.c b/arch/powerpc/platforms/pasemi/pci.c index 2df955274652..7208c325bfc5 100644 --- a/arch/powerpc/platforms/pasemi/pci.c +++ b/arch/powerpc/platforms/pasemi/pci.c @@ -25,6 +25,8 @@ #define PA_PXP_CFA(bus, devfn, off) (((bus) << 20) | ((devfn) << 12) | (off)) +extern void nemo_init_IRQ(void); + static inline int pa_pxp_offset_valid(u8 bus, u8 devfn, int offset) { /* Device 0 Function 0 is special: It's config space spans function 1 as @@ -265,6 +267,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..eec74611be46 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 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@0,e0000000"); i8259_init(np, 0); @@ -228,6 +230,7 @@ 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); } @@ -298,8 +301,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); } -- 2.55.0.windows.1