1. 06 Dec, 2021 1 commit
  2. 23 Oct, 2021 3 commits
  3. 28 Sep, 2021 1 commit
  4. 24 Sep, 2021 1 commit
  5. 13 Aug, 2021 1 commit
  6. 16 Feb, 2021 1 commit
  7. 03 Feb, 2021 1 commit
  8. 02 Feb, 2021 2 commits
  9. 22 Dec, 2020 1 commit
  10. 21 Dec, 2020 3 commits
  11. 31 Oct, 2020 2 commits
  12. 30 Oct, 2020 1 commit
  13. 29 Oct, 2020 2 commits
  14. 27 Oct, 2020 3 commits
  15. 23 Oct, 2020 3 commits
  16. 09 Oct, 2020 2 commits
  17. 07 Oct, 2020 4 commits
  18. 28 Sep, 2020 1 commit
  19. 22 Sep, 2020 4 commits
  20. 15 Sep, 2020 1 commit
    • Julien's avatar
      libxdma: fix next adjacent descriptors · f1e834be
      Julien authored
      Fix the setting of the next adjacent fields in descriptors.
      
      Following commit 5faf23ec the next_adj field of all descriptors is set
      according to the index of the descriptor rather than its address which
      causes issues when dma_alloc_coherent doesn't return an address which is
      page aligned (which happens).
      Moreover, in the case of a transfer which number of descriptors is
      bigger than a full page, the next_adj field is set to the maximum (63)
      for all descriptors untill the last page of descriptors where it starts
      decreasing.
      Last, even before this commit, the next_adj field inside a block of
      adjacent descriptors is not decreasing untill coming near page end,
      which is not compliant with what the documentation says :
      
      "Every descriptor in the descriptor list must accurately describe the descriptor
      or block ofdescriptors that follows. In a block of adjacent descriptors, the
      Nxt_adj value decrements from the first descriptor to the second to last
      descriptor which has a value of zero. Likewise, eachdescriptor in the block
      points to the next descriptor in the block, except for the last descriptor
      which might point to a new block or might terminate the list."
      
      This commit aligns the blocks of adjacent descriptors to
      XDMA_MAX_ADJ_BLOCK_SIZE and makes the next_adj field decrease inside
      each block untill the second to last descriptor in the block or in the
      full transfer. The size of the page being a multiple of the size of the
      block (4096 = sizeof(xdma_desc) * 128 =
      sizeof(xdma_desc) * 2 * XDMA_MAX_ADJ_BLOCK_SIZE
      f1e834be
  21. 08 Sep, 2020 1 commit
  22. 01 Sep, 2020 1 commit