Page MenuHomeFreeBSD

D48098.diff
No OneTemporary

D48098.diff

diff --git a/sys/dev/rtwn/if_rtwn_ridx.h b/sys/dev/rtwn/if_rtwn_ridx.h
--- a/sys/dev/rtwn/if_rtwn_ridx.h
+++ b/sys/dev/rtwn/if_rtwn_ridx.h
@@ -82,20 +82,22 @@
}
switch (rate) {
/* 11g */
- case 12: return 4;
- case 18: return 5;
- case 24: return 6;
- case 36: return 7;
- case 48: return 8;
- case 72: return 9;
- case 96: return 10;
- case 108: return 11;
+ case 12: return (RTWN_RIDX_OFDM6);
+ case 18: return (RTWN_RIDX_OFDM9);
+ case 24: return (RTWN_RIDX_OFDM12);
+ case 36: return (RTWN_RIDX_OFDM18);
+ case 48: return (RTWN_RIDX_OFDM24);
+ case 72: return (RTWN_RIDX_OFDM36);
+ case 96: return (RTWN_RIDX_OFDM48);
+ case 108: return (RTWN_RIDX_OFDM54);
/* 11b */
- case 2: return 0;
- case 4: return 1;
- case 11: return 2;
- case 22: return 3;
- default: return RTWN_RIDX_UNKNOWN;
+ case 2: return (RTWN_RIDX_CCK1);
+ case 4: return (RTWN_RIDX_CCK2);
+ case 11: return (RTWN_RIDX_CCK55);
+ case 22: return (RTWN_RIDX_CCK11);
+ default:
+ printf("%s: called; unknown rate (%d)\n", __func__, rate);
+ return (RTWN_RIDX_UNKNOWN);
}
}
@@ -108,10 +110,23 @@
/* Check if we are using MCS rate. */
KASSERT(RTWN_RATE_IS_HT(ridx), ("bad mcs rate index %d", ridx));
- rate = (ridx - RTWN_RIDX_HT_MCS(0)) | IEEE80211_RATE_MCS;
+ rate = RTWN_RIDX_TO_MCS(ridx) | IEEE80211_RATE_MCS;
cix = rt->info[rt->rateCodeToIndex[rate]].ctlRateIndex;
KASSERT(cix != (uint8_t)-1, ("rate %d (%d) has no info", rate, ridx));
- return rt->info[cix].dot11Rate;
+ return (rt->info[cix].dot11Rate);
+}
+
+/* VHT version of rtwn_ctl_mcsrate */
+/* XXX TODO: also should move this to net80211 */
+static __inline__ uint8_t
+rtwn_ctl_vhtrate(const struct ieee80211_rate_table *rt, uint8_t ridx)
+{
+
+ /* Check if we are using VHT MCS rate. */
+ KASSERT(RTWN_RATE_IS_VHT(ridx), ("bad mcs rate index %d", ridx));
+
+ /* TODO: there's no VHT tables, so for now just stick to OFDM12 */
+ return (24);
}
#endif /* IF_RTWN_RIDX_H */

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 10, 11:58 PM (8 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15647169
Default Alt Text
D48098.diff (1 KB)

Event Timeline