1. 01 7月, 2012 1 次提交
  2. 30 3月, 2012 1 次提交
    • R
      ARM: sa11x0: fix build errors from DMA engine API updates · d9d54540
      Russell King 提交于
      The recent merge of the sa11x0 code into mainline had silent conflicts
      with further development of the DMA engine API, leading to build errors
      and warnings:
      
      drivers/net/irda/sa1100_ir.c: In function 'sa1100_irda_dma_start':
      drivers/net/irda/sa1100_ir.c:151: error: too few arguments to function 'chan->device->device_prep_slave_sg'
      drivers/dma/sa11x0-dma.c: In function 'sa11x0_dma_probe':
      drivers/dma/sa11x0-dma.c:950: warning: assignment from incompatible pointer type
      
      Fix these.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d9d54540
  3. 07 3月, 2012 1 次提交
    • R
      DMA: sa11x0: add SA-11x0 DMA driver · 6365bead
      Russell King 提交于
      Add support for the SA-11x0 DMA driver, which replaces the private
      API version in arch/arm/mach-sa1100/dma.c.
      
      We model this as a set of virtual DMA channels, one for each request
      signal, and assign the virtual DMA channel to a physical DMA channel
      when there is work to be done.  This allows DMA users to claim their
      channels, and hold them while not in use, without affecting the
      availability of the physical channels.
      
      Another advantage over this approach, compared to the private version,
      is that a channel can be reconfigured on the fly without having to
      release and re-request it - which for the IrDA driver, allows us to
      use DMA for SIR mode transmit without eating up three physical
      channels.  As IrDA is half-duplex, we actually only need one physical
      channel, and this architecture allows us to achieve that.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6365bead