1. 19 Jan, 2024 3 commits
    • Nathan Chancellor's avatar
      dmaengine: xilinx: xdma: Fix initialization location of desc in xdma_channel_isr() · 620a7e4c
      Nathan Chancellor authored
      Clang warns (or errors with CONFIG_WERROR=y):
      
        drivers/dma/xilinx/xdma.c:894:3: error: variable 'desc' is uninitialized when used here [-Werror,-Wuninitialized]
          894 |                 desc->error = true;
              |                 ^~~~
      
      The initialization of desc was moved too far forward, move it back so
      that this assignment does not result in a potential crash at runtime
      while clearing up the warning.
      
      Closes: https://github.com/ClangBuiltLinux/linux/issues/1972
      Fixes: 2f8f90cd ("dmaengine: xilinx: xdma: Implement interleaved DMA transfers")
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Link: https://lore.kernel.org/r/20231222-dma-xilinx-xdma-clang-fixes-v1-2-84a18ff184d2@kernel.orgSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
      620a7e4c
    • Nathan Chancellor's avatar
      dmaengine: xilinx: xdma: Fix operator precedence in xdma_prep_interleaved_dma() · fe0d495e
      Nathan Chancellor authored
      Clang warns (or errors with CONFIG_WERROR=y):
      
        drivers/dma/xilinx/xdma.c:757:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
          757 |                 src_addr += dmaengine_get_src_icg(xt, &xt->sgl[i]) + xt->src_inc ?
              |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
        drivers/dma/xilinx/xdma.c:757:68: note: place parentheses around the '+' expression to silence this warning
          757 |                 src_addr += dmaengine_get_src_icg(xt, &xt->sgl[i]) + xt->src_inc ?
              |                                                                                  ^
              |                             (                                                   )
        drivers/dma/xilinx/xdma.c:757:68: note: place parentheses around the '?:' expression to evaluate it first
          757 |                 src_addr += dmaengine_get_src_icg(xt, &xt->sgl[i]) + xt->src_inc ?
              |                                                                                  ^
              |                                                                      (
          758 |                                                               xt->sgl[i].size : 0;
              |
              |                                                                                  )
        drivers/dma/xilinx/xdma.c:759:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
          759 |                 dst_addr += dmaengine_get_dst_icg(xt, &xt->sgl[i]) + xt->dst_inc ?
              |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
        drivers/dma/xilinx/xdma.c:759:68: note: place parentheses around the '+' expression to silence this warning
          759 |                 dst_addr += dmaengine_get_dst_icg(xt, &xt->sgl[i]) + xt->dst_inc ?
              |                                                                                  ^
              |                             (                                                   )
        drivers/dma/xilinx/xdma.c:759:68: note: place parentheses around the '?:' expression to evaluate it first
          759 |                 dst_addr += dmaengine_get_dst_icg(xt, &xt->sgl[i]) + xt->dst_inc ?
              |                                                                                  ^
              |                                                                      (
          760 |                                                               xt->sgl[i].size : 0;
              |
              |                                                                                  )
      
      The src_inc and dst_inc members of 'struct dma_interleaved_template' are
      booleans, so it does not make sense for the addition to happen first.
      Wrap the conditional operator in parantheses so it is evaluated first.
      
      Closes: https://github.com/ClangBuiltLinux/linux/issues/1971
      Fixes: 2f8f90cd ("dmaengine: xilinx: xdma: Implement interleaved DMA transfers")
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Link: https://lore.kernel.org/r/20231222-dma-xilinx-xdma-clang-fixes-v1-1-84a18ff184d2@kernel.orgSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
      fe0d495e
    • Vinod Koul's avatar
      Merge tag 'dmaengine-6.8-rc1' into fixes · b93216d3
      Vinod Koul authored
      dmaengine updates for v6.8
      
       New support:
        - Loongson LS2X APB DMA controller
        - sf-pdma: mpfs-pdma support
        - Qualcomm X1E80100 GPI dma controller support
      
       Updates:
        - Xilinx XDMA updates to support interleaved DMA transfers
        - TI PSIL threads for AM62P and J722S and cfg register regions description
        - axi-dmac Improving the cyclic DMA transfers
        - Tegra Support dma-channel-mask property
        - Remaining platform remove callback returning void conversions
      b93216d3
  2. 22 Dec, 2023 8 commits
  3. 21 Dec, 2023 22 commits
  4. 11 Dec, 2023 7 commits