svn commit: r258994 - stable/10/sys/x86/cpufreq
Sean Bruno
sbruno at FreeBSD.org
Thu Dec 5 17:57:52 UTC 2013
Author: sbruno
Date: Thu Dec 5 17:57:51 2013
New Revision: 258994
URL: http://svnweb.freebsd.org/changeset/base/258994
Log:
MFC r257769 to stable/10
Fix powerd/states on AMD cpus. Resolves issues with system reporting:
hwpstate0: set freq failed, err 6
Tested on FX-8150 and others.
PR: kern/167018
Submitted by: avg@
Approved by: re (gjb)
Modified:
stable/10/sys/x86/cpufreq/hwpstate.c
Directory Properties:
stable/10/sys/ (props changed)
Modified: stable/10/sys/x86/cpufreq/hwpstate.c
==============================================================================
--- stable/10/sys/x86/cpufreq/hwpstate.c Thu Dec 5 17:50:18 2013 (r258993)
+++ stable/10/sys/x86/cpufreq/hwpstate.c Thu Dec 5 17:57:51 2013 (r258994)
@@ -184,16 +184,21 @@ hwpstate_goto_pstate(device_t dev, int p
id, PCPU_GET(cpuid));
/* Go To Px-state */
wrmsr(MSR_AMD_10H_11H_CONTROL, id);
+ }
+ CPU_FOREACH(i) {
+ /* Bind to each cpu. */
+ thread_lock(curthread);
+ sched_bind(curthread, i);
+ thread_unlock(curthread);
/* wait loop (100*100 usec is enough ?) */
for(j = 0; j < 100; j++){
+ /* get the result. not assure msr=id */
msr = rdmsr(MSR_AMD_10H_11H_STATUS);
if(msr == id){
break;
}
DELAY(100);
}
- /* get the result. not assure msr=id */
- msr = rdmsr(MSR_AMD_10H_11H_STATUS);
HWPSTATE_DEBUG(dev, "result P%d-state on cpu%d\n",
(int)msr, PCPU_GET(cpuid));
if (msr != id) {
More information about the svn-src-stable-10
mailing list