public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] C State Change.
@ 2018-08-23 10:24 zwei4
  0 siblings, 0 replies; only message in thread
From: zwei4 @ 2018-08-23 10:24 UTC (permalink / raw)
  To: edk2-devel; +Cc: David Wei, Mike Wu, Mang Guo

Monitored cached line may not wake up CPU from MWAIT on certain Goldmont based CPUs.
Disable MONITOR/MWAIT and use IO registers for C State instead.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: David Wei <david.wei@intel.com>
CC: Mike Wu  <mike.wu@intel.com>
CC: Mang Guo <mang.guo@intel.com>
---
 .../Common/Library/PeiFspPolicyInitLib/PeiFspCpuPolicyInitLib.c       | 1 +
 .../Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi                  | 4 ++--
 .../Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c       | 1 -
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspCpuPolicyInitLib.c b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspCpuPolicyInitLib.c
index 6c176d0685..c404116029 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspCpuPolicyInitLib.c
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspCpuPolicyInitLib.c
@@ -120,6 +120,7 @@ PeiFspCpuPolicyInit (
     FspsUpd->FspsConfig.PkgCStateDemotion     = SystemConfiguration->PkgCStateDemotion;
     FspsUpd->FspsConfig.PkgCStateUnDemotion   = SystemConfiguration->PkgCStateUnDemotion;
     FspsUpd->FspsConfig.TurboMode             = SystemConfiguration->TurboModeEnable;
+    FspsUpd->FspsConfig.MonitorMwaitEnable    = SystemConfiguration->MonitorMwaitEnable;
   }
 
   return EFI_SUCCESS;
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi
index 23859e6a3a..9094794de2 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Cpu.vfi
@@ -122,9 +122,9 @@ form formid = CPU_CONFIGURATION_FORM_ID,
   oneof varid   = Setup.MonitorMwaitEnable,
     prompt      = STRING_TOKEN(STR_MONITOR_MWAIT_PROMPT),
     help        = STRING_TOKEN(STR_MONITOR_MWAIT_HELP),
-    option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = RESET_REQUIRED;
+    option text = STRING_TOKEN(STR_DISABLE), value = 0, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
     option text = STRING_TOKEN(STR_ENABLE),  value = 1, flags = RESET_REQUIRED;
-    option text = STRING_TOKEN(STR_AUTO), value = 2, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
+    option text = STRING_TOKEN(STR_AUTO), value = 2, flags = RESET_REQUIRED;
   endoneof;  
 
   subtitle text = STRING_TOKEN(STR_NULL_STRING);
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
index bbb31b10da..08d2fd418f 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
@@ -123,7 +123,6 @@ LoadOsDefaultValues (
 #else
   Private->FakeNvData.TPM                        = 0;
 #endif
-  Private->FakeNvData.MonitorMwaitEnable         = 2;
   Private->FakeNvData.I2C0Speed                  = 1;
   Private->FakeNvData.I2C1Speed                  = 1;
   Private->FakeNvData.I2C2Speed                  = 1;
-- 
2.14.1.windows.1



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-08-23 10:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-23 10:24 [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] C State Change zwei4

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox