blackfin: Provide atomic_{or,xor,and}
[sfrench/cifs-2.6.git] / arch / blackfin / mach-bf561 / atomic.S
index 2a08df8e8c4c770f4bbf55a0bd6266ada0198374..26fccb5568b97e4f4234c4e12a5f8cc8189bec56 100644 (file)
@@ -587,10 +587,10 @@ ENDPROC(___raw_write_unlock_asm)
  * r0 = ptr
  * r1 = value
  *
- * Add a signed value to a 32bit word and return the new value atomically.
+ * ADD a signed value to a 32bit word and return the new value atomically.
  * Clobbers: r3:0, p1:0
  */
-ENTRY(___raw_atomic_update_asm)
+ENTRY(___raw_atomic_add_asm)
        p1 = r0;
        r3 = r1;
        [--sp] = rets;
@@ -603,19 +603,19 @@ ENTRY(___raw_atomic_update_asm)
        r0 = r3;
        rets = [sp++];
        rts;
-ENDPROC(___raw_atomic_update_asm)
+ENDPROC(___raw_atomic_add_asm)
 
 /*
  * r0 = ptr
  * r1 = mask
  *
- * Clear the mask bits from a 32bit word and return the old 32bit value
+ * AND the mask bits from a 32bit word and return the old 32bit value
  * atomically.
  * Clobbers: r3:0, p1:0
  */
-ENTRY(___raw_atomic_clear_asm)
+ENTRY(___raw_atomic_and_asm)
        p1 = r0;
-       r3 = ~r1;
+       r3 = r1;
        [--sp] = rets;
        call _get_core_lock;
        r2 = [p1];
@@ -627,17 +627,17 @@ ENTRY(___raw_atomic_clear_asm)
        r0 = r3;
        rets = [sp++];
        rts;
-ENDPROC(___raw_atomic_clear_asm)
+ENDPROC(___raw_atomic_and_asm)
 
 /*
  * r0 = ptr
  * r1 = mask
  *
- * Set the mask bits into a 32bit word and return the old 32bit value
+ * OR the mask bits into a 32bit word and return the old 32bit value
  * atomically.
  * Clobbers: r3:0, p1:0
  */
-ENTRY(___raw_atomic_set_asm)
+ENTRY(___raw_atomic_or_asm)
        p1 = r0;
        r3 = r1;
        [--sp] = rets;
@@ -651,7 +651,7 @@ ENTRY(___raw_atomic_set_asm)
        r0 = r3;
        rets = [sp++];
        rts;
-ENDPROC(___raw_atomic_set_asm)
+ENDPROC(___raw_atomic_or_asm)
 
 /*
  * r0 = ptr
@@ -787,7 +787,7 @@ ENTRY(___raw_bit_set_asm)
        r2 = r1;
        r1 = 1;
        r1 <<= r2;
-       jump ___raw_atomic_set_asm
+       jump ___raw_atomic_or_asm
 ENDPROC(___raw_bit_set_asm)
 
 /*
@@ -798,10 +798,10 @@ ENDPROC(___raw_bit_set_asm)
  * Clobbers: r3:0, p1:0
  */
 ENTRY(___raw_bit_clear_asm)
-       r2 = r1;
-       r1 = 1;
-       r1 <<= r2;
-       jump ___raw_atomic_clear_asm
+       r2 = 1;
+       r2 <<= r1;
+       r1 = ~r2;
+       jump ___raw_atomic_and_asm
 ENDPROC(___raw_bit_clear_asm)
 
 /*