msm: camera: smmu: IOMMU fault id's API update

Need to update API's provided by memory team for retreiving fault id's when an
SMMU translation fault occurs for the new kernel version.

CRs-Fixed: 2835738
Change-Id: I061914ce01196fd1271c8a466f6a4ef8e6dce28f
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
Tento commit je obsažen v:
Karthik Jayakumar
2020-11-02 16:42:11 -08:00
rodič 54fbe81f3b
revize bc04b3a8ef
3 změnil soubory, kde provedl 43 přidání a 12 odebrání

Zobrazit soubor

@@ -248,3 +248,38 @@ int camera_component_match_add_drivers(struct device *master_dev,
end:
return rc;
}
#if KERNEL_VERSION(5, 10, 0) <= LINUX_VERSION_CODE
#include <linux/qcom-iommu-util.h>
void cam_check_iommu_faults(struct iommu_domain *domain,
struct cam_smmu_pf_info *pf_info)
{
struct qcom_iommu_fault_ids fault_ids = {0, 0, 0};
if (qcom_iommu_get_fault_ids(domain, &fault_ids))
CAM_ERR(CAM_SMMU, "Cannot get smmu fault ids");
else
CAM_ERR(CAM_SMMU, "smmu fault ids bid:%d pid:%d mid:%d",
fault_ids.bid, fault_ids.pid, fault_ids.mid);
pf_info->bid = fault_ids.bid;
pf_info->pid = fault_ids.pid;
pf_info->mid = fault_ids.mid;
}
#else
void cam_check_iommu_faults(struct iommu_domain *domain,
struct cam_smmu_pf_info *pf_info)
{
struct iommu_fault_ids fault_ids = {0, 0, 0};
if (iommu_get_fault_ids(domain, &fault_ids))
CAM_ERR(CAM_SMMU, "Error: Can not get smmu fault ids");
CAM_ERR(CAM_SMMU, "smmu fault ids bid:%d pid:%d mid:%d",
fault_ids.bid, fault_ids.pid, fault_ids.mid);
pf_info->bid = fault_ids.bid;
pf_info->pid = fault_ids.pid;
pf_info->mid = fault_ids.mid;
}
#endif