* [Powertop] [PATCH V2] Fix Powertop support for Intel Braswell SOC
@ 2015-04-03 4:24 David E. Box
0 siblings, 0 replies; only message in thread
From: David E. Box @ 2015-04-03 4:24 UTC (permalink / raw)
To: powertop
[-- Attachment #1: Type: text/plain, Size: 2263 bytes --]
Correct Braswell MSR used to determine PC6 residency.
Signed-off-by: David E. Box <david.e.box(a)linux.intel.com>
---
V2: Add missing whitespace between '=' in assignment statement
src/cpu/intel_cpus.cpp | 21 +++++++++++++++++++--
src/cpu/intel_cpus.h | 1 +
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/cpu/intel_cpus.cpp b/src/cpu/intel_cpus.cpp
index 72ecd50..02b420e 100644
--- a/src/cpu/intel_cpus.cpp
+++ b/src/cpu/intel_cpus.cpp
@@ -289,6 +289,7 @@ nhm_package::nhm_package(int model)
has_c8c9c10_res = 0;
has_c2c6_res = 0;
has_c7_res = 0;
+ has_c6c_res = 0;
switch(model) {
case 0x2A: /* SNB */
@@ -314,6 +315,9 @@ nhm_package::nhm_package(int model)
else
has_c7_res = 0;
}
+ /* BSW only exposes package C6 */
+ else if (model == 0x4C)
+ has_c6c_res = 1;
else
has_c3_res = 1;
@@ -360,7 +364,15 @@ void nhm_package::measurement_start(void)
if (this->has_c3_res)
c3_before = get_msr(number, MSR_PKG_C3_RESIDENCY);
- c6_before = get_msr(number, MSR_PKG_C6_RESIDENCY);
+
+ /*
+ * Hack for Braswell where C7 MSR is actually BSW C6
+ */
+ if (this->has_c6c_res)
+ c6_before = get_msr(number, MSR_PKG_C7_RESIDENCY);
+ else
+ c6_before = get_msr(number, MSR_PKG_C6_RESIDENCY);
+
if (this->has_c7_res)
c7_before = get_msr(number, MSR_PKG_C7_RESIDENCY);
if (this->has_c8c9c10_res) {
@@ -401,7 +413,12 @@ void nhm_package::measurement_end(void)
if (this->has_c3_res)
c3_after = get_msr(number, MSR_PKG_C3_RESIDENCY);
- c6_after = get_msr(number, MSR_PKG_C6_RESIDENCY);
+
+ if (this->has_c6c_res)
+ c6_after = get_msr(number, MSR_PKG_C7_RESIDENCY);
+ else
+ c6_after = get_msr(number, MSR_PKG_C6_RESIDENCY);
+
if (this->has_c7_res)
c7_after = get_msr(number, MSR_PKG_C7_RESIDENCY);
if (has_c8c9c10_res) {
diff --git a/src/cpu/intel_cpus.h b/src/cpu/intel_cpus.h
index 810a243..0331069 100644
--- a/src/cpu/intel_cpus.h
+++ b/src/cpu/intel_cpus.h
@@ -77,6 +77,7 @@ public:
int has_c7_res;
int has_c2c6_res;
int has_c3_res;
+ int has_c6c_res; /* BSW */
int has_c8c9c10_res;
nhm_package(int model);
virtual void measurement_start(void);
--
1.9.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-04-03 4:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-03 4:24 [Powertop] [PATCH V2] Fix Powertop support for Intel Braswell SOC David E. Box
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.