1. 29 7月, 2020 1 次提交
  2. 16 5月, 2020 3 次提交
  3. 10 3月, 2020 1 次提交
  4. 05 6月, 2019 1 次提交
  5. 15 5月, 2019 1 次提交
  6. 08 5月, 2019 1 次提交
    • E
      spi: rockchip: turn down tx dma bursts · 47300728
      Emil Renner Berthing 提交于
      This fixes tx and bi-directional dma transfers on rk3399-gru-kevin.
      
      It seems the SPI fifo must have room for 2 bursts when the dma_tx_req
      signal is generated or it might skip some words. This in turn makes
      the rx dma channel never complete for bi-directional transfers.
      
      Fix it by setting tx burst length to fifo_len / 4 and the dma
      watermark to fifo_len / 2.
      
      However the rk3399 TRM says (sic):
      "DMAC support incrementing-address burst and fixed-address burst. But in
      the case of access SPI and UART at byte or halfword size, DMAC only
      support fixed-address burst and the address must be aligned to word."
      
      So this relies on fifo_len being a multiple of 16 such that the
      burst length (= fifo_len / 4) is a multiple of 4 and the addresses
      will be word-aligned.
      
      Fixes: dcfc861d ("spi: rockchip: adjust dma watermark and burstlen")
      Signed-off-by: NEmil Renner Berthing <kernel@esmil.dk>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      47300728
  7. 05 11月, 2018 14 次提交
  8. 11 10月, 2018 6 次提交
  9. 16 8月, 2017 1 次提交
  10. 15 8月, 2017 1 次提交
  11. 07 8月, 2017 3 次提交
  12. 29 6月, 2017 2 次提交
  13. 14 6月, 2017 1 次提交
  14. 19 12月, 2016 1 次提交
  15. 21 7月, 2016 1 次提交
    • B
      spi: rockchip: limit transfers to (64K - 1) bytes · 5185a81c
      Brian Norris 提交于
      The Rockchip SPI controller's length register only supports 16-bits,
      yielding a maximum length of 64KiB (the CTRLR1 register holds "length -
      1"). Trying to transfer more than that (e.g., with a large SPI flash
      read) will cause the driver to hang.
      
      Now, it seems that while theoretically we should be able to program
      CTRLR1 with 0xffff, and get a 64KiB transfer, but that also seems to
      cause the core to choke, so stick with a maximum of 64K - 1 bytes --
      i.e., 0xffff.
      Signed-off-by: NBrian Norris <briannorris@chromium.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      5185a81c
  16. 08 6月, 2016 1 次提交
  17. 01 6月, 2016 1 次提交