Skip to content

Commit 9877c37

Browse files
StanFox1984Manasi Navare
authored andcommitted
drm/i915: Check plane configuration properly
Checking with hweight8 if plane configuration had changed seems to be wrong as different plane configs can result in a same hamming weight. So lets check the bitmask itself. v2: Fixed "from" field which got corrupted for some weird reason Reviewed-by: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200520145827.15887-1-stanislav.lisovskiy@intel.com
1 parent 4f0b435 commit 9877c37

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

drivers/gpu/drm/i915/display/intel_display.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14688,7 +14688,13 @@ static int intel_atomic_check_planes(struct intel_atomic_state *state)
1468814688
old_active_planes = old_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
1468914689
new_active_planes = new_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
1469014690

14691-
if (hweight8(old_active_planes) == hweight8(new_active_planes))
14691+
/*
14692+
* Not only the number of planes, but if the plane configuration had
14693+
* changed might already mean we need to recompute min CDCLK,
14694+
* because different planes might consume different amount of Dbuf bandwidth
14695+
* according to formula: Bw per plane = Pixel rate * bpp * pipe/plane scale factor
14696+
*/
14697+
if (old_active_planes == new_active_planes)
1469214698
continue;
1469314699

1469414700
ret = intel_crtc_add_planes_to_state(state, crtc, new_active_planes);

0 commit comments

Comments
 (0)