exynos5420: Tighten up displayport timing loops

We were running this loop 100 times with 5 ms delays. Change it
to run 500 times with 1 ms delays, which gives us the same
overall timeout but lets us bail out a bit sooner -- in practice,
at most, 4 ms sooner but every bit counts. Note, however, that
the tighter timing does reduce opportunities for threading. There
is a non-obvious set of tradeoffs on timeouts.

Change-Id: I4af671c2a791aa92e446e66ac2fe5710d1e6aa4c
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: https://chromium-review.googlesource.com/167387
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Commit-Queue: ron minnich <rminnich@chromium.org>
Tested-by: ron minnich <rminnich@chromium.org>
(cherry picked from commit 575e910127dc74416018f182ef27ef223e61daef)
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
Reviewed-on: http://review.coreboot.org/6543
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Ronald G. Minnich 2013-08-29 09:16:25 -07:00 committed by Patrick Georgi
parent 985ff36bee
commit cff6667eba
1 changed files with 5 additions and 2 deletions

View File

@ -845,7 +845,7 @@ static unsigned int exynos_dp_config_video(struct edp_device_info *edp_info)
exynos_dp_start_video(); exynos_dp_start_video();
if (edp_info->video_info.master_mode == 0) { if (edp_info->video_info.master_mode == 0) {
retry_cnt = 100; retry_cnt = 500;
while (retry_cnt) { while (retry_cnt) {
ret = exynos_dp_is_video_stream_on(); ret = exynos_dp_is_video_stream_on();
if (ret != EXYNOS_DP_SUCCESS) { if (ret != EXYNOS_DP_SUCCESS) {
@ -857,7 +857,10 @@ static unsigned int exynos_dp_config_video(struct edp_device_info *edp_info)
printk(BIOS_DEBUG, "DP video stream is on\n"); printk(BIOS_DEBUG, "DP video stream is on\n");
break; break;
} }
mdelay(5); /* this is a cheap operation, involving some register
* reads, and no AUX channel IO. A ms. delay is fine.
*/
mdelay(1);
} }
} }