diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c index 1e4557a..3a078a4 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c @@ -264,7 +264,7 @@ static int intel_overlay_on(struct intel_overlay *overlay) overlay->hw_wedged = NEEDS_WAIT_FOR_FLIP; BEGIN_LP_RING(6); - OUT_RING(MI_FLUSH); + OUT_RING(MI_FLUSH | (1 << 4)); OUT_RING(MI_NOOP); OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_ON); OUT_RING(overlay->flip_addr | OFC_UPDATE); @@ -306,7 +306,7 @@ static void intel_overlay_continue(struct intel_overlay *overlay, DRM_DEBUG("overlay underrun, DOVSTA: %x\n", tmp); BEGIN_LP_RING(4); - OUT_RING(MI_FLUSH); + OUT_RING(MI_FLUSH | (1 << 4)); OUT_RING(MI_NOOP); OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_CONTINUE); OUT_RING(flip_addr); @@ -377,7 +377,7 @@ static int intel_overlay_off(struct intel_overlay *overlay) overlay->hw_wedged = SWITCH_OFF_STAGE_1; BEGIN_LP_RING(6); - OUT_RING(MI_FLUSH); + OUT_RING(MI_FLUSH | (1 << 4)); OUT_RING(MI_NOOP); OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_CONTINUE); OUT_RING(flip_addr); @@ -397,7 +397,7 @@ static int intel_overlay_off(struct intel_overlay *overlay) overlay->hw_wedged = SWITCH_OFF_STAGE_2; BEGIN_LP_RING(6); - OUT_RING(MI_FLUSH); + OUT_RING(MI_FLUSH | (1 << 4)); OUT_RING(MI_NOOP); OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_OFF); OUT_RING(flip_addr); @@ -474,7 +474,7 @@ int intel_overlay_recover_from_interrupt(struct intel_overlay *overlay, overlay->hw_wedged = SWITCH_OFF_STAGE_2; BEGIN_LP_RING(6); - OUT_RING(MI_FLUSH); + OUT_RING(MI_FLUSH | (1 << 4)); OUT_RING(MI_NOOP); OUT_RING(MI_OVERLAY_FLIP | MI_OVERLAY_OFF); OUT_RING(flip_addr);