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: Mayank Rana <mrana@codeaurora.org>
2 files changed