dmaengine: xilinx: dpdma: Limit descriptor IDs to 16 bits
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 20 May 2021 15:24:20 +0000 (18:24 +0300)
committerVinod Koul <vkoul@kernel.org>
Mon, 31 May 2021 04:07:17 +0000 (09:37 +0530)
commit9f007e7b6643799e2a6538a5fe04f51c371c6657
treed48c20eaaaf76789c500b2d816960ae7b83b32b3
parent32828b82fb875b06511918b139d3a3cd93d34262
dmaengine: xilinx: dpdma: Limit descriptor IDs to 16 bits

While the descriptor ID is stored in a 32-bit field in the hardware
descriptor, only 16 bits are used by the hardware and are reported
through the XILINX_DPDMA_CH_DESC_ID register. Failure to handle the
wrap-around results in a descriptor ID mismatch after 65536 frames. Fix
it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Jianqiang Chen <jianqiang.chen@xilinx.com>
Reviewed-by: Jianqiang Chen <jianqiang.chen@xilinx.com>
Link: https://lore.kernel.org/r/20210520152420.23986-5-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/xilinx/xilinx_dpdma.c