]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/blackfin/mach-bf561/atomic.S
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / blackfin / mach-bf561 / atomic.S
index f99f174b129f694609710faf9fe653f01f76b503..52d6f73fccedd152fb215702bebf28556ab3487e 100644 (file)
@@ -49,6 +49,7 @@ ENTRY(_get_core_lock)
        jump .Lretry_corelock
 .Ldone_corelock:
        p0 = r1;
+       /* flush core internal write buffer before invalidate dcache */
        CSYNC(r2);
        flushinv[p0];
        SSYNC(r2);
@@ -685,6 +686,8 @@ ENTRY(___raw_atomic_test_asm)
        r1 = -L1_CACHE_BYTES;
        r1 = r0 & r1;
        p0 = r1;
+       /* flush core internal write buffer before invalidate dcache */
+       CSYNC(r2);
        flushinv[p0];
        SSYNC(r2);
        r0 = [p1];
@@ -907,6 +910,8 @@ ENTRY(___raw_uncached_fetch_asm)
        r1 = -L1_CACHE_BYTES;
        r1 = r0 & r1;
        p0 = r1;
+       /* flush core internal write buffer before invalidate dcache */
+       CSYNC(r2);
        flushinv[p0];
        SSYNC(r2);
        r0 = [p1];