diff --git a/qdf/linux/src/i_qdf_mem.h b/qdf/linux/src/i_qdf_mem.h index d2643ad900..599c48c9a8 100644 --- a/qdf/linux/src/i_qdf_mem.h +++ b/qdf/linux/src/i_qdf_mem.h @@ -241,7 +241,7 @@ __qdf_mem_paddr_from_dmaaddr(qdf_device_t osdev, struct dma_iommu_mapping *mapping; if (__qdf_mem_smmu_s1_enabled(osdev)) { - mapping = pld_smmu_get_mapping(osdev->dev); + mapping = osdev->iommu_mapping; if (mapping) return iommu_iova_to_phys(mapping->domain, dma_addr); } diff --git a/qdf/linux/src/i_qdf_types.h b/qdf/linux/src/i_qdf_types.h index f3c69ffdde..851c939bc8 100644 --- a/qdf/linux/src/i_qdf_types.h +++ b/qdf/linux/src/i_qdf_types.h @@ -241,6 +241,7 @@ enum qdf_bus_type { * @bus_type: Bus type * @bid: Bus ID * @smmu_s1_enabled: SMMU S1 enabled or not + * @iommu_mapping: DMA iommu mapping pointer */ struct __qdf_device { void *drv; @@ -256,6 +257,7 @@ struct __qdf_device { const struct hif_bus_id *bid; #endif bool smmu_s1_enabled; + struct dma_iommu_mapping *iommu_mapping; }; typedef struct __qdf_device *__qdf_device_t;