brcm47xx: adjust the brcm4710 cache workaround code so that it does not break bcm4716...
authorFelix Fietkau <nbd@openwrt.org>
Fri, 7 May 2010 11:48:15 +0000 (11:48 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 7 May 2010 11:48:15 +0000 (11:48 +0000)
SVN-Revision: 21395

target/linux/brcm47xx/patches-2.6.32/150-cpu_fixes.patch
target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch
target/linux/brcm47xx/patches-2.6.33/150-cpu_fixes.patch
target/linux/brcm47xx/patches-2.6.33/920-cache-wround.patch
target/linux/brcm47xx/patches-2.6.34/150-cpu_fixes.patch
target/linux/brcm47xx/patches-2.6.34/920-cache-wround.patch

index e6ac4c8e8abab341428b64e4429bc91afe58849e..16bfd7fc6c35ec1fa571a4b7eb489395c55021e4 100644 (file)
@@ -7,7 +7,7 @@
 +#ifdef CONFIG_BCM47XX
 +#include <asm/paccess.h>
 +#include <linux/ssb/ssb.h>
-+#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)))
++#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
 +
 +#define BCM4710_FILL_TLB(addr) (*(volatile unsigned long *)(addr))
 +#define BCM4710_PROTECTED_FILL_TLB(addr) ({ unsigned long x; get_dbe(x, (volatile unsigned long *)(addr)); })
index 688d3e1389589bca807d375d344315e943d7b623..7b889d8995f1570985106d755c43f3e963f021e5 100644 (file)
@@ -4,11 +4,11 @@
  #ifdef CONFIG_BCM47XX
  #include <asm/paccess.h>
  #include <linux/ssb/ssb.h>
--#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)))
+-#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
 +#define BCM4710_DUMMY_RREG() bcm4710_dummy_rreg()
 +
 +static inline unsigned long bcm4710_dummy_rreg(void) {
-+      return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)));
++      return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE)));
 +}
 +
 +#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void*)(addr))
index 41986144413dfe1299ac09da79b3bc00d090be29..c073b3663a14303277fdf4fd6ba80edf3f474828 100644 (file)
@@ -7,7 +7,7 @@
 +#ifdef CONFIG_BCM47XX
 +#include <asm/paccess.h>
 +#include <linux/ssb/ssb.h>
-+#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)))
++#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
 +
 +#define BCM4710_FILL_TLB(addr) (*(volatile unsigned long *)(addr))
 +#define BCM4710_PROTECTED_FILL_TLB(addr) ({ unsigned long x; get_dbe(x, (volatile unsigned long *)(addr)); })
index 3edf04bf05df498a7b6f7fe9f26640ccf8a63a17..c5441f97477cf353db8effb7eb8f4084f63bcde4 100644 (file)
@@ -4,11 +4,11 @@
  #ifdef CONFIG_BCM47XX
  #include <asm/paccess.h>
  #include <linux/ssb/ssb.h>
--#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)))
+-#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
 +#define BCM4710_DUMMY_RREG() bcm4710_dummy_rreg()
 +
 +static inline unsigned long bcm4710_dummy_rreg(void) {
-+      return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)));
++      return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE)));
 +}
 +
 +#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void*)(addr))
index 56fdbbc62bc62aeea7fde3ab997b9798394c57ec..f9fb25e71fab7d898172aff53f926ddf5336f6df 100644 (file)
@@ -7,7 +7,7 @@
 +#ifdef CONFIG_BCM47XX
 +#include <asm/paccess.h>
 +#include <linux/ssb/ssb.h>
-+#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)))
++#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
 +
 +#define BCM4710_FILL_TLB(addr) (*(volatile unsigned long *)(addr))
 +#define BCM4710_PROTECTED_FILL_TLB(addr) ({ unsigned long x; get_dbe(x, (volatile unsigned long *)(addr)); })
index a308335b54b8fb4a81de90f65981e66437503d11..6291a222d0349c1906f260688531277416ac7c2c 100644 (file)
@@ -4,11 +4,11 @@
  #ifdef CONFIG_BCM47XX
  #include <asm/paccess.h>
  #include <linux/ssb/ssb.h>
--#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)))
+-#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
 +#define BCM4710_DUMMY_RREG() bcm4710_dummy_rreg()
 +
 +static inline unsigned long bcm4710_dummy_rreg(void) {
-+      return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE)));
++      return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE)));
 +}
 +
 +#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void*)(addr))