[PATCH 3/6] iommu: kconfig: Move IOMMU_IOPF into INTEL_IOMMU

Joel Granados via B4 Relay posted 6 patches 1 year, 3 months ago
[PATCH 3/6] iommu: kconfig: Move IOMMU_IOPF into INTEL_IOMMU
Posted by Joel Granados via B4 Relay 1 year, 3 months ago
From: Joel Granados <j.granados@samsung.com>

Move IOMMU_IOPF from under INTEL_IOMMU_SVM into INTEL_IOMMU. This
certifies that the core intel iommu utilizes the IOPF library
functions, independent of the INTEL_IOMMU_SVM config.

Signed-off-by: Joel Granados <j.granados@samsung.com>
---
 drivers/iommu/intel/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/intel/Kconfig b/drivers/iommu/intel/Kconfig
index f52fb39c968e..2888671c9278 100644
--- a/drivers/iommu/intel/Kconfig
+++ b/drivers/iommu/intel/Kconfig
@@ -15,6 +15,7 @@ config INTEL_IOMMU
 	select DMA_OPS
 	select IOMMU_API
 	select IOMMU_IOVA
+	select IOMMU_IOPF
 	select IOMMUFD_DRIVER if IOMMUFD
 	select NEED_DMA_MAP_STATE
 	select DMAR_TABLE
@@ -51,7 +52,6 @@ config INTEL_IOMMU_SVM
 	depends on X86_64
 	select MMU_NOTIFIER
 	select IOMMU_SVA
-	select IOMMU_IOPF
 	help
 	  Shared Virtual Memory (SVM) provides a facility for devices
 	  to access DMA resources through process address space by

-- 
2.43.0
Re: [PATCH 3/6] iommu: kconfig: Move IOMMU_IOPF into INTEL_IOMMU
Posted by Jason Gunthorpe 1 year, 3 months ago
On Wed, Sep 04, 2024 at 03:17:14PM +0200, Joel Granados via B4 Relay wrote:
> @@ -51,7 +52,6 @@ config INTEL_IOMMU_SVM
>  	depends on X86_64
>  	select MMU_NOTIFIER
>  	select IOMMU_SVA
> -	select IOMMU_IOPF

Does patch 1 still compile if INTEL_IOMMU_SVM=n?

Jason
Re: [PATCH 3/6] iommu: kconfig: Move IOMMU_IOPF into INTEL_IOMMU
Posted by Joel Granados 1 year, 3 months ago
On Sat, Sep 07, 2024 at 09:20:19AM -0300, Jason Gunthorpe wrote:
> On Wed, Sep 04, 2024 at 03:17:14PM +0200, Joel Granados via B4 Relay wrote:
> > @@ -51,7 +52,6 @@ config INTEL_IOMMU_SVM
> >  	depends on X86_64
> >  	select MMU_NOTIFIER
> >  	select IOMMU_SVA
> > -	select IOMMU_IOPF
> 
> Does patch 1 still compile if INTEL_IOMMU_SVM=n?
It does for me. With and without INTEL_IOMMU_SVM. Is there a config that
is not compiling for you? You can send that you to me and I can give it
a try, to see if I get the same issue.

Best

-- 

Joel Granados
Re: [PATCH 3/6] iommu: kconfig: Move IOMMU_IOPF into INTEL_IOMMU
Posted by Jason Gunthorpe 1 year, 3 months ago
On Wed, Sep 11, 2024 at 09:40:59AM +0200, Joel Granados wrote:
> On Sat, Sep 07, 2024 at 09:20:19AM -0300, Jason Gunthorpe wrote:
> > On Wed, Sep 04, 2024 at 03:17:14PM +0200, Joel Granados via B4 Relay wrote:
> > > @@ -51,7 +52,6 @@ config INTEL_IOMMU_SVM
> > >  	depends on X86_64
> > >  	select MMU_NOTIFIER
> > >  	select IOMMU_SVA
> > > -	select IOMMU_IOPF
> > 
> > Does patch 1 still compile if INTEL_IOMMU_SVM=n?
> It does for me. With and without INTEL_IOMMU_SVM. Is there a config that
> is not compiling for you? You can send that you to me and I can give it
> a try, to see if I get the same issue.

Okay, it compiles, but it is broken right? This hunk just can't be
correct, SVM needs IOPF to work

Jason
Re: [PATCH 3/6] iommu: kconfig: Move IOMMU_IOPF into INTEL_IOMMU
Posted by Joel Granados 1 year, 3 months ago
On Sun, Sep 15, 2024 at 10:37:34AM -0300, Jason Gunthorpe wrote:
> On Wed, Sep 11, 2024 at 09:40:59AM +0200, Joel Granados wrote:
> > On Sat, Sep 07, 2024 at 09:20:19AM -0300, Jason Gunthorpe wrote:
> > > On Wed, Sep 04, 2024 at 03:17:14PM +0200, Joel Granados via B4 Relay wrote:
> > > > @@ -51,7 +52,6 @@ config INTEL_IOMMU_SVM
> > > >  	depends on X86_64
> > > >  	select MMU_NOTIFIER
> > > >  	select IOMMU_SVA
> > > > -	select IOMMU_IOPF
> > > 

Will answer this based on https://lore.kernel.org/20240913-jag-iopfv8-v2-0-dea01c2343bc@samsung.com
as there are small differences with the current version of this patch.

> > > Does patch 1 still compile if INTEL_IOMMU_SVM=n?
> > It does for me. With and without INTEL_IOMMU_SVM. Is there a config that
> > is not compiling for you? You can send that you to me and I can give it
> > a try, to see if I get the same issue.
> 
> Okay, it compiles, but it is broken right? This hunk just can't be
> correct, SVM needs IOPF to work

AFAIK Yes: SVM *does* need IOPF to work. But IOMMU_IOPF *will* be
selected if INTEL_IOMMU_SVM is selected because INTEL_IOMMU_SVM is
covered by the `if INTEL_IOMMU` condition. Its the same way that the
relation between INTEL_IOMMU_SVM and PCI_PASID is handled: PCI_PASID
will be set if INTEL_IOMMU_SVM is set.

Please let me know if I'm misreading or have missed something.

Best

-- 

Joel Granados