mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 12:33:18 -04:00
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
This commit is contained in:
committed by
Manasi Navare
parent
4f0b4352bd
commit
9877c37e05
@@ -14688,7 +14688,13 @@ static int intel_atomic_check_planes(struct intel_atomic_state *state)
|
||||
old_active_planes = old_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
|
||||
new_active_planes = new_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
|
||||
|
||||
if (hweight8(old_active_planes) == hweight8(new_active_planes))
|
||||
/*
|
||||
* Not only the number of planes, but if the plane configuration had
|
||||
* changed might already mean we need to recompute min CDCLK,
|
||||
* because different planes might consume different amount of Dbuf bandwidth
|
||||
* according to formula: Bw per plane = Pixel rate * bpp * pipe/plane scale factor
|
||||
*/
|
||||
if (old_active_planes == new_active_planes)
|
||||
continue;
|
||||
|
||||
ret = intel_crtc_add_planes_to_state(state, crtc, new_active_planes);
|
||||
|
||||
Reference in New Issue
Block a user