svn commit: r331043 - in head/sys/dev/rtwn: . rtl8188e rtl8192c rtl8812a

Andriy Voskoboinyk avos at FreeBSD.org
Fri Mar 16 01:03:11 UTC 2018


Author: avos
Date: Fri Mar 16 01:03:10 2018
New Revision: 331043
URL: https://svnweb.freebsd.org/changeset/base/331043

Log:
  rtwn(4): de-hardcode ('h/w rate index' - 'corresponding MCS index') constant

Modified:
  head/sys/dev/rtwn/if_rtwn_ridx.h
  head/sys/dev/rtwn/rtl8188e/r88e_rx.c
  head/sys/dev/rtwn/rtl8192c/r92c_rx.c
  head/sys/dev/rtwn/rtl8812a/r12a_rx.c

Modified: head/sys/dev/rtwn/if_rtwn_ridx.h
==============================================================================
--- head/sys/dev/rtwn/if_rtwn_ridx.h	Fri Mar 16 00:38:10 2018	(r331042)
+++ head/sys/dev/rtwn/if_rtwn_ridx.h	Fri Mar 16 01:03:10 2018	(r331043)
@@ -36,8 +36,10 @@
 #define RTWN_RIDX_OFDM36	9
 #define RTWN_RIDX_OFDM48	10
 #define RTWN_RIDX_OFDM54	11
-#define RTWN_RIDX_HT_MCS(i)	(12 + (i))
 
+#define RTWN_RIDX_HT_MCS_SHIFT	12
+#define RTWN_RIDX_HT_MCS(i)	(RTWN_RIDX_HT_MCS_SHIFT + (i))
+
 #define RTWN_RIDX_COUNT		28
 #define RTWN_RIDX_UNKNOWN	(uint8_t)-1
 
@@ -53,8 +55,7 @@ static __inline uint8_t
 rate2ridx(uint8_t rate)
 {
 	if (rate & IEEE80211_RATE_MCS) {
-		/* 11n rates start at idx 12 */
-		return ((rate & 0xf) + 12);
+		return ((rate & 0xf) + RTWN_RIDX_HT_MCS_SHIFT);
 	}
 	switch (rate) {
 	/* 11g */

Modified: head/sys/dev/rtwn/rtl8188e/r88e_rx.c
==============================================================================
--- head/sys/dev/rtwn/rtl8188e/r88e_rx.c	Fri Mar 16 00:38:10 2018	(r331042)
+++ head/sys/dev/rtwn/rtl8188e/r88e_rx.c	Fri Mar 16 01:03:10 2018	(r331043)
@@ -108,7 +108,8 @@ r88e_ratectl_tx_complete(struct rtwn_softc *sc, uint8_
 		txs.long_retries = ntries;
 		if (rpt->final_rate > RTWN_RIDX_OFDM54) {	/* MCS */
 			txs.final_rate =
-			    (rpt->final_rate - 12) | IEEE80211_RATE_MCS;
+			    rpt->final_rate - RTWN_RIDX_HT_MCS_SHIFT;
+			txs.final_rate |= IEEE80211_RATE_MCS;
 		} else
 			txs.final_rate = ridx2rate[rpt->final_rate];
 		if (rpt->rptb1 & R88E_RPTB1_PKT_OK)

Modified: head/sys/dev/rtwn/rtl8192c/r92c_rx.c
==============================================================================
--- head/sys/dev/rtwn/rtl8192c/r92c_rx.c	Fri Mar 16 00:38:10 2018	(r331042)
+++ head/sys/dev/rtwn/rtl8192c/r92c_rx.c	Fri Mar 16 01:03:10 2018	(r331043)
@@ -140,7 +140,8 @@ r92c_get_rx_stats(struct rtwn_softc *sc, struct ieee80
 		else
 			rxs->c_pktflags |= IEEE80211_RX_F_OFDM;
 	} else {	/* MCS0~15. */
-		rxs->c_rate = IEEE80211_RATE_MCS | (rate - 12);
+		rxs->c_rate =
+		    IEEE80211_RATE_MCS | (rate - RTWN_RIDX_HT_MCS_SHIFT);
 		rxs->c_pktflags |= IEEE80211_RX_F_HT;
 	}
 }

Modified: head/sys/dev/rtwn/rtl8812a/r12a_rx.c
==============================================================================
--- head/sys/dev/rtwn/rtl8812a/r12a_rx.c	Fri Mar 16 00:38:10 2018	(r331042)
+++ head/sys/dev/rtwn/rtl8812a/r12a_rx.c	Fri Mar 16 01:03:10 2018	(r331043)
@@ -115,7 +115,8 @@ r12a_ratectl_tx_complete(struct rtwn_softc *sc, uint8_
 		txs.long_retries = ntries;
 		if (rpt->final_rate > RTWN_RIDX_OFDM54) {	/* MCS */
 			txs.final_rate =
-			    (rpt->final_rate - 12) | IEEE80211_RATE_MCS;
+			    rpt->final_rate - RTWN_RIDX_HT_MCS_SHIFT;
+			txs.final_rate |= IEEE80211_RATE_MCS;
 		} else
 			txs.final_rate = ridx2rate[rpt->final_rate];
 		if (rpt->txrptb0 & R12A_TXRPTB0_RETRY_OVER)
@@ -310,7 +311,8 @@ r12a_get_rx_stats(struct rtwn_softc *sc, struct ieee80
 			rxs->c_pktflags |= IEEE80211_RX_F_OFDM;
 	} else {	/* MCS0~15. */
 		/* TODO: VHT rates */
-		rxs->c_rate = IEEE80211_RATE_MCS | (rate - 12);
+		rxs->c_rate =
+		    IEEE80211_RATE_MCS | (rate - RTWN_RIDX_HT_MCS_SHIFT);
 		rxs->c_pktflags |= IEEE80211_RX_F_HT;
 	}
 


More information about the svn-src-head mailing list