Add support for WoW on WCN6750 chipset. Unlike other chips where WoW exit happens after sending WoW wakeup WMI command, exit from WoW suspend in the case of WCN6750 happens upon sending a WoW exit SMP2P (Shared memory point to point) message to the firmware. Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1 Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20220902112520.24804-3-quic_mpubbise@quicinc.com
47 lines
1.0 KiB
C
47 lines
1.0 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
|
|
/*
|
|
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
|
|
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
#ifndef ATH11K_AHB_H
|
|
#define ATH11K_AHB_H
|
|
|
|
#include "core.h"
|
|
|
|
#define ATH11K_AHB_RECOVERY_TIMEOUT (3 * HZ)
|
|
|
|
#define ATH11K_AHB_SMP2P_SMEM_MSG GENMASK(15, 0)
|
|
#define ATH11K_AHB_SMP2P_SMEM_SEQ_NO GENMASK(31, 16)
|
|
#define ATH11K_AHB_SMP2P_SMEM_VALUE_MASK 0xFFFFFFFF
|
|
|
|
enum ath11k_ahb_smp2p_msg_id {
|
|
ATH11K_AHB_POWER_SAVE_ENTER = 1,
|
|
ATH11K_AHB_POWER_SAVE_EXIT,
|
|
};
|
|
|
|
struct ath11k_base;
|
|
|
|
struct ath11k_ahb {
|
|
struct rproc *tgt_rproc;
|
|
struct {
|
|
struct device *dev;
|
|
struct iommu_domain *iommu_domain;
|
|
dma_addr_t msa_paddr;
|
|
u32 msa_size;
|
|
dma_addr_t ce_paddr;
|
|
u32 ce_size;
|
|
bool use_tz;
|
|
} fw;
|
|
struct {
|
|
unsigned short seq_no;
|
|
unsigned int smem_bit;
|
|
struct qcom_smem_state *smem_state;
|
|
} smp2p_info;
|
|
};
|
|
|
|
static inline struct ath11k_ahb *ath11k_ahb_priv(struct ath11k_base *ab)
|
|
{
|
|
return (struct ath11k_ahb *)ab->drv_priv;
|
|
}
|
|
#endif
|