All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
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>,
	Gerd Bayer <gbayer@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
	Tobias Schumacher <ts@linux.ibm.com>
Subject: Re: [PATCH v3 2/2] s390/pci: Migrate s390 IRQ logic to IRQ domain API
Date: Tue, 18 Nov 2025 18:20:28 +0100	[thread overview]
Message-ID: <87jyznmf4z.ffs@tglx> (raw)
In-Reply-To: <20251118-implement-msi-domain-v3-2-6fe8feb2a93f@linux.ibm.com>

On Tue, Nov 18 2025 at 17:13, Tobias Schumacher wrote:

>  static struct irq_chip zpci_irq_chip = {
>  	.name = "PCI-MSI",
>  	.irq_unmask = pci_msi_unmask_irq,
>  	.irq_mask = pci_msi_mask_irq,
> +	.irq_compose_msi_msg = zpci_compose_msi_msg
>  };

> +static struct msi_parent_ops zpci_msi_parent_ops = {
> +	.supported_flags   = MSI_GENERIC_FLAGS_MASK	|
> +			     MSI_FLAG_PCI_MSIX		|
> +			     MSI_FLAG_MULTI_PCI_MSI,
> +	.required_flags	   = MSI_FLAG_USE_DEF_DOM_OPS  |
> +			     MSI_FLAG_USE_DEF_CHIP_OPS |
> +			     MSI_FLAG_PCI_MSI_MASK_PARENT,

That MASK_PARENT flag is really only necessary if you want to avoid
masking/unmasking at the PCI level during operation
(disable/enable_irq()). See

f09c1d63e895 ("irqchip/msi-lib: Honor the MSI_FLAG_PCI_MSI_MASK_PARENT flag")

for a detailed explanation.

But as s390 does not seem to provide mask/unmask at a different level of
the interrupt transport, setting this flag and the mask/unmask callbacks
above is pointless.

If the flag is not set the PCI core will use pci_msi_[un]mask_irq() for the per
device chip at the top of the hierarchy, which avoids the indirection to
the parent chip.

Thanks,

        tglx

  reply	other threads:[~2025-11-18 17:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-18 16:13 [PATCH v3 0/2] genirq: s390/pci: Migrate MSI interrupts to irqdomain API Tobias Schumacher
2025-11-18 16:13 ` [PATCH v3 1/2] genirq: Change hwirq parameter to irq_hw_number_t Tobias Schumacher
2025-11-18 16:13 ` [PATCH v3 2/2] s390/pci: Migrate s390 IRQ logic to IRQ domain API Tobias Schumacher
2025-11-18 17:20   ` Thomas Gleixner [this message]
2025-11-18 21:49   ` Farhan Ali
     [not found]     ` <57ab63b27a6729125927771e33d06f30@imap.linux.ibm.com>
2025-11-19 15:35       ` Thomas Gleixner

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=87jyznmf4z.ffs@tglx \
    --to=tglx@linutronix.de \
    --cc=agordeev@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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.