vboot: remove OPROM-related code
As of CL:1605641, vboot2 code should be used for setting and checking display init state. Remove all vboot1 OPROM-related code, and use the vboot2 display init code which has already been added in previous commits. coreboot should not be reading vboot NVRAM flags directly. Remove the function vboot_wants_oprom(), and instead rely on display_init_required(), which uses the VBOOT_WD_FLAG_DISPLAY_INIT value stored in vboot_working_data.flags, initialized during verstage. Note that this means in the case of CONFIG_VBOOT=y, the return value of display_init_required() can only be trusted after verstage has been executed. This should not be a problem assuming that all display initialization occurs in ramstage. BUG=b:124141368, b:124192753, chromium:948529 TEST=Build locally TEST=make clean && make test-abuild BRANCH=none Change-Id: Ic8f9dc5a3c7f1546a8fed82bde02be4d04568f8d Signed-off-by: Joel Kitching <kitching@google.com> Cq-Depend: chromium:1605641, chromium:1605525 Reviewed-on: https://review.coreboot.org/c/coreboot/+/32723 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
18b51b7315
commit
807803afa2
|
@ -780,9 +780,6 @@ static int should_run_oprom(struct device *dev)
|
||||||
*/
|
*/
|
||||||
should_run = display_init_required();
|
should_run = display_init_required();
|
||||||
|
|
||||||
if (!should_run && CONFIG(VBOOT))
|
|
||||||
should_run = vboot_wants_oprom();
|
|
||||||
|
|
||||||
if (!should_run)
|
if (!should_run)
|
||||||
printk(BIOS_DEBUG, "Not running VGA Option ROM\n");
|
printk(BIOS_DEBUG, "Not running VGA Option ROM\n");
|
||||||
return should_run;
|
return should_run;
|
||||||
|
|
|
@ -140,13 +140,6 @@ int get_recovery_mode_from_vbnv(void)
|
||||||
return vbnv_data(RECOVERY_OFFSET);
|
return vbnv_data(RECOVERY_OFFSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read the BOOT_DISPLAY_REQUEST flag from VBNV. */
|
|
||||||
int vboot_wants_oprom(void)
|
|
||||||
{
|
|
||||||
vbnv_setup();
|
|
||||||
return (vbnv_data(BOOT_OFFSET) & BOOT_DISPLAY_REQUEST) ? 1 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
|
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
|
||||||
int vbnv_udc_enable_flag(void)
|
int vbnv_udc_enable_flag(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,7 +25,6 @@ int verify_vbnv(uint8_t *vbnv_copy);
|
||||||
void regen_vbnv_crc(uint8_t *vbnv_copy);
|
void regen_vbnv_crc(uint8_t *vbnv_copy);
|
||||||
int get_recovery_mode_from_vbnv(void);
|
int get_recovery_mode_from_vbnv(void);
|
||||||
void set_recovery_mode_into_vbnv(int recovery_reason);
|
void set_recovery_mode_into_vbnv(int recovery_reason);
|
||||||
int vboot_wants_oprom(void);
|
|
||||||
|
|
||||||
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
|
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
|
||||||
int vbnv_udc_enable_flag(void);
|
int vbnv_udc_enable_flag(void);
|
||||||
|
|
|
@ -68,13 +68,6 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff,
|
||||||
vb_sd->flags |= VBSD_BOOT_DEV_SWITCH_ON;
|
vb_sd->flags |= VBSD_BOOT_DEV_SWITCH_ON;
|
||||||
vb_sd->flags |= VBSD_LF_DEV_SWITCH_ON;
|
vb_sd->flags |= VBSD_LF_DEV_SWITCH_ON;
|
||||||
}
|
}
|
||||||
/* TODO(chromium:948529): Remove these two flags after downstream
|
|
||||||
vboot code longer reads them. */
|
|
||||||
if (vboot_wants_oprom() || vb2_sd->recovery_reason ||
|
|
||||||
vb2_sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED)
|
|
||||||
vb_sd->flags |= VBSD_OPROM_LOADED;
|
|
||||||
if (CONFIG(VBOOT_MUST_REQUEST_DISPLAY))
|
|
||||||
vb_sd->flags |= VBSD_OPROM_MATTERS;
|
|
||||||
|
|
||||||
/* In vboot1, VBSD_FWB_TRIED is
|
/* In vboot1, VBSD_FWB_TRIED is
|
||||||
* set only if B is booted as explicitly requested. Therefore, if B is
|
* set only if B is booted as explicitly requested. Therefore, if B is
|
||||||
|
|
|
@ -513,7 +513,7 @@ static void igd_init(struct device *dev)
|
||||||
/* Wait for any configured pre-graphics delay */
|
/* Wait for any configured pre-graphics delay */
|
||||||
if (!acpi_is_wakeup_s3()) {
|
if (!acpi_is_wakeup_s3()) {
|
||||||
#if CONFIG(CHROMEOS)
|
#if CONFIG(CHROMEOS)
|
||||||
if (display_init_required() || vboot_wants_oprom())
|
if (display_init_required())
|
||||||
mdelay(CONFIG_PRE_GRAPHICS_DELAY);
|
mdelay(CONFIG_PRE_GRAPHICS_DELAY);
|
||||||
#else
|
#else
|
||||||
mdelay(CONFIG_PRE_GRAPHICS_DELAY);
|
mdelay(CONFIG_PRE_GRAPHICS_DELAY);
|
||||||
|
|
Loading…
Reference in New Issue