1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
4  */
5 
6 #ifndef _ARM_SMMU_QCOM_H
7 #define _ARM_SMMU_QCOM_H
8 
9 struct qcom_smmu {
10 	struct arm_smmu_device smmu;
11 	const struct qcom_smmu_config *cfg;
12 	bool bypass_quirk;
13 	u8 bypass_cbndx;
14 	u32 stall_enabled;
15 };
16 
17 #ifdef CONFIG_ARM_SMMU_QCOM_DEBUG
18 void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu);
19 const void *qcom_smmu_impl_data(struct arm_smmu_device *smmu);
20 #else
21 static inline void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu) { }
22 static inline const void *qcom_smmu_impl_data(struct arm_smmu_device *smmu)
23 {
24 	return NULL;
25 }
26 #endif
27 
28 #endif /* _ARM_SMMU_QCOM_H */
29