drm/i915/selftests: fix check for intel IOMMU

Submitted by Arnd Bergmann on Oct. 5, 2017, 12:07 p.m.

Details

Message ID 20171005120749.400818-1-arnd@arndb.de
State New
Headers show
Series "drm/i915/selftests: fix check for intel IOMMU" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Arnd Bergmann Oct. 5, 2017, 12:07 p.m.
An earlier bugfix tried to work around this build failure:

drivers/gpu/drm/i915/selftests/mock_gem_device.c: In function 'mock_gem_device':
drivers/gpu/drm/i915/selftests/mock_gem_device.c:151:20: error: 'struct dev_archdata' has no member named 'iommu'

Checking for CONFIG_IOMMU_API is not sufficient as a compile-time
test since that may be enabled in configurations that have neither
INTEL_IOMMU not AMD_IOMMU enabled. This changes the check to
INTEL_IOMMU instead, as this is the only case we actually care about.

Fixes: f46f156ea770 ("drm/i915/selftests: Only touch archdata.iommu when it exists")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index 2388424a14da..3b7877884dd1 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -146,7 +146,7 @@  struct drm_i915_private *mock_gem_device(void)
 	dev_set_name(&pdev->dev, "mock");
 	dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
 
-#if IS_ENABLED(CONFIG_IOMMU_API)
+#if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
 	/* hack to disable iommu for the fake device; force identity mapping */
 	pdev->dev.archdata.iommu = (void *)-1;
 #endif

Comments

Quoting Arnd Bergmann (2017-10-05 13:07:22)
> An earlier bugfix tried to work around this build failure:
> 
> drivers/gpu/drm/i915/selftests/mock_gem_device.c: In function 'mock_gem_device':
> drivers/gpu/drm/i915/selftests/mock_gem_device.c:151:20: error: 'struct dev_archdata' has no member named 'iommu'
> 
> Checking for CONFIG_IOMMU_API is not sufficient as a compile-time
> test since that may be enabled in configurations that have neither
> INTEL_IOMMU not AMD_IOMMU enabled. This changes the check to
> INTEL_IOMMU instead, as this is the only case we actually care about.
> 
> Fixes: f46f156ea770 ("drm/i915/selftests: Only touch archdata.iommu when it exists")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

I'll take your wisdom. I was lost trying to nail down exactly what
config options we needed to check and settled for something that
appeared good enough (for the small selection of configs I tested).

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
On Thu, Oct 05, 2017 at 01:17:11PM +0100, Chris Wilson wrote:
> Quoting Arnd Bergmann (2017-10-05 13:07:22)
> > An earlier bugfix tried to work around this build failure:
> > 
> > drivers/gpu/drm/i915/selftests/mock_gem_device.c: In function 'mock_gem_device':
> > drivers/gpu/drm/i915/selftests/mock_gem_device.c:151:20: error: 'struct dev_archdata' has no member named 'iommu'
> > 
> > Checking for CONFIG_IOMMU_API is not sufficient as a compile-time
> > test since that may be enabled in configurations that have neither
> > INTEL_IOMMU not AMD_IOMMU enabled. This changes the check to
> > INTEL_IOMMU instead, as this is the only case we actually care about.
> > 
> > Fixes: f46f156ea770 ("drm/i915/selftests: Only touch archdata.iommu when it exists")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> I'll take your wisdom. I was lost trying to nail down exactly what
> config options we needed to check and settled for something that
> appeared good enough (for the small selection of configs I tested).
> 
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Pushed, thanks.
-Daniel