[U-Boot] [PATCH 20/22] x86: pci: Allow conditionally run VGA rom in S3

Simon Glass sjg at chromium.org
Thu Apr 13 13:32:46 UTC 2017


Hi Bin,

On 13 April 2017 at 04:00, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Wed, Mar 22, 2017 at 4:07 AM, Simon Glass <sjg at chromium.org> wrote:
>> Hi,
>>
>> On 16 March 2017 at 08:26, Bin Meng <bmeng.cn at gmail.com> wrote:
>>> Introduce a new CONFIG_S3_VGA_ROM_RUN option so that U-Boot can
>>> bypass executing VGA roms in S3.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>>> ---
>>>
>>>  arch/x86/Kconfig      | 12 ++++++++++++
>>>  drivers/pci/pci_rom.c | 14 ++++++++++++++
>>>  2 files changed, 26 insertions(+)
>>
>> Can this be handled at run-time, based on whether we have already run the ROM?
>>
>
> I am not sure if this is what you want:
>
> 1). If on previous cold boot, VGA ROM has been run. Then on next S3
> boot, VGA ROM should also be run.
> 2). If on previous cold boot, VGA ROM has not been run. Then on next
> S3 boot, VGA ROM should not be run.
>
> So this is actually controlled by the CONFIG_VIDEO_VESA driver. But
> this new Kconfig option aims to solve: even CONFIG_VIDEO_VESA driver
> is used in a normal boot, U-Boot can still bypass the driver probe
> (ROM execution) in an S3 boot to save some resume time.
>
>> At present, at least on ivybridge (non-FSP), the ROM execution happens
>> when the device comes up. So do we actually need to run the ROM in S3
>> Or can we do it later by re-probing the driver?

With ivybridge the ROM runs when the video driver starts up. If there
is no 'vidconsole' in stdout then this won't happen until someone
does:

setenv stdout vidconsole,serial

or similar. I am not sure if this is possible with FSP machines.

However in practice we are generally returning from sleep to Linux, not U-Boot.

Do we have a way to know whether the ROM needs to be run (i.e. it was
run before)?

Regards,
Simon


More information about the U-Boot mailing list