aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2011-08-22 17:50:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-24 14:57:19 -0400
commit78851b66b1f4c00fe324d53ae55dbf5bf9a02e27 (patch)
tree59f0ff494b8172b4755bb10b3f457dd93b532ff7
parent7ad0ce3576edb2ea65bd5c93a83c4a6afaa1dd76 (diff)
rtlwifi: rtl8192ce: Convert to use the new rate-mapping routine in rtlwifi
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Chaoming Li <chaoming_li@realsil.com.cn> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192ce/sw.c30
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192ce/trx.c116
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192ce/trx.h8
3 files changed, 27 insertions, 127 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
index 373dc78af1dc..4c34c4c1ae56 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
@@ -318,21 +318,21 @@ static struct rtl_hal_cfg rtl92ce_hal_cfg = {
318 .maps[RTL_IMR_ROK] = IMR_ROK, 318 .maps[RTL_IMR_ROK] = IMR_ROK,
319 .maps[RTL_IBSS_INT_MASKS] = (IMR_BCNINT | IMR_TBDOK | IMR_TBDER), 319 .maps[RTL_IBSS_INT_MASKS] = (IMR_BCNINT | IMR_TBDOK | IMR_TBDER),
320 320
321 .maps[RTL_RC_CCK_RATE1M] = DESC92C_RATE1M, 321 .maps[RTL_RC_CCK_RATE1M] = DESC92_RATE1M,
322 .maps[RTL_RC_CCK_RATE2M] = DESC92C_RATE2M, 322 .maps[RTL_RC_CCK_RATE2M] = DESC92_RATE2M,
323 .maps[RTL_RC_CCK_RATE5_5M] = DESC92C_RATE5_5M, 323 .maps[RTL_RC_CCK_RATE5_5M] = DESC92_RATE5_5M,
324 .maps[RTL_RC_CCK_RATE11M] = DESC92C_RATE11M, 324 .maps[RTL_RC_CCK_RATE11M] = DESC92_RATE11M,
325 .maps[RTL_RC_OFDM_RATE6M] = DESC92C_RATE6M, 325 .maps[RTL_RC_OFDM_RATE6M] = DESC92_RATE6M,
326 .maps[RTL_RC_OFDM_RATE9M] = DESC92C_RATE9M, 326 .maps[RTL_RC_OFDM_RATE9M] = DESC92_RATE9M,
327 .maps[RTL_RC_OFDM_RATE12M] = DESC92C_RATE12M, 327 .maps[RTL_RC_OFDM_RATE12M] = DESC92_RATE12M,
328 .maps[RTL_RC_OFDM_RATE18M] = DESC92C_RATE18M, 328 .maps[RTL_RC_OFDM_RATE18M] = DESC92_RATE18M,
329 .maps[RTL_RC_OFDM_RATE24M] = DESC92C_RATE24M, 329 .maps[RTL_RC_OFDM_RATE24M] = DESC92_RATE24M,
330 .maps[RTL_RC_OFDM_RATE36M] = DESC92C_RATE36M, 330 .maps[RTL_RC_OFDM_RATE36M] = DESC92_RATE36M,
331 .maps[RTL_RC_OFDM_RATE48M] = DESC92C_RATE48M, 331 .maps[RTL_RC_OFDM_RATE48M] = DESC92_RATE48M,
332 .maps[RTL_RC_OFDM_RATE54M] = DESC92C_RATE54M, 332 .maps[RTL_RC_OFDM_RATE54M] = DESC92_RATE54M,
333 333
334 .maps[RTL_RC_HT_RATEMCS7] = DESC92C_RATEMCS7, 334 .maps[RTL_RC_HT_RATEMCS7] = DESC92_RATEMCS7,
335 .maps[RTL_RC_HT_RATEMCS15] = DESC92C_RATEMCS15, 335 .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15,
336}; 336};
337 337
338DEFINE_PCI_DEVICE_TABLE(rtl92ce_pci_ids) = { 338DEFINE_PCI_DEVICE_TABLE(rtl92ce_pci_ids) = {
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
index 230bbe900d8d..4fb5ae24dee0 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
@@ -48,104 +48,6 @@ static u8 _rtl92ce_map_hwqueue_to_fwqueue(struct sk_buff *skb, u8 hw_queue)
48 return skb->priority; 48 return skb->priority;
49} 49}
50 50
51static int _rtl92ce_rate_mapping(bool isht, u8 desc_rate, bool first_ampdu)
52{
53 int rate_idx;
54
55 if (first_ampdu) {
56 if (false == isht) {
57 switch (desc_rate) {
58 case DESC92C_RATE1M:
59 rate_idx = 0;
60 break;
61 case DESC92C_RATE2M:
62 rate_idx = 1;
63 break;
64 case DESC92C_RATE5_5M:
65 rate_idx = 2;
66 break;
67 case DESC92C_RATE11M:
68 rate_idx = 3;
69 break;
70 case DESC92C_RATE6M:
71 rate_idx = 4;
72 break;
73 case DESC92C_RATE9M:
74 rate_idx = 5;
75 break;
76 case DESC92C_RATE12M:
77 rate_idx = 6;
78 break;
79 case DESC92C_RATE18M:
80 rate_idx = 7;
81 break;
82 case DESC92C_RATE24M:
83 rate_idx = 8;
84 break;
85 case DESC92C_RATE36M:
86 rate_idx = 9;
87 break;
88 case DESC92C_RATE48M:
89 rate_idx = 10;
90 break;
91 case DESC92C_RATE54M:
92 rate_idx = 11;
93 break;
94 default:
95 rate_idx = 0;
96 break;
97 }
98 } else {
99 rate_idx = 11;
100 }
101
102 return rate_idx;
103 }
104
105 switch (desc_rate) {
106 case DESC92C_RATE1M:
107 rate_idx = 0;
108 break;
109 case DESC92C_RATE2M:
110 rate_idx = 1;
111 break;
112 case DESC92C_RATE5_5M:
113 rate_idx = 2;
114 break;
115 case DESC92C_RATE11M:
116 rate_idx = 3;
117 break;
118 case DESC92C_RATE6M:
119 rate_idx = 4;
120 break;
121 case DESC92C_RATE9M:
122 rate_idx = 5;
123 break;
124 case DESC92C_RATE12M:
125 rate_idx = 6;
126 break;
127 case DESC92C_RATE18M:
128 rate_idx = 7;
129 break;
130 case DESC92C_RATE24M:
131 rate_idx = 8;
132 break;
133 case DESC92C_RATE36M:
134 rate_idx = 9;
135 break;
136 case DESC92C_RATE48M:
137 rate_idx = 10;
138 break;
139 case DESC92C_RATE54M:
140 rate_idx = 11;
141 break;
142 default:
143 rate_idx = 11;
144 break;
145 }
146 return rate_idx;
147}
148
149static u8 _rtl92c_query_rxpwrpercentage(char antpower) 51static u8 _rtl92c_query_rxpwrpercentage(char antpower)
150{ 52{
151 if ((antpower <= -100) || (antpower >= 20)) 53 if ((antpower <= -100) || (antpower >= 20))
@@ -336,8 +238,8 @@ static void _rtl92ce_query_rxphystatus(struct ieee80211_hw *hw,
336 pstats->rxpower = rx_pwr_all; 238 pstats->rxpower = rx_pwr_all;
337 pstats->recvsignalpower = rx_pwr_all; 239 pstats->recvsignalpower = rx_pwr_all;
338 240
339 if (pdesc->rxht && pdesc->rxmcs >= DESC92C_RATEMCS8 && 241 if (pdesc->rxht && pdesc->rxmcs >= DESC92_RATEMCS8 &&
340 pdesc->rxmcs <= DESC92C_RATEMCS15) 242 pdesc->rxmcs <= DESC92_RATEMCS15)
341 max_spatial_stream = 2; 243 max_spatial_stream = 2;
342 else 244 else
343 max_spatial_stream = 1; 245 max_spatial_stream = 1;
@@ -670,12 +572,10 @@ bool rtl92ce_rx_query_desc(struct ieee80211_hw *hw,
670 if (stats->decrypted) 572 if (stats->decrypted)
671 rx_status->flag |= RX_FLAG_DECRYPTED; 573 rx_status->flag |= RX_FLAG_DECRYPTED;
672 574
673 rx_status->rate_idx = _rtl92ce_rate_mapping((bool) 575 rx_status->rate_idx = rtlwifi_rate_mapping(hw,
674 GET_RX_DESC_RXHT(pdesc), 576 (bool)GET_RX_DESC_RXHT(pdesc),
675 (u8) 577 (u8)GET_RX_DESC_RXMCS(pdesc),
676 GET_RX_DESC_RXMCS(pdesc), 578 (bool)GET_RX_DESC_PAGGR(pdesc));
677 (bool)
678 GET_RX_DESC_PAGGR(pdesc));
679 579
680 rx_status->mactime = GET_RX_DESC_TSFL(pdesc); 580 rx_status->mactime = GET_RX_DESC_TSFL(pdesc);
681 if (phystatus) { 581 if (phystatus) {
@@ -768,7 +668,7 @@ void rtl92ce_tx_fill_desc(struct ieee80211_hw *hw,
768 SET_TX_DESC_RTS_BW(pdesc, 0); 668 SET_TX_DESC_RTS_BW(pdesc, 0);
769 SET_TX_DESC_RTS_SC(pdesc, tcb_desc->rts_sc); 669 SET_TX_DESC_RTS_SC(pdesc, tcb_desc->rts_sc);
770 SET_TX_DESC_RTS_SHORT(pdesc, 670 SET_TX_DESC_RTS_SHORT(pdesc,
771 ((tcb_desc->rts_rate <= DESC92C_RATE54M) ? 671 ((tcb_desc->rts_rate <= DESC92_RATE54M) ?
772 (tcb_desc->rts_use_shortpreamble ? 1 : 0) 672 (tcb_desc->rts_use_shortpreamble ? 1 : 0)
773 : (tcb_desc->rts_use_shortgi ? 1 : 0))); 673 : (tcb_desc->rts_use_shortgi ? 1 : 0)));
774 674
@@ -886,7 +786,7 @@ void rtl92ce_tx_fill_cmddesc(struct ieee80211_hw *hw,
886 if (firstseg) 786 if (firstseg)
887 SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN); 787 SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN);
888 788
889 SET_TX_DESC_TX_RATE(pdesc, DESC92C_RATE1M); 789 SET_TX_DESC_TX_RATE(pdesc, DESC92_RATE1M);
890 790
891 SET_TX_DESC_SEQ(pdesc, 0); 791 SET_TX_DESC_SEQ(pdesc, 0);
892 792
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.h b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.h
index 0f1177137501..81ae64234f80 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.h
@@ -538,10 +538,10 @@ do { \
538} while (0); 538} while (0);
539 539
540#define RX_HAL_IS_CCK_RATE(_pdesc)\ 540#define RX_HAL_IS_CCK_RATE(_pdesc)\
541 (_pdesc->rxmcs == DESC92C_RATE1M || \ 541 (_pdesc->rxmcs == DESC92_RATE1M || \
542 _pdesc->rxmcs == DESC92C_RATE2M || \ 542 _pdesc->rxmcs == DESC92_RATE2M || \
543 _pdesc->rxmcs == DESC92C_RATE5_5M || \ 543 _pdesc->rxmcs == DESC92_RATE5_5M || \
544 _pdesc->rxmcs == DESC92C_RATE11M) 544 _pdesc->rxmcs == DESC92_RATE11M)
545 545
546struct rx_fwinfo_92c { 546struct rx_fwinfo_92c {
547 u8 gain_trsw[4]; 547 u8 gain_trsw[4];