From 80f48655570de544a7e1939c4f5f28713f11d829 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Tue, 27 Aug 2013 14:06:19 -0700 Subject: [PATCH] Exynos 5420: skip the EDID read if there is already an EDID. For many boards, the EDID is known and is set in the ramstage. Reading the EDID is slow and if we have it we do not want to reread it. If the raw_edid struct member is non-null, skip reading the EDID. BUG=None TEST=Build and boot and verify that the panel works BRANCH=None Change-Id: I63fb11aa90b2f739a351cdc3209faac2713ea451 Signed-off-by: Ronald G. Minnich Reviewed-on: https://chromium-review.googlesource.com/167116 Reviewed-by: Gabe Black Tested-by: ron minnich Commit-Queue: Ronald Minnich --- src/cpu/samsung/exynos5420/dp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/cpu/samsung/exynos5420/dp.c b/src/cpu/samsung/exynos5420/dp.c index a1c69c5b57..08189e95b5 100644 --- a/src/cpu/samsung/exynos5420/dp.c +++ b/src/cpu/samsung/exynos5420/dp.c @@ -241,10 +241,15 @@ static unsigned int exynos_dp_handle_edid(struct edp_device_info *edp_info) return -1; } - ret = exynos_dp_read_edid(); - if (ret != EXYNOS_DP_SUCCESS) { - printk(BIOS_ERR, "DP exynos_dp_read_edid() failed\n"); - return -1; + if (edp_info->raw_edid){ + ret = EXYNOS_DP_SUCCESS; + printk(BIOS_SPEW, "EDID compiled in, skipping read\n"); + } else { + ret = exynos_dp_read_edid(); + if (ret != EXYNOS_DP_SUCCESS) { + printk(BIOS_ERR, "DP exynos_dp_read_edid() failed\n"); + return -1; + } } return ret;