diff options
author | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-03-26 10:33:32 +0000 |
---|---|---|
committer | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-03-26 10:33:32 +0000 |
commit | 94756d4adc16a70d53f4db8fec8248aae2256af9 (patch) | |
tree | b1a6b2b8bf2ee89d8a00610f25347828df4846fb /openwrt/package/linux/kernel-patches/029-arch_mips_mm_c-r4k_c | |
parent | f26476c862bc76370a3884555d8677c9886eb792 (diff) |
uncompress patches, requested by Kaloz
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@460 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/linux/kernel-patches/029-arch_mips_mm_c-r4k_c')
-rw-r--r-- | openwrt/package/linux/kernel-patches/029-arch_mips_mm_c-r4k_c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/openwrt/package/linux/kernel-patches/029-arch_mips_mm_c-r4k_c b/openwrt/package/linux/kernel-patches/029-arch_mips_mm_c-r4k_c new file mode 100644 index 000000000..9ec2862c4 --- /dev/null +++ b/openwrt/package/linux/kernel-patches/029-arch_mips_mm_c-r4k_c @@ -0,0 +1,37 @@ +--- linux-mips-cvs/arch/mips/mm/c-r4k.c 2004-11-03 17:43:07.000000000 +0100 ++++ linux-cache/arch/mips/mm/c-r4k.c 2005-03-06 23:39:53.000000000 +0100 +@@ -1031,9 +1031,34 @@ + c->options |= MIPS_CPU_SUBSET_CACHES; + } + ++#if defined(CONFIG_BCM4310) ++static void __init _change_cachability(u32 cm) ++{ ++ struct cpuinfo_mips *c = ¤t_cpu_data; ++ ++ change_c0_config(CONF_CM_CMASK, cm); ++ if ((c->processor_id & (PRID_COMP_MASK | PRID_IMP_MASK)) == ++ (PRID_COMP_BROADCOM | PRID_IMP_BCM3302)) { ++ cm = read_c0_diag(); ++ /* Enable icache */ ++ cm |= (1 << 31); ++ /* Enable dcache */ ++ cm |= (1 << 30); ++ write_c0_diag(cm); ++ } ++} ++ ++static void (*change_cachability)(u32); ++#endif ++ + static inline void coherency_setup(void) + { ++#if defined(CONFIG_BCM4310) ++ change_cachability = (void (*)(u32)) KSEG1ADDR((unsigned long)(_change_cachability)); ++ change_cachability(CONF_CM_DEFAULT); ++#else + change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT); ++#endif + + /* + * c0_status.cu=0 specifies that updates by the sc instruction use |