drm/i915: Don't zero out the Y plane's watermarks
Don't zero out the watermarks for the Y plane since we've already computed them when computing the UV plane's watermarks (since the UV plane always appears before ethe Y plane when iterating through the planes). This leads to allocating no DDB for the Y plane since .min_ddb_alloc also gets zeroed. And that of course leads to underruns when scanning out planar formats. Cc: stable@vger.kernel.org Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Fixes: dbf71381d733 ("drm/i915: Nuke intel_atomic_crtc_state_for_each_plane_state() from skl+ wm code") Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210327005945.4929-1-ville.syrjala@linux.intel.com Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> (cherry picked from commit f99b805fb9413ff007ca0b6add871737664117dd) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
1166416998
commit
bf52dc49ba
@ -5471,12 +5471,12 @@ static int icl_build_plane_wm(struct intel_crtc_state *crtc_state,
|
||||
struct skl_plane_wm *wm = &crtc_state->wm.skl.raw.planes[plane_id];
|
||||
int ret;
|
||||
|
||||
memset(wm, 0, sizeof(*wm));
|
||||
|
||||
/* Watermarks calculated in master */
|
||||
if (plane_state->planar_slave)
|
||||
return 0;
|
||||
|
||||
memset(wm, 0, sizeof(*wm));
|
||||
|
||||
if (plane_state->planar_linked_plane) {
|
||||
const struct drm_framebuffer *fb = plane_state->hw.fb;
|
||||
enum plane_id y_plane_id = plane_state->planar_linked_plane->id;
|
||||
|
Loading…
x
Reference in New Issue
Block a user