• Hauke Mehrtens's avatar
    MIPS: Lantiq: Lock DMA register accesses for SMP · 98e58b01
    Hauke Mehrtens authored
    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: default avatarHauke 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: default avatarRalf Baechle <ralf@linux-mips.org>
    98e58b01
dma.c 7.11 KB