/shark/trunk/drivers/cpu/cpufreq/powernow-k7.c |
---|
31,7 → 31,7 |
#include "powernow-k7.h" |
//#define DEBUG |
#define DEBUG |
#ifdef DEBUG |
#define dprintk(msg...) printk(msg) |
/shark/trunk/drivers/cpu/cpufreq/powernow-k8.c |
---|
31,14 → 31,6 |
#include <asm/io.h> |
#include <asm/delay.h> |
#define DEBUG |
#ifdef DEBUG |
#define dprintk(msg...) printk(msg) |
#else |
#define dprintk(msg...) do { } while(0) |
#endif |
#define PFX "powernow-k8: " |
#define BFX PFX "BIOS error: " |
#define VERSION "version 1.00.08 - September 26, 2003" |
501,13 → 493,19 |
} |
eax = cpuid_eax(CPUID_PROCESSOR_SIGNATURE); |
if (((eax & CPUID_USE_XFAM_XMOD) != CPUID_USE_XFAM_XMOD) || |
((eax & CPUID_XFAM) != CPUID_XFAM_K8) || |
((eax & CPUID_XMOD) > CPUID_XMOD_REV_E)) { |
printk(KERN_INFO PFX "Processor cpuid %x not supported\n", eax); |
if ((eax & CPUID_XFAM_MOD) == ATHLON64_XFAM_MOD) { |
dprintk(KERN_DEBUG PFX "AMD Althon 64 Processor found\n"); |
if ((eax & CPUID_F1_STEP) < ATHLON64_REV_C0) { |
dprintk(KERN_INFO PFX "Revision C0 or better " |
"AMD Athlon 64 processor required\n"); |
return 0; |
} |
} else if ((eax & CPUID_XFAM_MOD) == OPTERON_XFAM_MOD) { |
dprintk(KERN_DEBUG PFX "AMD Opteron Processor found\n"); |
} else { |
dprintk(KERN_INFO PFX |
"AMD Athlon 64 or AMD Opteron processor required\n"); |
return 0; |
} else { |
dprintk(KERN_INFO PFX "AMD Athlon 64 or AMD Opteron processor found\n"); |
} |
eax = cpuid_eax(CPUID_GET_MAX_CAPABILITIES); |
/shark/trunk/drivers/cpu/cpufreq/powernow-k8.h |
---|
6,12 → 6,15 |
*/ |
/* processor's cpuid instruction support */ |
#define CPUID_PROCESSOR_SIGNATURE 1 /* function 1 */ |
#define CPUID_XFAM 0x0ff00000 /* extended family */ |
#define CPUID_XFAM_K8 0 |
#define CPUID_XMOD 0x000f0000 /* extended model */ |
#define CPUID_XMOD_REV_E 0x00020000 |
#define CPUID_USE_XFAM_XMOD 0x00000f00 |
#define CPUID_PROCESSOR_SIGNATURE 1 /* function 1 */ |
#define CPUID_F1_FAM 0x00000f00 /* family mask */ |
#define CPUID_F1_XFAM 0x0ff00000 /* extended family mask */ |
#define CPUID_F1_MOD 0x000000f0 /* model mask */ |
#define CPUID_F1_STEP 0x0000000f /* stepping level mask */ |
#define CPUID_XFAM_MOD 0x0ff00ff0 /* xtended fam, fam + model */ |
#define ATHLON64_XFAM_MOD 0x00000f40 /* xtended fam, fam + model */ |
#define OPTERON_XFAM_MOD 0x00000f50 /* xtended fam, fam + model */ |
#define ATHLON64_REV_C0 8 |
#define CPUID_GET_MAX_CAPABILITIES 0x80000000 |
#define CPUID_FREQ_VOLT_CAPABILITIES 0x80000007 |
#define P_STATE_TRANSITION_CAPABLE 6 |
108,6 → 111,12 |
u8 vid; |
}; |
#ifdef DEBUG |
#define dprintk(msg...) printk(msg) |
#else |
#define dprintk(msg...) do { } while(0) |
#endif |
static inline int core_voltage_pre_transition(u32 reqvid); |
static inline int core_voltage_post_transition(u32 reqvid); |
static inline int core_frequency_transition(u32 reqfid); |