OSDN Git Service

drm/amd/display: Screen corruption on dual displays (DP+USB-C)
authorQingqing Zhuo <qingqing.zhuo@amd.com>
Thu, 30 Jul 2020 19:35:41 +0000 (15:35 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 17 Aug 2020 18:08:21 +0000 (14:08 -0400)
commitce271b40a91f781af3dee985c39e841ac5148766
tree83b064a5405d932bfd349d387c6353bf0acbec27
parentccc875052f829a03d1c9f67fc3a8709fe6c67c31
drm/amd/display: Screen corruption on dual displays (DP+USB-C)

[why]
Current pipe merge and split logic only supports cases where new
dc_state is allocated and relies on dc->current_state to gather
information from previous dc_state.

Calls to validate_bandwidth on UPDATE_TYPE_MED would cause an issue
because there is no new dc_state allocated, and data in
dc->current_state would be overwritten during pipe merge.

[how]
Only allow validate_bandwidth when new dc_state space is created.

Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c