All of lore.kernel.org
 help / color / mirror / Atom feed
From: Niklas Cassel <cassel@kernel.org>
To: Damien Le Moal <dlemoal@kernel.org>
Cc: linux-nvme@lists.infradead.org, Keith Busch <kbusch@kernel.org>,
	Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: Re: [PATCH 2/4] nvmet: pci-epf: Do not fall back to using INTX if not supported
Date: Thu, 8 May 2025 15:07:24 +0200	[thread overview]
Message-ID: <aBysjC5PEovQwgEs@ryzen> (raw)
In-Reply-To: <20250508065745.389199-3-dlemoal@kernel.org>

On Thu, May 08, 2025 at 03:57:43PM +0900, Damien Le Moal wrote:
> Some endpoint PCIe controllers do not support raising legacy INTX
> interrupts. This support is indicated by the intx_capable field of
> struct pci_epc_features. Modify nvmet_pci_epf_raise_irq() to not
> automatically fallback to trying raising an INTX interrupt after an MSI
> or MSI-X error if the controller does not support INTX.
> 
> Fixes: 0faa0fe6f90e ("nvmet: New NVMe PCI endpoint function target driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>

Hm..

0faa0fe6f90e ("nvmet: New NVMe PCI endpoint function target driver") was first
included in v6.14-rc1.

4b313c69a38e ("PCI: endpoint: Add intx_capable to epc_features struct") was first
included in v6.15-rc1.

Perhaps add a:
Cc: stable+noautosel@kernel.org # depends on patch introducing intx_capable flag

So that it is not automatically backported.


> ---
>  drivers/nvme/target/pci-epf.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/nvme/target/pci-epf.c b/drivers/nvme/target/pci-epf.c
> index d5442991f2fb..859953041da8 100644
> --- a/drivers/nvme/target/pci-epf.c
> +++ b/drivers/nvme/target/pci-epf.c
> @@ -636,14 +636,16 @@ static void nvmet_pci_epf_raise_irq(struct nvmet_pci_epf_ctrl *ctrl,
>  	switch (nvme_epf->irq_type) {
>  	case PCI_IRQ_MSIX:
>  	case PCI_IRQ_MSI:
> +		/*
> +		 * If we fail to raise an MSI or MSI-X interrupr, it is likely

s/interrupr/interrupt/


> +		 * because the host is using legacy INTX IRQs (e.g. BIOS,
> +		 * grub). But we can fallback to the INTX type only if the

s/. But/, but/


> +		 * endpoint controller supports this type.
> +		 */
>  		ret = pci_epc_raise_irq(epf->epc, epf->func_no, epf->vfunc_no,
>  					nvme_epf->irq_type, cq->vector + 1);
> -		if (!ret)
> +		if (!ret || !nvme_epf->epc_features->intx_capable)
>  			break;
> -		/*
> -		 * If we got an error, it is likely because the host is using
> -		 * legacy IRQs (e.g. BIOS, grub).
> -		 */
>  		fallthrough;
>  	case PCI_IRQ_INTX:
>  		ret = pci_epc_raise_irq(epf->epc, epf->func_no, epf->vfunc_no,
> -- 
> 2.49.0
> 
> 


  reply	other threads:[~2025-05-08 13:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-08  6:57 [PATCH 0/4] nvmet pci-epf fixes Damien Le Moal
2025-05-08  6:57 ` [PATCH 1/4] nvmet: pci-epf: Clear completion queue IRQ flag on delete Damien Le Moal
2025-05-08 13:07   ` Niklas Cassel
2025-05-08 23:13     ` Damien Le Moal
2025-05-09 13:14       ` Niklas Cassel
2025-05-08  6:57 ` [PATCH 2/4] nvmet: pci-epf: Do not fall back to using INTX if not supported Damien Le Moal
2025-05-08 13:07   ` Niklas Cassel [this message]
2025-05-08 23:14     ` Damien Le Moal
2025-05-08  6:57 ` [PATCH 3/4] nvmet: pci-epf: Cleanup nvmet_pci_epf_raise_irq() Damien Le Moal
2025-05-08 13:07   ` Niklas Cassel
2025-05-08 23:16     ` Damien Le Moal
2025-05-08  6:57 ` [PATCH 4/4] nvmet: pci-epf: Improve debug message Damien Le Moal
2025-05-08 13:07   ` Niklas Cassel

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=aBysjC5PEovQwgEs@ryzen \
    --to=cassel@kernel.org \
    --cc=dlemoal@kernel.org \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=kch@nvidia.com \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    /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.