Commit 9877c37e authored by Stanislav Lisovskiy's avatar Stanislav Lisovskiy Committed by Manasi Navare

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: default avatarManasi Navare <manasi.d.navare@intel.com>
Signed-off-by: default avatarStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200520145827.15887-1-stanislav.lisovskiy@intel.com
parent 4f0b4352
...@@ -14688,7 +14688,13 @@ static int intel_atomic_check_planes(struct intel_atomic_state *state) ...@@ -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); old_active_planes = old_crtc_state->active_planes & ~BIT(PLANE_CURSOR);
new_active_planes = new_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; continue;
ret = intel_crtc_add_planes_to_state(state, crtc, new_active_planes); ret = intel_crtc_add_planes_to_state(state, crtc, new_active_planes);
......
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