RE: [PATCHv3 04/27] PCI: mobiveil: remove flag MSI_FLAG_MULTI_PCI_MSI

From: Z.q. Hou
Date: Mon Feb 18 2019 - 02:03:39 EST


Hi Subbu,

Thanks a lot for your comments!

> -----Original Message-----
> From: Subrahmanya Lingappa <l.subrahmanya@xxxxxxxxxxxxxx>
> Sent: 2019å2æ5æ 14:05
> To: Z.q. Hou <zhiqiang.hou@xxxxxxx>
> Cc: linux-pci@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> bhelgaas@xxxxxxxxxx; robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx;
> shawnguo@xxxxxxxxxx; Leo Li <leoyang.li@xxxxxxx>;
> lorenzo.pieralisi@xxxxxxx; catalin.marinas@xxxxxxx;
> will.deacon@xxxxxxx; Mingkai Hu <mingkai.hu@xxxxxxx>; M.h. Lian
> <minghuan.lian@xxxxxxx>; Xiaowei Bao <xiaowei.bao@xxxxxxx>
> Subject: Re: [PATCHv3 04/27] PCI: mobiveil: remove flag
> MSI_FLAG_MULTI_PCI_MSI
>
> Zhiqiang,
> why are we removing multi-MSI support ?
> what functionality this driver is not providing to support it ?

In the function mobiveil_irq_msi_domain_alloc() there is a check about the number of IRQs to allocate: WARN_ON(nr_irqs != 1);
This is a paradox against the flag "MSI_FLAG_MULTI_PCI_MSI".

>
> Thanks.
>
> On Tue, Jan 29, 2019 at 1:38 PM Z.q. Hou <zhiqiang.hou@xxxxxxx> wrote:
> >
> > From: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx>
> >
> > The current code does not support multiple MSIs, so remove the
> > corresponding flag from the msi_domain_info structure.
> >
> > Fixes: 1e913e58335f ("PCI: mobiveil: Add MSI support")
> > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx>
> > Reviewed-by: Minghuan Lian <Minghuan.Lian@xxxxxxx>
> > ---
> > V3:
> > - No change
> >
> > drivers/pci/controller/pcie-mobiveil.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/controller/pcie-mobiveil.c
> > b/drivers/pci/controller/pcie-mobiveil.c
> > index 563210e731d3..a0dd337c6214 100644
> > --- a/drivers/pci/controller/pcie-mobiveil.c
> > +++ b/drivers/pci/controller/pcie-mobiveil.c
> > @@ -703,7 +703,7 @@ static struct irq_chip mobiveil_msi_irq_chip = {
> >
> > static struct msi_domain_info mobiveil_msi_domain_info = {
> > .flags = (MSI_FLAG_USE_DEF_DOM_OPS |
> MSI_FLAG_USE_DEF_CHIP_OPS |
> > - MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
> > + MSI_FLAG_PCI_MSIX),
> > .chip = &mobiveil_msi_irq_chip,
> > };
> >
> > --
> > 2.17.1
> >
Thanks,
Zhiqiang