1. 02 6月, 2014 11 次提交
  2. 22 5月, 2014 4 次提交
  3. 21 5月, 2014 1 次提交
  4. 07 5月, 2014 8 次提交
  5. 03 5月, 2014 10 次提交
  6. 02 5月, 2014 3 次提交
  7. 30 4月, 2014 3 次提交
    • J
      dmaengine: edma: update DMA memcpy to use new param element · b0cce4ca
      Joel Fernandes 提交于
      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: NJoel Fernandes <joelf@ti.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      b0cce4ca
    • J
      dmaengine: edma: Document variables used for residue accounting · 04361d88
      Joel Fernandes 提交于
      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: NJoel Fernandes <joelf@ti.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      04361d88
    • T
      dmaengine: edma: Provide granular accounting · 740b41f7
      Thomas Gleixner 提交于
      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: NThomas Gleixner <tglx@linutronix.de>
      [joelf@ti.com: Hunk #2 in original patch manually applied]
      Signed-off-by: NJoel Fernandes <joelf@ti.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      740b41f7