.maps[RTL_IMR_ROK] = IMR_ROK,
        .maps[RTL_IBSS_INT_MASKS] = (IMR_BCNINT | IMR_TBDOK | IMR_TBDER),
 
-       .maps[RTL_RC_CCK_RATE1M] = DESC92C_RATE1M,
-       .maps[RTL_RC_CCK_RATE2M] = DESC92C_RATE2M,
-       .maps[RTL_RC_CCK_RATE5_5M] = DESC92C_RATE5_5M,
-       .maps[RTL_RC_CCK_RATE11M] = DESC92C_RATE11M,
-       .maps[RTL_RC_OFDM_RATE6M] = DESC92C_RATE6M,
-       .maps[RTL_RC_OFDM_RATE9M] = DESC92C_RATE9M,
-       .maps[RTL_RC_OFDM_RATE12M] = DESC92C_RATE12M,
-       .maps[RTL_RC_OFDM_RATE18M] = DESC92C_RATE18M,
-       .maps[RTL_RC_OFDM_RATE24M] = DESC92C_RATE24M,
-       .maps[RTL_RC_OFDM_RATE36M] = DESC92C_RATE36M,
-       .maps[RTL_RC_OFDM_RATE48M] = DESC92C_RATE48M,
-       .maps[RTL_RC_OFDM_RATE54M] = DESC92C_RATE54M,
-
-       .maps[RTL_RC_HT_RATEMCS7] = DESC92C_RATEMCS7,
-       .maps[RTL_RC_HT_RATEMCS15] = DESC92C_RATEMCS15,
+       .maps[RTL_RC_CCK_RATE1M] = DESC92_RATE1M,
+       .maps[RTL_RC_CCK_RATE2M] = DESC92_RATE2M,
+       .maps[RTL_RC_CCK_RATE5_5M] = DESC92_RATE5_5M,
+       .maps[RTL_RC_CCK_RATE11M] = DESC92_RATE11M,
+       .maps[RTL_RC_OFDM_RATE6M] = DESC92_RATE6M,
+       .maps[RTL_RC_OFDM_RATE9M] = DESC92_RATE9M,
+       .maps[RTL_RC_OFDM_RATE12M] = DESC92_RATE12M,
+       .maps[RTL_RC_OFDM_RATE18M] = DESC92_RATE18M,
+       .maps[RTL_RC_OFDM_RATE24M] = DESC92_RATE24M,
+       .maps[RTL_RC_OFDM_RATE36M] = DESC92_RATE36M,
+       .maps[RTL_RC_OFDM_RATE48M] = DESC92_RATE48M,
+       .maps[RTL_RC_OFDM_RATE54M] = DESC92_RATE54M,
+
+       .maps[RTL_RC_HT_RATEMCS7] = DESC92_RATEMCS7,
+       .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15,
 };
 
 DEFINE_PCI_DEVICE_TABLE(rtl92ce_pci_ids) = {
 
        return skb->priority;
 }
 
