soc/mediatek: Add error handling for dptx_get_edid()
Skip eDP initialization when we failed to get EDID. This prevents the
PLL assertion in dp_intf_config() if the display could not be
initialized properly.
BUG=b:233720142
TEST=boot to depthcharge on MT8188 EVB.
Change-Id: I0fd672b175feb9b813c1d9ec4140e4273079ff07
Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69858
Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/mediatek/common/dp/dptx.c b/src/soc/mediatek/common/dp/dptx.c
index f2c0905..08d288a 100644
--- a/src/soc/mediatek/common/dp/dptx.c
+++ b/src/soc/mediatek/common/dp/dptx.c
@@ -1111,7 +1111,10 @@
dptx_check_sinkcap(&mtk_edp);
- dptx_get_edid(&mtk_edp, edid);
+ if (dptx_get_edid(&mtk_edp, edid) != 0) {
+ printk(BIOS_ERR, "Failed to get EDID\n");
+ return -1;
+ }
dptx_set_trainingstart(&mtk_edp);
dp_intf_config(edid);