[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250807112326.748740-1-inochiama@gmail.com>
Date: Thu, 7 Aug 2025 19:23:21 +0800
From: Inochi Amaoto <inochiama@...il.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Marc Zyngier <maz@...nel.org>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Inochi Amaoto <inochiama@...il.com>,
Saurabh Sengar <ssengar@...ux.microsoft.com>,
Shradha Gupta <shradhagupta@...ux.microsoft.com>,
Jonathan Cameron <Jonathan.Cameron@...ei.com>,
Nicolin Chen <nicolinc@...dia.com>,
Jason Gunthorpe <jgg@...pe.ca>,
Chen Wang <unicorn_wang@...look.com>
Cc: linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org,
Yixun Lan <dlan@...too.org>,
Longbin Li <looong.bin@...il.com>
Subject: [PATCH 0/4] irqchip/sg2042-msi: Fix broken affinity setting
When using NVME on SG2044, the NVME always complains "I/O tag XXX
(XXX) QID XX timeout, completion polled", which is caused by the
broken handler of the sg2042-msi driver.
As PLIC driver can only setting affinity when enabling, the sg2042-msi
does not properly handled affinity setting previously and enable irq in
an unexpected executing path.
Add irq_startup/irq_shutdown support to the PCI template domain,
then set irq_chip_[startup/shutdown]_parent for irq_startup/
irq_shutdown of the sg2042-msi driver. So the irq can be started
properly.
Inochi Amaoto (4):
genirq: Add irq_chip_(startup/shutdown)_parent
PCI/MSI: Add startup/shutdown support for per device MSI[X] domains
irqchip/sg2042-msi: Fix broken affinity setting
irqchip/sg2042-msi: Set MSI_FLAG_MULTI_PCI_MSI flags for SG2044
drivers/irqchip/irq-sg2042-msi.c | 13 ++++++--
drivers/pci/msi/irqdomain.c | 52 ++++++++++++++++++++++++++++++++
include/linux/irq.h | 2 ++
include/linux/msi.h | 2 ++
kernel/irq/chip.c | 37 +++++++++++++++++++++++
5 files changed, 104 insertions(+), 2 deletions(-)
--
2.50.1
Powered by blists - more mailing lists