On Saturday 10 March 2018 03:53 AM, Enric Balletbo i Serra wrote: > From: zain wang <wzz at rock-chips.com> > > According to DP spec v1.3 chap 3.5.1.2 Link Training, Link Policy Maker > must first detect that the HPD signal is asserted high by the Downstream > Device before establishing a link with it. Reviewed-by: Archit Taneja <architt at codeaurora.org> Thanks, Archit > > Cc: St?phane Marchesin <marcheu at chromium.org> > Signed-off-by: zain wang <wzz at rock-chips.com> > Signed-off-by: Sean Paul <seanpaul at chromium.org> > Signed-off-by: Thierry Escande <thierry.escande at collabora.com> > Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com> > Tested-by: Marek Szyprowski <m.szyprowski at samsung.com> > --- > > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index c81733b8185e..92fb9a072cb6 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -1169,6 +1169,17 @@ static int analogix_dp_set_bridge(struct analogix_dp_device *dp) > if (ret) > goto out_dp_init; > > + /* > + * According to DP spec v1.3 chap 3.5.1.2 Link Training, > + * We should first make sure the HPD signal is asserted high by device > + * when we want to establish a link with it. > + */ > + ret = analogix_dp_detect_hpd(dp); > + if (ret) { > + DRM_ERROR("failed to get hpd single ret = %d\n", ret); > + goto out_dp_init; > + } > + > ret = analogix_dp_commit(dp); > if (ret) > goto out_dp_init; >