1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-24 06:45:31 +02:00

cns3xxx: remove one of the dma cache patches, it causes a regression in the ethernet driver

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26802 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2011-05-02 00:28:30 +00:00
parent 374bb82f67
commit cbc75e81c2

View File

@ -1,67 +0,0 @@
--- a/arch/arm/mm/cache-v6.S
+++ b/arch/arm/mm/cache-v6.S
@@ -179,6 +179,10 @@ ENTRY(v6_flush_kern_dcache_page)
* - end - virtual end address of region
*/
ENTRY(v6_dma_inv_range)
+#ifdef CONFIG_SMP
+ ldrb r2, [r0]
+ strb r2, [r0]
+#endif
tst r0, #D_CACHE_LINE_SIZE - 1
bic r0, r0, #D_CACHE_LINE_SIZE - 1
#ifdef HARVARD_CACHE
@@ -187,6 +191,10 @@ ENTRY(v6_dma_inv_range)
mcrne p15, 0, r0, c7, c11, 1 @ clean unified line
#endif
tst r1, #D_CACHE_LINE_SIZE - 1
+#ifdef CONFIG_SMP
+ ldrneb r2, [r1, #-1]
+ strneb r2, [r1, #-1]
+#endif
bic r1, r1, #D_CACHE_LINE_SIZE - 1
#ifdef HARVARD_CACHE
mcrne p15, 0, r1, c7, c14, 1 @ clean & invalidate D line
@@ -201,6 +209,10 @@ ENTRY(v6_dma_inv_range)
#endif
add r0, r0, #D_CACHE_LINE_SIZE
cmp r0, r1
+#ifdef CONFIG_SMP
+ ldrlo r2, [r0]
+ strlo r2, [r0]
+#endif
blo 1b
mov r0, #0
mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
@@ -214,6 +226,9 @@ ENTRY(v6_dma_inv_range)
ENTRY(v6_dma_clean_range)
bic r0, r0, #D_CACHE_LINE_SIZE - 1
1:
+#ifdef CONFIG_SMP
+ ldr r2, [r0]
+#endif
#ifdef HARVARD_CACHE
mcr p15, 0, r0, c7, c10, 1 @ clean D line
#else
@@ -232,6 +247,10 @@ ENTRY(v6_dma_clean_range)
* - end - virtual end address of region
*/
ENTRY(v6_dma_flush_range)
+#ifdef CONFIG_SMP
+ ldrb r2, [r0]
+ strb r2, [r0]
+#endif
bic r0, r0, #D_CACHE_LINE_SIZE - 1
1:
#ifdef HARVARD_CACHE
@@ -241,6 +260,10 @@ ENTRY(v6_dma_flush_range)
#endif
add r0, r0, #D_CACHE_LINE_SIZE
cmp r0, r1
+#ifdef CONFIG_SMP
+ ldrlob r2, [r0]
+ strlob r2, [r0]
+#endif
blo 1b
mov r0, #0
mcr p15, 0, r0, c7, c10, 4 @ drain write buffer