-static int _rtl92ce_rate_mapping(bool isht, u8 desc_rate, bool first_ampdu)
-{
-       int rate_idx;
-
-       if (first_ampdu) {
-               if (false == isht) {
-                       switch (desc_rate) {
-                       case DESC92C_RATE1M:
-                               rate_idx = 0;
-                               break;
-                       case DESC92C_RATE2M:
-                               rate_idx = 1;
-                               break;
-                       case DESC92C_RATE5_5M:
-                               rate_idx = 2;
-                               break;
-                       case DESC92C_RATE11M:
-                               rate_idx = 3;
-                               break;
-                       case DESC92C_RATE6M:
-                               rate_idx = 4;
-                               break;
-                       case DESC92C_RATE9M:
-                               rate_idx = 5;
-                               break;
-                       case DESC92C_RATE12M:
-                               rate_idx = 6;
-                               break;
-                       case DESC92C_RATE18M:
-                               rate_idx = 7;
-                               break;
-                       case DESC92C_RATE24M:
-                               rate_idx = 8;
-                               break;
-                       case DESC92C_RATE36M:
-                               rate_idx = 9;
-                               break;
-                       case DESC92C_RATE48M:
-                               rate_idx = 10;
-                               break;
-                       case DESC92C_RATE54M:
-                               rate_idx = 11;
-                               break;
-                       default:
-                               rate_idx = 0;
-                               break;
-                       }
-               } else {
-                       rate_idx = 11;
-               }
-
-               return rate_idx;
-       }
-
-       switch (desc_rate) {
-       case DESC92C_RATE1M:
-               rate_idx = 0;
-               break;
-       case DESC92C_RATE2M:
-               rate_idx = 1;
-               break;
-       case DESC92C_RATE5_5M:
-               rate_idx = 2;
-               break;
-       case DESC92C_RATE11M:
-               rate_idx = 3;
-               break;
-       case DESC92C_RATE6M:
-               rate_idx = 4;
-               break;
-       case DESC92C_RATE9M:
-               rate_idx = 5;
-               break;
-       case DESC92C_RATE12M:
-               rate_idx = 6;
-               break;
-       case DESC92C_RATE18M:
-               rate_idx = 7;
-               break;
-       case DESC92C_RATE24M:
-               rate_idx = 8;
-               break;
-       case DESC92C_RATE36M:
-               rate_idx = 9;
-               break;
-       case DESC92C_RATE48M:
-               rate_idx = 10;
-               break;
-       case DESC92C_RATE54M:
-               rate_idx = 11;
-               break;
-       default:
-               rate_idx = 11;
-               break;
-       }
-       return rate_idx;
-}
-
 static u8 _rtl92c_query_rxpwrpercentage(char antpower)
 {
        if ((antpower <= -100) || (antpower >= 20))
                pstats->rxpower = rx_pwr_all;
                pstats->recvsignalpower = rx_pwr_all;
 
-               if (pdesc->rxht && pdesc->rxmcs >= DESC92C_RATEMCS8 &&
-                   pdesc->rxmcs <= DESC92C_RATEMCS15)
+               if (pdesc->rxht && pdesc->rxmcs >= DESC92_RATEMCS8 &&
+                   pdesc->rxmcs <= DESC92_RATEMCS15)
                        max_spatial_stream = 2;
                else
                        max_spatial_stream = 1;
        if (stats->decrypted)
                rx_status->flag |= RX_FLAG_DECRYPTED;
 
-       rx_status->rate_idx = _rtl92ce_rate_mapping((bool)
-                                                   GET_RX_DESC_RXHT(pdesc),
-                                                   (u8)
-                                                   GET_RX_DESC_RXMCS(pdesc),
-                                                   (bool)
-                                                   GET_RX_DESC_PAGGR(pdesc));
+       rx_status->rate_idx = rtlwifi_rate_mapping(hw,
+                               (bool)GET_RX_DESC_RXHT(pdesc),
+                               (u8)GET_RX_DESC_RXMCS(pdesc),
+                               (bool)GET_RX_DESC_PAGGR(pdesc));
 
        rx_status->mactime = GET_RX_DESC_TSFL(pdesc);
        if (phystatus) {
                SET_TX_DESC_RTS_BW(pdesc, 0);
                SET_TX_DESC_RTS_SC(pdesc, tcb_desc->rts_sc);
                SET_TX_DESC_RTS_SHORT(pdesc,
-                                     ((tcb_desc->rts_rate <= DESC92C_RATE54M) ?
+                                     ((tcb_desc->rts_rate <= DESC92_RATE54M) ?
                                       (tcb_desc->rts_use_shortpreamble ? 1 : 0)
                                       : (tcb_desc->rts_use_shortgi ? 1 : 0)));
 
        if (firstseg)
                SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN);
 
-       SET_TX_DESC_TX_RATE(pdesc, DESC92C_RATE1M);
+       SET_TX_DESC_TX_RATE(pdesc, DESC92_RATE1M);
 
        SET_TX_DESC_SEQ(pdesc, 0);
 
 
 } while (0);
 
 #define RX_HAL_IS_CCK_RATE(_pdesc)\
-       (_pdesc->rxmcs == DESC92C_RATE1M ||             \
-        _pdesc->rxmcs == DESC92C_RATE2M ||             \
-        _pdesc->rxmcs == DESC92C_RATE5_5M ||           \
-        _pdesc->rxmcs == DESC92C_RATE11M)
+       (_pdesc->rxmcs == DESC92_RATE1M ||              \
+        _pdesc->rxmcs == DESC92_RATE2M ||              \
+        _pdesc->rxmcs == DESC92_RATE5_5M ||            \
+        _pdesc->rxmcs == DESC92_RATE11M)
 
 struct rx_fwinfo_92c {
        u8 gain_trsw[4];