summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>2026-05-26 11:47:10 +0300
committerVinod Koul <vkoul@kernel.org>2026-06-04 18:28:34 +0300
commitcd2d36e8ae61832aaac3bddf5aafdab72821e6b9 (patch)
tree35c464193c230d464bb131c2cd84800283ea4409 /scripts
parent9fcaec81ac56c9d2c5d779ffb5a76b622b4d0590 (diff)
downloadlinux-cd2d36e8ae61832aaac3bddf5aafdab72821e6b9.tar.xz
dmaengine: sh: rz-dmac: Set the Link End (LE) bit on the last descriptor
On an RZ/G2L-based system, it has been observed that when the DMA channels for all enabled IPs are active (TX and RX for one serial IP, TX and RX for one audio IP, and TX and RX for one SPI IP), shortly after all of them are started, the system can become irrecoverably blocked. In one debug session the system did not block, and the DMA HW registers were inspected. It was found that the DER (Descriptor Error) bit in the CHSTAT register for one of the SPI DMA channels was set. According to the RZ/G2L HW Manual, Rev. 1.30, chapter 14.4.7 Channel Status Register n/nS (CHSTAT_n/nS), description of the DER bit, the DER bit is set when the LV (Link Valid) value loaded with a descriptor in link mode is 0. This means that the DMA engine has loaded an invalid descriptor (as defined in Table 14.14, Header Area, of the same manual). The same chapter states that when a descriptor error occurs, the transfer is stopped, but no DMA error interrupt is generated. Set the LE bit on the last descriptor of a transfer. This informs the DMA engine that this is the final descriptor for the transfer. Tested-by: John Madieu <john.madieu.xa@bp.renesas.com> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Tested-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Link: https://patch.msgid.link/20260526084710.3491480-19-claudiu.beznea@kernel.org Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions