mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 22:54:01 +00:00
dmaengine: pl330: issue_pending waits until WFP state
[ Upstream commit22a9d95858
] According to DMA-330 errata notice[1] 71930, DMAKILL cannot clear internal signal, named pipeline_req_active. it makes that pl330 would wait forever in WFP state although dma already send dma request if pl330 gets dma request before entering WFP state. The errata suggests that polling until entering WFP state as workaround and then peripherals allows to issue dma request. [1]: https://developer.arm.com/documentation/genc008428/latest Signed-off-by: Bumyong Lee <bumyong.lee@samsung.com> Link: https://lore.kernel.org/r/20231219055026.118695-1-bumyong.lee@samsung.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Stable-dep-of:afc89870ea
("dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5697d159af
commit
867818dd13
1 changed files with 3 additions and 0 deletions
|
@ -1053,6 +1053,9 @@ static bool _trigger(struct pl330_thread *thrd)
|
|||
|
||||
thrd->req_running = idx;
|
||||
|
||||
if (desc->rqtype == DMA_MEM_TO_DEV || desc->rqtype == DMA_DEV_TO_MEM)
|
||||
UNTIL(thrd, PL330_STATE_WFP);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue