drm/amd/display: Calculate bpc based on max_requested_bpc
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Wed, 21 Aug 2019 15:27:13 +0000 (11:27 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 21 Aug 2019 22:33:32 +0000 (17:33 -0500)
commitec6e491353b9024d4b1a65c48b21e3bc0faeae4e
tree99f4853a0c43d099ca2295546aa51e8e110dd10e
parent1a701ea924815b0518733aa8d5d05c1f6fa87062
drm/amd/display: Calculate bpc based on max_requested_bpc

[Why]
The only place where state->max_bpc is updated on the connector is
at the start of atomic check during drm_atomic_connector_check. It
isn't updated when adding the connectors to the atomic state after
the fact. It also doesn't necessarily reflect the right value when
called in amdgpu during mode validation outside of atomic check.

This can cause the wrong bpc to be used even if the max_requested_bpc
is the correct value.

[How]
Don't rely on state->max_bpc reflecting the real bpc value and just
do the min(...) based on display info bpc and max_requested_bpc.

Fixes: 01933ba42d3d ("drm/amd/display: Use current connector state if NULL when checking bpc")
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c