hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/trx.c
....@@ -1,27 +1,5 @@
1
-/******************************************************************************
2
- *
3
- * Copyright(c) 2009-2013 Realtek Corporation.
4
- *
5
- * This program is free software; you can redistribute it and/or modify it
6
- * under the terms of version 2 of the GNU General Public License as
7
- * published by the Free Software Foundation.
8
- *
9
- * This program is distributed in the hope that it will be useful, but WITHOUT
10
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
- * more details.
13
- *
14
- * The full GNU General Public License is included in this distribution in the
15
- * file called LICENSE.
16
- *
17
- * Contact Information:
18
- * wlanfae <wlanfae@realtek.com>
19
- * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20
- * Hsinchu 300, Taiwan.
21
- *
22
- * Larry Finger <Larry.Finger@lwfinger.net>
23
- *
24
- *****************************************************************************/
1
+// SPDX-License-Identifier: GPL-2.0
2
+/* Copyright(c) 2009-2013 Realtek Corporation.*/
253
264 #include "../wifi.h"
275 #include "../pci.h"
....@@ -29,7 +7,6 @@
297 #include "../stats.h"
308 #include "reg.h"
319 #include "def.h"
32
-#include "phy.h"
3310 #include "trx.h"
3411 #include "led.h"
3512 #include "dm.h"
....@@ -48,7 +25,7 @@
4825 }
4926
5027 static void _rtl88ee_query_rxphystatus(struct ieee80211_hw *hw,
51
- struct rtl_stats *pstatus, u8 *pdesc,
28
+ struct rtl_stats *pstatus, __le32 *pdesc,
5229 struct rx_fwinfo_88e *p_drvinfo,
5330 bool bpacket_match_bssid,
5431 bool bpacket_toself, bool packet_beacon)
....@@ -294,7 +271,7 @@
294271 static void _rtl88ee_translate_rx_signal_stuff(struct ieee80211_hw *hw,
295272 struct sk_buff *skb,
296273 struct rtl_stats *pstatus,
297
- u8 *pdesc,
274
+ __le32 *pdesc,
298275 struct rx_fwinfo_88e *p_drvinfo)
299276 {
300277 struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
....@@ -336,13 +313,13 @@
336313 rtl_process_phyinfo(hw, tmp_buf, pstatus);
337314 }
338315
339
-static void _rtl88ee_insert_emcontent(struct rtl_tcb_desc *ptcb_desc,
340
- u8 *virtualaddress)
316
+static void rtl88ee_insert_emcontent(struct rtl_tcb_desc *ptcb_desc,
317
+ __le32 *virtualaddress)
341318 {
342319 u32 dwtmp = 0;
343320 memset(virtualaddress, 0, 8);
344321
345
- SET_EARLYMODE_PKTNUM(virtualaddress, ptcb_desc->empkt_num);
322
+ set_earlymode_pktnum(virtualaddress, ptcb_desc->empkt_num);
346323 if (ptcb_desc->empkt_num == 1) {
347324 dwtmp = ptcb_desc->empkt_len[0];
348325 } else {
....@@ -350,7 +327,7 @@
350327 dwtmp += ((dwtmp%4) ? (4-dwtmp%4) : 0)+4;
351328 dwtmp += ptcb_desc->empkt_len[1];
352329 }
353
- SET_EARLYMODE_LEN0(virtualaddress, dwtmp);
330
+ set_earlymode_len0(virtualaddress, dwtmp);
354331
355332 if (ptcb_desc->empkt_num <= 3) {
356333 dwtmp = ptcb_desc->empkt_len[2];
....@@ -359,7 +336,7 @@
359336 dwtmp += ((dwtmp%4) ? (4-dwtmp%4) : 0)+4;
360337 dwtmp += ptcb_desc->empkt_len[3];
361338 }
362
- SET_EARLYMODE_LEN1(virtualaddress, dwtmp);
339
+ set_earlymode_len1(virtualaddress, dwtmp);
363340 if (ptcb_desc->empkt_num <= 5) {
364341 dwtmp = ptcb_desc->empkt_len[4];
365342 } else {
....@@ -367,8 +344,8 @@
367344 dwtmp += ((dwtmp%4) ? (4-dwtmp%4) : 0)+4;
368345 dwtmp += ptcb_desc->empkt_len[5];
369346 }
370
- SET_EARLYMODE_LEN2_1(virtualaddress, dwtmp & 0xF);
371
- SET_EARLYMODE_LEN2_2(virtualaddress, dwtmp >> 4);
347
+ set_earlymode_len2_1(virtualaddress, dwtmp & 0xF);
348
+ set_earlymode_len2_2(virtualaddress, dwtmp >> 4);
372349 if (ptcb_desc->empkt_num <= 7) {
373350 dwtmp = ptcb_desc->empkt_len[6];
374351 } else {
....@@ -376,7 +353,7 @@
376353 dwtmp += ((dwtmp%4) ? (4-dwtmp%4) : 0)+4;
377354 dwtmp += ptcb_desc->empkt_len[7];
378355 }
379
- SET_EARLYMODE_LEN3(virtualaddress, dwtmp);
356
+ set_earlymode_len3(virtualaddress, dwtmp);
380357 if (ptcb_desc->empkt_num <= 9) {
381358 dwtmp = ptcb_desc->empkt_len[8];
382359 } else {
....@@ -384,56 +361,58 @@
384361 dwtmp += ((dwtmp%4) ? (4-dwtmp%4) : 0)+4;
385362 dwtmp += ptcb_desc->empkt_len[9];
386363 }
387
- SET_EARLYMODE_LEN4(virtualaddress, dwtmp);
364
+ set_earlymode_len4(virtualaddress, dwtmp);
388365 }
389366
390367 bool rtl88ee_rx_query_desc(struct ieee80211_hw *hw,
391368 struct rtl_stats *status,
392369 struct ieee80211_rx_status *rx_status,
393
- u8 *pdesc, struct sk_buff *skb)
370
+ u8 *pdesc8, struct sk_buff *skb)
394371 {
395372 struct rtl_priv *rtlpriv = rtl_priv(hw);
396373 struct rx_fwinfo_88e *p_drvinfo;
397374 struct ieee80211_hdr *hdr;
375
+ u8 wake_match;
376
+ __le32 *pdesc = (__le32 *)pdesc8;
377
+ u32 phystatus = get_rx_desc_physt(pdesc);
398378
399
- u32 phystatus = GET_RX_DESC_PHYST(pdesc);
400
- status->packet_report_type = (u8)GET_RX_STATUS_DESC_RPT_SEL(pdesc);
379
+ status->packet_report_type = (u8)get_rx_status_desc_rpt_sel(pdesc);
401380 if (status->packet_report_type == TX_REPORT2)
402
- status->length = (u16)GET_RX_RPT2_DESC_PKT_LEN(pdesc);
381
+ status->length = (u16)get_rx_rpt2_desc_pkt_len(pdesc);
403382 else
404
- status->length = (u16)GET_RX_DESC_PKT_LEN(pdesc);
405
- status->rx_drvinfo_size = (u8)GET_RX_DESC_DRV_INFO_SIZE(pdesc) *
383
+ status->length = (u16)get_rx_desc_pkt_len(pdesc);
384
+ status->rx_drvinfo_size = (u8)get_rx_desc_drv_info_size(pdesc) *
406385 RX_DRV_INFO_SIZE_UNIT;
407
- status->rx_bufshift = (u8)(GET_RX_DESC_SHIFT(pdesc) & 0x03);
408
- status->icv = (u16)GET_RX_DESC_ICV(pdesc);
409
- status->crc = (u16)GET_RX_DESC_CRC32(pdesc);
386
+ status->rx_bufshift = (u8)(get_rx_desc_shift(pdesc) & 0x03);
387
+ status->icv = (u16)get_rx_desc_icv(pdesc);
388
+ status->crc = (u16)get_rx_desc_crc32(pdesc);
410389 status->hwerror = (status->crc | status->icv);
411
- status->decrypted = !GET_RX_DESC_SWDEC(pdesc);
412
- status->rate = (u8)GET_RX_DESC_RXMCS(pdesc);
413
- status->shortpreamble = (u16)GET_RX_DESC_SPLCP(pdesc);
414
- status->isampdu = (bool) (GET_RX_DESC_PAGGR(pdesc) == 1);
415
- status->isfirst_ampdu = (bool)((GET_RX_DESC_PAGGR(pdesc) == 1) &&
416
- (GET_RX_DESC_FAGGR(pdesc) == 1));
390
+ status->decrypted = !get_rx_desc_swdec(pdesc);
391
+ status->rate = (u8)get_rx_desc_rxmcs(pdesc);
392
+ status->shortpreamble = (u16)get_rx_desc_splcp(pdesc);
393
+ status->isampdu = (bool) (get_rx_desc_paggr(pdesc) == 1);
394
+ status->isfirst_ampdu = (bool)((get_rx_desc_paggr(pdesc) == 1) &&
395
+ (get_rx_desc_faggr(pdesc) == 1));
417396 if (status->packet_report_type == NORMAL_RX)
418
- status->timestamp_low = GET_RX_DESC_TSFL(pdesc);
419
- status->rx_is40Mhzpacket = (bool) GET_RX_DESC_BW(pdesc);
420
- status->is_ht = (bool)GET_RX_DESC_RXHT(pdesc);
397
+ status->timestamp_low = get_rx_desc_tsfl(pdesc);
398
+ status->rx_is40mhzpacket = (bool)get_rx_desc_bw(pdesc);
399
+ status->is_ht = (bool)get_rx_desc_rxht(pdesc);
421400
422401 status->is_cck = RTL8188_RX_HAL_IS_CCK_RATE(status->rate);
423402
424
- status->macid = GET_RX_DESC_MACID(pdesc);
425
- if (GET_RX_STATUS_DESC_MAGIC_MATCH(pdesc))
426
- status->wake_match = BIT(2);
427
- else if (GET_RX_STATUS_DESC_MAGIC_MATCH(pdesc))
428
- status->wake_match = BIT(1);
429
- else if (GET_RX_STATUS_DESC_UNICAST_MATCH(pdesc))
430
- status->wake_match = BIT(0);
403
+ status->macid = get_rx_desc_macid(pdesc);
404
+ if (get_rx_status_desc_pattern_match(pdesc))
405
+ wake_match = BIT(2);
406
+ else if (get_rx_status_desc_magic_match(pdesc))
407
+ wake_match = BIT(1);
408
+ else if (get_rx_status_desc_unicast_match(pdesc))
409
+ wake_match = BIT(0);
431410 else
432
- status->wake_match = 0;
433
- if (status->wake_match)
434
- RT_TRACE(rtlpriv, COMP_RXDESC, DBG_LOUD,
435
- "GGGGGGGGGGGGGet Wakeup Packet!! WakeMatch=%d\n",
436
- status->wake_match);
411
+ wake_match = 0;
412
+ if (wake_match)
413
+ rtl_dbg(rtlpriv, COMP_RXDESC, DBG_LOUD,
414
+ "GGGGGGGGGGGGGet Wakeup Packet!! WakeMatch=%d\n",
415
+ wake_match);
437416 rx_status->freq = hw->conf.chandef.chan->center_freq;
438417 rx_status->band = hw->conf.chandef.chan->band;
439418
....@@ -443,7 +422,7 @@
443422 if (status->crc)
444423 rx_status->flag |= RX_FLAG_FAILED_FCS_CRC;
445424
446
- if (status->rx_is40Mhzpacket)
425
+ if (status->rx_is40mhzpacket)
447426 rx_status->bw = RATE_INFO_BW_40;
448427
449428 if (status->is_ht)
....@@ -487,15 +466,15 @@
487466 rx_status->signal = status->recvsignalpower + 10;
488467 if (status->packet_report_type == TX_REPORT2) {
489468 status->macid_valid_entry[0] =
490
- GET_RX_RPT2_DESC_MACID_VALID_1(pdesc);
469
+ get_rx_rpt2_desc_macid_valid_1(pdesc);
491470 status->macid_valid_entry[1] =
492
- GET_RX_RPT2_DESC_MACID_VALID_2(pdesc);
471
+ get_rx_rpt2_desc_macid_valid_2(pdesc);
493472 }
494473 return true;
495474 }
496475
497476 void rtl88ee_tx_fill_desc(struct ieee80211_hw *hw,
498
- struct ieee80211_hdr *hdr, u8 *pdesc_tx,
477
+ struct ieee80211_hdr *hdr, u8 *pdesc8,
499478 u8 *txbd, struct ieee80211_tx_info *info,
500479 struct ieee80211_sta *sta,
501480 struct sk_buff *skb,
....@@ -506,7 +485,6 @@
506485 struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
507486 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
508487 struct rtl_hal *rtlhal = rtl_hal(rtlpriv);
509
- u8 *pdesc = (u8 *)pdesc_tx;
510488 u16 seq_number;
511489 __le16 fc = hdr->frame_control;
512490 unsigned int buf_len = 0;
....@@ -519,6 +497,7 @@
519497 dma_addr_t mapping;
520498 u8 bw_40 = 0;
521499 u8 short_gi = 0;
500
+ __le32 *pdesc = (__le32 *)pdesc8;
522501
523502 if (mac->opmode == NL80211_IFTYPE_STATION) {
524503 bw_40 = mac->bw_40;
....@@ -536,84 +515,84 @@
536515 memset(skb->data, 0, EM_HDR_LEN);
537516 }
538517 buf_len = skb->len;
539
- mapping = pci_map_single(rtlpci->pdev, skb->data, skb->len,
540
- PCI_DMA_TODEVICE);
541
- if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
542
- RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
543
- "DMA mapping error\n");
518
+ mapping = dma_map_single(&rtlpci->pdev->dev, skb->data, skb->len,
519
+ DMA_TO_DEVICE);
520
+ if (dma_mapping_error(&rtlpci->pdev->dev, mapping)) {
521
+ rtl_dbg(rtlpriv, COMP_SEND, DBG_TRACE,
522
+ "DMA mapping error\n");
544523 return;
545524 }
546
- CLEAR_PCI_TX_DESC_CONTENT(pdesc, sizeof(struct tx_desc_88e));
525
+ clear_pci_tx_desc_content(pdesc, sizeof(struct tx_desc_88e));
547526 if (ieee80211_is_nullfunc(fc) || ieee80211_is_ctl(fc)) {
548527 firstseg = true;
549528 lastseg = true;
550529 }
551530 if (firstseg) {
552531 if (rtlhal->earlymode_enable) {
553
- SET_TX_DESC_PKT_OFFSET(pdesc, 1);
554
- SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN +
532
+ set_tx_desc_pkt_offset(pdesc, 1);
533
+ set_tx_desc_offset(pdesc, USB_HWDESC_HEADER_LEN +
555534 EM_HDR_LEN);
556535 if (ptcb_desc->empkt_num) {
557
- RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
558
- "Insert 8 byte.pTcb->EMPktNum:%d\n",
559
- ptcb_desc->empkt_num);
560
- _rtl88ee_insert_emcontent(ptcb_desc,
561
- (u8 *)(skb->data));
536
+ rtl_dbg(rtlpriv, COMP_SEND, DBG_TRACE,
537
+ "Insert 8 byte.pTcb->EMPktNum:%d\n",
538
+ ptcb_desc->empkt_num);
539
+ rtl88ee_insert_emcontent(ptcb_desc,
540
+ (__le32 *)(skb->data));
562541 }
563542 } else {
564
- SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN);
543
+ set_tx_desc_offset(pdesc, USB_HWDESC_HEADER_LEN);
565544 }
566545
567546 ptcb_desc->use_driver_rate = true;
568
- SET_TX_DESC_TX_RATE(pdesc, ptcb_desc->hw_rate);
547
+ set_tx_desc_tx_rate(pdesc, ptcb_desc->hw_rate);
569548 if (ptcb_desc->hw_rate > DESC92C_RATEMCS0)
570549 short_gi = (ptcb_desc->use_shortgi) ? 1 : 0;
571550 else
572551 short_gi = (ptcb_desc->use_shortpreamble) ? 1 : 0;
573552
574
- SET_TX_DESC_DATA_SHORTGI(pdesc, short_gi);
553
+ set_tx_desc_data_shortgi(pdesc, short_gi);
575554
576555 if (info->flags & IEEE80211_TX_CTL_AMPDU) {
577
- SET_TX_DESC_AGG_ENABLE(pdesc, 1);
578
- SET_TX_DESC_MAX_AGG_NUM(pdesc, 0x14);
556
+ set_tx_desc_agg_enable(pdesc, 1);
557
+ set_tx_desc_max_agg_num(pdesc, 0x14);
579558 }
580
- SET_TX_DESC_SEQ(pdesc, seq_number);
581
- SET_TX_DESC_RTS_ENABLE(pdesc, ((ptcb_desc->rts_enable &&
559
+ set_tx_desc_seq(pdesc, seq_number);
560
+ set_tx_desc_rts_enable(pdesc, ((ptcb_desc->rts_enable &&
582561 !ptcb_desc->cts_enable) ? 1 : 0));
583
- SET_TX_DESC_HW_RTS_ENABLE(pdesc, 0);
584
- SET_TX_DESC_CTS2SELF(pdesc, ((ptcb_desc->cts_enable) ? 1 : 0));
585
- SET_TX_DESC_RTS_STBC(pdesc, ((ptcb_desc->rts_stbc) ? 1 : 0));
562
+ set_tx_desc_hw_rts_enable(pdesc, 0);
563
+ set_tx_desc_cts2self(pdesc, ((ptcb_desc->cts_enable) ? 1 : 0));
564
+ set_tx_desc_rts_stbc(pdesc, ((ptcb_desc->rts_stbc) ? 1 : 0));
586565
587
- SET_TX_DESC_RTS_RATE(pdesc, ptcb_desc->rts_rate);
588
- SET_TX_DESC_RTS_BW(pdesc, 0);
589
- SET_TX_DESC_RTS_SC(pdesc, ptcb_desc->rts_sc);
590
- SET_TX_DESC_RTS_SHORT(pdesc,
566
+ set_tx_desc_rts_rate(pdesc, ptcb_desc->rts_rate);
567
+ set_tx_desc_rts_bw(pdesc, 0);
568
+ set_tx_desc_rts_sc(pdesc, ptcb_desc->rts_sc);
569
+ set_tx_desc_rts_short(pdesc,
591570 ((ptcb_desc->rts_rate <= DESC92C_RATE54M) ?
592571 (ptcb_desc->rts_use_shortpreamble ? 1 : 0) :
593572 (ptcb_desc->rts_use_shortgi ? 1 : 0)));
594573
595574 if (ptcb_desc->tx_enable_sw_calc_duration)
596
- SET_TX_DESC_NAV_USE_HDR(pdesc, 1);
575
+ set_tx_desc_nav_use_hdr(pdesc, 1);
597576
598577 if (bw_40) {
599578 if (ptcb_desc->packet_bw == HT_CHANNEL_WIDTH_20_40) {
600
- SET_TX_DESC_DATA_BW(pdesc, 1);
601
- SET_TX_DESC_TX_SUB_CARRIER(pdesc, 3);
579
+ set_tx_desc_data_bw(pdesc, 1);
580
+ set_tx_desc_tx_sub_carrier(pdesc, 3);
602581 } else {
603
- SET_TX_DESC_DATA_BW(pdesc, 0);
604
- SET_TX_DESC_TX_SUB_CARRIER(pdesc,
582
+ set_tx_desc_data_bw(pdesc, 0);
583
+ set_tx_desc_tx_sub_carrier(pdesc,
605584 mac->cur_40_prime_sc);
606585 }
607586 } else {
608
- SET_TX_DESC_DATA_BW(pdesc, 0);
609
- SET_TX_DESC_TX_SUB_CARRIER(pdesc, 0);
587
+ set_tx_desc_data_bw(pdesc, 0);
588
+ set_tx_desc_tx_sub_carrier(pdesc, 0);
610589 }
611590
612
- SET_TX_DESC_LINIP(pdesc, 0);
613
- SET_TX_DESC_PKT_SIZE(pdesc, (u16)skb_len);
591
+ set_tx_desc_linip(pdesc, 0);
592
+ set_tx_desc_pkt_size(pdesc, (u16)skb_len);
614593 if (sta) {
615594 u8 ampdu_density = sta->ht_cap.ampdu_density;
616
- SET_TX_DESC_AMPDU_DENSITY(pdesc, ampdu_density);
595
+ set_tx_desc_ampdu_density(pdesc, ampdu_density);
617596 }
618597 if (info->control.hw_key) {
619598 struct ieee80211_key_conf *keyconf;
....@@ -623,141 +602,143 @@
623602 case WLAN_CIPHER_SUITE_WEP40:
624603 case WLAN_CIPHER_SUITE_WEP104:
625604 case WLAN_CIPHER_SUITE_TKIP:
626
- SET_TX_DESC_SEC_TYPE(pdesc, 0x1);
605
+ set_tx_desc_sec_type(pdesc, 0x1);
627606 break;
628607 case WLAN_CIPHER_SUITE_CCMP:
629
- SET_TX_DESC_SEC_TYPE(pdesc, 0x3);
608
+ set_tx_desc_sec_type(pdesc, 0x3);
630609 break;
631610 default:
632
- SET_TX_DESC_SEC_TYPE(pdesc, 0x0);
611
+ set_tx_desc_sec_type(pdesc, 0x0);
633612 break;
634613
635614 }
636615 }
637616
638
- SET_TX_DESC_QUEUE_SEL(pdesc, fw_qsel);
639
- SET_TX_DESC_DATA_RATE_FB_LIMIT(pdesc, 0x1F);
640
- SET_TX_DESC_RTS_RATE_FB_LIMIT(pdesc, 0xF);
641
- SET_TX_DESC_DISABLE_FB(pdesc, ptcb_desc->disable_ratefallback ?
617
+ set_tx_desc_queue_sel(pdesc, fw_qsel);
618
+ set_tx_desc_data_rate_fb_limit(pdesc, 0x1F);
619
+ set_tx_desc_rts_rate_fb_limit(pdesc, 0xF);
620
+ set_tx_desc_disable_fb(pdesc, ptcb_desc->disable_ratefallback ?
642621 1 : 0);
643
- SET_TX_DESC_USE_RATE(pdesc, ptcb_desc->use_driver_rate ? 1 : 0);
622
+ set_tx_desc_use_rate(pdesc, ptcb_desc->use_driver_rate ? 1 : 0);
644623
645
- /*SET_TX_DESC_PWR_STATUS(pdesc, pwr_status);*/
624
+ /*set_tx_desc_pwr_status(pdesc, pwr_status);*/
646625 /* Set TxRate and RTSRate in TxDesc */
647626 /* This prevent Tx initial rate of new-coming packets */
648627 /* from being overwritten by retried packet rate.*/
649628 if (!ptcb_desc->use_driver_rate) {
650
- /*SET_TX_DESC_RTS_RATE(pdesc, 0x08); */
651
- /* SET_TX_DESC_TX_RATE(pdesc, 0x0b); */
629
+ /*set_tx_desc_rts_rate(pdesc, 0x08); */
630
+ /* set_tx_desc_tx_rate(pdesc, 0x0b); */
652631 }
653632 if (ieee80211_is_data_qos(fc)) {
654633 if (mac->rdg_en) {
655
- RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
634
+ rtl_dbg(rtlpriv, COMP_SEND, DBG_TRACE,
656635 "Enable RDG function.\n");
657
- SET_TX_DESC_RDG_ENABLE(pdesc, 1);
658
- SET_TX_DESC_HTC(pdesc, 1);
636
+ set_tx_desc_rdg_enable(pdesc, 1);
637
+ set_tx_desc_htc(pdesc, 1);
659638 }
660639 }
661640 }
662641
663
- SET_TX_DESC_FIRST_SEG(pdesc, (firstseg ? 1 : 0));
664
- SET_TX_DESC_LAST_SEG(pdesc, (lastseg ? 1 : 0));
665
- SET_TX_DESC_TX_BUFFER_SIZE(pdesc, (u16)buf_len);
666
- SET_TX_DESC_TX_BUFFER_ADDRESS(pdesc, mapping);
642
+ set_tx_desc_first_seg(pdesc, (firstseg ? 1 : 0));
643
+ set_tx_desc_last_seg(pdesc, (lastseg ? 1 : 0));
644
+ set_tx_desc_tx_buffer_size(pdesc, (u16)buf_len);
645
+ set_tx_desc_tx_buffer_address(pdesc, mapping);
667646 if (rtlpriv->dm.useramask) {
668
- SET_TX_DESC_RATE_ID(pdesc, ptcb_desc->ratr_index);
669
- SET_TX_DESC_MACID(pdesc, ptcb_desc->mac_id);
647
+ set_tx_desc_rate_id(pdesc, ptcb_desc->ratr_index);
648
+ set_tx_desc_macid(pdesc, ptcb_desc->mac_id);
670649 } else {
671
- SET_TX_DESC_RATE_ID(pdesc, 0xC + ptcb_desc->ratr_index);
672
- SET_TX_DESC_MACID(pdesc, ptcb_desc->ratr_index);
650
+ set_tx_desc_rate_id(pdesc, 0xC + ptcb_desc->ratr_index);
651
+ set_tx_desc_macid(pdesc, ptcb_desc->ratr_index);
673652 }
674653 if (ieee80211_is_data_qos(fc))
675
- SET_TX_DESC_QOS(pdesc, 1);
654
+ set_tx_desc_qos(pdesc, 1);
676655
677656 if (!ieee80211_is_data_qos(fc))
678
- SET_TX_DESC_HWSEQ_EN(pdesc, 1);
679
- SET_TX_DESC_MORE_FRAG(pdesc, (lastseg ? 0 : 1));
657
+ set_tx_desc_hwseq_en(pdesc, 1);
658
+ set_tx_desc_more_frag(pdesc, (lastseg ? 0 : 1));
680659 if (is_multicast_ether_addr(ieee80211_get_DA(hdr)) ||
681660 is_broadcast_ether_addr(ieee80211_get_DA(hdr))) {
682
- SET_TX_DESC_BMC(pdesc, 1);
661
+ set_tx_desc_bmc(pdesc, 1);
683662 }
684663
685
- rtl88e_dm_set_tx_ant_by_tx_info(hw, pdesc, ptcb_desc->mac_id);
686
- RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, "\n");
664
+ rtl88e_dm_set_tx_ant_by_tx_info(hw, pdesc8, ptcb_desc->mac_id);
665
+ rtl_dbg(rtlpriv, COMP_SEND, DBG_TRACE, "\n");
687666 }
688667
689668 void rtl88ee_tx_fill_cmddesc(struct ieee80211_hw *hw,
690
- u8 *pdesc, bool firstseg,
669
+ u8 *pdesc8, bool firstseg,
691670 bool lastseg, struct sk_buff *skb)
692671 {
693672 struct rtl_priv *rtlpriv = rtl_priv(hw);
694673 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
695674 u8 fw_queue = QSLT_BEACON;
675
+ __le32 *pdesc = (__le32 *)pdesc8;
696676
697
- dma_addr_t mapping = pci_map_single(rtlpci->pdev,
698
- skb->data, skb->len,
699
- PCI_DMA_TODEVICE);
677
+ dma_addr_t mapping = dma_map_single(&rtlpci->pdev->dev, skb->data,
678
+ skb->len, DMA_TO_DEVICE);
700679
701680 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data);
702681 __le16 fc = hdr->frame_control;
703682
704
- if (pci_dma_mapping_error(rtlpci->pdev, mapping)) {
705
- RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE,
706
- "DMA mapping error\n");
683
+ if (dma_mapping_error(&rtlpci->pdev->dev, mapping)) {
684
+ rtl_dbg(rtlpriv, COMP_SEND, DBG_TRACE,
685
+ "DMA mapping error\n");
707686 return;
708687 }
709
- CLEAR_PCI_TX_DESC_CONTENT(pdesc, TX_DESC_SIZE);
688
+ clear_pci_tx_desc_content(pdesc, TX_DESC_SIZE);
710689
711690 if (firstseg)
712
- SET_TX_DESC_OFFSET(pdesc, USB_HWDESC_HEADER_LEN);
691
+ set_tx_desc_offset(pdesc, USB_HWDESC_HEADER_LEN);
713692
714
- SET_TX_DESC_TX_RATE(pdesc, DESC92C_RATE1M);
693
+ set_tx_desc_tx_rate(pdesc, DESC92C_RATE1M);
715694
716
- SET_TX_DESC_SEQ(pdesc, 0);
695
+ set_tx_desc_seq(pdesc, 0);
717696
718
- SET_TX_DESC_LINIP(pdesc, 0);
697
+ set_tx_desc_linip(pdesc, 0);
719698
720
- SET_TX_DESC_QUEUE_SEL(pdesc, fw_queue);
699
+ set_tx_desc_queue_sel(pdesc, fw_queue);
721700
722
- SET_TX_DESC_FIRST_SEG(pdesc, 1);
723
- SET_TX_DESC_LAST_SEG(pdesc, 1);
701
+ set_tx_desc_first_seg(pdesc, 1);
702
+ set_tx_desc_last_seg(pdesc, 1);
724703
725
- SET_TX_DESC_TX_BUFFER_SIZE(pdesc, (u16)(skb->len));
704
+ set_tx_desc_tx_buffer_size(pdesc, (u16)(skb->len));
726705
727
- SET_TX_DESC_TX_BUFFER_ADDRESS(pdesc, mapping);
706
+ set_tx_desc_tx_buffer_address(pdesc, mapping);
728707
729
- SET_TX_DESC_RATE_ID(pdesc, 7);
730
- SET_TX_DESC_MACID(pdesc, 0);
708
+ set_tx_desc_rate_id(pdesc, 7);
709
+ set_tx_desc_macid(pdesc, 0);
731710
732
- SET_TX_DESC_OWN(pdesc, 1);
711
+ set_tx_desc_own(pdesc, 1);
733712
734
- SET_TX_DESC_PKT_SIZE(pdesc, (u16)(skb->len));
713
+ set_tx_desc_pkt_size(pdesc, (u16)(skb->len));
735714
736
- SET_TX_DESC_FIRST_SEG(pdesc, 1);
737
- SET_TX_DESC_LAST_SEG(pdesc, 1);
715
+ set_tx_desc_first_seg(pdesc, 1);
716
+ set_tx_desc_last_seg(pdesc, 1);
738717
739
- SET_TX_DESC_OFFSET(pdesc, 0x20);
718
+ set_tx_desc_offset(pdesc, 0x20);
740719
741
- SET_TX_DESC_USE_RATE(pdesc, 1);
720
+ set_tx_desc_use_rate(pdesc, 1);
742721
743722 if (!ieee80211_is_data_qos(fc))
744
- SET_TX_DESC_HWSEQ_EN(pdesc, 1);
723
+ set_tx_desc_hwseq_en(pdesc, 1);
745724
746725 RT_PRINT_DATA(rtlpriv, COMP_CMD, DBG_LOUD,
747726 "H2C Tx Cmd Content\n",
748727 pdesc, TX_DESC_SIZE);
749728 }
750729
751
-void rtl88ee_set_desc(struct ieee80211_hw *hw, u8 *pdesc,
730
+void rtl88ee_set_desc(struct ieee80211_hw *hw, u8 *pdesc8,
752731 bool istx, u8 desc_name, u8 *val)
753732 {
754
- if (istx == true) {
733
+ __le32 *pdesc = (__le32 *)pdesc8;
734
+
735
+ if (istx) {
755736 switch (desc_name) {
756737 case HW_DESC_OWN:
757
- SET_TX_DESC_OWN(pdesc, 1);
738
+ set_tx_desc_own(pdesc, 1);
758739 break;
759740 case HW_DESC_TX_NEXTDESC_ADDR:
760
- SET_TX_DESC_NEXT_DESC_ADDRESS(pdesc, *(u32 *)val);
741
+ set_tx_desc_next_desc_address(pdesc, *(u32 *)val);
761742 break;
762743 default:
763744 WARN_ONCE(true, "rtl8188ee: ERR txdesc :%d not processed\n",
....@@ -767,16 +748,16 @@
767748 } else {
768749 switch (desc_name) {
769750 case HW_DESC_RXOWN:
770
- SET_RX_DESC_OWN(pdesc, 1);
751
+ set_rx_desc_own(pdesc, 1);
771752 break;
772753 case HW_DESC_RXBUFF_ADDR:
773
- SET_RX_DESC_BUFF_ADDR(pdesc, *(u32 *)val);
754
+ set_rx_desc_buff_addr(pdesc, *(u32 *)val);
774755 break;
775756 case HW_DESC_RXPKT_LEN:
776
- SET_RX_DESC_PKT_LEN(pdesc, *(u32 *)val);
757
+ set_rx_desc_pkt_len(pdesc, *(u32 *)val);
777758 break;
778759 case HW_DESC_RXERO:
779
- SET_RX_DESC_EOR(pdesc, 1);
760
+ set_rx_desc_eor(pdesc, 1);
780761 break;
781762 default:
782763 WARN_ONCE(true, "rtl8188ee: ERR rxdesc :%d not processed\n",
....@@ -787,17 +768,18 @@
787768 }
788769
789770 u64 rtl88ee_get_desc(struct ieee80211_hw *hw,
790
- u8 *pdesc, bool istx, u8 desc_name)
771
+ u8 *pdesc8, bool istx, u8 desc_name)
791772 {
792773 u32 ret = 0;
774
+ __le32 *pdesc = (__le32 *)pdesc8;
793775
794
- if (istx == true) {
776
+ if (istx) {
795777 switch (desc_name) {
796778 case HW_DESC_OWN:
797
- ret = GET_TX_DESC_OWN(pdesc);
779
+ ret = get_tx_desc_own(pdesc);
798780 break;
799781 case HW_DESC_TXBUFF_ADDR:
800
- ret = GET_TX_DESC_TX_BUFFER_ADDRESS(pdesc);
782
+ ret = get_tx_desc_tx_buffer_address(pdesc);
801783 break;
802784 default:
803785 WARN_ONCE(true, "rtl8188ee: ERR txdesc :%d not processed\n",
....@@ -807,13 +789,13 @@
807789 } else {
808790 switch (desc_name) {
809791 case HW_DESC_OWN:
810
- ret = GET_RX_DESC_OWN(pdesc);
792
+ ret = get_rx_desc_own(pdesc);
811793 break;
812794 case HW_DESC_RXPKT_LEN:
813
- ret = GET_RX_DESC_PKT_LEN(pdesc);
795
+ ret = get_rx_desc_pkt_len(pdesc);
814796 break;
815797 case HW_DESC_RXBUFF_ADDR:
816
- ret = GET_RX_DESC_BUFF_ADDR(pdesc);
798
+ ret = get_rx_desc_buff_addr(pdesc);
817799 break;
818800 default:
819801 WARN_ONCE(true, "rtl8188ee: ERR rxdesc :%d not processed\n",