[AMD Official Use Only - General] > -----Original Message----- > From: Marc Zyngier <maz@xxxxxxxxxx> > Sent: Thursday, September 8, 2022 8:00 PM > To: Gupta, Nipun <Nipun.Gupta@xxxxxxx> > Cc: robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx; rafael@xxxxxxxxxx; eric.auger@xxxxxxxxxx; > alex.williamson@xxxxxxxxxx; cohuck@xxxxxxxxxx; Gupta, Puneet (DCG-ENG) > <puneet.gupta@xxxxxxx>; song.bao.hua@xxxxxxxxxxxxx; > mchehab+huawei@xxxxxxxxxx; f.fainelli@xxxxxxxxx; jeffrey.l.hugo@xxxxxxxxx; > saravanak@xxxxxxxxxx; Michael.Srba@xxxxxxxxx; mani@xxxxxxxxxx; > yishaih@xxxxxxxxxx; jgg@xxxxxxxx; jgg@xxxxxxxxxx; robin.murphy@xxxxxxx; > will@xxxxxxxxxx; joro@xxxxxxxxxx; masahiroy@xxxxxxxxxx; > ndesaulniers@xxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux- > kbuild@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; okaya@xxxxxxxxxx; Anand, > Harpreet <harpreet.anand@xxxxxxx>; Agarwal, Nikhil > <nikhil.agarwal@xxxxxxx>; Simek, Michal <michal.simek@xxxxxxx>; > Radovanovic, Aleksandar <aleksandar.radovanovic@xxxxxxx>; git (AMD-Xilinx) > <git@xxxxxxx> > Subject: Re: [RFC PATCH v3 4/7] bus/cdx: add cdx-MSI domain with gic-its > domain as parent > > [CAUTION: External Email] > > On Thu, 08 Sep 2022 15:13:31 +0100, > "Gupta, Nipun" <Nipun.Gupta@xxxxxxx> 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. We can remove the wrapper API, rather have a #define to provide same name convention for alloc and free IRQ APIs for CDX drivers. But both ways if we use #define or direct use of msi_domain_free_irqs() API, we need msi_domain_free_irqs() symbol exported I hope having export symbol to this API would not be a problem. > > > 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. I think it can be removed from both the APIs. Also, API's msi_domain_alloc_irqs_descs_locked() and msi_domain_free_irqs_descs_locked() can have similar change. > > > <..> > > > > > > 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. I meant proper firmware interfacing support for probing. > > M. > > -- > Without deviation from the norm, progress is not possible.