From d4a1bd480003f3e1a0590bc46fbcb24f05652ca7 Mon Sep 17 00:00:00 2001 From: tzh <tanzhtanzh@gmail.com> Date: Thu, 15 Aug 2024 06:56:47 +0000 Subject: [PATCH] feat(wfit/bt): update aic8800 wifi/bt drive and hal --- longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_defs.h | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 43 insertions(+), 7 deletions(-) diff --git a/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_defs.h b/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_defs.h old mode 100644 new mode 100755 index ac27b83..0efadda --- a/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_defs.h +++ b/longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_defs.h @@ -126,6 +126,13 @@ struct work_struct work; }; +struct apm_probe_sta { + u8 sta_mac_addr[6]; + u8 vif_idx; + u64 probe_id; + struct work_struct apmprobestaWork; + struct workqueue_struct *apmprobesta_wq; +}; /// Possible States of the TDLS link. enum tdls_status_tag { /// TDLS link is not active (no TDLS peer connected) @@ -229,6 +236,7 @@ u8_l key_has_add; u8_l is_p2p_vif; + struct apm_probe_sta sta_probe; }; #define RWNX_VIF_TYPE(rwnx_vif) (rwnx_vif->wdev.iftype) @@ -272,10 +280,8 @@ * @rx_rate: Statistics of the received rates */ struct rwnx_sta_stats { -#ifdef CONFIG_RWNX_DEBUGFS struct hw_vect last_rx; struct rwnx_rx_rate_stats rx_rate; -#endif }; /* @@ -406,6 +412,24 @@ bool limit_bw; }; + +struct defrag_ctrl_info { + struct list_head list; + u8 sta_idx; + u8 tid; + u16 sn; + u8 next_fn; + u16 frm_len; + struct sk_buff *skb; + struct timer_list defrag_timer; +}; + +struct amsdu_subframe_hdr { + u8 da[6]; + u8 sa[6]; + u16 sublen; +}; + struct rwnx_hw { struct rwnx_mod_params *mod_params; struct device *dev; @@ -490,6 +514,23 @@ struct rwnx_vif *p2p_dev_vif; atomic_t p2p_alive_timer_count; bool band_5g_support; + u8_l vendor_info; + bool fwlog_en; + + struct list_head defrag_list; + spinlock_t defrag_lock; + + struct work_struct apmStalossWork; + struct workqueue_struct *apmStaloss_wq; + u8 apm_vif_idx; + u8 sta_mac_addr[6]; + + struct wakeup_source *ws_rx; + struct wakeup_source *ws_tx; + struct wakeup_source *ws_pwrctrl; + + u8 wakeup_enable; + u32 hostwake_irq_num; }; u8 *rwnx_build_bcn(struct rwnx_bcn *bcn, struct cfg80211_beacon_data *new); @@ -512,11 +553,6 @@ } else { return vif->vif_index; } -} - -static inline void *rwnx_get_shared_trace_buf(struct rwnx_hw *rwnx_hw) -{ - return (void *)&(rwnx_hw->debugfs.fw_trace.buf); } void rwnx_external_auth_enable(struct rwnx_vif *vif); -- Gitblit v1.6.2