From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=david.wei@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 81ECD21102DBD for ; Thu, 23 Aug 2018 03:25:59 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Aug 2018 03:25:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,278,1531810800"; d="scan'208";a="85749390" Received: from zwei4-mobl1.ccr.corp.intel.com ([10.239.193.187]) by orsmga002.jf.intel.com with ESMTP; 23 Aug 2018 03:24:41 -0700 From: zwei4 To: edk2-devel@lists.01.org Cc: David Wei , Mike Wu , Mang Guo Date: Thu, 23 Aug 2018 18:24:38 +0800 Message-Id: <20180823102438.18832-1-david.wei@intel.com> X-Mailer: git-send-email 2.14.1.windows.1 Subject: [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] C State Change. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Aug 2018 10:25:59 -0000 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 CC: Mike Wu CC: Mang Guo --- .../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