linux/drivers/gpu/drm/amd/display/dc
Nicholas Kazlauskas b8a204fb1a drm/amd/display: Verify disallow bits were cleared for idle
[Why]
A hang was observed where a read-modify-write access occurred due to the
register for idle state being shared between DMCUB and driver.

dmcub read - idle allow / no commit
driver read - idle allow / no commit
driver write - idle disallow / no commit
dmcub write - idle allow / commit

Resulting in DMCUB re-entering IPS after a disable and keeping the allow
high.

[How]
Long term we need to split commit/allow into two registers or use shared
DRAM state, but short term we can reduce the repro rate by ensuring that
the disallow went through by bounding the expected worst case scenario.

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Hansen Dsouza <hansen.dsouza@amd.com>
Reviewed-by: Ovidiu Bunea <ovidiu.bunea@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2024-01-03 10:47:49 -05:00
..
basics drm/amd/display: remove redundant initialization of variable remainder 2024-01-03 10:30:10 -05:00
bios drm/amd/display: Wake DMCUB before sending a command 2023-12-19 14:59:02 -05:00
clk_mgr drm/amd/display: Add log end specifier 2024-01-03 10:46:27 -05:00
core drm/amd/display: For FPO and SubVP/DRR configs program vmin/max sel 2024-01-03 10:47:20 -05:00
dce drm/amd/display: Correctly restore user_level 2024-01-03 10:31:52 -05:00
dce60 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce80 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dce110 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dce112 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dce120 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dcn10 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn20 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn21 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn30 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn31 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn32 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn35 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn201 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn301 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn302 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn303 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn314 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn321 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dml drm/amd/display: For FPO and SubVP/DRR configs program vmin/max sel 2024-01-03 10:47:20 -05:00
dml2 drm/amd/display: Fix Mismatch between pipe and stream 2024-01-03 10:47:42 -05:00
dsc drm/amd/display: Add DSC granular throughput adjustment 2023-11-29 16:49:23 -05:00
gpio drm/amd/display: Add DCN35 GPIO 2023-08-30 15:51:14 -04:00
hdcp drm/amd/display: Fix copyright notice in DC code 2023-10-26 18:41:23 -04:00
hwss drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
inc drm/amd/display: For FPO and SubVP/DRR configs program vmin/max sel 2024-01-03 10:47:20 -05:00
irq drm/amd/display: Fix copyright notice in DC code 2023-10-26 18:41:23 -04:00
link drm/amd/display: Add dpia display mode validation logic 2024-01-03 10:47:12 -05:00
optc drm/amd/display: Fix hang/underflow when transitioning to ODM4:1 2023-12-19 14:59:03 -05:00
resource drm/amd/display: For FPO and SubVP/DRR configs program vmin/max sel 2024-01-03 10:47:20 -05:00
virtual drm/amd/display: make virtual_disable_link_output static 2022-10-11 11:32:59 -04:00
dc_bios_types.h drm/amd/display: Pass pwrseq inst for backlight and ABM 2023-12-06 15:22:33 -05:00
dc_ddc_types.h drm/amd/display: move public dc link function implementation to dc_link_exports 2023-02-14 16:06:28 -05:00
dc_dmub_srv.c drm/amd/display: Verify disallow bits were cleared for idle 2024-01-03 10:47:49 -05:00
dc_dmub_srv.h drm/amd/display: Wake DMCUB before executing GPINT commands 2023-12-19 14:59:02 -05:00
dc_dp_types.h drm/amd/display: Add dpia display mode validation logic 2024-01-03 10:47:12 -05:00
dc_dsc.h drm/amd/display: Add link encoding to timing BW calculation parameters 2023-07-18 11:15:51 -04:00
dc_edid_parser.c
dc_edid_parser.h
dc_hdmi_types.h drm/amd/display/dc/dc_hdmi_types: Move string definition to the only file it's used in 2023-03-22 00:47:59 -04:00
dc_helper.c drm/amd/display: Wake DMCUB before sending a command 2023-12-19 14:59:02 -05:00
dc_hw_types.h drm/amd/display: make flip_timestamp_in_us a 64-bit variable 2023-12-19 14:47:58 -05:00
dc_plane_priv.h drm/amd/display: Refactor dc_state interface 2023-12-19 14:59:02 -05:00
dc_plane.h drm/amd/display: Refactor dc_state interface 2023-12-19 14:59:02 -05:00
dc_stat.h
dc_state_priv.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_state.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_stream_priv.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_stream.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_trace.h drm/amd/display: Add events log to trace OPTC lock and unlock 2022-10-24 14:36:06 -04:00
dc_types.h drm/amd/display: Add dpia display mode validation logic 2024-01-03 10:47:12 -05:00
dc.h drm/amd/display: Add dpia display mode validation logic 2024-01-03 10:47:12 -05:00
dm_cp_psp.h
dm_event_log.h
dm_helpers.h drm/amd/display: adjust flow for deallocation mst payload 2023-11-29 16:49:00 -05:00
dm_pp_smu.h drm/amd/pm: support return vpe clock table 2023-12-14 15:25:59 -05:00
dm_services_types.h drm/amd/display: refactor dmub commands into single function 2023-04-18 16:28:52 -04:00
dm_services.h drm/amd/display: Show the DCN/DCE version in the log 2023-06-09 09:34:09 -04:00
irq_types.h drm/amd/display: Correct enum typo 2023-10-26 18:59:56 -04:00
Makefile drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
os_types.h drm/amd/display: switch DC over to the new DRM logging macros 2023-09-26 17:00:21 -04:00