public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
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

      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