mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
staging: brcm80211: store HT operation mode settings from mac80211
The HT operation mode is provided by mac80211 and they are now stored in the driver. Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Brett Rudley <brudley@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
d8a1fb44ab
commit
e0caf15007
@ -357,7 +357,13 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw,
|
||||
if (changed & BSS_CHANGED_HT) {
|
||||
/* 802.11n parameters changed */
|
||||
u16 mode = info->ht_operation_mode;
|
||||
WL_NONE("%s: HT mode: 0x%04X (implement)\n", __func__, mode);
|
||||
WL_NONE("%s: HT mode: 0x%04X\n", __func__, mode);
|
||||
wlc_protection_upd(wl->wlc, WLC_PROT_N_CFG,
|
||||
mode & IEEE80211_HT_OP_MODE_PROTECTION);
|
||||
wlc_protection_upd(wl->wlc, WLC_PROT_N_NONGF,
|
||||
mode & IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT);
|
||||
wlc_protection_upd(wl->wlc, WLC_PROT_N_OBSS,
|
||||
mode & IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT);
|
||||
}
|
||||
if (changed & BSS_CHANGED_BASIC_RATES) {
|
||||
/* Basic rateset changed */
|
||||
|
@ -29,19 +29,6 @@
|
||||
#define MAXCOREREV 28 /* max # supported core revisions (0 .. MAXCOREREV - 1) */
|
||||
#define WLC_MAXMODULES 22 /* max # wlc_module_register() calls */
|
||||
|
||||
/* network protection config */
|
||||
#define WLC_PROT_G_SPEC 1 /* SPEC g protection */
|
||||
#define WLC_PROT_G_OVR 2 /* SPEC g prot override */
|
||||
#define WLC_PROT_G_USER 3 /* gmode specified by user */
|
||||
#define WLC_PROT_OVERLAP 4 /* overlap */
|
||||
#define WLC_PROT_N_USER 10 /* nmode specified by user */
|
||||
#define WLC_PROT_N_CFG 11 /* n protection */
|
||||
#define WLC_PROT_N_CFG_OVR 12 /* n protection override */
|
||||
#define WLC_PROT_N_NONGF 13 /* non-GF protection */
|
||||
#define WLC_PROT_N_NONGF_OVR 14 /* non-GF protection override */
|
||||
#define WLC_PROT_N_PAM_OVR 15 /* n preamble override */
|
||||
#define WLC_PROT_N_OBSS 16 /* non-HT OBSS present */
|
||||
|
||||
#define WLC_BITSCNT(x) bcm_bitcount((u8 *)&(x), sizeof(u8))
|
||||
|
||||
/* Maximum wait time for a MAC suspend */
|
||||
@ -847,7 +834,6 @@ extern void wlc_set_cwmax(struct wlc_info *wlc, u16 newmax);
|
||||
extern void wlc_fifoerrors(struct wlc_info *wlc);
|
||||
extern void wlc_pllreq(struct wlc_info *wlc, bool set, mbool req_bit);
|
||||
extern void wlc_reset_bmac_done(struct wlc_info *wlc);
|
||||
extern void wlc_protection_upd(struct wlc_info *wlc, uint idx, int val);
|
||||
extern void wlc_hwtimer_gptimer_set(struct wlc_info *wlc, uint us);
|
||||
extern void wlc_hwtimer_gptimer_abort(struct wlc_info *wlc);
|
||||
|
||||
|
@ -481,6 +481,19 @@ extern const u8 wme_fifo2ac[];
|
||||
#define WLC_USE_COREFLAGS 0xffffffff /* invalid core flags, use the saved coreflags */
|
||||
|
||||
|
||||
/* network protection config */
|
||||
#define WLC_PROT_G_SPEC 1 /* SPEC g protection */
|
||||
#define WLC_PROT_G_OVR 2 /* SPEC g prot override */
|
||||
#define WLC_PROT_G_USER 3 /* gmode specified by user */
|
||||
#define WLC_PROT_OVERLAP 4 /* overlap */
|
||||
#define WLC_PROT_N_USER 10 /* nmode specified by user */
|
||||
#define WLC_PROT_N_CFG 11 /* n protection */
|
||||
#define WLC_PROT_N_CFG_OVR 12 /* n protection override */
|
||||
#define WLC_PROT_N_NONGF 13 /* non-GF protection */
|
||||
#define WLC_PROT_N_NONGF_OVR 14 /* non-GF protection override */
|
||||
#define WLC_PROT_N_PAM_OVR 15 /* n preamble override */
|
||||
#define WLC_PROT_N_OBSS 16 /* non-HT OBSS present */
|
||||
|
||||
/* common functions for every port */
|
||||
extern void *wlc_attach(void *wl, u16 vendor, u16 device, uint unit,
|
||||
bool piomode, struct osl_info *osh, void *regsva,
|
||||
@ -514,6 +527,7 @@ extern int wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||
struct wlc_if *wlcif);
|
||||
/* helper functions */
|
||||
extern void wlc_statsupd(struct wlc_info *wlc);
|
||||
extern void wlc_protection_upd(struct wlc_info *wlc, uint idx, int val);
|
||||
extern int wlc_get_header_len(void);
|
||||
extern void wlc_mac_bcn_promisc_change(struct wlc_info *wlc, bool promisc);
|
||||
extern void wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
|
||||
|
Loading…
x
Reference in New Issue
Block a user