soc/intel/common/block/early_graphics: Introduce a 200 ms delay

It has been reported that the PEIM graphics driver may temporarily
fail communication with the display if the time between libgfxinit
turning off the displays and the PEIM driver initialization is too
short. 200 ms has been identified as a safe delay.

This is a temporary workaround and an investigation is in progress to
come up with a better and long term solution.

BUG=b:264526798
BRANCH=firmware-brya-14505.B
TEST=Developer screen is systematically seen

Change-Id: I4ea15123eed1a4355c5ff7d815925032d4151de1
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71656
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Jeremy Compostella 2023-01-05 12:59:02 -07:00 committed by Subrata Banik
parent 1f4d7c772e
commit ba2cef5b54
1 changed files with 17 additions and 0 deletions

View File

@ -1,5 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#include <delay.h>
#include <device/pci.h> #include <device/pci.h>
#include <drivers/intel/gma/libgfxinit.h> #include <drivers/intel/gma/libgfxinit.h>
#include <intelblocks/early_graphics.h> #include <intelblocks/early_graphics.h>
@ -49,4 +50,20 @@ void early_graphics_stop(void)
return; return;
gma_gfxstop(&ret); gma_gfxstop(&ret);
/*
* Temporary workaround
*
* It has been reported that the PEIM graphics driver may temporarily
* fail communication with the display if the time between libgfxinit
* turning off the displays and the PEIM driver initialization is too
* short. 200 ms has been identified as a safe delay.
*
* An investigation is in progress to come up with a better and long
* term solution.
*
* BUG:b:264526798
*/
if (CONFIG(RUN_FSP_GOP))
mdelay(200);
} }