brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 415ddfd Raw
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