amd/model_fxx rev.F: emit P-states when no intermediates exist

Relevant for systems having processors that only have two (the minimum
and maximum) P-states, such as the Opteron 2210 at 1.0 and 1.8GHz.

Change-Id: Ic66fe6d10ce495c1bf21796cb7e1eb4e11e85283
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/10910
Tested-by: build bot (Jenkins)
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Jonathan A. Kollasch 2015-07-13 17:05:07 -05:00
parent 2272b80a1d
commit e731f721be
1 changed files with 6 additions and 5 deletions

View File

@ -194,11 +194,6 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
else else
PstateStep_coef = 2; PstateStep_coef = 2;
if (IntPstateSup == 0) {
printk(BIOS_INFO, "No intermediate P-states are supported\n");
goto write_pstates;
}
/* Get the multiplier of the fid frequency */ /* Get the multiplier of the fid frequency */
/* /*
* Fid multiplier is always 100 revF and revG. * Fid multiplier is always 100 revF and revG.
@ -233,6 +228,11 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
Pstate_num++; Pstate_num++;
} }
if (IntPstateSup == 0) {
printk(BIOS_SPEW, "No intermediate P-states are supported\n");
goto nointpstatesup;
}
Cur_feq = Max_feq; Cur_feq = Max_feq;
Cur_fid = Max_fid; Cur_fid = Max_fid;
/* Construct P1 state */ /* Construct P1 state */
@ -313,6 +313,7 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
Pstate_num++; Pstate_num++;
} }
nointpstatesup:
/* Construct P[Min] State */ /* Construct P[Min] State */
if (Max_fid == 0x2A && Max_vid != 0x0) { if (Max_fid == 0x2A && Max_vid != 0x0) {
Pstate_fid[Pstate_num] = 0x2; Pstate_fid[Pstate_num] = 0x2;