Explorar o código

drm/i915: Use masked write for Context Status Buffer Pointer

This register needs to be updated with masked writes.

This was found by code inspection and comparison with Bspec and
doesn't seem to fix any known issue.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
[danvet: Add note about impact.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Mika Kuoppala %!s(int64=10) %!d(string=hai) anos
pai
achega
cc53699b25
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/gpu/drm/i915/intel_lrc.c

+ 1 - 1
drivers/gpu/drm/i915/intel_lrc.c

@@ -521,7 +521,7 @@ void intel_lrc_irq_handler(struct intel_engine_cs *ring)
 	ring->next_context_status_buffer = write_pointer % 6;
 	ring->next_context_status_buffer = write_pointer % 6;
 
 
 	I915_WRITE(RING_CONTEXT_STATUS_PTR(ring),
 	I915_WRITE(RING_CONTEXT_STATUS_PTR(ring),
-		   ((u32)ring->next_context_status_buffer & 0x07) << 8);
+		   _MASKED_FIELD(0x07 << 8, ((u32)ring->next_context_status_buffer & 0x07) << 8));
 }
 }
 
 
 static int execlists_context_queue(struct drm_i915_gem_request *request)
 static int execlists_context_queue(struct drm_i915_gem_request *request)