Path: blob/main/sys/contrib/dev/athk/ath11k/ahb.h
109066 views
/* SPDX-License-Identifier: BSD-3-Clause-Clear */1/*2* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.3* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.4*/5#ifndef ATH11K_AHB_H6#define ATH11K_AHB_H78#include "core.h"910#define ATH11K_AHB_RECOVERY_TIMEOUT (3 * HZ)1112#define ATH11K_AHB_SMP2P_SMEM_MSG GENMASK(15, 0)13#define ATH11K_AHB_SMP2P_SMEM_SEQ_NO GENMASK(31, 16)14#define ATH11K_AHB_SMP2P_SMEM_VALUE_MASK 0xFFFFFFFF1516enum ath11k_ahb_smp2p_msg_id {17ATH11K_AHB_POWER_SAVE_ENTER = 1,18ATH11K_AHB_POWER_SAVE_EXIT,19};2021struct ath11k_base;2223struct ath11k_ahb {24struct rproc *tgt_rproc;25struct {26struct device *dev;27struct iommu_domain *iommu_domain;28dma_addr_t msa_paddr;29u32 msa_size;30dma_addr_t ce_paddr;31u32 ce_size;32bool use_tz;33} fw;34struct {35unsigned short seq_no;36unsigned int smem_bit;37struct qcom_smem_state *smem_state;38} smp2p_info;39};4041static inline struct ath11k_ahb *ath11k_ahb_priv(struct ath11k_base *ab)42{43return (struct ath11k_ahb *)ab->drv_priv;44}45#endif464748