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;
        }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to