@@ -503,6 +503,7 @@ static const struct of_device_id __maybe_unused qcom_smmu_impl_of_match[] = {
503
503
{ .compatible = "qcom,qcm2290-smmu-500" , .data = & qcom_smmu_500_impl0_data },
504
504
{ .compatible = "qcom,qdu1000-smmu-500" , .data = & qcom_smmu_500_impl0_data },
505
505
{ .compatible = "qcom,sc7180-smmu-500" , .data = & qcom_smmu_500_impl0_data },
506
+ { .compatible = "qcom,sc7180-smmu-v2" , .data = & qcom_smmu_v2_data },
506
507
{ .compatible = "qcom,sc7280-smmu-500" , .data = & qcom_smmu_500_impl0_data },
507
508
{ .compatible = "qcom,sc8180x-smmu-500" , .data = & qcom_smmu_500_impl0_data },
508
509
{ .compatible = "qcom,sc8280xp-smmu-500" , .data = & qcom_smmu_500_impl0_data },
@@ -547,5 +548,14 @@ struct arm_smmu_device *qcom_smmu_impl_init(struct arm_smmu_device *smmu)
547
548
if (match )
548
549
return qcom_smmu_create (smmu , match -> data );
549
550
551
+ /*
552
+ * If you hit this WARN_ON() you are missing an entry in the
553
+ * qcom_smmu_impl_of_match[] table, and GPU per-process page-
554
+ * tables will be broken.
555
+ */
556
+ WARN (of_device_is_compatible (np , "qcom,adreno-smmu" ),
557
+ "Missing qcom_smmu_impl_of_match entry for: %s" ,
558
+ dev_name (smmu -> dev ));
559
+
550
560
return smmu ;
551
561
}
0 commit comments