Commit f3dc3ea4 authored by Roland Vossen's avatar Roland Vossen Committed by Greg Kroah-Hartman

staging: brcm80211: replaced struct dot11_rts_frame by struct ieee80211_rts

Code cleanup. Replacing Broadcom specific definitions with Linux counterpart.
Not tested yet.
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarRoland Vossen <rvossen@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d69a1358
...@@ -736,7 +736,7 @@ struct d11txh { ...@@ -736,7 +736,7 @@ struct d11txh {
u16 MaxABytes_FBR; /* 0x2a corerev >=16 */ u16 MaxABytes_FBR; /* 0x2a corerev >=16 */
u16 MinMBytes; /* 0x2b corerev >=16 */ u16 MinMBytes; /* 0x2b corerev >=16 */
u8 RTSPhyHeader[D11_PHY_HDR_LEN]; /* 0x2c - 0x2e */ u8 RTSPhyHeader[D11_PHY_HDR_LEN]; /* 0x2c - 0x2e */
struct dot11_rts_frame rts_frame; /* 0x2f - 0x36 */ struct ieee80211_rts rts_frame; /* 0x2f - 0x36 */
u16 PAD; /* 0x37 */ u16 PAD; /* 0x37 */
} __attribute__((packed)); } __attribute__((packed));
......
...@@ -54,13 +54,6 @@ struct dot11_header { ...@@ -54,13 +54,6 @@ struct dot11_header {
u8 a4[ETH_ALEN]; u8 a4[ETH_ALEN];
} __attribute__((packed)); } __attribute__((packed));
struct dot11_rts_frame {
u16 fc;
u16 durid;
u8 ra[ETH_ALEN];
u8 ta[ETH_ALEN];
} __attribute__((packed));
#define DOT11_RTS_LEN 16 #define DOT11_RTS_LEN 16
#define DOT11_CTS_LEN 10 #define DOT11_CTS_LEN 10
#define DOT11_ACK_LEN 10 #define DOT11_ACK_LEN 10
......
...@@ -519,7 +519,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi, ...@@ -519,7 +519,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi,
ratespec_t rspec = 0, rspec_fallback = 0; ratespec_t rspec = 0, rspec_fallback = 0;
ratespec_t rts_rspec = 0, rts_rspec_fallback = 0; ratespec_t rts_rspec = 0, rts_rspec_fallback = 0;
u16 mimo_ctlchbw = PHY_TXC1_BW_20MHZ; u16 mimo_ctlchbw = PHY_TXC1_BW_20MHZ;
struct dot11_rts_frame *rts; struct ieee80211_rts *rts;
u8 rr_retry_limit; u8 rr_retry_limit;
wlc_fifo_info_t *f; wlc_fifo_info_t *f;
bool fbr_iscck; bool fbr_iscck;
...@@ -639,8 +639,8 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi, ...@@ -639,8 +639,8 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi,
mcl |= (TXC_AMPDU_FIRST << TXC_AMPDU_SHIFT); mcl |= (TXC_AMPDU_FIRST << TXC_AMPDU_SHIFT);
/* refill the bits since might be a retx mpdu */ /* refill the bits since might be a retx mpdu */
mcl |= TXC_STARTMSDU; mcl |= TXC_STARTMSDU;
rts = (struct dot11_rts_frame *)&txh->rts_frame; rts = (struct ieee80211_rts *)&txh->rts_frame;
fc = ltoh16(rts->fc); fc = ltoh16(rts->frame_control);
if ((fc & FC_KIND_MASK) == FC_RTS) { if ((fc & FC_KIND_MASK) == FC_RTS) {
mcl |= TXC_SENDRTS; mcl |= TXC_SENDRTS;
use_rts = true; use_rts = true;
...@@ -837,7 +837,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi, ...@@ -837,7 +837,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi,
/* update RTS dur fields */ /* update RTS dur fields */
if (use_rts || use_cts) { if (use_rts || use_cts) {
u16 durid; u16 durid;
rts = (struct dot11_rts_frame *)&txh->rts_frame; rts = (struct ieee80211_rts *)&txh->rts_frame;
if ((mch & TXC_PREAMBLE_RTS_MAIN_SHORT) == if ((mch & TXC_PREAMBLE_RTS_MAIN_SHORT) ==
TXC_PREAMBLE_RTS_MAIN_SHORT) TXC_PREAMBLE_RTS_MAIN_SHORT)
rts_preamble_type = WLC_SHORT_PREAMBLE; rts_preamble_type = WLC_SHORT_PREAMBLE;
...@@ -851,7 +851,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi, ...@@ -851,7 +851,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi,
rspec, rts_preamble_type, rspec, rts_preamble_type,
preamble_type, ampdu_len, preamble_type, ampdu_len,
true); true);
rts->durid = htol16(durid); rts->duration = htol16(durid);
durid = wlc_compute_rtscts_dur(wlc, use_cts, durid = wlc_compute_rtscts_dur(wlc, use_cts,
rts_rspec_fallback, rts_rspec_fallback,
rspec_fallback, rspec_fallback,
...@@ -860,7 +860,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi, ...@@ -860,7 +860,7 @@ wlc_sendampdu(struct ampdu_info *ampdu, wlc_txq_info_t *qi,
ampdu_len, true); ampdu_len, true);
txh->RTSDurFallback = htol16(durid); txh->RTSDurFallback = htol16(durid);
/* set TxFesTimeNormal */ /* set TxFesTimeNormal */
txh->TxFesTimeNormal = rts->durid; txh->TxFesTimeNormal = rts->duration;
/* set fallback rate version of TxFesTimeNormal */ /* set fallback rate version of TxFesTimeNormal */
txh->TxFesTimeFallback = txh->RTSDurFallback; txh->TxFesTimeFallback = txh->RTSDurFallback;
} }
......
...@@ -1743,7 +1743,7 @@ void *wlc_attach(void *wl, u16 vendor, u16 device, uint unit, bool piomode, ...@@ -1743,7 +1743,7 @@ void *wlc_attach(void *wl, u16 vendor, u16 device, uint unit, bool piomode,
ASSERT(sizeof(d11txh_t) == D11_TXH_LEN); ASSERT(sizeof(d11txh_t) == D11_TXH_LEN);
ASSERT(sizeof(d11rxhdr_t) == RXHDR_LEN); ASSERT(sizeof(d11rxhdr_t) == RXHDR_LEN);
ASSERT(sizeof(struct dot11_header) == DOT11_A4_HDR_LEN); ASSERT(sizeof(struct dot11_header) == DOT11_A4_HDR_LEN);
ASSERT(sizeof(struct dot11_rts_frame) == DOT11_RTS_LEN); ASSERT(sizeof(struct ieee80211_rts) == DOT11_RTS_LEN);
ASSERT(sizeof(struct dot11_management_header) == DOT11_MGMT_HDR_LEN); ASSERT(sizeof(struct dot11_management_header) == DOT11_MGMT_HDR_LEN);
ASSERT(sizeof(struct dot11_bcn_prb) == DOT11_BCN_PRB_LEN); ASSERT(sizeof(struct dot11_bcn_prb) == DOT11_BCN_PRB_LEN);
ASSERT(sizeof(tx_status_t) == TXSTATUS_LEN); ASSERT(sizeof(tx_status_t) == TXSTATUS_LEN);
...@@ -4865,7 +4865,7 @@ void wlc_print_txdesc(d11txh_t *txh) ...@@ -4865,7 +4865,7 @@ void wlc_print_txdesc(d11txh_t *txh)
u16 mmbyte = ltoh16(txh->MinMBytes); u16 mmbyte = ltoh16(txh->MinMBytes);
u8 *rtsph = txh->RTSPhyHeader; u8 *rtsph = txh->RTSPhyHeader;
struct dot11_rts_frame rts = txh->rts_frame; struct ieee80211_rts rts = txh->rts_frame;
char hexbuf[256]; char hexbuf[256];
/* add plcp header along with txh descriptor */ /* add plcp header along with txh descriptor */
...@@ -5674,7 +5674,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw, ...@@ -5674,7 +5674,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
u8 preamble_type[2] = { WLC_LONG_PREAMBLE, WLC_LONG_PREAMBLE }; u8 preamble_type[2] = { WLC_LONG_PREAMBLE, WLC_LONG_PREAMBLE };
u8 rts_preamble_type[2] = { WLC_LONG_PREAMBLE, WLC_LONG_PREAMBLE }; u8 rts_preamble_type[2] = { WLC_LONG_PREAMBLE, WLC_LONG_PREAMBLE };
u8 *rts_plcp, rts_plcp_fallback[D11_PHY_HDR_LEN]; u8 *rts_plcp, rts_plcp_fallback[D11_PHY_HDR_LEN];
struct dot11_rts_frame *rts = NULL; struct ieee80211_rts *rts = NULL;
bool qos; bool qos;
uint ac; uint ac;
u32 rate_val[2]; u32 rate_val[2];
...@@ -6118,12 +6118,12 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw, ...@@ -6118,12 +6118,12 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
sizeof(txh->RTSPLCPFallback)); sizeof(txh->RTSPLCPFallback));
/* RTS frame fields... */ /* RTS frame fields... */
rts = (struct dot11_rts_frame *)&txh->rts_frame; rts = (struct ieee80211_rts *)&txh->rts_frame;
durid = wlc_compute_rtscts_dur(wlc, use_cts, rts_rspec[0], durid = wlc_compute_rtscts_dur(wlc, use_cts, rts_rspec[0],
rspec[0], rts_preamble_type[0], rspec[0], rts_preamble_type[0],
preamble_type[0], phylen, false); preamble_type[0], phylen, false);
rts->durid = htol16(durid); rts->duration = htol16(durid);
/* fallback rate version of RTS DUR field */ /* fallback rate version of RTS DUR field */
durid = wlc_compute_rtscts_dur(wlc, use_cts, durid = wlc_compute_rtscts_dur(wlc, use_cts,
rts_rspec[1], rspec[1], rts_rspec[1], rspec[1],
...@@ -6132,10 +6132,10 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw, ...@@ -6132,10 +6132,10 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
txh->RTSDurFallback = htol16(durid); txh->RTSDurFallback = htol16(durid);
if (use_cts) { if (use_cts) {
rts->fc = htol16(FC_CTS); rts->frame_control = htol16(FC_CTS);
bcopy((char *)&h->a2, (char *)&rts->ra, ETH_ALEN); bcopy((char *)&h->a2, (char *)&rts->ra, ETH_ALEN);
} else { } else {
rts->fc = htol16((u16) FC_RTS); rts->frame_control = htol16((u16) FC_RTS);
bcopy((char *)&h->a1, (char *)&rts->ra, bcopy((char *)&h->a1, (char *)&rts->ra,
2 * ETH_ALEN); 2 * ETH_ALEN);
} }
...@@ -6150,7 +6150,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw, ...@@ -6150,7 +6150,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
} else { } else {
memset((char *)txh->RTSPhyHeader, 0, D11_PHY_HDR_LEN); memset((char *)txh->RTSPhyHeader, 0, D11_PHY_HDR_LEN);
memset((char *)&txh->rts_frame, 0, memset((char *)&txh->rts_frame, 0,
sizeof(struct dot11_rts_frame)); sizeof(struct ieee80211_rts));
memset((char *)txh->RTSPLCPFallback, 0, memset((char *)txh->RTSPLCPFallback, 0,
sizeof(txh->RTSPLCPFallback)); sizeof(txh->RTSPLCPFallback));
txh->RTSDurFallback = 0; txh->RTSDurFallback = 0;
...@@ -6257,7 +6257,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw, ...@@ -6257,7 +6257,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
wlc_calc_cts_time(wlc, rts_rspec[1], wlc_calc_cts_time(wlc, rts_rspec[1],
rts_preamble_type[1]); rts_preamble_type[1]);
/* (SIFS + CTS) + SIFS + frame + SIFS + ACK */ /* (SIFS + CTS) + SIFS + frame + SIFS + ACK */
dur += ltoh16(rts->durid); dur += ltoh16(rts->duration);
dur_fallback += ltoh16(txh->RTSDurFallback); dur_fallback += ltoh16(txh->RTSDurFallback);
} else if (use_rifs) { } else if (use_rifs) {
dur = frag_dur; dur = frag_dur;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment