Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/athk/ath11k/ahb.h
48375 views
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_H
7
#define ATH11K_AHB_H
8
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 0xFFFFFFFF
16
17
enum ath11k_ahb_smp2p_msg_id {
18
ATH11K_AHB_POWER_SAVE_ENTER = 1,
19
ATH11K_AHB_POWER_SAVE_EXIT,
20
};
21
22
struct ath11k_base;
23
24
struct 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
42
static inline struct ath11k_ahb *ath11k_ahb_priv(struct ath11k_base *ab)
43
{
44
return (struct ath11k_ahb *)ab->drv_priv;
45
}
46
#endif
47
48