Skip to content

Commit 31c254c

Browse files
Nicholas Kazlauskasgregkh
authored andcommitted
drm/amd/display: Disable DMCUB timeout for DCN35
[ Upstream commit 7c70e60 ] [Why] DMCUB can intermittently take longer than expected to process commands. Old ASIC policy was to continue while logging a diagnostic error - which works fine for ASIC without IPS, but with IPS this could lead to a race condition where we attempt to access DCN state while it's inaccessible, leading to a system hang when the NIU port is not disabled or register accesses that timeout and the display configuration in an undefined state. [How] We need to investigate why these accesses take longer than expected, but for now we should disable the timeout on DCN35 to avoid this race condition. Since the waits happen only at lower interrupt levels the risk of taking too long at higher IRQ and causing a system watchdog timeout are minimal. Reviewed-by: Ovidiu Bunea <ovidiu.bunea@amd.com> Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 8dea33a commit 31c254c

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,7 @@ static const struct dc_debug_options debug_defaults_drv = {
785785
.ips2_entry_delay_us = 800,
786786
.disable_dmub_reallow_idle = false,
787787
.static_screen_wait_frames = 2,
788+
.disable_timeout = true,
788789
};
789790

790791
static const struct dc_panel_config panel_config_defaults = {

0 commit comments

Comments
 (0)