[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86mse5otzh.wl-maz@kernel.org>
Date: Sat, 01 Mar 2025 11:44:50 +0000
From: Marc Zyngier <maz@...nel.org>
To: Frank Li <Frank.Li@....com>
Cc: Kishon Vijay Abraham I <kishon@...nel.org>, "Rafael J. Wysocki"
<rafael@...nel.org>, Thomas Gleixner <tglx@...utronix.de>, Anup Patel
<apatel@...tanamicro.com>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Danilo Krummrich <dakr@...nel.org>, Manivannan Sadhasivam
<manivannan.sadhasivam@...aro.org>, Krzysztof WilczyĆski
<kw@...ux.com>, Bjorn Helgaas <bhelgaas@...gle.com>, Arnd Bergmann
<arnd@...db.de>, Shuah Khan <shuah@...nel.org>, Richard Zhu
<hongxing.zhu@....com>, Lucas Stach <l.stach@...gutronix.de>, Lorenzo
Pieralisi <lpieralisi@...nel.org>, Rob Herring <robh@...nel.org>, Shawn Guo
<shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix
Kernel Team <kernel@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Niklas Cassel <cassel@...nel.org>,
dlemoal@...nel.org, jdmason@...zu.us, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-pci@...r.kernel.org,
linux-kselftest@...r.kernel.org, imx@...ts.linux.dev,
devicetree@...r.kernel.org
Subject: Re: [PATCH v15 07/15] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check
On Tue, 11 Feb 2025 19:22:00 +0000,
Frank Li <Frank.Li@....com> wrote:
>
> Some MSI controller change address/data pair when irq_set_affinity().
> Current PCI endpoint can't support this type MSI controller. So add flag
> MSI_FLAG_MUTABLE in include/linux/msi.h and check it when allocate
> doorbell.
>
> Signed-off-by: Frank Li <Frank.Li@....com>
> ---
> change from v14 to v15
> - none
>
> change from v13 to v14
> - bring v10 back
>
> Change from v9 to v10
> - new patch
> ---
> drivers/pci/endpoint/pci-ep-msi.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/pci/endpoint/pci-ep-msi.c b/drivers/pci/endpoint/pci-ep-msi.c
> index 549b55b864d0e..c0e2d806ee658 100644
> --- a/drivers/pci/endpoint/pci-ep-msi.c
> +++ b/drivers/pci/endpoint/pci-ep-msi.c
> @@ -44,6 +44,14 @@ int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 num_db)
>
> dev_set_msi_domain(dev, dom);
>
> + if (!irq_domain_is_msi_parent(dom))
> + return -EINVAL;
> +
> + if (!irq_domain_is_msi_immutable(dom)) {
> + dev_err(dev, "Can't support mutable address/data pair MSI controller\n");
> + return -EINVAL;
> + }
> +
> msg = kcalloc(num_db, sizeof(struct pci_epf_doorbell_msg), GFP_KERNEL);
> if (!msg)
> return -ENOMEM;
>
I really don't think this brings much to the table. These systems are
not built by picking up random bits that can be put together by hand.
They are integrated in an SoC, and I can't imagine that the MSI
controller is picked randomly.
So my conclusion is that this is either *designed* to work, or it
doesn't exist, and that this code is just dead code.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists