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)
This commit is contained in:
Ronald G. Minnich 2013-08-27 14:06:19 -07:00 committed by Isaac Christensen
parent 34352d16a9
commit 71e1c8303b
1 changed files with 9 additions and 4 deletions

View File

@ -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;