Peter Zijlstra
e6942b7de2
atomic: Provide atomic_{or,xor,and}
...
Implement atomic logic ops -- atomic_{or,xor,and}.
These will replace the atomic_{set,clear}_mask functions that are
available on some archs.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-07-27 14:06:24 +02:00
Peter Zijlstra
610f7ba93b
hexagon: Provide atomic_{or,xor,and}
...
Implement atomic logic ops -- atomic_{or,xor,and}.
These will replace the atomic_{set,clear}_mask functions that are
available on some archs.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-07-27 14:06:22 +02:00
Peter Zijlstra
50f853e38b
locking,arch,hexagon: Fold atomic_ops
...
OK, no LoC saved in this case because the !return variants were
defined in terms of the return ops. Still do it because this also
prepares for easy addition of new ops.
Signed-off-by: Peter Zijlstra <peterz@infradead.org >
Acked-by: Richard Kuo <rkuo@codeaurora.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Cc: Vineet Gupta <vgupta@synopsys.com >
Cc: linux-hexagon@vger.kernel.org
Link: http://lkml.kernel.org/r/20140508135852.171567636@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-08-14 12:48:06 +02:00
Peter Zijlstra
94cf42f823
arch,hexagon: Convert smp_mb__*()
...
Hexagon uses asm-gemeric/barrier.h and its smp_mb() is barrier().
Therefore we can use the default implementation that uses smp_mb().
Signed-off-by: Peter Zijlstra <peterz@infradead.org >
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Link: http://lkml.kernel.org/n/tip-87irqrrbgizeojjfdqhypud3@git.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Richard Kuo <rkuo@codeaurora.org >
Cc: Vineet Gupta <vgupta@synopsys.com >
Cc: linux-hexagon@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-04-18 14:20:35 +02:00
Richard Kuo
b10fa7b62d
Hexagon: fix atomic_set
...
Normal writes in our our architecture don't invalidate lock
reservations.
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
2014-04-04 18:20:02 -05:00
Peter Zijlstra
1de7da377b
arch: Move smp_mb__{before,after}_atomic_{inc,dec}.h into asm/atomic.h
...
Move the barriers functions that depend on the atomic implementation
into the atomic implementation.
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Signed-off-by: Peter Zijlstra <peterz@infradead.org >
Acked-by: Vineet Gupta <vgupta@synopsys.com > [for arch/arc bits]
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Link: http://lkml.kernel.org/r/20131213150640.786183683@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-01-12 10:37:14 +01:00
Richard Kuo
7c6a5df44f
Hexagon: update copyright dates
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
2013-04-30 19:40:27 -05:00
Richard Kuo
e0025a72c3
Hexagon: fix __atomic_add_unless
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
2013-04-30 19:40:22 -05:00
Richard Kuo
e1858b2a21
Hexagon: Copyright marking changes
...
Code Aurora Forum (CAF) is becoming a part of Linux Foundation Labs.
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
2012-10-18 17:07:21 -05:00
David Howells
8335896bed
Disintegrate asm/system.h for Hexagon
...
Disintegrate asm/system.h for Hexagon. Not compiled.
Signed-off-by: David Howells <dhowells@redhat.com >
Acked-by: Richard Kuo <rkuo@codeaurora.org >
cc: linux-hexagon@vger.kernel.org
2012-03-28 18:30:02 +01:00
Richard Kuo
750850189b
Hexagon: Add atomic ops support
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00