]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/display/psr: Handle plane and pipe restrictions at every page flip
authorJosé Roberto de Souza <jose.souza@intel.com>
Thu, 30 Sep 2021 00:14:01 +0000 (17:14 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Thu, 30 Sep 2021 21:47:30 +0000 (14:47 -0700)
commit700873dabd497b34a5a4744f91489791ec36ada0
tree0f983e0fcd2710c59fa8acc267b14766dc5bfc76
parent4a3d9987a0faaa0e9980127c59dc841800c3f980
drm/i915/display/psr: Handle plane and pipe restrictions at every page flip

PSR2 selective is not supported over rotated and scaled planes.
We had the rotation check in intel_psr2_sel_fetch_config_valid()
but that code path is only execute when a modeset is needed and
those plane parameters can change without a modeset.

Pipe selective fetch restrictions are also needed, it could be added
in intel_psr_compute_config() but pippe scaling is computed after
it is executed, so leaving as is for now.
There is no much loss in this approach as it would cause selective
fetch to not enabled as for alderlake-P and newer will cause it to
switch to PSR1 that will have the same power-savings as do full pipe
fetch.

Also need to check those restricions in the second
for_each_oldnew_intel_plane_in_state() loop because the state could
only have a plane that is not affected by those restricitons but
the damaged area intersect with planes that has those restrictions,
so a full pipe fetch is required.

v2:
- also handling pipe restrictions

BSpec: 55229
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> # v1
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210930001409.254817-1-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_psr.c