[Intel-gfx] [PATCH 4/4] drm/i915: add assert_device_not_suspended to GGTT PTE updaters
Imre Deak
imre.deak at intel.com
Mon Nov 9 10:20:11 PST 2015
The device should be on when updating the GGTT PTEs, so add an assert to
all relevant places.
Signed-off-by: Imre Deak <imre.deak at intel.com>
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 016739e..d4a84b8 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -2358,6 +2358,8 @@ static void gen8_ggtt_insert_entries(struct i915_address_space *vm,
struct sg_page_iter sg_iter;
dma_addr_t addr = 0; /* shut up gcc */
+ assert_device_not_suspended(vm->dev->dev_private);
+
for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) {
addr = sg_dma_address(sg_iter.sg) +
(sg_iter.sg_pgoffset << PAGE_SHIFT);
@@ -2404,6 +2406,8 @@ static void gen6_ggtt_insert_entries(struct i915_address_space *vm,
struct sg_page_iter sg_iter;
dma_addr_t addr = 0;
+ assert_device_not_suspended(vm->dev->dev_private);
+
for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) {
addr = sg_page_iter_dma_address(&sg_iter);
iowrite32(vm->pte_encode(addr, level, true, flags), >t_entries[i]);
@@ -2442,6 +2446,8 @@ static void gen8_ggtt_clear_range(struct i915_address_space *vm,
const int max_entries = gtt_total_entries(dev_priv->gtt) - first_entry;
int i;
+ assert_device_not_suspended(vm->dev->dev_private);
+
if (WARN(num_entries > max_entries,
"First entry = %d; Num entries = %d (max=%d)\n",
first_entry, num_entries, max_entries))
@@ -2468,6 +2474,8 @@ static void gen6_ggtt_clear_range(struct i915_address_space *vm,
const int max_entries = gtt_total_entries(dev_priv->gtt) - first_entry;
int i;
+ assert_device_not_suspended(vm->dev->dev_private);
+
if (WARN(num_entries > max_entries,
"First entry = %d; Num entries = %d (max=%d)\n",
first_entry, num_entries, max_entries))
--
2.5.0
More information about the Intel-gfx
mailing list