FILE
arm-smmu-qcom.h
File preview with syntax highlighting.
linux-6.19.14/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h
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 9struct qcom_smmu { 10 struct arm_smmu_device smmu; 11 const struct qcom_smmu_match_data *data; 12 bool bypass_quirk; 13 u8 bypass_cbndx; 14 u32 stall_enabled; 15}; 16 17enum qcom_smmu_impl_reg_offset { 18 QCOM_SMMU_TBU_PWR_STATUS, 19 QCOM_SMMU_STATS_SYNC_INV_TBU_ACK, 20 QCOM_SMMU_MMU2QSS_AND_SAFE_WAIT_CNTR, 21}; 22 23struct qcom_smmu_config { 24 const u32 *reg_offset; 25}; 26 27struct qcom_smmu_match_data { 28 const struct qcom_smmu_config *cfg; 29 const struct arm_smmu_impl *impl; 30 const struct arm_smmu_impl *adreno_impl; 31 const struct of_device_id * const client_match; 32}; 33 34irqreturn_t qcom_smmu_context_fault(int irq, void *dev); 35 36#ifdef CONFIG_ARM_SMMU_QCOM_DEBUG 37void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu); 38int qcom_tbu_probe(struct platform_device *pdev); 39#else 40static inline void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu) { } 41static inline int qcom_tbu_probe(struct platform_device *pdev) { return -EINVAL; } 42#endif 43 44#endif /* _ARM_SMMU_QCOM_H */
~/
Read-only file preview.