1. 14 4月, 2016 3 次提交
    • M
      dmaengine: dw: set src and dst master select according to xfer direction · bb3450ad
      Mans Rullgard 提交于
      On some architectures the DMA controller can have two masters connected to
      different buses and thus access to memory is possible only through one and
      to peripheral through the other.
      
      This patch changes the src and dst master setting to match the direction
      of the transfer.
      Signed-off-by: NMans Rullgard <mans@mansr.com>
      Acked-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      bb3450ad
    • A
      dmaengine: dw: rename masters to reflect actual topology · c422025c
      Andy Shevchenko 提交于
      The source and destination masters are reflecting buses or their layers to
      where the different devices can be connected. The patch changes the master
      names to reflect which one is related to which independently on the transfer
      direction.
      
      The outcome of the change is that the memory data width is now always limited
      by a data width of the master which is dedicated to communicate to memory.
      
      The patch will not break anything since all current users have the same data
      width for all masters. Though it would be nice to revisit avr32 platforms to
      check what is the actual hardware topology in use there. It seems that it has
      one bus and two masters on it as stated by Table 8-2, that's why everything
      works independently on the master in use. The purpose of the sequential patch
      is to fix the driver for configuration of more than one bus.
      
      The change is done in the assumption that src_master and dst_master are
      reflecting a connection to the memory and peripheral correspondently on avr32
      and otherwise on the rest.
      Acked-by: NHans-Christian Egtvedt <egtvedt@samfundet.no>
      Acked-by: NMark Brown <broonie@kernel.org>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      c422025c
    • A
      dmaengine: dw: fix master selection · 3fe6409c
      Andy Shevchenko 提交于
      The commit 89500520 ("dmaengine: dw: apply both HS interfaces and remove
      slave_id usage") cleaned up the code to avoid usage of depricated slave_id
      member of generic slave configuration.
      
      Meanwhile it broke the master selection by removing important call to
      dwc_set_masters() in ->device_alloc_chan_resources() which copied masters from
      custom slave configuration to the internal channel structure.
      
      Everything works until now since there is no customized connection of
      DesignWare DMA IP to the bus, i.e. one bus and one or more masters are in use.
      The configurations where 2 masters are connected to the different masters are
      not working anymore. We are expecting one user of such configuration and need
      to select masters properly. Besides that it is obviously a performance
      regression since only one master is in use in multi-master configuration.
      
      Select masters in accordance with what user asked for. Keep this patch in a form
      more suitable for back porting.
      
      We are safe to take necessary data in ->device_alloc_chan_resources() because
      we don't support generic slave configuration embedded into custom one, and thus
      the only way to provide such is to use the parameter to a filter function which
      is called exactly before channel resource allocation.
      
      While here, replase BUG_ON to less noisy dev_warn() and prevent channel
      allocation in case of error.
      
      Fixes: 89500520 ("dmaengine: dw: apply both HS interfaces and remove slave_id usage")
      Cc: stable@vger.kernel.org
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      3fe6409c
  2. 16 2月, 2016 1 次提交
  3. 14 1月, 2016 2 次提交
  4. 07 1月, 2016 1 次提交
  5. 31 10月, 2015 2 次提交
  6. 30 9月, 2015 2 次提交
  7. 18 7月, 2015 1 次提交
  8. 17 3月, 2015 2 次提交
  9. 05 3月, 2015 1 次提交
  10. 05 2月, 2015 1 次提交
  11. 14 1月, 2015 2 次提交
  12. 22 12月, 2014 1 次提交
  13. 12 11月, 2014 1 次提交
  14. 15 10月, 2014 3 次提交
  15. 11 9月, 2014 4 次提交
  16. 16 7月, 2014 3 次提交
  17. 22 5月, 2014 3 次提交
  18. 07 5月, 2014 1 次提交
  19. 26 3月, 2014 1 次提交
  20. 17 2月, 2014 1 次提交
  21. 20 1月, 2014 3 次提交
  22. 15 11月, 2013 1 次提交