diff options
author | Ville Syrjälä <[email protected]> | 2021-01-11 18:37:06 +0200 |
---|---|---|
committer | Ville Syrjälä <[email protected]> | 2021-01-19 19:17:36 +0200 |
commit | 6cc3bb7506163f96a3bc603d0340f8a84ea16e8c (patch) | |
tree | a56e2ce9bf843b47e80ed6dadc2d05d9ba14ad7a | |
parent | 8693ee2e378da24b30fbd86ddf17b3b629afdc6b (diff) |
drm/i915: Move the async_flip bit setup into the .async_flip() hook
Set up the async flip PLANE_CTL bit directly in the
.async_flip() hook. Neither .update_plane() nor .disable_plane()
ever need to set this so having it done by skl_plane_ctl_crtc()
is rather pointless.
Cc: Karthik B S <[email protected]>
Cc: Vandita Kulkarni <[email protected]>
Signed-off-by: Ville Syrjälä <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Karthik B S <[email protected]>
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_display.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_sprite.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index e4bfd12a80fa..ddd830f86fad 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -3429,9 +3429,6 @@ u32 skl_plane_ctl_crtc(const struct intel_crtc_state *crtc_state) struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev); u32 plane_ctl = 0; - if (crtc_state->uapi.async_flip) - plane_ctl |= PLANE_CTL_ASYNC_FLIP; - if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) return plane_ctl; diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index affd8cffa306..2798ee005ca0 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -782,6 +782,8 @@ skl_plane_async_flip(struct intel_plane *plane, plane_ctl |= skl_plane_ctl_crtc(crtc_state); + plane_ctl |= PLANE_CTL_ASYNC_FLIP; + spin_lock_irqsave(&dev_priv->uncore.lock, irqflags); intel_de_write_fw(dev_priv, PLANE_CTL(pipe, plane_id), plane_ctl); |