drm/i915: Reduce warning for i915_vma_pin_iomap() without runtime-pm
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 8 Jan 2020 15:35:50 +0000 (15:35 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 9 Jan 2020 08:53:28 +0000 (08:53 +0000)
Access through the GGTT (iomap) into the vma does require the device to
be awake. However, we often take the i915_vma_pin_iomap() as an early
preparatory step that is long before we use the iomap. Asserting that
the device is awake at pin time does not protect us, and is merely a
nuisance.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200108153550.3803446-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_vma.c

index cbd783c31adb63fd50616db5ae35a475fbae7871..43d5c270bdb04a03a6393ee38c57b5530c8595c1 100644 (file)
@@ -423,8 +423,6 @@ void __iomem *i915_vma_pin_iomap(struct i915_vma *vma)
        void __iomem *ptr;
        int err;
 
-       /* Access through the GTT requires the device to be awake. */
-       assert_rpm_wakelock_held(vma->vm->gt->uncore->rpm);
        if (GEM_WARN_ON(!i915_vma_is_map_and_fenceable(vma))) {
                err = -ENODEV;
                goto err;
@@ -456,6 +454,8 @@ void __iomem *i915_vma_pin_iomap(struct i915_vma *vma)
                goto err_unpin;
 
        i915_vma_set_ggtt_write(vma);
+
+       /* NB Access through the GTT requires the device to be awake. */
        return ptr;
 
 err_unpin: