[coreboot-gerrit] New patch to review for coreboot: 8831279 exynos5420: Tighten up displayport timing loops

Isaac Christensen (isaac.christensen@se-eng.com) gerrit at coreboot.org
Fri Aug 8 23:51:12 CEST 2014


Isaac Christensen (isaac.christensen at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6543

-gerrit

commit 8831279b0b83443a3be25dcebb9f36a62b063ebf
Author: Ronald G. Minnich <rminnich at gmail.com>
Date:   Thu Aug 29 09:16:25 2013 -0700

    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 at gmail.com>
    Reviewed-on: https://chromium-review.googlesource.com/167387
    Reviewed-by: David Hendricks <dhendrix at chromium.org>
    Commit-Queue: ron minnich <rminnich at chromium.org>
    Tested-by: ron minnich <rminnich at chromium.org>
    (cherry picked from commit 575e910127dc74416018f182ef27ef223e61daef)
    Signed-off-by: Isaac Christensen <isaac.christensen at se-eng.com>
---
 src/cpu/samsung/exynos5420/dp.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/cpu/samsung/exynos5420/dp.c b/src/cpu/samsung/exynos5420/dp.c
index b6f83b6..c1fa17a 100644
--- a/src/cpu/samsung/exynos5420/dp.c
+++ b/src/cpu/samsung/exynos5420/dp.c
@@ -845,7 +845,7 @@ static unsigned int exynos_dp_config_video(struct edp_device_info *edp_info)
 	exynos_dp_start_video();
 
 	if (edp_info->video_info.master_mode == 0) {
-		retry_cnt = 100;
+		retry_cnt = 500;
 		while (retry_cnt) {
 			ret = exynos_dp_is_video_stream_on();
 			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");
 				break;
 			}
-			mdelay(5);
+			/* this is a cheap operation, involving some register
+			 * reads, and no AUX channel IO. A ms. delay is fine.
+			 */
+			mdelay(1);
 		}
 	}
 



More information about the coreboot-gerrit mailing list