Skip to content

Commit

Permalink
drm/i915: Disable read only ppgtt support for gen11
Browse files Browse the repository at this point in the history
On gen11 writing to read only ppgtt page causes a gpu hang.
This behaviour is different than with previous gen where
read only ppgtt access is supported. On those, the write
is just dropped without visible side effects.

Disable ro ppgtt support on gen11 until a solution can
be found to bring it into line with its predecessors.

References: HSDES#1807136187
References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108569
Cc: Chris Wilson <[email protected]>
Signed-off-by: Mika Kuoppala <[email protected]>
Acked-by: Chris Wilson <[email protected]>
Signed-off-by: Chris Wilson <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
mikuint authored and ickle committed Apr 11, 2019
1 parent 0c441cb commit 3936867
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions drivers/gpu/drm/i915/i915_gem_gtt.c
Original file line number Diff line number Diff line change
Expand Up @@ -1228,7 +1228,7 @@ static int gen8_init_scratch(struct i915_address_space *vm)
vm->scratch_pte =
gen8_pte_encode(vm->scratch_page.daddr,
I915_CACHE_LLC,
PTE_READ_ONLY);
vm->has_read_only);

vm->scratch_pt = alloc_pt(vm);
if (IS_ERR(vm->scratch_pt)) {
Expand Down Expand Up @@ -1548,8 +1548,13 @@ static struct i915_hw_ppgtt *gen8_ppgtt_create(struct drm_i915_private *i915)

ppgtt_init(i915, ppgtt);

/* From bdw, there is support for read-only pages in the PPGTT. */
ppgtt->vm.has_read_only = true;
/*
* From bdw, there is hw support for read-only pages in the PPGTT.
*
* Gen11 has HSDES#:1807136187 unresolved. Disable ro support
* for now.
*/
ppgtt->vm.has_read_only = INTEL_GEN(i915) != 11;

/* There are only few exceptions for gen >=6. chv and bxt.
* And we are not sure about the latter so play safe for now.
Expand Down

0 comments on commit 3936867

Please sign in to comment.