]> git.itanic.dy.fi Git - linux-stable/commit
drm/i915/psr: Fix PSR2 handling of multiplanar format
authorJosé Roberto de Souza <jose.souza@intel.com>
Mon, 8 Nov 2021 21:38:07 +0000 (13:38 -0800)
committerJosé Roberto de Souza <jose.souza@intel.com>
Thu, 11 Nov 2021 18:52:34 +0000 (10:52 -0800)
commitc582ffadbe6cf64be4544d9d168bcc520bd0c984
treed0b5e0281f6fdcc9b868f812ff02096ab3c0e34b
parent02689a2055d8a78b7cd0b722a591d1acff8b1e4d
drm/i915/psr: Fix PSR2 handling of multiplanar format

When a plane with a multiplanar format is added to the state by
drm_atomic_add_affected_planes(), only the UV plane is
added, so a intel_atomic_get_new_plane_state() call to get the Y
plane state can return a null pointer.
To fix this, intel_atomic_get_plane_state() should be called and
the return needs to be checked for errors, as it could return a EAGAIN
as other atomic state could be holding the lock for the Y plane.

Other issue with the patch being fixed is that the Y plane is not
being committed to hardware because the corresponded plane bit is not
set in update_planes when UV and Y planes are added to the state by
drm_atomic_add_affected_planes().

Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Mika Kahola <mika.kahola@intel.com>
Fixes: 3809991ff5f4 ("drm/i915/display: Add initial selective fetch support for biplanar formats")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211108213807.39865-1-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_psr.c