Patch "drm/msm/dp: do not stop transmitting phy test pattern during DP phy compliance test" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/msm/dp: do not stop transmitting phy test pattern during DP phy compliance test

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-msm-dp-do-not-stop-transmitting-phy-test-pattern.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e85bf445739a9789cf335671d5b22d1ec3590e82
Author: Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx>
Date:   Tue Apr 26 10:58:59 2022 -0700

    drm/msm/dp: do not stop transmitting phy test pattern during DP phy compliance test
    
    [ Upstream commit 2788b4efa60c1e03ac10a156f3fdbd3be0f9198c ]
    
    At normal operation, transmit phy test pattern has to be terminated before
    DP controller switch to video ready state. However during phy compliance
    testing, transmit phy test pattern should not be terminated until end of
    compliance test which usually indicated by unplugged interrupt.
    
    Only stop sending the train pattern in dp_ctrl_on_stream() if we're not
    doing compliance testing. We also no longer reset 'p_level' and
    'v_level' within dp_ctrl_on_link() due to both 'p_level' and 'v_level'
    are acquired from link status at previous dpcd read and we like to use
    those level to start link training.
    
    Changes in v2:
    -- add more details commit text
    -- correct Fixes
    
    Changes in v3:
    -- drop unnecessary braces
    
    Fixes: 2e0adc765d88 ("drm/msm/dp: do not end dp link training until video is ready")
    Signed-off-by: Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx>
    Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
    Patchwork: https://patchwork.freedesktop.org/patch/483564/
    Link: https://lore.kernel.org/r/1650995939-28467-3-git-send-email-quic_khsieh@xxxxxxxxxxx
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c b/drivers/gpu/drm/msm/dp/dp_ctrl.c
index 1ccb166e3b28..1992347537e6 100644
--- a/drivers/gpu/drm/msm/dp/dp_ctrl.c
+++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c
@@ -1682,8 +1682,6 @@ int dp_ctrl_on_link(struct dp_ctrl *dp_ctrl)
 		ctrl->link->link_params.rate,
 		ctrl->link->link_params.num_lanes, ctrl->dp_ctrl.pixel_rate);
 
-	ctrl->link->phy_params.p_level = 0;
-	ctrl->link->phy_params.v_level = 0;
 
 	rc = dp_ctrl_enable_mainlink_clocks(ctrl);
 	if (rc)
@@ -1805,12 +1803,6 @@ int dp_ctrl_on_stream(struct dp_ctrl *dp_ctrl)
 		}
 	}
 
-	if (!dp_ctrl_channel_eq_ok(ctrl))
-		dp_ctrl_link_retrain(ctrl);
-
-	/* stop txing train pattern to end link training */
-	dp_ctrl_clear_training_pattern(ctrl);
-
 	ret = dp_ctrl_enable_stream_clocks(ctrl);
 	if (ret) {
 		DRM_ERROR("Failed to start pixel clocks. ret=%d\n", ret);
@@ -1822,6 +1814,12 @@ int dp_ctrl_on_stream(struct dp_ctrl *dp_ctrl)
 		return 0;
 	}
 
+	if (!dp_ctrl_channel_eq_ok(ctrl))
+		dp_ctrl_link_retrain(ctrl);
+
+	/* stop txing train pattern to end link training */
+	dp_ctrl_clear_training_pattern(ctrl);
+
 	/*
 	 * Set up transfer unit values and set controller state to send
 	 * video.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux