ApolloLakeFspBinPkg[MR6] FSP-M PrimaryVideoAdaptor UPD possible values are wrong
- Dominant language
- C
- Stars
- 359
- Forks
- 142
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
Looks like the documented possible values for the FSP-M `PrimaryVideoAdaptor` UPD are not correct. The UPD headers state the following:
`
/** Offset 0x004C - Primary Display
Select which of IGD/PCI Graphics device should be Primary Display. 0x0:AUTO(Default),
0x2:IGD, 0x3:PCI
0x0:AUTO, 0x2:IGD, 0x3:PCI
**/
UINT8 PrimaryVideoAdaptor;
`
However, testing showed that any non-zero value will result in FSP setting the IVD (IGD VGA Disable) bit in the GGC register (PCI B:D.F 0:0.0 offset 0x50), regardless of whether another video card is present in the system. When `PrimaryVideoAdaptor` is zero, the IVD bit is cleared as well. Of course, this only happens if the IGD is enabled.
The simplest solution (and what I would prefer) is to simply update the UPD's description to match FSP's behavior, that is: `0x0:IGD, 0x1:PCI`.
Thanks in advance,
Angel
Contributor guide
Assessment
This issue has not been assessed yet.