summaryrefslogtreecommitdiff
path: root/target/linux
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-05-07 11:48:15 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-05-07 11:48:15 +0000
commit0f7864456a60f1ea4a5a2ce7aa4f99d68bd4a1d9 (patch)
treef2e649b2eab88ea201e78d349fd02950b9ba4f44 /target/linux
parentbbb7850ae6487bc97e09ddb24ba32b59df4b0d7e (diff)
downloadmtk-20170518-0f7864456a60f1ea4a5a2ce7aa4f99d68bd4a1d9.zip
mtk-20170518-0f7864456a60f1ea4a5a2ce7aa4f99d68bd4a1d9.tar.gz
mtk-20170518-0f7864456a60f1ea4a5a2ce7aa4f99d68bd4a1d9.tar.bz2
brcm47xx: adjust the brcm4710 cache workaround code so that it does not break bcm4716 (patch by Bernhard Loos)
SVN-Revision: 21395
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/brcm47xx/patches-2.6.32/150-cpu_fixes.patch2
-rw-r--r--target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch4
-rw-r--r--target/linux/brcm47xx/patches-2.6.33/150-cpu_fixes.patch2
-rw-r--r--target/linux/brcm47xx/patches-2.6.33/920-cache-wround.patch4
-rw-r--r--target/linux/brcm47xx/patches-2.6.34/150-cpu_fixes.patch2
-rw-r--r--target/linux/brcm47xx/patches-2.6.34/920-cache-wround.patch4
6 files changed, 9 insertions, 9 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.32/150-cpu_fixes.patch b/target/linux/brcm47xx/patches-2.6.32/150-cpu_fixes.patch
index e6ac4c8..16bfd7f 100644
--- a/target/linux/brcm47xx/patches-2.6.32/150-cpu_fixes.patch
+++ b/target/linux/brcm47xx/patches-2.6.32/150-cpu_fixes.patch
@@ -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)); })
diff --git a/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch b/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch
index 688d3e1..7b889d8 100644
--- a/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch
+++ b/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch
@@ -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))
diff --git a/target/linux/brcm47xx/patches-2.6.33/150-cpu_fixes.patch b/target/linux/brcm47xx/patches-2.6.33/150-cpu_fixes.patch
index 4198614..c073b36 100644
--- a/target/linux/brcm47xx/patches-2.6.33/150-cpu_fixes.patch
+++ b/target/linux/brcm47xx/patches-2.6.33/150-cpu_fixes.patch
@@ -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)); })
diff --git a/target/linux/brcm47xx/patches-2.6.33/920-cache-wround.patch b/target/linux/brcm47xx/patches-2.6.33/920-cache-wround.patch
index 3edf04b..c5441f9 100644
--- a/target/linux/brcm47xx/patches-2.6.33/920-cache-wround.patch
+++ b/target/linux/brcm47xx/patches-2.6.33/920-cache-wround.patch
@@ -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))
diff --git a/target/linux/brcm47xx/patches-2.6.34/150-cpu_fixes.patch b/target/linux/brcm47xx/patches-2.6.34/150-cpu_fixes.patch
index 56fdbbc..f9fb25e 100644
--- a/target/linux/brcm47xx/patches-2.6.34/150-cpu_fixes.patch
+++ b/target/linux/brcm47xx/patches-2.6.34/150-cpu_fixes.patch
@@ -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)); })
diff --git a/target/linux/brcm47xx/patches-2.6.34/920-cache-wround.patch b/target/linux/brcm47xx/patches-2.6.34/920-cache-wround.patch
index a308335..6291a22 100644
--- a/target/linux/brcm47xx/patches-2.6.34/920-cache-wround.patch
+++ b/target/linux/brcm47xx/patches-2.6.34/920-cache-wround.patch
@@ -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))