]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
drm/i915: Fix display bpp limit computation during system resume
authorImre Deak <imre.deak@intel.com>
Tue, 20 Feb 2024 21:18:23 +0000 (23:18 +0200)
committerImre Deak <imre.deak@intel.com>
Tue, 27 Feb 2024 15:34:12 +0000 (17:34 +0200)
commit1dd9d86ab60b9810cc99640fa7ebe42e1b9c8b4f
tree4dcf920aa60bfbc48475a7782bab063c29579039
parent295654f7e554a9f089bdab0b2bb9a9aad7c402c0
drm/i915: Fix display bpp limit computation during system resume

The system resume display mode restoration should happen with an output
configuration matching that of the suspend time saved mode. Since the
restored mode configuration is subject to the bpp fallback logic,
starting out with an unlimited bpp and reducing the bpp as required by
any (MST) link BW limit, the resulting bpp will match the one during
suspend only if the BW limit checks during suspend and resume are
applied in an identical way. The latter is not guaranteed at the moment,
since the pre-suspend MST topology may not be in place during resume
(for instance if the MST sink was disconnected while being suspended),
which makes the MST link BW check accept the unlimited bpp mode
configuration unconditionally without ensuring that the required BW fits
into the available MST link BW.

To fix the above, initialize the bpp fallback logic with the max link
bpp / force-FEC limits left behind by the suspend time mode save.

Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240220211841.448846-4-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_link_bw.c
drivers/gpu/drm/i915/display/intel_link_bw.h