4.19-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lyude Paul lyude@redhat.com
commit c9e0ab86b2e03154bb898cd2f851827783224727 upstream.
The change fixed huge delay in SST daisy chain and S3 soft hang observed in 4.19 kernel rebase.
Regression point in drm: drm/fb-helper: Eliminate the .best_encoder() usage
The aux sequence is altered due to the failure in drm_connector_for_each_possible_encoder(). The failure is caused by missing attached encoder in the process of adding MST connector. drm_dp_send_enum_path_resources() aux transaction is pushed after mode probe, which causes conflict to drm_dp_mst_i2c_xfer(), leading to the transaction timeout.
Signed-off-by: Lyude Paul lyude@redhat.com Reviewed-by: Jerry (Fangzhi) Zuo Jerry.Zuo@amd.com Cc: Stable stable@vger.kernel.org Signed-off-by: Alex Deucher alexander.deucher@amd.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 ++ 1 file changed, 2 insertions(+)
--- 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 @@ -374,6 +374,8 @@ dm_dp_add_mst_connector(struct drm_dp_ms 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