[PATCH 76/78] hmm
Chris Wilson
chris at chris-wilson.co.uk
Sun Jan 1 15:12:03 UTC 2017
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index c74aa88e6345..89bb36f90dfe 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -1372,16 +1372,12 @@ static void gen6_write_page_range(struct drm_i915_private *dev_priv,
struct i915_page_directory *pd,
uint32_t start, uint32_t length)
{
- struct i915_ggtt *ggtt = &dev_priv->ggtt;
struct i915_page_table *pt;
uint32_t pde;
gen6_for_each_pde(pt, pd, start, length, pde)
gen6_write_pde(pd, pde, pt);
-
- /* Make sure write is complete before other code can use this page
- * table. Also require for WC mapped PTEs */
- readl(ggtt->gsm);
+ wmb();
}
static uint32_t get_pd_offset(struct i915_hw_ppgtt *ppgtt)
@@ -1594,8 +1590,6 @@ static void gen6_ppgtt_insert_entries(struct i915_address_space *vm,
static int gen6_alloc_va_range(struct i915_address_space *vm,
uint64_t start_in, uint64_t length_in)
{
- struct drm_i915_private *dev_priv = vm->i915;
- struct i915_ggtt *ggtt = &dev_priv->ggtt;
struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm);
struct i915_page_table *pt;
uint32_t start, length, start_save, length_save;
@@ -1632,15 +1626,10 @@ static int gen6_alloc_va_range(struct i915_address_space *vm,
gen6_pte_count(start, length));
}
- /* Make sure write is complete before other code can use this page
- * table. Also require for WC mapped PTEs */
- readl(ggtt->gsm);
-
mark_tlbs_dirty(ppgtt);
return 0;
unwind_out:
- mark_tlbs_dirty(ppgtt);
return ret;
}
@@ -2182,7 +2171,6 @@ static void gen8_ggtt_clear_range(struct i915_address_space *vm,
I915_CACHE_LLC);
for (i = 0; i < num_entries; i++)
gen8_set_pte(>t_base[i], scratch_pte);
- readl(gtt_base);
}
static void gen6_ggtt_clear_range(struct i915_address_space *vm,
@@ -2207,7 +2195,6 @@ static void gen6_ggtt_clear_range(struct i915_address_space *vm,
for (i = 0; i < num_entries; i++)
iowrite32(scratch_pte, >t_base[i]);
- readl(gtt_base);
}
static void i915_ggtt_insert_page(struct i915_address_space *vm,
@@ -2231,7 +2218,6 @@ static void i915_ggtt_insert_entries(struct i915_address_space *vm,
AGP_USER_MEMORY : AGP_USER_CACHED_MEMORY;
intel_gtt_insert_sg_entries(pages, start >> PAGE_SHIFT, flags);
-
}
static void i915_ggtt_clear_range(struct i915_address_space *vm,
@@ -2319,14 +2305,12 @@ static void ggtt_unbind_vma(struct i915_vma *vma)
if (vma->flags & I915_VMA_GLOBAL_BIND) {
intel_runtime_pm_get(i915);
- vma->vm->clear_range(vma->vm,
- vma->node.start, size);
+ vma->vm->clear_range(vma->vm, vma->node.start, size);
intel_runtime_pm_put(i915);
}
if (vma->flags & I915_VMA_LOCAL_BIND && appgtt)
- appgtt->base.clear_range(&appgtt->base,
- vma->node.start, size);
+ appgtt->base.clear_range(&appgtt->base, vma->node.start, size);
}
void i915_gem_gtt_finish_pages(struct drm_i915_gem_object *obj,
--
2.11.0
More information about the Intel-gfx-trybot
mailing list