|
@@ -297,11 +297,44 @@ struct wlcore_peer_ht_operation_mode {
|
|
u8 padding[2];
|
|
u8 padding[2];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * ACX_PEER_CAP
|
|
|
|
+ * this struct is very similar to wl1271_acx_ht_capabilities, with the
|
|
|
|
+ * addition of supported rates
|
|
|
|
+ */
|
|
|
|
+struct wlcore_acx_peer_cap {
|
|
|
|
+ struct acx_header header;
|
|
|
|
+
|
|
|
|
+ /* bitmask of capability bits supported by the peer */
|
|
|
|
+ __le32 ht_capabilites;
|
|
|
|
+
|
|
|
|
+ /* rates supported by the remote peer */
|
|
|
|
+ __le32 supported_rates;
|
|
|
|
+
|
|
|
|
+ /* Indicates to which link these capabilities apply. */
|
|
|
|
+ u8 hlid;
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * This the maximum A-MPDU length supported by the AP. The FW may not
|
|
|
|
+ * exceed this length when sending A-MPDUs
|
|
|
|
+ */
|
|
|
|
+ u8 ampdu_max_length;
|
|
|
|
+
|
|
|
|
+ /* This is the minimal spacing required when sending A-MPDUs to the AP*/
|
|
|
|
+ u8 ampdu_min_spacing;
|
|
|
|
+
|
|
|
|
+ u8 padding;
|
|
|
|
+} __packed;
|
|
|
|
+
|
|
int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
|
|
int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
|
|
u32 sdio_blk_size, u32 extra_mem_blks,
|
|
u32 sdio_blk_size, u32 extra_mem_blks,
|
|
u32 len_field_size);
|
|
u32 len_field_size);
|
|
int wl18xx_acx_set_checksum_state(struct wl1271 *wl);
|
|
int wl18xx_acx_set_checksum_state(struct wl1271 *wl);
|
|
int wl18xx_acx_clear_statistics(struct wl1271 *wl);
|
|
int wl18xx_acx_clear_statistics(struct wl1271 *wl);
|
|
int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide);
|
|
int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide);
|
|
|
|
+int wl18xx_acx_set_peer_cap(struct wl1271 *wl,
|
|
|
|
+ struct ieee80211_sta_ht_cap *ht_cap,
|
|
|
|
+ bool allow_ht_operation,
|
|
|
|
+ u32 rate_set, u8 hlid);
|
|
|
|
|
|
#endif /* __WL18XX_ACX_H__ */
|
|
#endif /* __WL18XX_ACX_H__ */
|