Marc Zyngier
005c34ae4b
irqchip/gic: Atomically update affinity
...
The GIC driver uses a RMW sequence to update the affinity, and
relies on the gic_lock_irqsave/gic_unlock_irqrestore sequences
to update it atomically.
But these sequences only expand into anything meaningful if
the BL_SWITCHER option is selected, which almost never happens.
It also turns out that using a RMW and locks is just as silly,
as the GIC distributor supports byte accesses for the GICD_TARGETRn
registers, which when used make the update atomic by definition.
Drop the terminally broken code and replace it by a byte write.
Fixes: 04c8b0f82c ("irqchip/gic: Make locking a BL_SWITCHER only feature")
Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org >
2020-06-21 15:24:46 +01:00
..
2020-06-14 01:57:21 +09:00
2020-06-13 13:04:36 -07:00
2020-06-04 19:47:11 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-09 10:04:47 -07:00
2020-06-13 13:29:16 -07:00
2020-06-03 16:27:18 -07:00
2020-06-07 10:59:32 -07:00
2020-06-10 16:05:54 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-09 19:11:22 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-12 14:10:21 -07:00
2020-06-13 16:27:13 -07:00
2020-06-04 19:06:23 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-07 10:59:32 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-03 15:00:05 -07:00
2020-06-11 15:17:57 +02:00
2020-06-07 10:59:32 -07:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-10 14:04:39 -07:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-21 15:24:46 +01:00
2020-06-14 01:57:21 +09:00
2020-06-04 11:03:45 -07:00
2020-06-02 15:29:19 -07:00
2020-06-14 01:57:21 +09:00
2020-06-10 22:43:57 -05:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-10 13:24:40 -07:00
2020-06-13 16:27:13 -07:00
2020-06-14 01:57:21 +09:00
2020-06-05 20:02:09 -04:00
2020-06-13 13:04:36 -07:00
2020-06-13 13:29:16 -07:00
2020-06-07 10:53:36 -07:00
2020-06-14 01:57:21 +09:00
2020-06-09 09:39:14 -07:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-11 12:53:23 -07:00
2020-06-07 16:13:43 -07:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-10 11:28:35 -07:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-04 19:09:28 +02:00
2020-06-14 01:57:21 +09:00
2020-06-01 13:01:44 +01:00
2020-06-08 13:01:08 -07:00
2020-06-07 10:59:32 -07:00
2020-06-08 13:01:08 -07:00
2020-06-07 16:11:23 -07:00
2020-06-08 12:05:31 -07:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-07 10:59:32 -07:00
2020-06-13 13:29:16 -07:00
2020-06-13 13:29:16 -07:00
2020-06-09 09:39:14 -07:00
2020-06-12 14:10:21 -07:00
2020-06-07 09:42:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-13 13:29:16 -07:00
2020-06-06 16:26:47 -04:00
2020-06-10 19:14:18 -07:00
2020-06-13 13:29:16 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-13 10:05:47 -07:00
2020-06-14 01:57:21 +09:00