From: Gerd Bayer <gbayer@linux.ibm.com>
To: 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:30:08 +0100 [thread overview]
Message-ID: <176fd445d19ab883a22dc0cd9f480e0c7f3927fb.camel@linux.ibm.com> (raw)
In-Reply-To: <20251121-implement-msi-domain-v6-0-444f4a6479c3@linux.ibm.com>
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
next prev parent reply other threads:[~2025-11-24 10:30 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 ` Gerd Bayer [this message]
2025-11-24 10:41 ` [PATCH v6 0/2] genirq: s390/pci: Migrate MSI interrupts to irqdomain API Tobias Schumacher
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=176fd445d19ab883a22dc0cd9f480e0c7f3927fb.camel@linux.ibm.com \
--to=gbayer@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=alifm@linux.ibm.com \
--cc=borntraeger@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 \
--cc=ts@linux.ibm.com \
/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