Message ID | 20170310043305.17216-16-seanpaul@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 10.03.2017 05:32, Sean Paul wrote: > From: Lin Huang <hl@rock-chips.com> > > We need to enable video before analogix_dp_is_video_stream_on(), so > we can get the right video stream status. > > 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> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> Patch contains also changes not connected with subject, maybe in next spin it would be good to comment it in description. -- Regards Andrzej > --- > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index 9dfa1b507389..52218d743059 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -823,11 +823,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 */ > @@ -842,6 +841,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 (;;) { > @@ -955,9 +957,6 @@ static void analogix_dp_commit(struct analogix_dp_device *dp) > DRM_ERROR("failed to enable the panel\n"); > } > > - /* Enable video */ > - analogix_dp_start_video(dp); > - > dp->psr_enable = analogix_dp_detect_sink_psr(dp); > if (dp->psr_enable) > analogix_dp_enable_sink_psr(dp);
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 9dfa1b507389..52218d743059 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -823,11 +823,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 */ @@ -842,6 +841,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 (;;) { @@ -955,9 +957,6 @@ static void analogix_dp_commit(struct analogix_dp_device *dp) DRM_ERROR("failed to enable the panel\n"); } - /* Enable video */ - analogix_dp_start_video(dp); - dp->psr_enable = analogix_dp_detect_sink_psr(dp); if (dp->psr_enable) analogix_dp_enable_sink_psr(dp);