From b2df1387eb0193c9d2ca96831bee7ffdb1657d66 Mon Sep 17 00:00:00 2001 From: Sandeep Singh Date: Tue, 11 Jun 2019 15:54:19 +0530 Subject: [PATCH] qcacld-3.0: Add api to get smmu domain Add api to get smmu domain from cnss2 platform driver. Change-Id: I1e0370616bda32b013104db7c086e9611a699f43 --- core/pld/src/pld_common.c | 7 +++++++ core/pld/src/pld_pcie.h | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/core/pld/src/pld_common.c b/core/pld/src/pld_common.c index 53b223c0bc3e..4cc89d8e7a1a 100644 --- a/core/pld/src/pld_common.c +++ b/core/pld/src/pld_common.c @@ -1414,6 +1414,13 @@ void *pld_smmu_get_domain(struct device *dev) case PLD_BUS_TYPE_SNOC: ptr = pld_snoc_smmu_get_domain(dev); break; + case PLD_BUS_TYPE_PCIE: + ptr = pld_pcie_smmu_get_domain(dev); + break; + case PLD_BUS_TYPE_SDIO: + case PLD_BUS_TYPE_USB: + pr_err("Not supported on type %d\n", type); + break; default: pr_err("Invalid device type %d\n", type); break; diff --git a/core/pld/src/pld_pcie.h b/core/pld/src/pld_pcie.h index 008075d53851..2930881eb1b0 100644 --- a/core/pld/src/pld_pcie.h +++ b/core/pld/src/pld_pcie.h @@ -133,10 +133,17 @@ static inline int pld_pcie_wlan_pm_control(struct device *dev, bool vote) #endif #ifndef CONFIG_PLD_PCIE_CNSS +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)) +static inline void *pld_pcie_smmu_get_domain(struct device *dev) +{ + return NULL; +} +#else static inline void *pld_pcie_smmu_get_mapping(struct device *dev) { return NULL; } +#endif static inline int pld_pcie_smmu_map(struct device *dev, @@ -350,10 +357,17 @@ static inline int pld_pcie_collect_rddm(struct device *dev) return cnss_force_collect_rddm(dev); } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)) +static inline void *pld_pcie_smmu_get_domain(struct device *dev) +{ + return cnss_smmu_get_domain(dev); +} +#else static inline void *pld_pcie_smmu_get_mapping(struct device *dev) { return cnss_smmu_get_mapping(dev); } +#endif static inline int pld_pcie_smmu_map(struct device *dev,