1. 01 Jun, 2014 11 commits
  2. 22 May, 2014 4 commits
  3. 21 May, 2014 1 commit
  4. 07 May, 2014 8 commits
  5. 02 May, 2014 13 commits
  6. 30 Apr, 2014 3 commits
    • Joel Fernandes's avatar
      dmaengine: edma: update DMA memcpy to use new param element · b0cce4ca
      Joel Fernandes authored
      edma param struct is now within an edma_pset struct introduced in Thomas
      Gleixner's edma tx status series. Update memcpy function for the same.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarJoel Fernandes <joelf@ti.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      b0cce4ca
    • Joel Fernandes's avatar
      dmaengine: edma: Document variables used for residue accounting · 04361d88
      Joel Fernandes authored
      The granular residue accounting code uses certain variables specifically
      for residue accounting. Document these in the structure declaration.
      Also move around some elements and group them together.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarJoel Fernandes <joelf@ti.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      04361d88
    • Thomas Gleixner's avatar
      dmaengine: edma: Provide granular accounting · 740b41f7
      Thomas Gleixner authored
      The first slot in the ParamRAM of EDMA holds the current active
      subtransfer. Depending on the direction we read either the source or
      the destination address from there. In the internal psets we have the
      address of the buffer(s).
      
      In the cyclic case we only use the internal pset[0] which holds the
      start address of the circular buffer and calculate the remaining room
      to the end of the buffer.
      
      In the SG case we read the current address and compare it to the
      internal psets address and length.
      
      - If the current address is outside of this range, the pset has been
        processed already and we mark it done, update the residue_stat value
        and process the next set. That avoids that we need to walk all
        processed psets for every invocation of tx_status.
      
      - If its inside the range we know that we look at the current active
        set and stop the walk.
      
      - In case of intermediate transfers we update the stats in the
        interrupt callback function before starting the next batch of
        transfers. The tx_status callback and the interrupt callback are
        serialized via vchan.lock.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      [joelf@ti.com: Hunk #2 in original patch manually applied]
      Signed-off-by: default avatarJoel Fernandes <joelf@ti.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      740b41f7