[PATCH v19 03/10] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check

Frank Li Frank.li at nxp.com
Wed Jul 2 07:42:43 PDT 2025


On Wed, Jul 02, 2025 at 05:00:23PM +0530, Manivannan Sadhasivam wrote:
> On Mon, Jun 09, 2025 at 12:34:15PM GMT, Frank Li wrote:
> > Some MSI controller change address/data pair when irq_set_affinity().
> > Current PCI endpoint can't support this type MSI controller. Call
> > irq_domain_is_msi_immutable() check if address/data pair immutable.
> >
> > Signed-off-by: Frank Li <Frank.Li at nxp.com>
> > ---
> > change in v18
> > - update commit message. remove 'include/linux/msi.h' part.
> >
> > change from v14 to v17
> > - 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;
>
> This check is not justified in commit message.
>
> > +
> > +	if (!irq_domain_is_msi_immutable(dom)) {
> > +		dev_err(dev, "Can't support mutable address/data pair MSI controller\n");
> > +		return -EINVAL;
>
> GICv3 ITS is an immutable MSI controller. From the earlier patches, I could see
> that you have tested this series with ITS. How did that happen if it errors out
> here?

I removed IMMUTASBLE flags in ITS driver to check if go to this error branch.

Frank

>
> - Mani
>
> --
> மணிவண்ணன் சதாசிவம்



More information about the linux-arm-kernel mailing list