[RFC PATCH v3 4/7] bus/cdx: add cdx-MSI domain with gic-its domain as parent

Marc Zyngier maz at kernel.org
Thu Sep 8 07:29:44 PDT 2022


On Thu, 08 Sep 2022 15:13:31 +0100,
"Gupta, Nipun" <Nipun.Gupta at amd.com> wrote:
> 
>
> > > +             return;
> > > +
> > > +     msi_domain_free_irqs(msi_domain, dev);
> > > +}
> > > +EXPORT_SYMBOL(cdx_msi_domain_free_irqs);
> > 
> > This feels like a very pointless helper, and again a copy/paste from
> > the FSL code. I'd rather you change msi_domain_free_irqs() to only
> > take a device and use the implicit MSI domain.
> 
> I agree with other comments except this one.
> 
> In current implementation we have an API "cdx_msi_domain_alloc_irqs()",
> so having "cdx_msi_domain_free_irqs()" seems legitimate, as the caller
> would allocate and free MSI's using a similar APIs (cdx_msi_domain*).

Why would that be a problem? Using generic functions when they apply
should be the default, and "specialised" helpers are only here as a
reminder that our MSI API still needs serious improvement.

> Changing msi_domain_free_irqs() to use implicit msi domain in case
> msi_domain is not provided by the caller seems appropriate, Ill change the
> same for "msi_domain_alloc_irqs()" too.

What I'm asking is that there is no explicit msi_domain anymore. We
always use the one referenced by the device. And if that can be done
on the allocation path too, great.

> <..>
> 
> > > diff --git a/drivers/bus/cdx/mcdi_stubs.c b/drivers/bus/cdx/mcdi_stubs.c
> > > index cc9d30fa02f8..2c8db1f5a057 100644
> > > --- a/drivers/bus/cdx/mcdi_stubs.c
> > > +++ b/drivers/bus/cdx/mcdi_stubs.c
> > > @@ -45,6 +45,7 @@ int cdx_mcdi_get_func_config(struct cdx_mcdi_t
> > *cdx_mcdi,
> > >       dev_params->res_count = 2;
> > >
> > >       dev_params->req_id = 0x250;
> > > +     dev_params->num_msi = 4;
> > 
> > Why the hardcoded 4? Is that part of the firmware emulation stuff?
> 
> Yes, this is currently part of emulation, and would change with proper
> emulation support.

What "proper emulation support"? I expect no emulation at all, but
instead a well defined probing method.

	M.

-- 
Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list