[AMD Official Use Only - General] > -----Original Message----- > From: Marc Zyngier <maz@xxxxxxxxxx> > Sent: Wednesday, September 7, 2022 6:48 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 Tue, 06 Sep 2022 14:47:58 +0100, > Nipun Gupta <nipun.gupta@xxxxxxx> wrote: > > > > Devices on cdx bus are dynamically detected and registered using > > platform_device_register API. As these devices are not linked to > > of node they need a separate MSI domain for handling device ID > > to be provided to the GIC ITS domain. > > > > This also introduces APIs to alloc and free IRQs for CDX domain. > > > > Signed-off-by: Nipun Gupta <nipun.gupta@xxxxxxx> > > Signed-off-by: Nikhil Agarwal <nikhil.agarwal@xxxxxxx> > > --- > > drivers/bus/cdx/cdx.c | 18 +++ > > drivers/bus/cdx/cdx.h | 19 +++ > > drivers/bus/cdx/cdx_msi.c | 236 > +++++++++++++++++++++++++++++++++++ > > drivers/bus/cdx/mcdi_stubs.c | 1 + > > include/linux/cdx/cdx_bus.h | 19 +++ > > 5 files changed, 293 insertions(+) > > create mode 100644 drivers/bus/cdx/cdx_msi.c > > <..> > > + 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*). 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. <..> > > 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. > > M. > > -- > Without deviation from the norm, progress is not possible.