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 <[email protected]>
> 
> 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 <[email protected]> 
> Sent: November 16, 2018 6:25 PM
> To: [email protected]
> Cc: Zuo, Jerry <[email protected]>; Wentland, Harry <[email protected]>
> ; Li, Sun peng (Leo) <[email protected]>; Deucher, Alexander <
> [email protected]>; Koenig, Christian <[email protected]>;
> Zhou, David(ChunMing) <[email protected]>; David Airlie <[email protected]>
> ; Li, Roman <[email protected]>; S, Shirish <[email protected]>; Daniel
> Vetter <[email protected]>; [email protected]; 
> [email protected]
> 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 <[email protected]>
> Cc: Jerry Zuo <[email protected]>
> ---
>  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

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to