mirror of
https://github.com/torvalds/linux.git
synced 2026-08-01 03:59:40 +02:00
drm/i915: s/need_async_flip_disable_wa/need_async_flip_toggle_wa/
Rename need_async_flip_disable_wa to need_async_flip_toggle_wa to better reflect the fact that we need to deal with the bad PLANE_CTL_ASYNC_FLIP double buffering behaviour going both ways. Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240430095639.26390-6-ville.syrjala@linux.intel.com
This commit is contained in:
parent
b24d361420
commit
2081c6aec0
|
|
@ -456,7 +456,7 @@ static void i9xx_plane_update_arm(struct intel_plane *plane,
|
|||
dspcntr = plane_state->ctl | i9xx_plane_ctl_crtc(crtc_state);
|
||||
|
||||
/* see intel_plane_atomic_calc_changes() */
|
||||
if (plane->need_async_flip_disable_wa &&
|
||||
if (plane->need_async_flip_toggle_wa &&
|
||||
crtc_state->async_flip_planes & BIT(plane->id))
|
||||
dspcntr |= DISP_ASYNC_FLIP;
|
||||
|
||||
|
|
@ -878,7 +878,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
|
|||
plane->enable_flip_done = vlv_primary_enable_flip_done;
|
||||
plane->disable_flip_done = vlv_primary_disable_flip_done;
|
||||
} else if (IS_BROADWELL(dev_priv)) {
|
||||
plane->need_async_flip_disable_wa = true;
|
||||
plane->need_async_flip_toggle_wa = true;
|
||||
plane->async_flip = g4x_primary_async_flip;
|
||||
plane->enable_flip_done = bdw_primary_enable_flip_done;
|
||||
plane->disable_flip_done = bdw_primary_disable_flip_done;
|
||||
|
|
|
|||
|
|
@ -600,7 +600,7 @@ static int intel_plane_atomic_calc_changes(const struct intel_crtc_state *old_cr
|
|||
if (intel_plane_do_async_flip(plane, old_crtc_state, new_crtc_state)) {
|
||||
new_crtc_state->do_async_flip = true;
|
||||
new_crtc_state->async_flip_planes |= BIT(plane->id);
|
||||
} else if (plane->need_async_flip_disable_wa &&
|
||||
} else if (plane->need_async_flip_toggle_wa &&
|
||||
new_crtc_state->uapi.async_flip) {
|
||||
/*
|
||||
* On platforms with double buffered async flip bit we
|
||||
|
|
|
|||
|
|
@ -1140,7 +1140,7 @@ static void intel_crtc_async_flip_disable_wa(struct intel_atomic_state *state,
|
|||
int i;
|
||||
|
||||
for_each_old_intel_plane_in_state(state, plane, old_plane_state, i) {
|
||||
if (plane->need_async_flip_disable_wa &&
|
||||
if (plane->need_async_flip_toggle_wa &&
|
||||
plane->pipe == crtc->pipe &&
|
||||
disable_async_flip_planes & BIT(plane->id)) {
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1521,7 +1521,7 @@ struct intel_plane {
|
|||
enum i9xx_plane_id i9xx_plane;
|
||||
enum plane_id id;
|
||||
enum pipe pipe;
|
||||
bool need_async_flip_disable_wa;
|
||||
bool need_async_flip_toggle_wa;
|
||||
u32 frontbuffer_bit;
|
||||
|
||||
struct {
|
||||
|
|
|
|||
|
|
@ -1175,7 +1175,7 @@ skl_plane_update_arm(struct intel_plane *plane,
|
|||
skl_plane_ctl_crtc(crtc_state);
|
||||
|
||||
/* see intel_plane_atomic_calc_changes() */
|
||||
if (plane->need_async_flip_disable_wa &&
|
||||
if (plane->need_async_flip_toggle_wa &&
|
||||
crtc_state->async_flip_planes & BIT(plane->id))
|
||||
plane_ctl |= PLANE_CTL_ASYNC_FLIP;
|
||||
|
||||
|
|
@ -2371,8 +2371,7 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
|
|||
plane->check_plane = skl_plane_check;
|
||||
|
||||
if (plane_id == PLANE_PRIMARY) {
|
||||
plane->need_async_flip_disable_wa = IS_DISPLAY_VER(dev_priv,
|
||||
9, 10);
|
||||
plane->need_async_flip_toggle_wa = IS_DISPLAY_VER(dev_priv, 9, 10);
|
||||
plane->async_flip = skl_plane_async_flip;
|
||||
plane->enable_flip_done = skl_plane_enable_flip_done;
|
||||
plane->disable_flip_done = skl_plane_disable_flip_done;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user