Commit 798c5daf authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915/fbc: Remember to update FBC state even when not reallocating CFB

We mustn't forget to update our FBC state even if we don't have
to reallocate the CFB. Otherwise we won't refresh our notion
of what eg. the new fence or the new override CFB stride
should be. Using the wrong CFB stride in particular can cause
underruns and could even corrupt other stuff in stolen.

Fixes: f4cfdbb0 ("drm/i915/fbc: Nuke state_cache")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4774Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211216110822.8461-1-ville.syrjala@linux.intel.comReviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
parent 980f42e7
...@@ -1408,8 +1408,10 @@ static void __intel_fbc_enable(struct intel_atomic_state *state, ...@@ -1408,8 +1408,10 @@ static void __intel_fbc_enable(struct intel_atomic_state *state,
if (fbc->state.plane != plane) if (fbc->state.plane != plane)
return; return;
if (intel_fbc_is_ok(plane_state)) if (intel_fbc_is_ok(plane_state)) {
intel_fbc_update_state(state, crtc, plane);
return; return;
}
__intel_fbc_disable(fbc); __intel_fbc_disable(fbc);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment