forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/drivers/net/wireless/rsi/rsi_mgmt.h
....@@ -228,6 +228,9 @@
228228 #define RSI_MAX_TX_AGGR_FRMS 8
229229 #define RSI_MAX_RX_AGGR_FRMS 8
230230
231
+#define RSI_MAX_SCAN_SSIDS 16
232
+#define RSI_MAX_SCAN_IE_LEN 256
233
+
231234 enum opmode {
232235 RSI_OPMODE_UNSUPPORTED = -1,
233236 RSI_OPMODE_AP = 0,
....@@ -291,6 +294,7 @@
291294 COMMON_DEV_CONFIG = 0x28,
292295 RADIO_PARAMS_UPDATE = 0x29,
293296 WOWLAN_CONFIG_PARAMS = 0x2B,
297
+ FEATURES_ENABLE = 0x33,
294298 WOWLAN_WAKEUP_REASON = 0xc5
295299 };
296300
....@@ -346,6 +350,15 @@
346350 struct rsi_boot_params {
347351 __le16 desc_word[8];
348352 struct bootup_params bootup_params;
353
+} __packed;
354
+
355
+struct rsi_boot_params_9116 {
356
+ struct rsi_cmd_desc_dword0 desc_dword0;
357
+ struct rsi_cmd_desc_dword1 desc_dword1;
358
+ struct rsi_cmd_desc_dword2 desc_dword2;
359
+ __le16 reserved;
360
+ __le16 umac_clk;
361
+ struct bootup_params_9116 bootup_params;
349362 } __packed;
350363
351364 struct rsi_peer_notify {
....@@ -623,6 +636,50 @@
623636 u16 host_sleep_status;
624637 } __packed;
625638
639
+#define RSI_START_BGSCAN 1
640
+#define RSI_STOP_BGSCAN 0
641
+#define HOST_BG_SCAN_TRIG BIT(4)
642
+struct rsi_bgscan_config {
643
+ struct rsi_cmd_desc_dword0 desc_dword0;
644
+ __le64 reserved;
645
+ __le32 reserved1;
646
+ __le16 bgscan_threshold;
647
+ __le16 roam_threshold;
648
+ __le16 bgscan_periodicity;
649
+ u8 num_bgscan_channels;
650
+ u8 two_probe;
651
+ __le16 active_scan_duration;
652
+ __le16 passive_scan_duration;
653
+ __le16 channels2scan[MAX_BGSCAN_CHANNELS_DUAL_BAND];
654
+} __packed;
655
+
656
+struct rsi_bgscan_probe {
657
+ struct rsi_cmd_desc_dword0 desc_dword0;
658
+ __le64 reserved;
659
+ __le32 reserved1;
660
+ __le16 mgmt_rate;
661
+ __le16 flags;
662
+ __le16 def_chan;
663
+ __le16 channel_scan_time;
664
+ __le16 probe_req_length;
665
+} __packed;
666
+
667
+#define RSI_DUTY_CYCLING BIT(0)
668
+#define RSI_END_OF_FRAME BIT(1)
669
+#define RSI_SIFS_TX_ENABLE BIT(2)
670
+#define RSI_DPD BIT(3)
671
+struct rsi_wlan_9116_features {
672
+ struct rsi_cmd_desc desc;
673
+ u8 pll_mode;
674
+ u8 rf_type;
675
+ u8 wireless_mode;
676
+ u8 enable_ppe;
677
+ u8 afe_type;
678
+ u8 reserved1;
679
+ __le16 reserved2;
680
+ __le32 feature_enable;
681
+};
682
+
626683 static inline u32 rsi_get_queueno(u8 *addr, u16 offset)
627684 {
628685 return (le16_to_cpu(*(__le16 *)&addr[offset]) & 0x7000) >> 12;
....@@ -694,4 +751,8 @@
694751 #endif
695752 int rsi_send_ps_request(struct rsi_hw *adapter, bool enable,
696753 struct ieee80211_vif *vif);
754
+void init_bgscan_params(struct rsi_common *common);
755
+int rsi_send_bgscan_params(struct rsi_common *common, int enable);
756
+int rsi_send_bgscan_probe_req(struct rsi_common *common,
757
+ struct ieee80211_vif *vif);
697758 #endif