Lines Matching full:vid
96 * Update the global current fid / vid values from the status msr.
134 u8 fid, vid; in fidvid_msr_init() local
137 vid = hi & MSR_S_HI_CURRENT_VID; in fidvid_msr_init()
139 lo = fid | (vid << MSR_C_LO_VID_SHIFT); in fidvid_msr_init()
175 pr_err("vid change on fid trans, old 0x%x, new 0x%x\n", in write_new_fid()
189 /* Write a new vid to the hardware */
190 static int write_new_vid(struct powernow_k8_data *data, u32 vid) in write_new_vid() argument
196 if ((data->currfid & INVALID_FID_MASK) || (vid & INVALID_VID_MASK)) { in write_new_vid()
197 pr_err("internal error - overflow on vid write\n"); in write_new_vid()
202 lo |= (vid << MSR_C_LO_VID_SHIFT); in write_new_vid()
205 pr_debug("writing vid 0x%x, lo 0x%x, hi 0x%x\n", in write_new_vid()
206 vid, lo, STOP_GRANT_5NS); in write_new_vid()
217 pr_err("fid changed on vid trans, old 0x%x new 0x%x\n", in write_new_vid()
222 if (vid != data->currvid) { in write_new_vid()
223 pr_err("vid trans failed, vid 0x%x, curr 0x%x\n", in write_new_vid()
224 vid, data->currvid); in write_new_vid()
232 * Reduce the vid by the max of step or reqvid.
233 * Decreasing vid codes represent increasing voltages:
234 * vid of 0 is 1.550V, vid of 0x1e is 0.800V, vid of VID_OFF is off.
250 /* Change Opteron/Athlon64 fid and vid, by the 3 phases. */
273 pr_debug("transitioned (cpu%d): new fid 0x%x, vid 0x%x\n", in transition_fid_vid()
301 pr_debug("ph1: curr 0x%x, req vid 0x%x\n", in core_voltage_pre_transition()
312 pr_debug("ph1: changing vid for rvo, req 0x%x\n", in core_voltage_pre_transition()
394 pr_err("ph2: vid changed, save 0x%x, curr 0x%x\n", in core_frequency_transition()
405 /* Phase 3 - core voltage transition flow ... jump to the final vid. */
427 pr_err("ph3: failed vid transition\n, req 0x%x, curr 0x%x", in core_voltage_post_transition()
499 if (pst[j].vid > LEAST_VID) { in check_pst_table()
500 pr_err(FW_BUG "vid %d invalid : 0x%x\n", j, in check_pst_table()
501 pst[j].vid); in check_pst_table()
504 if (pst[j].vid < data->rvo) { in check_pst_table()
505 /* vid + rvo >= 0 */ in check_pst_table()
506 pr_err(FW_BUG "0 vid exceeded with pstate %d\n", j); in check_pst_table()
509 if (pst[j].vid < maxvid + data->rvo) { in check_pst_table()
510 /* vid + rvo >= maxvid */ in check_pst_table()
549 pr_info("fid 0x%x (%d MHz), vid 0x%x\n", in print_basics()
595 powernow_table[j].driver_data |= (pst[j].vid << 8); /* upper 8 bits */ in fill_powernow_table()
614 (pst[j].vid == data->currvid)) in fill_powernow_table()
617 pr_debug("currfid/vid do not match PST, ignoring\n"); in fill_powernow_table()
805 u32 vid; in fill_powernow_table_fidvid() local
812 vid = (status >> VID_SHIFT) & EXT_VID_MASK; in fill_powernow_table_fidvid()
816 vid = (control >> VID_SHIFT) & VID_MASK; in fill_powernow_table_fidvid()
819 pr_debug(" %d : fid 0x%x, vid 0x%x\n", i, fid, vid); in fill_powernow_table_fidvid()
821 index = fid | (vid<<8); in fill_powernow_table_fidvid()
836 if (vid == VID_OFF) { in fill_powernow_table_fidvid()
837 pr_debug("invalid vid %u, ignoring\n", vid); in fill_powernow_table_fidvid()
879 /* Take a frequency, and issue the fid/vid transition command */
885 u32 vid = 0; in transition_frequency_fidvid() local
891 /* fid/vid correctness check for k8 */ in transition_frequency_fidvid()
893 * the cpufreq frequency table in find_psb_table, vid in transition_frequency_fidvid()
897 vid = (data->powernow_table[index].driver_data & 0xFF00) >> 8; in transition_frequency_fidvid()
899 pr_debug("table matched fid 0x%x, giving vid 0x%x\n", fid, vid); in transition_frequency_fidvid()
904 if ((data->currvid == vid) && (data->currfid == fid)) { in transition_frequency_fidvid()
905 pr_debug("target matches current values (fid 0x%x, vid 0x%x)\n", in transition_frequency_fidvid()
906 fid, vid); in transition_frequency_fidvid()
910 pr_debug("cpu %d, changing to fid 0x%x, vid 0x%x\n", in transition_frequency_fidvid()
911 smp_processor_id(), fid, vid); in transition_frequency_fidvid()
919 res = transition_fid_vid(data, fid, vid); in transition_frequency_fidvid()
958 pr_debug("targ: curr fid 0x%x, vid 0x%x\n", in powernowk8_target_fn()
963 pr_info("error - out of sync, fix 0x%x 0x%x, vid 0x%x 0x%x\n", in powernowk8_target_fn()
1078 pr_debug("cpu_init done, current fid 0x%x, vid 0x%x\n", in powernowk8_cpu_init()