powerpc: Initialize LPCR:DPFD on power7 to a sane default
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 24 Jan 2011 02:25:55 +0000 (13:25 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 20 Apr 2011 01:03:23 +0000 (11:03 +1000)
This sets the default data stream prefetch size for operating
systems that don't set their own value in DSCR. We use 4 which
is "medium".

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/cpu_setup_power7.S

index e801ef15d6d0a8ad3004aba7d57d46f1d292b4f3..2390f6f7c4786127f01d1ac4fa7f8173447dd5d2 100644 (file)
@@ -54,6 +54,7 @@ __init_LPCR:
         *
         *   LPES = 0b01 (HSRR0/1 used for 0x500)
         *   PECE = 0b111
+        *   DPFD = 4
         *
         * Other bits untouched for now
         */
@@ -61,6 +62,12 @@ __init_LPCR:
        ori     r3,r3,(LPCR_LPES0|LPCR_LPES1)
        xori    r3,r3, LPCR_LPES0
        ori     r3,r3,(LPCR_PECE0|LPCR_PECE1|LPCR_PECE2)
+       li      r5,7
+       sldi    r5,r5,LPCR_DPFD_SH
+       andc    r3,r3,r5
+       li      r5,4
+       sldi    r5,r5,LPCR_DPFD_SH
+       or      r3,r3,r5
        mtspr   SPRN_LPCR,r3
        isync
        blr