linux-stable/drivers/gpu/drm/amd/display/dc/clk_mgr
Duncan Ma 1288d70208 drm/amd/display: Improve x86 and dmub ips handshake
[Why]
There is a race condition between x86 and dmcub fw when attempting to exit
IPS2. Scenarios including exiting IPS2 before IPS2 has been entered. This
can cause unexpected hang when DMCUB attempt to exit while PMFW still
tries to enter IPS2.

[How]
A new design has been introduced to remove race conditions and improve the
handshake between x86 and DMCUB. An AON scratch register is borrowed from
PMFW to determine whether DMCUB has committed to IPS entry or not.

In the case when dmcub has committed IPS entry, x86 must poll until an exit
event occurred either from DMCUB(IPS1) or PMFW(IPS2). x86 will wait
upperbound of evaluation and IPS entry time to ensure IPS2 exit event has
been sent to PMFW.

Reviewed-by: Charlene Liu <charlene.liu@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Duncan Ma <duncan.ma@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-09-26 17:00:21 -04:00
..
dce60
dce100 drm/amd/display: remove dtbclk_ss compensation for dcn316 2022-04-12 14:18:18 -04:00
dce110
dce112 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dce120
dcn10 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dcn20 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dcn21 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dcn30 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dcn31 drm/amd/display: Keep PHY active for DP displays on DCN31 2023-07-18 11:16:09 -04:00
dcn32 drm/amd/display: fix some non-initialized register mask and setting 2023-09-11 17:17:57 -04:00
dcn35 drm/amd/display: Improve x86 and dmub ips handshake 2023-09-26 17:00:21 -04:00
dcn201 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dcn301 drm/amd/display: Clean FPGA code in dc 2023-06-09 10:44:11 -04:00
dcn314 drm/amd/display: Revert "drm/amd/display: Read down-spread percentage from lut to adjust dprefclk." 2023-08-07 17:14:08 -04:00
dcn315 drm/amd/display: Add smu write msg id fail retry process 2023-08-30 15:31:49 -04:00
dcn316 drm/amd/display: Clean up errors in dcn316_smu.c 2023-08-09 09:43:02 -04:00
clk_mgr.c drm/amd/display: Add DCN35 case for dc_clk_mgr_create 2023-09-20 16:24:07 -04:00
Makefile drm/amd/display: Add DCN35 CLK_MGR 2023-08-30 15:51:15 -04:00