47 lines · c
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */2/*3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.4 * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.5 */6#ifndef ATH11K_AHB_H7#define ATH11K_AHB_H8 9#include "core.h"10 11#define ATH11K_AHB_RECOVERY_TIMEOUT (3 * HZ)12 13#define ATH11K_AHB_SMP2P_SMEM_MSG GENMASK(15, 0)14#define ATH11K_AHB_SMP2P_SMEM_SEQ_NO GENMASK(31, 16)15#define ATH11K_AHB_SMP2P_SMEM_VALUE_MASK 0xFFFFFFFF16 17enum ath11k_ahb_smp2p_msg_id {18 ATH11K_AHB_POWER_SAVE_ENTER = 1,19 ATH11K_AHB_POWER_SAVE_EXIT,20};21 22struct ath11k_base;23 24struct ath11k_ahb {25 struct rproc *tgt_rproc;26 struct {27 struct device *dev;28 struct iommu_domain *iommu_domain;29 dma_addr_t msa_paddr;30 u32 msa_size;31 dma_addr_t ce_paddr;32 u32 ce_size;33 bool use_tz;34 } fw;35 struct {36 unsigned short seq_no;37 unsigned int smem_bit;38 struct qcom_smem_state *smem_state;39 } smp2p_info;40};41 42static inline struct ath11k_ahb *ath11k_ahb_priv(struct ath11k_base *ab)43{44 return (struct ath11k_ahb *)ab->drv_priv;45}46#endif47