1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/display/dc/inc/hw
Wenjing Liu 9c75891fee drm/amd/display: rework recent update PHY state commit
[why]
Original change 594b237b9a ("drm/amd/display: Add
interface to track PHY state") was implemented by assuming stream's
dpms off is equivalent to PHY power off.
This assumption doesn't hold in following situations:
1. MST multiple stream scenario, where multiple streams are sharing the
same PHY output. Toggle dpms off for one of the stream doesn't power
off the PHY due to the presence of other streams.
2. enable stream failure scenario, where enable stream fails due to
failure of link training. This will cause DPMS off is set to false, while
the actual PHY power state is off in certain cases.
Due to the problematic assumption, the logic will skip disabling
other streams for MST multiple stream scenario, therefore PHY is
not actually powered off.

[how]
1. Rework this refactor by moving PHY state update down to hardware
level, where we update PHY state in place when hardware sequencer
is actually changing the power state of the PHY hardware.
2. Reimplement symclk on TX off workaround in place when we are actually
calling transmitter control to power off PHY in dcn32. Note the workaround is
added due to the lack of proper software interface to set TX while keeping
symclk on. We plan to address this interface problem so we can set TX off
only without affecting symclk in future dcn versions.

Fixes: 594b237b9a ("drm/amd/display: Add interface to track PHY state")
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-09-19 15:10:24 -04:00
..
abm.h drm/amd/display: add vsync notify to dmub for abm pause 2021-09-28 09:30:09 -04:00
audio.h drm/amd/display: Disable audio stream only if it's currently enabled 2019-05-31 10:39:30 -05:00
aux_engine.h drm/amd/display: Support for DMUB AUX 2021-03-02 14:05:41 -05:00
clk_mgr.h drm/amd/display: Correct dram channel width for dcn314 2022-09-13 14:33:00 -04:00
clk_mgr_internal.h drm/amd/display: add CLKMGR changes for DCN32/321 2022-06-03 16:43:37 -04:00
dccg.h drm/amd/display: Fix dpstreamclk programming 2022-07-25 17:17:10 -04:00
dchubbub.h drm/amd/display: Add dependant changes for DCN32/321 2022-06-03 16:43:38 -04:00
dmcu.h drm/amd/display: Process crc window at DMCU 2021-03-05 15:11:54 -05:00
dpp.h drm/amd/display: Defer GAMCOR and DSCL power down sequence to vupdate 2021-10-28 14:26:15 -04:00
dsc.h drm/amd/display: Add new DSC interface to disconnect from pipe 2022-05-04 10:43:55 -04:00
dwb.h drm/amd/display: Drop unused privacy_mask setters and getters 2022-06-14 21:38:40 -04:00
gpio.h drm/amd/display: refactor gpio to allocate hw_container in constructor 2019-08-15 10:53:55 -05:00
hubp.h drm/amd/display: Cache cursor when cursor exceeds 64x64 2022-07-25 17:17:21 -04:00
hw_shared.h drm/amd/display: rework recent update PHY state commit 2022-09-19 15:10:24 -04:00
ipp.h drm/amd/display: csc_transform to dc_csc_transform 2018-05-15 13:42:54 -05:00
link_encoder.h drm/amd/display: Add PSR-SU-RC support in DC 2022-06-07 16:09:57 -04:00
mcif_wb.h drm/amdgpu: fold CONFIG_DRM_AMD_DC_DCN3* into CONFIG_DRM_AMD_DC_DCN (v3) 2020-11-04 17:11:37 -05:00
mem_input.h drm/amd/display: Add dependant changes for DCN32/321 2022-06-03 16:43:38 -04:00
mpc.h drm/amd/display: add doc entries for MPC blending configuration 2022-08-16 18:14:32 -04:00
opp.h drm/amd/display: Raise DPG height during timing synchronization 2020-10-26 13:29:21 -04:00
panel_cntl.h drm/amd/display: Add save/restore PANEL_PWRSEQ_REF_DIV2 2022-03-15 14:42:01 -04:00
stream_encoder.h drm/amd/display: Add enable/disable FIFO callbacks to stream setup 2022-07-25 17:14:50 -04:00
timing_generator.h drm/amd/display: Add basic kernel doc to CRC code under DC 2022-08-16 18:14:31 -04:00
transform.h drm/amd/display: Line Buffer changes 2021-07-23 10:07:58 -04:00
vmid.h drm/amd/display: move vmid determination logic to a module 2019-06-22 09:34:14 -05:00