All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Introduce atomic MMIO register modify
@ 2013-08-23 10:24 Ezequiel Garcia
  2013-08-23 10:24 ` [PATCH v3 1/3] ARM: Introduce atomic MMIO modify Ezequiel Garcia
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Ezequiel Garcia @ 2013-08-23 10:24 UTC (permalink / raw)
  To: linux-arm-kernel

After some discussion about the API semantic and implementation,
here's a new version, re-working both:

The semantic has been changed, and the new one is considered cleaner
(although slighlty less intuitive). In addition, it matches the
regmap_update_bits() prototype, which should appear nicely consistent
to our beloved users.

Following Will Deacon's suggestions, I reworked the implementation
mainly to reduce the performance penalty. See the previous discussion,
or the changelog (below) for details.

Changes from v2:
* As suggested by Will Deacon, dropped the iowmb() barrier
  and use relaxed variants instead. See Will's explanation for
  details: http://www.spinics.net/lists/arm-kernel/msg268775.html

* Use spin_{}_irqsave/restore to allow irq-context usage
  also suggested by Will Deacon.

* Re-worked the API semantics as proposed by Russell King.

Changes from v1:
* Added an io barrier iowmb() as suggested by Will Deacon,
  to ensure the writel gets completed before the spin_unlock().

Russell: If nobody has any objections, I'll add patch 1/3 to the
tracking system.

Thanks!

Ezequiel Garcia (3):
  ARM: Introduce atomic MMIO modify
  clocksource: orion: Use atomic access for shared registers
  watchdog: orion: Use atomic access for shared registers

 arch/arm/include/asm/io.h        |  6 ++++++
 arch/arm/kernel/io.c             | 29 +++++++++++++++++++++++++++++
 drivers/clocksource/time-orion.c | 28 ++++++++++------------------
 drivers/watchdog/orion_wdt.c     |  8 ++------
 4 files changed, 47 insertions(+), 24 deletions(-)

-- 
1.8.1.5

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2013-09-06 16:48 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-23 10:24 [PATCH v3 0/3] Introduce atomic MMIO register modify Ezequiel Garcia
2013-08-23 10:24 ` [PATCH v3 1/3] ARM: Introduce atomic MMIO modify Ezequiel Garcia
2013-08-23 10:38   ` Baruch Siach
2013-08-23 11:07     ` Ezequiel Garcia
2013-08-23 11:32       ` Ezequiel Garcia
2013-08-23 11:48         ` Catalin Marinas
2013-08-30  9:08           ` Will Deacon
2013-08-30  9:15             ` Catalin Marinas
2013-08-30  9:20               ` Will Deacon
2013-08-30 10:03                 ` Catalin Marinas
2013-08-30 20:08                   ` Jason Gunthorpe
2013-08-30 22:18                     ` Russell King - ARM Linux
2013-09-05  8:59                   ` Gregory CLEMENT
2013-09-05  9:08                     ` Will Deacon
2013-09-05  9:20                       ` Gregory CLEMENT
2013-09-06 16:48                       ` Jason Gunthorpe
2013-08-23 11:28   ` Ezequiel Garcia
2013-08-23 10:24 ` [PATCH v3 2/3] clocksource: orion: Use atomic access for shared registers Ezequiel Garcia
2013-08-23 10:38   ` Baruch Siach
2013-08-23 10:49     ` Ezequiel Garcia
2013-08-23 10:24 ` [PATCH v3 3/3] watchdog: " Ezequiel Garcia

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.