mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
drm/amd/display: Fix hang/underflow when transitioning to ODM4:1
[Why] Under some circumstances, disabling an OPTC and attempting to reclaim its OPP(s) for a different OPTC could cause a hang/underflow due to OPPs not being properly disconnected from the disabled OPTC. [How] Ensure that all OPPs are unassigned from an OPTC when it gets disabled. Reviewed-by: Alvin Lee <alvin.lee2@amd.com> Acked-by: Wayne Lin <wayne.lin@amd.com> Signed-off-by: Ilya Bakoulin <ilya.bakoulin@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
dff45f03f5
commit
e7b2b108cd
|
|
@ -172,6 +172,13 @@ static bool optc32_disable_crtc(struct timing_generator *optc)
|
|||
REG_UPDATE(OTG_CONTROL,
|
||||
OTG_MASTER_EN, 0);
|
||||
|
||||
REG_UPDATE_5(OPTC_DATA_SOURCE_SELECT,
|
||||
OPTC_SEG0_SRC_SEL, 0xf,
|
||||
OPTC_SEG1_SRC_SEL, 0xf,
|
||||
OPTC_SEG2_SRC_SEL, 0xf,
|
||||
OPTC_SEG3_SRC_SEL, 0xf,
|
||||
OPTC_NUM_OF_INPUT_SEGMENT, 0);
|
||||
|
||||
REG_UPDATE(CONTROL,
|
||||
VTG0_ENABLE, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -144,6 +144,13 @@ static bool optc35_disable_crtc(struct timing_generator *optc)
|
|||
REG_UPDATE(OTG_CONTROL,
|
||||
OTG_MASTER_EN, 0);
|
||||
|
||||
REG_UPDATE_5(OPTC_DATA_SOURCE_SELECT,
|
||||
OPTC_SEG0_SRC_SEL, 0xf,
|
||||
OPTC_SEG1_SRC_SEL, 0xf,
|
||||
OPTC_SEG2_SRC_SEL, 0xf,
|
||||
OPTC_SEG3_SRC_SEL, 0xf,
|
||||
OPTC_NUM_OF_INPUT_SEGMENT, 0);
|
||||
|
||||
REG_UPDATE(CONTROL,
|
||||
VTG0_ENABLE, 0);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user