|
@@ -11179,6 +11179,7 @@ static int ipa_smmu_ap_cb_probe(struct device *dev)
|
|
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0))
|
|
|
int mapping_config;
|
|
|
#endif
|
|
|
+ u32 geometry_ap_mapping[2];
|
|
|
|
|
|
IPADBG("AP CB PROBE dev=%pK\n", dev);
|
|
|
|
|
@@ -11227,6 +11228,19 @@ static int ipa_smmu_ap_cb_probe(struct device *dev)
|
|
|
|
|
|
IPADBG("AP CB PROBE dev=%pK va_start=0x%x va_size=0x%x\n",
|
|
|
dev, cb->va_start, cb->va_size);
|
|
|
+ if (of_property_read_u32_array(
|
|
|
+ dev->of_node, "qcom,iommu-geometry",
|
|
|
+ geometry_ap_mapping, 2) == 0) {
|
|
|
+ cb->geometry_start = geometry_ap_mapping[0];
|
|
|
+ cb->geometry_end = geometry_ap_mapping[1];
|
|
|
+ } else {
|
|
|
+ IPADBG("AP CB PROBE Geometry not defined using max!\n");
|
|
|
+ cb->geometry_start = 0;
|
|
|
+ cb->geometry_end = 0xF0000000;
|
|
|
+ }
|
|
|
+
|
|
|
+ IPADBG("AP CB PROBE dev=%pK geometry_start=0x%x geometry_end=0x%x\n",
|
|
|
+ dev, cb->geometry_start, cb->geometry_end);
|
|
|
|
|
|
/*
|
|
|
* Prior to these calls to iommu_domain_get_attr(), these
|