kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 1/2] cdx: don't select CONFIG_GENERIC_MSI_IRQ
@ 2025-08-26  4:38 Nipun Gupta
  2025-08-26  4:38 ` [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ Nipun Gupta
  0 siblings, 1 reply; 5+ messages in thread
From: Nipun Gupta @ 2025-08-26  4:38 UTC (permalink / raw)
  To: arnd, gregkh, alex.williamson, nikhil.agarwal, kvm
  Cc: linux-kernel, llvm, oe-kbuild-all, robin.murphy, krzk, tglx, maz,
	linux, chenqiuji666, peterz, robh, abhijit.gangurde, nathan,
	Nipun Gupta, Arnd Bergmann

x86 does not use CONFIG_GENERIC_MSI_IRQ, and trying to enable it anyway
results in a build failure:

In file included from include/linux/ssb/ssb.h:10,
                 from drivers/ssb/pcihost_wrapper.c:18:
include/linux/gpio/driver.h:41:33: error: field 'msiinfo' has incomplete type
   41 |         msi_alloc_info_t        msiinfo;
      |                                 ^~~~~~~
In file included from include/linux/kvm_host.h:19,
                 from arch/x86/events/intel/core.c:17:
include/linux/msi.h:528:33: error: field 'alloc_info' has incomplete type
  528 |         msi_alloc_info_t        alloc_info;

Change the driver to actually build without this symbol and remove the
incorrect 'select' statements.

Fixes: e8b18c11731d ("cdx: Fix missing GENERIC_MSI_IRQ on compile test")
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
Signed-off-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
---

Changes v1->v2:
- No change
Changes v2->v3:
- add CONFIG_GENERIC_MSI_IRQ while assigning num_msi and setting msi domain
Changes v3->v4:
- No change

 drivers/cdx/Kconfig                     | 1 -
 drivers/cdx/cdx.c                       | 4 ++--
 drivers/cdx/controller/Kconfig          | 1 -
 drivers/cdx/controller/cdx_controller.c | 3 ++-
 4 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/cdx/Kconfig b/drivers/cdx/Kconfig
index 3af41f51cf38..1f1e360507d7 100644
--- a/drivers/cdx/Kconfig
+++ b/drivers/cdx/Kconfig
@@ -8,7 +8,6 @@
 config CDX_BUS
 	bool "CDX Bus driver"
 	depends on OF && ARM64 || COMPILE_TEST
-	select GENERIC_MSI_IRQ
 	help
 	  Driver to enable Composable DMA Transfer(CDX) Bus. CDX bus
 	  exposes Fabric devices which uses composable DMA IP to the
diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c
index 092306ca2541..3d50f8cd9c0b 100644
--- a/drivers/cdx/cdx.c
+++ b/drivers/cdx/cdx.c
@@ -310,7 +310,7 @@ static int cdx_probe(struct device *dev)
 	 * Setup MSI device data so that generic MSI alloc/free can
 	 * be used by the device driver.
 	 */
-	if (cdx->msi_domain) {
+	if (IS_ENABLED(CONFIG_GENERIC_MSI_IRQ) && cdx->msi_domain) {
 		error = msi_setup_device_data(&cdx_dev->dev);
 		if (error)
 			return error;
@@ -833,7 +833,7 @@ int cdx_device_add(struct cdx_dev_params *dev_params)
 		     ((cdx->id << CDX_CONTROLLER_ID_SHIFT) | (cdx_dev->bus_num & CDX_BUS_NUM_MASK)),
 		     cdx_dev->dev_num);
 
-	if (cdx->msi_domain) {
+	if (IS_ENABLED(CONFIG_GENERIC_MSI_IRQ) && cdx->msi_domain) {
 		cdx_dev->num_msi = dev_params->num_msi;
 		dev_set_msi_domain(&cdx_dev->dev, cdx->msi_domain);
 	}
diff --git a/drivers/cdx/controller/Kconfig b/drivers/cdx/controller/Kconfig
index 0641a4c21e66..a480b62cbd1f 100644
--- a/drivers/cdx/controller/Kconfig
+++ b/drivers/cdx/controller/Kconfig
@@ -10,7 +10,6 @@ if CDX_BUS
 config CDX_CONTROLLER
 	tristate "CDX bus controller"
 	depends on HAS_DMA
-	select GENERIC_MSI_IRQ
 	select REMOTEPROC
 	select RPMSG
 	help
diff --git a/drivers/cdx/controller/cdx_controller.c b/drivers/cdx/controller/cdx_controller.c
index fca83141e3e6..5e3fd89b6b56 100644
--- a/drivers/cdx/controller/cdx_controller.c
+++ b/drivers/cdx/controller/cdx_controller.c
@@ -193,7 +193,8 @@ static int xlnx_cdx_probe(struct platform_device *pdev)
 	cdx->ops = &cdx_ops;
 
 	/* Create MSI domain */
-	cdx->msi_domain = cdx_msi_domain_init(&pdev->dev);
+	if (IS_ENABLED(CONFIG_GENERIC_MSI_IRQ))
+		cdx->msi_domain = cdx_msi_domain_init(&pdev->dev);
 	if (!cdx->msi_domain) {
 		ret = dev_err_probe(&pdev->dev, -ENODEV, "cdx_msi_domain_init() failed");
 		goto cdx_msi_fail;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ
  2025-08-26  4:38 [PATCH v4 1/2] cdx: don't select CONFIG_GENERIC_MSI_IRQ Nipun Gupta
@ 2025-08-26  4:38 ` Nipun Gupta
  2025-08-26 16:24   ` Alex Williamson
  0 siblings, 1 reply; 5+ messages in thread
From: Nipun Gupta @ 2025-08-26  4:38 UTC (permalink / raw)
  To: arnd, gregkh, alex.williamson, nikhil.agarwal, kvm
  Cc: linux-kernel, llvm, oe-kbuild-all, robin.murphy, krzk, tglx, maz,
	linux, chenqiuji666, peterz, robh, abhijit.gangurde, nathan,
	Nipun Gupta, kernel test robot

Define dummy MSI related APIs in VFIO CDX driver to build the
driver without enabling CONFIG_GENERIC_MSI_IRQ flag.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508070308.opy5dIFX-lkp@intel.com/
Reviewed-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
---

Changes v1->v2:
- fix linking intr.c file in Makefile
Changes v2->v3:
- return error from vfio_cdx_set_irqs_ioctl() when CONFIG_GENERIC_MSI_IRQ
  is disabled
Changes v3->v4:
- changed the return value to -EINVAL from -ENODEV

 drivers/vfio/cdx/Makefile  |  6 +++++-
 drivers/vfio/cdx/private.h | 14 ++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/vfio/cdx/Makefile b/drivers/vfio/cdx/Makefile
index df92b320122a..dadbef2419ea 100644
--- a/drivers/vfio/cdx/Makefile
+++ b/drivers/vfio/cdx/Makefile
@@ -5,4 +5,8 @@
 
 obj-$(CONFIG_VFIO_CDX) += vfio-cdx.o
 
-vfio-cdx-objs := main.o intr.o
+vfio-cdx-objs := main.o
+
+ifdef CONFIG_GENERIC_MSI_IRQ
+vfio-cdx-objs += intr.o
+endif
diff --git a/drivers/vfio/cdx/private.h b/drivers/vfio/cdx/private.h
index dc56729b3114..5343eb61bec4 100644
--- a/drivers/vfio/cdx/private.h
+++ b/drivers/vfio/cdx/private.h
@@ -38,11 +38,25 @@ struct vfio_cdx_device {
 	u8			config_msi;
 };
 
+#ifdef CONFIG_GENERIC_MSI_IRQ
 int vfio_cdx_set_irqs_ioctl(struct vfio_cdx_device *vdev,
 			    u32 flags, unsigned int index,
 			    unsigned int start, unsigned int count,
 			    void *data);
 
 void vfio_cdx_irqs_cleanup(struct vfio_cdx_device *vdev);
+#else
+static int vfio_cdx_set_irqs_ioctl(struct vfio_cdx_device *vdev,
+				   u32 flags, unsigned int index,
+				   unsigned int start, unsigned int count,
+				   void *data)
+{
+	return -EINVAL;
+}
+
+static void vfio_cdx_irqs_cleanup(struct vfio_cdx_device *vdev)
+{
+}
+#endif
 
 #endif /* VFIO_CDX_PRIVATE_H */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ
  2025-08-26  4:38 ` [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ Nipun Gupta
@ 2025-08-26 16:24   ` Alex Williamson
  2025-08-27 11:04     ` Gupta, Nipun
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Williamson @ 2025-08-26 16:24 UTC (permalink / raw)
  To: Nipun Gupta
  Cc: arnd, gregkh, nikhil.agarwal, kvm, linux-kernel, llvm,
	oe-kbuild-all, robin.murphy, krzk, tglx, maz, linux, chenqiuji666,
	peterz, robh, abhijit.gangurde, nathan, kernel test robot

On Tue, 26 Aug 2025 10:08:52 +0530
Nipun Gupta <nipun.gupta@amd.com> wrote:

> Define dummy MSI related APIs in VFIO CDX driver to build the
> driver without enabling CONFIG_GENERIC_MSI_IRQ flag.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202508070308.opy5dIFX-lkp@intel.com/
> Reviewed-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
> Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
> Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
> ---
> 
> Changes v1->v2:
> - fix linking intr.c file in Makefile
> Changes v2->v3:
> - return error from vfio_cdx_set_irqs_ioctl() when CONFIG_GENERIC_MSI_IRQ
>   is disabled
> Changes v3->v4:
> - changed the return value to -EINVAL from -ENODEV

What are your intentions for merging this series, char-misc or vfio?
Thanks,

Alex


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ
  2025-08-26 16:24   ` Alex Williamson
@ 2025-08-27 11:04     ` Gupta, Nipun
  2025-08-27 18:55       ` Alex Williamson
  0 siblings, 1 reply; 5+ messages in thread
From: Gupta, Nipun @ 2025-08-27 11:04 UTC (permalink / raw)
  To: Alex Williamson
  Cc: arnd@arndb.de, gregkh@linuxfoundation.org, Agarwal, Nikhil,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	robin.murphy@arm.com, krzk@kernel.org, tglx@linutronix.de,
	maz@kernel.org, linux@weissschuh.net, chenqiuji666@gmail.com,
	peterz@infradead.org, robh@kernel.org, Gangurde, Abhijit,
	nathan@kernel.org, kernel test robot

[AMD Official Use Only - AMD Internal Distribution Only]

> -----Original Message-----
> From: Alex Williamson <alex.williamson@redhat.com>
> Sent: Tuesday, August 26, 2025 9:54 PM
> To: Gupta, Nipun <Nipun.Gupta@amd.com>
> Cc: arnd@arndb.de; gregkh@linuxfoundation.org; Agarwal, Nikhil
> <nikhil.agarwal@amd.com>; kvm@vger.kernel.org; linux-kernel@vger.kernel.org;
> llvm@lists.linux.dev; oe-kbuild-all@lists.linux.dev; robin.murphy@arm.com;
> krzk@kernel.org; tglx@linutronix.de; maz@kernel.org; linux@weissschuh.net;
> chenqiuji666@gmail.com; peterz@infradead.org; robh@kernel.org; Gangurde,
> Abhijit <abhijit.gangurde@amd.com>; nathan@kernel.org; kernel test robot
> <lkp@intel.com>
> Subject: Re: [PATCH v4 2/2] vfio/cdx: update driver to build without
> CONFIG_GENERIC_MSI_IRQ
>
> On Tue, 26 Aug 2025 10:08:52 +0530
> Nipun Gupta <nipun.gupta@amd.com> wrote:
>
> > Define dummy MSI related APIs in VFIO CDX driver to build the
> > driver without enabling CONFIG_GENERIC_MSI_IRQ flag.
> >
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202508070308.opy5dIFX-
> lkp@intel.com/
> > Reviewed-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
> > Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
> > Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
> > ---
> >
> > Changes v1->v2:
> > - fix linking intr.c file in Makefile
> > Changes v2->v3:
> > - return error from vfio_cdx_set_irqs_ioctl() when CONFIG_GENERIC_MSI_IRQ
> >   is disabled
> > Changes v3->v4:
> > - changed the return value to -EINVAL from -ENODEV
>
> What are your intentions for merging this series, char-misc or vfio?

Yes please, this can be taken via vfio.

Thanks,
Nipun

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ
  2025-08-27 11:04     ` Gupta, Nipun
@ 2025-08-27 18:55       ` Alex Williamson
  0 siblings, 0 replies; 5+ messages in thread
From: Alex Williamson @ 2025-08-27 18:55 UTC (permalink / raw)
  To: Gupta, Nipun
  Cc: arnd@arndb.de, gregkh@linuxfoundation.org, Agarwal, Nikhil,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	robin.murphy@arm.com, krzk@kernel.org, tglx@linutronix.de,
	maz@kernel.org, linux@weissschuh.net, chenqiuji666@gmail.com,
	peterz@infradead.org, robh@kernel.org, Gangurde, Abhijit,
	nathan@kernel.org, kernel test robot

On Wed, 27 Aug 2025 11:04:12 +0000
"Gupta, Nipun" <Nipun.Gupta@amd.com> wrote:

> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> > -----Original Message-----
> > From: Alex Williamson <alex.williamson@redhat.com>
> > Sent: Tuesday, August 26, 2025 9:54 PM
> > To: Gupta, Nipun <Nipun.Gupta@amd.com>
> > Cc: arnd@arndb.de; gregkh@linuxfoundation.org; Agarwal, Nikhil
> > <nikhil.agarwal@amd.com>; kvm@vger.kernel.org; linux-kernel@vger.kernel.org;
> > llvm@lists.linux.dev; oe-kbuild-all@lists.linux.dev; robin.murphy@arm.com;
> > krzk@kernel.org; tglx@linutronix.de; maz@kernel.org; linux@weissschuh.net;
> > chenqiuji666@gmail.com; peterz@infradead.org; robh@kernel.org; Gangurde,
> > Abhijit <abhijit.gangurde@amd.com>; nathan@kernel.org; kernel test robot
> > <lkp@intel.com>
> > Subject: Re: [PATCH v4 2/2] vfio/cdx: update driver to build without
> > CONFIG_GENERIC_MSI_IRQ
> >
> > On Tue, 26 Aug 2025 10:08:52 +0530
> > Nipun Gupta <nipun.gupta@amd.com> wrote:
> >  
> > > Define dummy MSI related APIs in VFIO CDX driver to build the
> > > driver without enabling CONFIG_GENERIC_MSI_IRQ flag.
> > >
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Closes: https://lore.kernel.org/oe-kbuild-all/202508070308.opy5dIFX-  
> > lkp@intel.com/  
> > > Reviewed-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
> > > Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
> > > Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
> > > ---
> > >
> > > Changes v1->v2:
> > > - fix linking intr.c file in Makefile
> > > Changes v2->v3:
> > > - return error from vfio_cdx_set_irqs_ioctl() when CONFIG_GENERIC_MSI_IRQ
> > >   is disabled
> > > Changes v3->v4:
> > > - changed the return value to -EINVAL from -ENODEV  
> >
> > What are your intentions for merging this series, char-misc or vfio?  
> 
> Yes please, this can be taken via vfio.

Series applied to vfio next branch for v6.18.  Thanks,

Alex


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-08-27 18:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-26  4:38 [PATCH v4 1/2] cdx: don't select CONFIG_GENERIC_MSI_IRQ Nipun Gupta
2025-08-26  4:38 ` [PATCH v4 2/2] vfio/cdx: update driver to build without CONFIG_GENERIC_MSI_IRQ Nipun Gupta
2025-08-26 16:24   ` Alex Williamson
2025-08-27 11:04     ` Gupta, Nipun
2025-08-27 18:55       ` Alex Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).