dmaengine: sirf: enable the driver support new SiRFmarco SoC
authorBarry Song <Baohua.Song@csr.com>
Thu, 1 Nov 2012 14:54:43 +0000 (22:54 +0800)
committerVinod Koul <vinod.koul@intel.com>
Tue, 8 Jan 2013 06:05:03 +0000 (22:05 -0800)
commitf7d935dcc34fae9ad4a39f2cf8e2a96199c48948
tree900ccbbe1963162bcdb3009e60ad596d75db3e40
parent91f8aecc501e456c97a6f49f7ea3797e874d5d89
dmaengine: sirf: enable the driver support new SiRFmarco SoC

The driver supports old up SiRFprimaII SoCs, this patch makes it support
the new SiRFmarco as well.
SiRFmarco, as a SMP SoC, adds new DMA_INT_EN_CLR and DMA_CH_LOOP_CTRL_CLR
registers, to disable IRQ/Channel, we should write 1 to the corresponding
bit in the two CLEAR register.

Tested on SiRFmarco using SPI driver:
    $ /mnt/spidev-sirftest -D /dev/spidev32766.0
    spi mode: 0
    bits per word: 8
    max speed: 500000 Hz (500 KHz)

    00 00 00 00 00 00
    00 00 00 00 00 00
    00 00 00 00 00 00
    00 00 00 00 00 00
    00 00 00 00 00 00
    00 00 00 00 00 00
    00 00 00 00

    $ cat /proc/interrupts
               CPU0       CPU1
     32:       1593          0       GIC  sirfsoc_timer0
     33:          0       3533       GIC  sirfsoc_timer1
     44:          0          0       GIC  sirfsoc_dma
     45:         16          0       GIC  sirfsoc_dma
     47:          6          0       GIC  sirfsoc_spi
     50:       5654          0       GIC  sirfsoc-uart
     ...

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
drivers/dma/Kconfig
drivers/dma/sirf-dma.c