Skip to content

Commit

Permalink
drm/i915/selftests: Take rpm wakeref around GGTT lowlevel tests
Browse files Browse the repository at this point in the history
The vma routines are responsible for acquiring the device rpm wakeref
before they poke the HW. However, some of the selftests bypass the
higher level vma routines in order to poke directly at the lowlevel GGTT
functions; these are then responsible for managing rpm themselves.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171107114051.10583-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
  • Loading branch information
Chris Wilson committed Nov 7, 2017
1 parent f6d0304 commit c29ccb9
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,9 @@ static int lowlevel_hole(struct drm_i915_private *i915,
mock_vma.node.size = BIT_ULL(size);
mock_vma.node.start = addr;

intel_runtime_pm_get(i915);
vm->insert_entries(vm, &mock_vma, I915_CACHE_NONE, 0);
intel_runtime_pm_put(i915);
}
count = n;

Expand Down Expand Up @@ -1047,6 +1049,7 @@ static int igt_ggtt_page(void *arg)
goto out_remove;
}

intel_runtime_pm_get(i915);
for (n = 0; n < count; n++) {
u64 offset = tmp.start + order[n] * PAGE_SIZE;
u32 __iomem *vaddr;
Expand Down Expand Up @@ -1086,6 +1089,7 @@ static int igt_ggtt_page(void *arg)
break;
}
}
intel_runtime_pm_put(i915);

kfree(order);
out_remove:
Expand Down

0 comments on commit c29ccb9

Please sign in to comment.