[PATCH 3/3] drm/amd/display: Solve mst monitors blank out problem after resume
Zuo, Jerry
Jerry.Zuo at amd.com
Wed Jul 3 14:06:57 UTC 2024
[AMD Official Use Only - AMD Internal Distribution Only]
Reviewed-by: Fangzhi Zuo <jerry.zuo at amd.com>
> -----Original Message-----
> From: Wayne Lin <Wayne.Lin at amd.com>
> Sent: Wednesday, June 26, 2024 4:48 AM
> To: amd-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org
> Cc: lyude at redhat.com; jani.nikula at intel.com; imre.deak at intel.com;
> daniel at ffwll.ch; Wentland, Harry <Harry.Wentland at amd.com>; Zuo, Jerry
> <Jerry.Zuo at amd.com>; Lin, Wayne <Wayne.Lin at amd.com>
> Subject: [PATCH 3/3] drm/amd/display: Solve mst monitors blank out problem
> after resume
>
> [Why]
> In dm resume, we firstly restore dc state and do the mst resume for topology
> probing thereafter. If we change dpcd DP_MSTM_CTRL value after LT in mst
> reume, it will cause light up problem on the hub.
>
> [How]
> Revert the commit 202dc359adda ("drm/amd/display: Defer handling mst up
> request in resume"). And adjust the reason to trigger dc_link_detect by
> DETECT_REASON_RESUMEFROMS3S4.
>
> Fixes: 202dc359adda ("drm/amd/display: Defer handling mst up request in
> resume")
> Signed-off-by: Wayne Lin <Wayne.Lin at amd.com>
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index c64cc2378a94..b01452eb0981 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -2569,6 +2569,7 @@ static void resume_mst_branch_status(struct
> drm_dp_mst_topology_mgr *mgr)
>
> ret = drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL,
> DP_MST_EN |
> + DP_UP_REQ_EN |
> DP_UPSTREAM_IS_SRC);
> if (ret < 0) {
> drm_dbg_kms(mgr->dev, "mst write failed - undocked during
> suspend?\n"); @@ -3171,7 +3172,7 @@ static int dm_resume(void *handle)
> } else {
> mutex_lock(&dm->dc_lock);
> dc_exit_ips_for_hw_access(dm->dc);
> - dc_link_detect(aconnector->dc_link,
> DETECT_REASON_HPD);
> + dc_link_detect(aconnector->dc_link,
> DETECT_REASON_RESUMEFROMS3S4);
> mutex_unlock(&dm->dc_lock);
> }
>
> --
> 2.37.3
More information about the dri-devel
mailing list