summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/display/skl_watermark.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 09249a42a53f..617a1f2d01ea 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3127,19 +3127,11 @@ bool skl_watermark_ipc_enabled(struct drm_i915_private *i915)
void skl_watermark_ipc_update(struct drm_i915_private *i915)
{
- u32 val;
-
if (!HAS_IPC(i915))
return;
- val = intel_uncore_read(&i915->uncore, DISP_ARB_CTL2);
-
- if (skl_watermark_ipc_enabled(i915))
- val |= DISP_IPC_ENABLE;
- else
- val &= ~DISP_IPC_ENABLE;
-
- intel_uncore_write(&i915->uncore, DISP_ARB_CTL2, val);
+ intel_uncore_rmw(&i915->uncore, DISP_ARB_CTL2, DISP_IPC_ENABLE,
+ skl_watermark_ipc_enabled(i915) ? DISP_IPC_ENABLE : 0);
}
static bool skl_watermark_ipc_can_enable(struct drm_i915_private *i915)