Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit e0a427ed authored by Mayank Rana's avatar Mayank Rana
Browse files

dwc3: Use dma_alloc_coherent() API instead of DMA pool for GSI TRB ring



USB GSI wrapper has requirement as TRB ring base address must be aligned
to ring length rounded to power of 2. To support USB SMMU stage S1
functionality, if DMA pool APIs are used then multiple IOVA address may
fall within same page. When IPA driver is trying to map shared IOVA
address, Linux SMMU driver fails to map second IOVA address as it sees
as already mapped. Hence to fix this issue, use dma_alloc_coherent() API
which allows IOVA address mapping (due to page functionality) as well
provided IOVA buffer would be page aligned as it uses alloc_pages()
instead of pool based memory.

Change-Id: I21dc4109dea42fd0d8fb8a99aaec0dc52d32693e
Signed-off-by: default avatarMayank Rana <mrana@codeaurora.org>
parent e7325167
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment