UPSTREAM: drm/bridge: analogix_dp: Move enable video into config_video()

We need to enable video before analogix_dp_is_video_stream_on(), so
we can get the right video stream status.

We needed to increase the delay in the timeout loop because there is
random "Timeout of video streamclk ok" message happen when debug edp
panel, this time do not define in the spec.

Cc: 征增 王 <wzz@rock-chips.com>
Cc: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Lin Huang <hl@rock-chips.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180423105003.9004-2-enric.balletbo@collabora.com

Change-Id: I46ed11886a0e82a7d61bdb968ff1ea357a662d0a
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
(cherry picked from commit 93cba9dab1)
This commit is contained in:
Lin Huang
2018-04-23 12:49:37 +02:00
committed by Tao Huang
parent 836ec984e2
commit 0ab00aeb46

View File

@@ -668,11 +668,10 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp)
if (analogix_dp_is_slave_video_stream_clock_on(dp) == 0)
break;
if (timeout_loop > DP_TIMEOUT_LOOP_COUNT) {
dev_err(dp->dev, "Timeout of video streamclk ok\n");
dev_err(dp->dev, "Timeout of slave video streamclk ok\n");
return -ETIMEDOUT;
}
usleep_range(1, 2);
usleep_range(1000, 1001);
}
/* Set to use the register calculated M/N video */
@@ -687,6 +686,9 @@ static int analogix_dp_config_video(struct analogix_dp_device *dp)
/* Configure video slave mode */
analogix_dp_enable_video_master(dp, 0);
/* Enable video */
analogix_dp_start_video(dp);
timeout_loop = 0;
for (;;) {
@@ -809,9 +811,6 @@ static void analogix_dp_commit(struct analogix_dp_device *dp)
if (drm_panel_enable(dp->plat_data->panel))
DRM_ERROR("failed to enable the panel\n");
}
/* Enable video */
analogix_dp_start_video(dp);
}
static int analogix_dp_get_modes(struct drm_connector *connector)