[CPUFREQ] powernow-k8: small cleanups / documentation additions (Pavel Machek) From: Pavel Machek These are very small cleanups / documentation additions. It avoids using different names for same fields in different structures. Updated to latest cpufreq-bk by Dominik Brodowski, and ack'ed by Mark Langsdorf, Paul Devriendt and Pavel Machek. Signed-off-by: Pavel Machek Signed-off-by: Dominik Brodowski --- arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 25 +++++++++++++++---------- arch/i386/kernel/cpu/cpufreq/powernow-k8.h | 9 ++++----- 2 files changed, 19 insertions(+), 15 deletions(-) Index: 2.6.10/arch/i386/kernel/cpu/cpufreq/powernow-k8.c =================================================================== --- 2.6.10.orig/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2004-12-25 17:42:20.818638377 +0100 +++ 2.6.10/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2004-12-25 17:42:25.490972559 +0100 @@ -18,6 +18,9 @@ * Processor information obtained from Chapter 9 (Power and Thermal Management) * of the "BIOS and Kernel Developer's Guide for the AMD Athlon 64 and AMD * Opteron Processors" available for download from www.amd.com + * + * Tables for specific CPUs can be infrerred from + * http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/30430.pdf */ #include @@ -65,7 +68,12 @@ return 1550-vid*25; } -/* Return the vco fid for an input fid */ +/* Return the vco fid for an input fid + * + * Each "low" fid has corresponding "high" fid, and you can get to "low" fids + * only from corresponding high fids. This returns "high" fid corresponding to + * "low" one. + */ static u32 convert_fid_to_vco_fid(u32 fid) { if (fid < HI_FID_TABLE_BOTTOM) { @@ -307,10 +315,7 @@ /* Phase 2 - core frequency transition */ static int core_frequency_transition(struct powernow_k8_data *data, u32 reqfid) { - u32 vcoreqfid; - u32 vcocurrfid; - u32 vcofiddiff; - u32 savevid = data->currvid; + u32 vcoreqfid, vcocurrfid, vcofiddiff, savevid = data->currvid; if ((reqfid < HI_FID_TABLE_BOTTOM) && (data->currfid < HI_FID_TABLE_BOTTOM)) { printk(KERN_ERR PFX "ph2: illegal lo-lo transition 0x%x 0x%x\n", @@ -498,7 +503,7 @@ || (pst[j].fid & 1) || (j && (pst[j].fid < HI_FID_TABLE_BOTTOM))) { /* Only first fid is allowed to be in "low" range */ - printk(KERN_ERR PFX "fid %d invalid : 0x%x\n", j, pst[j].fid); + printk(KERN_ERR PFX "two low fids - %d : 0x%x\n", j, pst[j].fid); return -EINVAL; } if (pst[j].fid < lastfid) @@ -618,7 +623,7 @@ return -ENODEV; } - data->vstable = psb->voltagestabilizationtime; + data->vstable = psb->vstable; dprintk("voltage stabilization time: %d(*20us)\n", data->vstable); dprintk("flags2: 0x%x\n", psb->flags2); @@ -632,8 +637,8 @@ dprintk("isochronous relief time: %d\n", data->irt); dprintk("maximum voltage step: %d - 0x%x\n", mvs, data->vidmvs); - dprintk("numpst: 0x%x\n", psb->numpst); - cpst = psb->numpst; + dprintk("numpst: 0x%x\n", psb->numps); + cpst = psb->numps; if ((psb->cpuid == 0x00000fc0) || (psb->cpuid == 0x00000fe0) ){ thiscpuid = cpuid_eax(CPUID_PROCESSOR_SIGNATURE); if ((thiscpuid == 0x00000fc0) || (thiscpuid == 0x00000fe0) ) { @@ -651,7 +656,7 @@ dprintk("maxvid: 0x%x\n", psb->maxvid); maxvid = psb->maxvid; - data->numps = psb->numpstates; + data->numps = psb->numps; dprintk("numpstates: 0x%x\n", data->numps); return fill_powernow_table(data, (struct pst_s *)(psb+1), maxvid); } Index: 2.6.10/arch/i386/kernel/cpu/cpufreq/powernow-k8.h =================================================================== --- 2.6.10.orig/arch/i386/kernel/cpu/cpufreq/powernow-k8.h 2004-12-25 09:59:47.000000000 +0100 +++ 2.6.10/arch/i386/kernel/cpu/cpufreq/powernow-k8.h 2004-12-25 17:42:25.491972416 +0100 @@ -21,8 +21,7 @@ u32 plllock; /* pll lock time, units 1 us */ /* keep track of the current fid / vid */ - u32 currvid; - u32 currfid; + u32 currvid, currfid; /* the powernow_table includes all frequency and vid/fid pairings: * fid are the lower 8 bits of the index, vid are the upper 8 bits. @@ -152,14 +151,14 @@ u8 signature[10]; u8 tableversion; u8 flags1; - u16 voltagestabilizationtime; + u16 vstable; u8 flags2; - u8 numpst; + u8 num_tables; u32 cpuid; u8 plllocktime; u8 maxfid; u8 maxvid; - u8 numpstates; + u8 numps; }; /* Pairs of fid/vid values are appended to the version 1.4 PSB table. */