On Wed, Oct 25, 2023 at 12:26:58PM +0530, jeshwank wrote:
- tee_buf->vaddr = dma_alloc_coherent(psp->dev, size, &tee_buf->dma, gfp);
- if (!tee_buf->vaddr || !tee_buf->dma) {
kfree(tee_buf);
return NULL;
- }
- tee_buf->size = size;
- /* Check whether IOMMU is present. If present, translate IOVA
* to physical address, else the dma handle is the physical
* address.
*/
- dom = iommu_get_domain_for_dev(psp->dev);
- if (dom)
tee_buf->paddr = iommu_iova_to_phys(dom, tee_buf->dma);
- else
No, you can't mix the DMA API and iommu API. You need to stick to one or the other.