arm-smmu-qcom.h 702 B

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