Re: [PATCH v11 3/7] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 09, 2024 at 08:51:52PM +0100, Thomas Gleixner wrote:
> Frank!
>
> On Mon, Dec 09 2024 at 12:48, Frank Li 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_MSG_IMMUTABLE in include/linux/msi.h, set this flags in ARM GIC
> > ITS MSI controller and check it when allocate doorbell.
> >
> > Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> > ---
> > Change from v9 to v11
> > - new patch
> > ---
> >  drivers/irqchip/irq-gic-v3-its-msi-parent.c | 1 +
> >  drivers/pci/endpoint/pci-ep-msi.c           | 8 ++++++++
> >  include/linux/msi.h                         | 2 ++
>
> This is not how it works and I explained that you to more than once in
> the past.

The below suggest is great and I will update at next version. But I want to
know where I lost this.

v10: https://lore.kernel.org/imx/20241204-ep-msi-v10-0-87c378dbcd6d@xxxxxxx/T/#m3060eeab5d5bac931db685d21755a827dfc7a8c7
Talk about MUTABLE or IMPUTABLE
v9: https://lore.kernel.org/imx/87v7w0s9a8.ffs@tglx/
Talk about need add a imputable flags

v8: https://lore.kernel.org/imx/20241116-ep-msi-v8-0-6f1f68ffd1bb@xxxxxxx/
v7: https://lore.kernel.org/imx/20241114-ep-msi-v7-0-d4ac7aafbd2c@xxxxxxx/
v6: https://lore.kernel.org/all/20241112-ep-msi-v6-0-45f9722e3c2a@xxxxxxx/
v5: https://lore.kernel.org/all/20241108-ep-msi-v5-0-a14951c0d007@xxxxxxx/
v4: https://lore.kernel.org/all/20241031-ep-msi-v4-0-717da2d99b28@xxxxxxx/
Have not found your comments at v4 - v8

v3: https://lore.kernel.org/all/20241015-ep-msi-v3-0-cedc89a16c1a@xxxxxxx/
Talk about
msi_get_virq()

Frank

>
> The change to the interrupt code is standalone and has nothing to do
> with PCI endpoint. The latter is just a user of this.
>
> So this want's to be split into several patches:
>
>    1) add the new flag and a helper function which checks for the flag.
>
>    2) add the flag to GICv3 ITS with a proper explanation
>
>    3) Check for it in the PCI endpoint code
>
> >
> > +	if (!dom->msi_parent_ops)
> > +		return -EINVAL;
>
> irq_domain_is_msi_parent()
>
> > +	if (!(dom->msi_parent_ops->supported_flags & MSI_FLAG_MSG_IMMUTABLE)) {
>
> Want's a helper.
>
> Thanks,
>
>         tglx




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux