soc/{apl,glk}: Allow to select the primary graphics device
Allow to select the primary graphics device between the IGD and the external PCIe GPU depending on the ONBOARD_VGA_IS_PRIMARY config. The option sets the priority only. This means that if a high priority is set for an external PCI device and it is not connected/not enabled, then the device with a lower priority will be used, in our case it is IGD. TEST = Set PRIMARY_PCI and boot Linux on the Kontron mAL10 [1] with the miniPCIe video adapter on the Silicon Motion SM750 controller. As a result, the display connected to an external GPU device shows the Tianocore logo + setup menu and the desktop. [1] https://review.coreboot.org/c/coreboot/+/39133 Change-Id: Idcd117217cf412ee0722aff52db4b3c8ec2a226c Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39374 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
This commit is contained in:
parent
6aa0708bd9
commit
1a4496e79f
|
@ -229,6 +229,19 @@ static void check_full_retrain(const FSPM_UPD *mupd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void soc_gpu_init_params(FSPM_UPD *mupd)
|
||||||
|
{
|
||||||
|
enum {
|
||||||
|
GPU_PRIMARY_IGD = 2,
|
||||||
|
GPU_PRIMARY_PCI = 3,
|
||||||
|
};
|
||||||
|
/* Select primary GPU device */
|
||||||
|
if (CONFIG(ONBOARD_VGA_IS_PRIMARY) && is_devfn_enabled(SA_DEVFN_IGD))
|
||||||
|
mupd->FspmConfig.PrimaryVideoAdaptor = GPU_PRIMARY_IGD;
|
||||||
|
else
|
||||||
|
mupd->FspmConfig.PrimaryVideoAdaptor = GPU_PRIMARY_PCI;
|
||||||
|
}
|
||||||
|
|
||||||
static void soc_memory_init_params(FSPM_UPD *mupd)
|
static void soc_memory_init_params(FSPM_UPD *mupd)
|
||||||
{
|
{
|
||||||
#if CONFIG(SOC_INTEL_GEMINILAKE)
|
#if CONFIG(SOC_INTEL_GEMINILAKE)
|
||||||
|
@ -268,6 +281,7 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
|
||||||
check_full_retrain(mupd);
|
check_full_retrain(mupd);
|
||||||
|
|
||||||
fill_console_params(mupd);
|
fill_console_params(mupd);
|
||||||
|
soc_gpu_init_params(mupd);
|
||||||
|
|
||||||
if (CONFIG(SOC_INTEL_GEMINILAKE))
|
if (CONFIG(SOC_INTEL_GEMINILAKE))
|
||||||
soc_memory_init_params(mupd);
|
soc_memory_init_params(mupd);
|
||||||
|
|
Loading…
Reference in New Issue