]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: Lantiq: Lock DMA register accesses for SMP
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 30 Dec 2016 11:18:27 +0000 (12:18 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 25 Jan 2017 01:51:12 +0000 (02:51 +0100)
commit695d042dcb90b04a6f4b54043e8e323667d78901
tree60198b478b7668cc2fcb944ad3eb53d04df8318a
parentb767c7932a6e83567d15d0100897d56641523f51
MIPS: Lantiq: Lock DMA register accesses for SMP

The DMA controller channel and port configuration is changed by
selecting the port or channel in one register and then update the
configuration in other registers. This has to be done in an atomic
operation. Previously only the local interrupts were deactivated which
works for single CPU systems. If the system supports SMP a better
locking is needed, use spinlocks instead.
On more recent SoCs (at least xrx200 and later) there are two memory
regions to change the configuration, there we could use one area for
each CPU and do not have to synchronize between the CPUs and more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Cc: john@phrozen.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14912/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/lantiq/xway/dma.c