1
0
Fork 0
alistair23-linux/drivers/rapidio
Ioan Nicu 31d1e130f4 rapidio: remove global irq spinlocks from the subsystem
Locking of config and doorbell operations should be done only if the
underlying hardware requires it.

This patch removes the global spinlocks from the rapidio subsystem and
moves them to the mport drivers (fsl_rio and tsi721), only to the
necessary places.  For example, local config space read and write
operations (lcread/lcwrite) are atomic in all existing drivers, so there
should be no need for locking, while the cread/cwrite operations which
generate maintenance transactions need to be synchronized with a lock.

Later, each driver could chose to use a per-port lock instead of a
global one, or even more granular locking.

Link: http://lkml.kernel.org/r/20170824113023.GD50104@nokia.com
Signed-off-by: Ioan Nicu <ioan.nicu.ext@nokia.com>
Signed-off-by: Frank Kunz <frank.kunz@nokia.com>
Acked-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-10-03 17:54:24 -07:00
..
devices rapidio: remove global irq spinlocks from the subsystem 2017-10-03 17:54:24 -07:00
switches rapidio/switches: add driver for IDT gen3 switches 2016-08-02 19:35:38 -04:00
Kconfig rapidio: add RapidIO channelized messaging driver 2016-08-02 19:35:31 -04:00
Makefile rapidio: add RapidIO channelized messaging driver 2016-08-02 19:35:31 -04:00
rio-access.c rapidio: remove global irq spinlocks from the subsystem 2017-10-03 17:54:24 -07:00
rio-driver.c rapidio: add shutdown notification for RapidIO devices 2016-03-22 15:36:02 -07:00
rio-scan.c rapidio: modify for rev.3 specification changes 2016-08-02 19:35:37 -04:00
rio-sysfs.c rapidio: use is_visible() to hide switch-specific attributes 2017-03-17 15:10:49 +09:00
rio.c rapidio: use is_visible() to hide switch-specific attributes 2017-03-17 15:10:49 +09:00
rio.h rapidio: use is_visible() to hide switch-specific attributes 2017-03-17 15:10:49 +09:00
rio_cm.c rapidio/rio_cm: use memdup_user() instead of duplicating code 2016-10-11 15:06:32 -07:00