Compare commits

...

1 Commits

Author SHA1 Message Date
8da0dd2bb5 mb/system76: Set PrimaryDisplay to hybrid graphics
Use the FSP option for (muxless) hybrid graphics. Internally it ends up
setting PrimaryDisplay to iGFX, but does some extra configuration for
the dGPU.

Only galp5 is left as setting PrimaryDisplay to iGFX as the dGPU was
optional for the model and I don't know what effect it would have to set
it to hybrid for those.

Change-Id: I24c5bc154df127fc5c16a388fc7ae4316167ba70
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-02-20 08:33:05 -07:00
15 changed files with 29 additions and 28 deletions

View File

@ -31,8 +31,8 @@ void mainboard_memory_init_params(FSPM_UPD *memupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
memupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
memupd->FspmConfig.PrimaryDisplay = 4;
cannonlake_memcfg_init(&memupd->FspmConfig, &memcfg);
}

View File

@ -27,8 +27,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -27,8 +27,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -30,8 +30,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.PchHdaAudioLinkHdaEnable = 1;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;

View File

@ -27,8 +27,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.PchHdaAudioLinkHdaEnable = 1;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;

View File

@ -31,8 +31,8 @@ void mainboard_memory_init_params(FSPM_UPD *memupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
memupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
memupd->FspmConfig.PrimaryDisplay = 4;
cannonlake_memcfg_init(&memupd->FspmConfig, &memcfg);
}

View File

@ -31,8 +31,8 @@ void mainboard_memory_init_params(FSPM_UPD *memupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
memupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
memupd->FspmConfig.PrimaryDisplay = 4;
// Allow memory speeds higher than 2666 MT/s
memupd->FspmConfig.SaOcSupport = 1;

View File

@ -32,8 +32,8 @@ void mainboard_memory_init_params(FSPM_UPD *memupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
memupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
memupd->FspmConfig.PrimaryDisplay = 4;
variant_configure_fspm(memupd);

View File

@ -33,8 +33,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -33,8 +33,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -30,8 +30,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -30,8 +30,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -32,8 +32,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
mupd->FspmConfig.DmiMaxLinkSpeed = 4;
mupd->FspmConfig.GpioOverride = 0;

View File

@ -34,8 +34,8 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
// Enable dGPU power
nvidia_set_power(&config);
// Set primary display to internal graphics
mupd->FspmConfig.PrimaryDisplay = 0;
// Set primary display to hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 4;
variant_memory_init_params(mupd);

View File

@ -29,6 +29,7 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
nvidia_set_power(&config);
// Set primary display to internal graphics
// NOTE: Use iGFX as some units don't have a dGPU for hybrid graphics
mupd->FspmConfig.PrimaryDisplay = 0;
memcfg_init(mupd, &board_cfg, &spd_info, half_populated);