|
@@ -10996,7 +10996,17 @@ int ipa3_plat_drv_probe(struct platform_device *pdev_p)
|
|
|
return -EOPNOTSUPP;
|
|
|
}
|
|
|
}
|
|
|
+ /* Below update of pre init for non smmu device, As
|
|
|
+ * existing flow initialzies only for smmu
|
|
|
+ * enabled node.*/
|
|
|
+
|
|
|
+ result = ipa3_pre_init(&ipa3_res, pdev_p);
|
|
|
+ if (result) {
|
|
|
+ IPAERR("ipa3_init failed\n");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
ipa_fw_load_sm_handle_event(IPA_FW_LOAD_EVNT_SMMU_DONE);
|
|
|
+ goto skip_repeat_pre_init;
|
|
|
}
|
|
|
|
|
|
/* Proceed to real initialization */
|
|
@@ -11006,6 +11016,7 @@ int ipa3_plat_drv_probe(struct platform_device *pdev_p)
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+skip_repeat_pre_init:
|
|
|
result = of_platform_populate(pdev_p->dev.of_node,
|
|
|
ipa_plat_drv_match, NULL, &pdev_p->dev);
|
|
|
if (result) {
|