summaryrefslogtreecommitdiff
path: root/src/cpu/samsung
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2013-08-27 14:06:19 -0700
committerIsaac Christensen <isaac.christensen@se-eng.com>2014-08-07 23:55:37 +0200
commit71e1c8303b1c5e805f32eda5a8b5a18f9f354399 (patch)
tree28753a3807b3117e3a9685e16c191df100136da7 /src/cpu/samsung
parent34352d16a96b8096094274dddae98e37939857b9 (diff)
downloadcoreboot-71e1c8303b1c5e805f32eda5a8b5a18f9f354399.tar.xz
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. Change-Id: I63fb11aa90b2f739a351cdc3209faac2713ea451 Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: https://chromium-review.googlesource.com/167116 Reviewed-by: Gabe Black <gabeblack@google.com> Tested-by: ron minnich <rminnich@chromium.org> Commit-Queue: Ronald Minnich <rminnich@google.com> (cherry picked from commit 80f48655570de544a7e1939c4f5f28713f11d829) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6514 Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/cpu/samsung')
-rw-r--r--src/cpu/samsung/exynos5420/dp.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cpu/samsung/exynos5420/dp.c b/src/cpu/samsung/exynos5420/dp.c
index 59a4647d50..b6f83b6519 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;