mbox series

[v3,0/6] add fixes to pass DP Link Layer compliance test cases

Message ID 1628196295-7382-1-git-send-email-khsieh@codeaurora.org
Headers show
Series add fixes to pass DP Link Layer compliance test cases | expand

Message

Kuogee Hsieh Aug. 5, 2021, 8:44 p.m. UTC
add fixes to pass DP Link Layer compliance test cases

Kuogee Hsieh (6):
  drm/msm/dp: use dp_ctrl_off_link_stream during PHY compliance test run
  drm/msm/dp: reduce link rate if failed at link training 1
  drm/msm/dp: reset aux controller after dp_aux_cmd_fifo_tx() failed.
  drm/msm/dp: replug event is converted into an unplug followed by an
    plug events
  drm/msm/dp: return correct edid checksum after corrupted edid checksum
    read
  drm/msm/dp: do not end dp link training until video is ready

 drivers/gpu/drm/msm/dp/dp_aux.c     |   3 +
 drivers/gpu/drm/msm/dp/dp_ctrl.c    | 137 +++++++++++++++++++++++-------------
 drivers/gpu/drm/msm/dp/dp_display.c |  14 ++--
 drivers/gpu/drm/msm/dp/dp_panel.c   |   9 ++-
 4 files changed, 102 insertions(+), 61 deletions(-)

Comments

Stephen Boyd Aug. 10, 2021, 9:32 p.m. UTC | #1
Quoting Kuogee Hsieh (2021-08-05 13:44:51)
> Reduce link rate and re start link training if link training 1

> failed due to loss of clock recovery done to fix Link Layer

> CTS case 4.3.1.7.  Also only update voltage and pre-emphasis

> swing level after link training started to fix Link Layer CTS

> case 4.3.1.6.

>

> Changes in V2:

> -- replaced cr_status with link_status[DP_LINK_STATUS_SIZE]

> -- replaced dp_ctrl_any_lane_cr_done() with dp_ctrl_colco_recovery_any_ok()

> -- replaced dp_ctrl_any_ane_cr_lose() with !drm_dp_clock_recovery_ok()

>

> Changes in V3:

> -- return failed if lane_count <= 1

>

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

> ---


Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Stephen Boyd Aug. 10, 2021, 9:33 p.m. UTC | #2
Quoting Kuogee Hsieh (2021-08-05 13:44:53)
> Remove special handling of replug interrupt and instead treat replug event

> as a sequential unplug followed by a plugin event. This is needed to meet

> the requirements of DP Link Layer CTS test case 4.2.1.3.

>

> Changes in V2:

> -- add fixes statement

>

> Changes in V3:

> -- delete EV_HPD_REPLUG_INT

>

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

>

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

> ---


Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Stephen Boyd Aug. 10, 2021, 9:34 p.m. UTC | #3
Quoting Kuogee Hsieh (2021-08-05 13:44:54)
> Response with correct edid checksum saved at connector after corrupted edid
> checksum read. This fixes Link Layer CTS cases 4.2.2.3, 4.2.2.6.
>
> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
> ---

Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Stephen Boyd Aug. 10, 2021, 9:49 p.m. UTC | #4
Quoting Kuogee Hsieh (2021-08-05 13:44:49)
> add fixes to pass DP Link Layer compliance test cases

>

> Kuogee Hsieh (6):

>   drm/msm/dp: use dp_ctrl_off_link_stream during PHY compliance test run

>   drm/msm/dp: reduce link rate if failed at link training 1

>   drm/msm/dp: reset aux controller after dp_aux_cmd_fifo_tx() failed.

>   drm/msm/dp: replug event is converted into an unplug followed by an

>     plug events

>   drm/msm/dp: return correct edid checksum after corrupted edid checksum

>     read

>   drm/msm/dp: do not end dp link training until video is ready


I'm still able to use my Apple dongle with these patches so

Tested-by: Stephen Boyd <swboyd@chromium.org>