From: "Tobias Schumacher" <ts@linux.ibm.com>
To: "Gerd Bayer" <gbayer@linux.ibm.com>,
"Tobias Schumacher" <ts@linux.ibm.com>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Sven Schnelle" <svens@linux.ibm.com>,
"Niklas Schnelle" <schnelle@linux.ibm.com>,
"Gerald Schaefer" <gerald.schaefer@linux.ibm.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Matthew Rosato" <mjrosato@linux.ibm.com>,
"Thomas Gleixner" <tglx@linutronix.de>
Cc: <linux-kernel@vger.kernel.org>, <linux-s390@vger.kernel.org>,
"Farhan Ali" <alifm@linux.ibm.com>
Subject: Re: [PATCH v6 0/2] genirq: s390/pci: Migrate MSI interrupts to irqdomain API
Date: Mon, 24 Nov 2025 11:41:34 +0100 [thread overview]
Message-ID: <DEGV1FLJUZUK.168XQ7E6S86F8@linux.ibm.com> (raw)
In-Reply-To: <176fd445d19ab883a22dc0cd9f480e0c7f3927fb.camel@linux.ibm.com>
On Mon Nov 24, 2025 at 11:30 AM CET, Gerd Bayer wrote:
> On Fri, 2025-11-21 at 16:45 +0100, Tobias Schumacher wrote:
>> This patch series reworks the PCIe interrupt handling on s390 by
>> migrating it to use a proper MSI parent domain. Introducing a dedicated
>> MSI domain hierarchy aligns s390 PCIe support with the generic Linux IRQ
>> domain model. Currently s390 is one of the last architectures still using
>> the legacy API.
>>
>> The migration splits the existing code in the legacy functions
>> arch_setup_msi_irqs() and arch_teardown_msi_irqs() into different
>> callbacks of the newly created MSI parent domain:
>>
>> - zpci_msi_prepare(): prepare the allocation of per-device MSI IRQs.
>> will be called once for each device before allocating individual
>> IRQs and sets up for example the adapter aisb and aibv.
>> - zpci_msi_teardown(): reverts the effects of zpci_msi_prepare() and is
>> called after all MSI IRQs are freed.
>> - zpci_msi_domain_alloc(): the allocation function for interrupts
>> - zpci_msi_domain_free(): revert the effects of zpci_msi_domain_alloc()
>> - zpci_compose_msi_msg(): create the MSI message to be written into the
>> corresponding PCI config space.
>>
>> * Patch 1 fixes an inconsistency in the irqdomain API. Internally, hw
>> irqs are represented by an unsigned long int (irq_hw_number_t) while
>> the external API in some cases takes an unsigned int as parameter.
>> This fix was required in V2 of the patchset. Due to conceptual changes
>> in patch 2 it is not required anymore for s390, but still seems
>> sensible.
>> * Patch 2 implements IRQ domains for s390 PCI
>>
>> Since patch 1 changes common APIs, some build tests were done for x86_64
>> and arm64.
>>
>
> I just ran some error inject test on mxl5_core on a z15 zVM system with
> `zpcictl --reset-fw <PCI-ID>`
>
> With your patch series PCI autorecovery does not finish, unfortunately.
> Instead HW presents an Event 0x10 (MSI was received from the PCI
> function, while no AIRQ was registered)
>
> I'm afraid, there might be more work required...
> Gerd
Thanks, I'll have a look.
Tobias
prev parent reply other threads:[~2025-11-24 10:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-21 15:45 [PATCH v6 0/2] genirq: s390/pci: Migrate MSI interrupts to irqdomain API Tobias Schumacher
2025-11-21 15:45 ` [PATCH v6 1/2] genirq: Change hwirq parameter to irq_hw_number_t Tobias Schumacher
2025-11-21 15:45 ` [PATCH v6 2/2] s390/pci: Migrate s390 IRQ logic to IRQ domain API Tobias Schumacher
2025-11-21 16:11 ` Heiko Carstens
2025-11-24 10:55 ` Tobias Schumacher
2025-11-21 18:31 ` Farhan Ali
2025-11-24 9:09 ` Gerd Bayer
2025-11-24 10:59 ` Heiko Carstens
2025-11-24 10:30 ` [PATCH v6 0/2] genirq: s390/pci: Migrate MSI interrupts to irqdomain API Gerd Bayer
2025-11-24 10:41 ` Tobias Schumacher [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DEGV1FLJUZUK.168XQ7E6S86F8@linux.ibm.com \
--to=ts@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=alifm@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=gbayer@linux.ibm.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mjrosato@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=schnelle@linux.ibm.com \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox