[PATCH 1/2] drm/amd/dm: Don't forget to attach MST encoders

Lyude Paul lyude at redhat.com
Mon Nov 19 18:51:53 UTC 2018


Cool! If it did actually fix those problems, would you mind making sure this
gets Cc'd to stable when it gets pushed upstream?

On Mon, 2018-11-19 at 15:00 +0000, Zuo, Jerry wrote:
> Reviewed-by: Jerry (Fangzhi) Zuo <Jerry.Zuo at amd.com>
> 
> The change fixed MST + SST daisy chain and S3 scenarios. The issue shows
> huge delay in MST + SST daisy chain, and soft hang in S3 resume.
> 
> The aux sequence is changed by failed iteration search in
> drm_connector_for_each_possible_encoder(). 
> The failure of searching for the best encoder for the connector due to the
> miss of attached encoder in the process of adding MST connector. The
> iteration search takes time to push drm_dp_send_enum_path_resources() aux
> transaction after the mode probe, and causes conflict to
> drm_dp_mst_i2c_xfer(), leading to the aux transaction timeout.
> 
> -----Original Message-----
> From: Lyude Paul <lyude at redhat.com> 
> Sent: November 16, 2018 6:25 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Zuo, Jerry <Jerry.Zuo at amd.com>; Wentland, Harry <Harry.Wentland at amd.com>
> ; Li, Sun peng (Leo) <Sunpeng.Li at amd.com>; Deucher, Alexander <
> Alexander.Deucher at amd.com>; Koenig, Christian <Christian.Koenig at amd.com>;
> Zhou, David(ChunMing) <David1.Zhou at amd.com>; David Airlie <airlied at linux.ie>
> ; Li, Roman <Roman.Li at amd.com>; S, Shirish <Shirish.S at amd.com>; Daniel
> Vetter <daniel.vetter at ffwll.ch>; dri-devel at lists.freedesktop.org; 
> linux-kernel at vger.kernel.org
> Subject: [PATCH 1/2] drm/amd/dm: Don't forget to attach MST encoders
> 
> Drive-by fix, this is bound to cause problems somewhere.
> 
> Signed-off-by: Lyude Paul <lyude at redhat.com>
> Cc: Jerry Zuo <Jerry.Zuo at amd.com>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> index d02c32a1039c..0cca1809fdcd 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> @@ -342,6 +342,8 @@ dm_dp_add_mst_connector(struct drm_dp_mst_topology_mgr
> *mgr,
>  		master->connector_id);
>  
>  	aconnector->mst_encoder = dm_dp_create_fake_mst_encoder(master);
> +	drm_connector_attach_encoder(&aconnector->base,
> +				     &aconnector->mst_encoder->base);
>  
>  	/*
>  	 * TODO: understand why this one is needed
-- 
Cheers,
	Lyude Paul



More information about the amd-gfx mailing list