diff mbox series

[1/7] drm/msm/dp: use dp_ctrl_off_link_stream during PHY compliance test run

Message ID 1625592020-22658-2-git-send-email-khsieh@codeaurora.org
State Superseded
Headers show
Series add fixes to pass DP Link Layer compliance test cases | expand

Commit Message

Kuogee Hsieh July 6, 2021, 5:20 p.m. UTC
DP cable should always connect to DPU during the entire PHY compliance
testing run. Since DP PHY compliance test is executed at irq_hpd event
context, dp_ctrl_off_link_stream() should be used instead of dp_ctrl_off().
dp_ctrl_off() is used for unplug event which is triggered when DP cable is
dis connected.

Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
---
 drivers/gpu/drm/msm/dp/dp_ctrl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stephen Boyd July 8, 2021, 7:03 a.m. UTC | #1
Quoting Kuogee Hsieh (2021-07-06 10:20:14)
> DP cable should always connect to DPU during the entire PHY compliance

> testing run. Since DP PHY compliance test is executed at irq_hpd event

> context, dp_ctrl_off_link_stream() should be used instead of dp_ctrl_off().

> dp_ctrl_off() is used for unplug event which is triggered when DP cable is

> dis connected.

>

> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>

> ---


Is this

Fixes: f21c8a276c2d ("drm/msm/dp: handle irq_hpd with sink_count = 0 correctly")

or

Fixes: c943b4948b58 ("drm/msm/dp: add displayPort driver support")

? It's not clear how dp_ctrl_off() was working for compliance tests
before commit f21c8a276c2d.

>  drivers/gpu/drm/msm/dp/dp_ctrl.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c b/drivers/gpu/drm/msm/dp/dp_ctrl.c

> index caf71fa..27fb0f0 100644

> --- a/drivers/gpu/drm/msm/dp/dp_ctrl.c

> +++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c

> @@ -1530,7 +1530,7 @@ static int dp_ctrl_process_phy_test_request(struct dp_ctrl_private *ctrl)

>          * running. Add the global reset just before disabling the

>          * link clocks and core clocks.

>          */

> -       ret = dp_ctrl_off(&ctrl->dp_ctrl);

> +       ret = dp_ctrl_off_link_stream(&ctrl->dp_ctrl);

>         if (ret) {

>                 DRM_ERROR("failed to disable DP controller\n");

>                 return ret;
Kuogee Hsieh July 8, 2021, 9:33 p.m. UTC | #2
On 2021-07-08 00:03, Stephen Boyd wrote:
> Quoting Kuogee Hsieh (2021-07-06 10:20:14)

>> DP cable should always connect to DPU during the entire PHY compliance

>> testing run. Since DP PHY compliance test is executed at irq_hpd event

>> context, dp_ctrl_off_link_stream() should be used instead of 

>> dp_ctrl_off().

>> dp_ctrl_off() is used for unplug event which is triggered when DP 

>> cable is

>> dis connected.

>> 

>> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>

>> ---

> 

> Is this

> 

> Fixes: f21c8a276c2d ("drm/msm/dp: handle irq_hpd with sink_count = 0 

> correctly")

> 

> or

> 

> Fixes: c943b4948b58 ("drm/msm/dp: add displayPort driver support")


should be fixes at f21c8a276c2d ("drm/msm/dp: handle irq_hpd with 
sink_count = 0 correctly")

> 

> ? It's not clear how dp_ctrl_off() was working for compliance tests

> before commit f21c8a276c2d.

both dp_ctrl_off() and dp_ctrl_off_link_strea() are work for 
dp_ctrl_process_phy_test_request()
The problem is after dp_ctrl_off(), aux channel is down, hence next phy 
test will failed due to dpcd read failed.
So that cable unplugged and replug back to required to run next test 
case.
dp_ctrl_off_link_stream() will keep aux channel up and other phy test 
case can be continued.



>>  drivers/gpu/drm/msm/dp/dp_ctrl.c | 2 +-

>>  1 file changed, 1 insertion(+), 1 deletion(-)

>> 

>> diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c 

>> b/drivers/gpu/drm/msm/dp/dp_ctrl.c

>> index caf71fa..27fb0f0 100644

>> --- a/drivers/gpu/drm/msm/dp/dp_ctrl.c

>> +++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c

>> @@ -1530,7 +1530,7 @@ static int 

>> dp_ctrl_process_phy_test_request(struct dp_ctrl_private *ctrl)

>>          * running. Add the global reset just before disabling the

>>          * link clocks and core clocks.

>>          */

>> -       ret = dp_ctrl_off(&ctrl->dp_ctrl);

>> +       ret = dp_ctrl_off_link_stream(&ctrl->dp_ctrl);

>>         if (ret) {

>>                 DRM_ERROR("failed to disable DP controller\n");

>>                 return ret;
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c b/drivers/gpu/drm/msm/dp/dp_ctrl.c
index caf71fa..27fb0f0 100644
--- a/drivers/gpu/drm/msm/dp/dp_ctrl.c
+++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c
@@ -1530,7 +1530,7 @@  static int dp_ctrl_process_phy_test_request(struct dp_ctrl_private *ctrl)
 	 * running. Add the global reset just before disabling the
 	 * link clocks and core clocks.
 	 */
-	ret = dp_ctrl_off(&ctrl->dp_ctrl);
+	ret = dp_ctrl_off_link_stream(&ctrl->dp_ctrl);
 	if (ret) {
 		DRM_ERROR("failed to disable DP controller\n");
 		return ret;