Skip to content

Commit

Permalink
staging: brcm80211: store HT operation mode settings from mac80211
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Arend van Spriel authored and Greg Kroah-Hartman committed Feb 18, 2011
1 parent d8a1fb4 commit e0caf15
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 15 deletions.
8 changes: 7 additions & 1 deletion drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
14 changes: 0 additions & 14 deletions drivers/staging/brcm80211/brcmsmac/wlc_mac80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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);

Expand Down
14 changes: 14 additions & 0 deletions drivers/staging/brcm80211/brcmsmac/wlc_pub.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit e0caf15

Please sign in to comment.