Skip to content

Commit

Permalink
drm/i915: Check plane configuration properly
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Stanislav Lisovskiy authored and Manasi Navare committed May 21, 2020
1 parent 4f0b435 commit 9877c37
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion drivers/gpu/drm/i915/display/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 9877c37

Please sign in to comment.