summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/aim
diff options
context:
space:
mode:
authorjhibbits <jhibbits@FreeBSD.org>2014-01-15 06:17:15 +0000
committerjhibbits <jhibbits@FreeBSD.org>2014-01-15 06:17:15 +0000
commit0920d1cd65aba877ec09c0e809f6d9b9def4b843 (patch)
tree068d7235437a42e2f4e904d0610cb7b341058838 /sys/powerpc/aim
parent876be05179ee42f81786351cda007d01cc994a03 (diff)
downloadFreeBSD-src-0920d1cd65aba877ec09c0e809f6d9b9def4b843.zip
FreeBSD-src-0920d1cd65aba877ec09c0e809f6d9b9def4b843.tar.gz
MFC r259284,r259287
Add PMU-based CPU frequency scalling. This is used on most Titanium PowerBooks.
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r--sys/powerpc/aim/mp_cpudep.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/sys/powerpc/aim/mp_cpudep.c b/sys/powerpc/aim/mp_cpudep.c
index 607256c..3fcab83 100644
--- a/sys/powerpc/aim/mp_cpudep.c
+++ b/sys/powerpc/aim/mp_cpudep.c
@@ -322,17 +322,13 @@ cpudep_ap_setup()
mtspr(SPR_CELL_TSRL, bsp_state[5]);
break;
- case MPC7450:
- case MPC7455:
- case MPC7457:
- /* Only MPC745x CPUs have an L3 cache. */
- reg = mpc745x_l3_enable(bsp_state[3]);
-
- /* Fallthrough */
case MPC7400:
case MPC7410:
case MPC7447A:
case MPC7448:
+ case MPC7450:
+ case MPC7455:
+ case MPC7457:
/* XXX: Program the CPU ID into PIR */
__asm __volatile("mtspr 1023,%0" :: "r"(PCPU_GET(cpuid)));
@@ -342,6 +338,17 @@ cpudep_ap_setup()
mtspr(SPR_HID0, bsp_state[0]); isync();
mtspr(SPR_HID1, bsp_state[1]); isync();
+ /* Now enable the L3 cache. */
+ switch (vers) {
+ case MPC7450:
+ case MPC7455:
+ case MPC7457:
+ /* Only MPC745x CPUs have an L3 cache. */
+ reg = mpc745x_l3_enable(bsp_state[3]);
+ default:
+ break;
+ }
+
reg = mpc74xx_l2_enable(bsp_state[2]);
reg = mpc74xx_l1d_enable();
reg = mpc74xx_l1i_enable();
OpenPOWER on IntegriCloud