hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/net/wireless/realtek/rtlwifi/pci.c
....@@ -1,27 +1,5 @@
1
-/******************************************************************************
2
- *
3
- * Copyright(c) 2009-2012 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-2012 Realtek Corporation.*/
253
264 #include "wifi.h"
275 #include "core.h"
....@@ -226,8 +204,8 @@
226204 return;
227205
228206 if (pcibridge_vendor == PCI_BRIDGE_VENDOR_UNKNOWN) {
229
- RT_TRACE(rtlpriv, COMP_POWER, DBG_TRACE,
230
- "PCI(Bridge) UNKNOWN\n");
207
+ rtl_dbg(rtlpriv, COMP_POWER, DBG_TRACE,
208
+ "PCI(Bridge) UNKNOWN\n");
231209
232210 return;
233211 }
....@@ -276,8 +254,8 @@
276254 return;
277255
278256 if (pcibridge_vendor == PCI_BRIDGE_VENDOR_UNKNOWN) {
279
- RT_TRACE(rtlpriv, COMP_POWER, DBG_TRACE,
280
- "PCI(Bridge) UNKNOWN\n");
257
+ rtl_dbg(rtlpriv, COMP_POWER, DBG_TRACE,
258
+ "PCI(Bridge) UNKNOWN\n");
281259 return;
282260 }
283261
....@@ -293,10 +271,10 @@
293271 pci_write_config_byte(rtlpci->pdev, (num4bytes << 2),
294272 u_pcibridge_aspmsetting);
295273
296
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
297
- "PlatformEnableASPM(): Write reg[%x] = %x\n",
298
- (pcipriv->ndis_adapter.pcibridge_pciehdr_offset + 0x10),
299
- u_pcibridge_aspmsetting);
274
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
275
+ "PlatformEnableASPM(): Write reg[%x] = %x\n",
276
+ (pcipriv->ndis_adapter.pcibridge_pciehdr_offset + 0x10),
277
+ u_pcibridge_aspmsetting);
300278
301279 udelay(50);
302280
....@@ -353,11 +331,11 @@
353331 list_for_each_entry(tpriv, &rtlpriv->glb_var->glb_priv_list,
354332 list) {
355333 tpcipriv = (struct rtl_pci_priv *)tpriv->priv;
356
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
357
- "pcipriv->ndis_adapter.funcnumber %x\n",
334
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
335
+ "pcipriv->ndis_adapter.funcnumber %x\n",
358336 pcipriv->ndis_adapter.funcnumber);
359
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
360
- "tpcipriv->ndis_adapter.funcnumber %x\n",
337
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
338
+ "tpcipriv->ndis_adapter.funcnumber %x\n",
361339 tpcipriv->ndis_adapter.funcnumber);
362340
363341 if (pcipriv->ndis_adapter.busnumber ==
....@@ -372,8 +350,8 @@
372350 }
373351 }
374352
375
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
376
- "find_buddy_priv %d\n", find_buddy_priv);
353
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
354
+ "find_buddy_priv %d\n", find_buddy_priv);
377355
378356 if (find_buddy_priv)
379357 *buddy_priv = tpriv;
....@@ -410,8 +388,8 @@
410388 pcie_capability_read_word(pdev, PCI_EXP_LNKCTL, &linkctrl_reg);
411389 pcipriv->ndis_adapter.linkctrl_reg = (u8)linkctrl_reg;
412390
413
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE, "Link Control Register =%x\n",
414
- pcipriv->ndis_adapter.linkctrl_reg);
391
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_TRACE, "Link Control Register =%x\n",
392
+ pcipriv->ndis_adapter.linkctrl_reg);
415393
416394 pci_read_config_byte(pdev, 0x98, &tmp);
417395 tmp |= BIT(4);
....@@ -521,16 +499,16 @@
521499
522500 memset(&tcb_desc, 0, sizeof(struct rtl_tcb_desc));
523501
524
- spin_lock_bh(&rtlpriv->locks.waitq_lock);
502
+ spin_lock(&rtlpriv->locks.waitq_lock);
525503 if (!skb_queue_empty(&mac->skb_waitq[tid]) &&
526504 (ring->entries - skb_queue_len(&ring->queue) >
527505 rtlhal->max_earlymode_num)) {
528506 skb = skb_dequeue(&mac->skb_waitq[tid]);
529507 } else {
530
- spin_unlock_bh(&rtlpriv->locks.waitq_lock);
508
+ spin_unlock(&rtlpriv->locks.waitq_lock);
531509 break;
532510 }
533
- spin_unlock_bh(&rtlpriv->locks.waitq_lock);
511
+ spin_unlock(&rtlpriv->locks.waitq_lock);
534512
535513 /* Some macaddr can't do early mode. like
536514 * multicast/broadcast/no_qos data
....@@ -569,21 +547,20 @@
569547 ring->idx = (ring->idx + 1) % ring->entries;
570548
571549 skb = __skb_dequeue(&ring->queue);
572
- pci_unmap_single(rtlpci->pdev,
573
- rtlpriv->cfg->ops->
574
- get_desc(hw, (u8 *)entry, true,
575
- HW_DESC_TXBUFF_ADDR),
576
- skb->len, PCI_DMA_TODEVICE);
550
+ dma_unmap_single(&rtlpci->pdev->dev,
551
+ rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry,
552
+ true, HW_DESC_TXBUFF_ADDR),
553
+ skb->len, DMA_TO_DEVICE);
577554
578555 /* remove early mode header */
579556 if (rtlpriv->rtlhal.earlymode_enable)
580557 skb_pull(skb, EM_HDR_LEN);
581558
582
- RT_TRACE(rtlpriv, (COMP_INTR | COMP_SEND), DBG_TRACE,
583
- "new ring->idx:%d, free: skb_queue_len:%d, free: seq:%x\n",
584
- ring->idx,
585
- skb_queue_len(&ring->queue),
586
- *(u16 *)(skb->data + 22));
559
+ rtl_dbg(rtlpriv, (COMP_INTR | COMP_SEND), DBG_TRACE,
560
+ "new ring->idx:%d, free: skb_queue_len:%d, free: seq:%x\n",
561
+ ring->idx,
562
+ skb_queue_len(&ring->queue),
563
+ *(u16 *)(skb->data + 22));
587564
588565 if (prio == TXCMD_QUEUE) {
589566 dev_kfree_skb(skb);
....@@ -630,10 +607,10 @@
630607 }
631608
632609 if ((ring->entries - skb_queue_len(&ring->queue)) <= 4) {
633
- RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
634
- "more desc left, wake skb_queue@%d, ring->idx = %d, skb_queue_len = 0x%x\n",
635
- prio, ring->idx,
636
- skb_queue_len(&ring->queue));
610
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_DMESG,
611
+ "more desc left, wake skb_queue@%d, ring->idx = %d, skb_queue_len = 0x%x\n",
612
+ prio, ring->idx,
613
+ skb_queue_len(&ring->queue));
637614
638615 ieee80211_wake_queue(hw, skb_get_queue_mapping(skb));
639616 }
....@@ -644,7 +621,7 @@
644621 if (((rtlpriv->link_info.num_rx_inperiod +
645622 rtlpriv->link_info.num_tx_inperiod) > 8) ||
646623 rtlpriv->link_info.num_rx_inperiod > 2)
647
- rtl_lps_leave(hw);
624
+ rtl_lps_leave(hw, false);
648625 }
649626
650627 static int _rtl_pci_init_one_rxdesc(struct ieee80211_hw *hw,
....@@ -668,10 +645,10 @@
668645 remap:
669646 /* just set skb->cb to mapping addr for pci_unmap_single use */
670647 *((dma_addr_t *)skb->cb) =
671
- pci_map_single(rtlpci->pdev, skb_tail_pointer(skb),
672
- rtlpci->rxbuffersize, PCI_DMA_FROMDEVICE);
648
+ dma_map_single(&rtlpci->pdev->dev, skb_tail_pointer(skb),
649
+ rtlpci->rxbuffersize, DMA_FROM_DEVICE);
673650 bufferaddress = *((dma_addr_t *)skb->cb);
674
- if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress))
651
+ if (dma_mapping_error(&rtlpci->pdev->dev, bufferaddress))
675652 return 0;
676653 rtlpci->rx_ring[rxring_idx].rx_buf[desc_idx] = skb;
677654 if (rtlpriv->use_new_trx_flow) {
....@@ -795,8 +772,8 @@
795772 * AAAAAAttention !!!
796773 * We can NOT access 'skb' before 'pci_unmap_single'
797774 */
798
- pci_unmap_single(rtlpci->pdev, *((dma_addr_t *)skb->cb),
799
- rtlpci->rxbuffersize, PCI_DMA_FROMDEVICE);
775
+ dma_unmap_single(&rtlpci->pdev->dev, *((dma_addr_t *)skb->cb),
776
+ rtlpci->rxbuffersize, DMA_FROM_DEVICE);
800777
801778 /* get a new skb - if fail, old one will be reused */
802779 new_skb = dev_alloc_skb(rtlpci->rxbuffersize);
....@@ -823,9 +800,9 @@
823800 skb_reserve(skb, stats.rx_drvinfo_size +
824801 stats.rx_bufshift);
825802 } else {
826
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
827
- "skb->end - skb->tail = %d, len is %d\n",
828
- skb->end - skb->tail, len);
803
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
804
+ "skb->end - skb->tail = %d, len is %d\n",
805
+ skb->end - skb->tail, len);
829806 dev_kfree_skb_any(skb);
830807 goto new_trx_end;
831808 }
....@@ -844,7 +821,7 @@
844821 hdr = rtl_get_hdr(skb);
845822 fc = rtl_get_fc(skb);
846823
847
- if (!stats.crc && !stats.hwerror) {
824
+ if (!stats.crc && !stats.hwerror && (skb->len > FCS_LEN)) {
848825 memcpy(IEEE80211_SKB_RXCB(skb), &rx_status,
849826 sizeof(rx_status));
850827
....@@ -881,6 +858,7 @@
881858 _rtl_pci_rx_to_mac80211(hw, skb, rx_status);
882859 }
883860 } else {
861
+ /* drop packets with errors or those too short */
884862 dev_kfree_skb_any(skb);
885863 }
886864 new_trx_end:
....@@ -896,7 +874,7 @@
896874 if (((rtlpriv->link_info.num_rx_inperiod +
897875 rtlpriv->link_info.num_tx_inperiod) > 8) ||
898876 rtlpriv->link_info.num_rx_inperiod > 2)
899
- rtl_lps_leave(hw);
877
+ rtl_lps_leave(hw, false);
900878 skb = new_skb;
901879 no_new:
902880 if (rtlpriv->use_new_trx_flow) {
....@@ -946,67 +924,67 @@
946924
947925 /*<1> beacon related */
948926 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_TBDOK])
949
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
950
- "beacon ok interrupt!\n");
927
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
928
+ "beacon ok interrupt!\n");
951929
952930 if (unlikely(intvec.inta & rtlpriv->cfg->maps[RTL_IMR_TBDER]))
953
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
954
- "beacon err interrupt!\n");
931
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
932
+ "beacon err interrupt!\n");
955933
956934 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_BDOK])
957
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE, "beacon interrupt!\n");
935
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE, "beacon interrupt!\n");
958936
959937 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_BCNINT]) {
960
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
961
- "prepare beacon for interrupt!\n");
938
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
939
+ "prepare beacon for interrupt!\n");
962940 tasklet_schedule(&rtlpriv->works.irq_prepare_bcn_tasklet);
963941 }
964942
965943 /*<2> Tx related */
966944 if (unlikely(intvec.intb & rtlpriv->cfg->maps[RTL_IMR_TXFOVW]))
967
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING, "IMR_TXFOVW!\n");
945
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING, "IMR_TXFOVW!\n");
968946
969947 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_MGNTDOK]) {
970
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
971
- "Manage ok interrupt!\n");
948
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
949
+ "Manage ok interrupt!\n");
972950 _rtl_pci_tx_isr(hw, MGNT_QUEUE);
973951 }
974952
975953 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_HIGHDOK]) {
976
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
977
- "HIGH_QUEUE ok interrupt!\n");
954
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
955
+ "HIGH_QUEUE ok interrupt!\n");
978956 _rtl_pci_tx_isr(hw, HIGH_QUEUE);
979957 }
980958
981959 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_BKDOK]) {
982960 rtlpriv->link_info.num_tx_inperiod++;
983961
984
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
985
- "BK Tx OK interrupt!\n");
962
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
963
+ "BK Tx OK interrupt!\n");
986964 _rtl_pci_tx_isr(hw, BK_QUEUE);
987965 }
988966
989967 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_BEDOK]) {
990968 rtlpriv->link_info.num_tx_inperiod++;
991969
992
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
993
- "BE TX OK interrupt!\n");
970
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
971
+ "BE TX OK interrupt!\n");
994972 _rtl_pci_tx_isr(hw, BE_QUEUE);
995973 }
996974
997975 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_VIDOK]) {
998976 rtlpriv->link_info.num_tx_inperiod++;
999977
1000
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
1001
- "VI TX OK interrupt!\n");
978
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
979
+ "VI TX OK interrupt!\n");
1002980 _rtl_pci_tx_isr(hw, VI_QUEUE);
1003981 }
1004982
1005983 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_VODOK]) {
1006984 rtlpriv->link_info.num_tx_inperiod++;
1007985
1008
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
1009
- "Vo TX OK interrupt!\n");
986
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
987
+ "Vo TX OK interrupt!\n");
1010988 _rtl_pci_tx_isr(hw, VO_QUEUE);
1011989 }
1012990
....@@ -1014,8 +992,8 @@
1014992 if (intvec.intd & rtlpriv->cfg->maps[RTL_IMR_H2CDOK]) {
1015993 rtlpriv->link_info.num_tx_inperiod++;
1016994
1017
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
1018
- "H2C TX OK interrupt!\n");
995
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
996
+ "H2C TX OK interrupt!\n");
1019997 _rtl_pci_tx_isr(hw, H2C_QUEUE);
1020998 }
1021999 }
....@@ -1024,34 +1002,34 @@
10241002 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_COMDOK]) {
10251003 rtlpriv->link_info.num_tx_inperiod++;
10261004
1027
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
1028
- "CMD TX OK interrupt!\n");
1005
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
1006
+ "CMD TX OK interrupt!\n");
10291007 _rtl_pci_tx_isr(hw, TXCMD_QUEUE);
10301008 }
10311009 }
10321010
10331011 /*<3> Rx related */
10341012 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_ROK]) {
1035
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE, "Rx ok interrupt!\n");
1013
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE, "Rx ok interrupt!\n");
10361014 _rtl_pci_rx_interrupt(hw);
10371015 }
10381016
10391017 if (unlikely(intvec.inta & rtlpriv->cfg->maps[RTL_IMR_RDU])) {
1040
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
1041
- "rx descriptor unavailable!\n");
1018
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
1019
+ "rx descriptor unavailable!\n");
10421020 _rtl_pci_rx_interrupt(hw);
10431021 }
10441022
10451023 if (unlikely(intvec.intb & rtlpriv->cfg->maps[RTL_IMR_RXFOVW])) {
1046
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING, "rx overflow !\n");
1024
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING, "rx overflow !\n");
10471025 _rtl_pci_rx_interrupt(hw);
10481026 }
10491027
10501028 /*<4> fw related*/
10511029 if (rtlhal->hw_type == HARDWARE_TYPE_RTL8723AE) {
10521030 if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_C2HCMD]) {
1053
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
1054
- "firmware interrupt!\n");
1031
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
1032
+ "firmware interrupt!\n");
10551033 queue_delayed_work(rtlpriv->works.rtl_wq,
10561034 &rtlpriv->works.fwevt_wq, 0);
10571035 }
....@@ -1067,8 +1045,8 @@
10671045 rtlhal->hw_type == HARDWARE_TYPE_RTL8723BE) {
10681046 if (unlikely(intvec.inta &
10691047 rtlpriv->cfg->maps[RTL_IMR_HSISR_IND])) {
1070
- RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE,
1071
- "hsisr interrupt!\n");
1048
+ rtl_dbg(rtlpriv, COMP_INTR, DBG_TRACE,
1049
+ "hsisr interrupt!\n");
10721050 _rtl_pci_hs_interrupt(hw);
10731051 }
10741052 }
....@@ -1082,16 +1060,18 @@
10821060 return ret;
10831061 }
10841062
1085
-static void _rtl_pci_irq_tasklet(unsigned long data)
1063
+static void _rtl_pci_irq_tasklet(struct tasklet_struct *t)
10861064 {
1087
- struct ieee80211_hw *hw = (struct ieee80211_hw *)data;
1065
+ struct rtl_priv *rtlpriv = from_tasklet(rtlpriv, t, works.irq_tasklet);
1066
+ struct ieee80211_hw *hw = rtlpriv->hw;
10881067 _rtl_pci_tx_chk_waitq(hw);
10891068 }
10901069
1091
-static void _rtl_pci_prepare_bcn_tasklet(unsigned long data)
1070
+static void _rtl_pci_prepare_bcn_tasklet(struct tasklet_struct *t)
10921071 {
1093
- struct ieee80211_hw *hw = (struct ieee80211_hw *)data;
1094
- struct rtl_priv *rtlpriv = rtl_priv(hw);
1072
+ struct rtl_priv *rtlpriv = from_tasklet(rtlpriv, t,
1073
+ works.irq_prepare_bcn_tasklet);
1074
+ struct ieee80211_hw *hw = rtlpriv->hw;
10951075 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
10961076 struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
10971077 struct rtl8192_tx_ring *ring = NULL;
....@@ -1113,10 +1093,10 @@
11131093 else
11141094 entry = (u8 *)(&ring->desc[ring->idx]);
11151095 if (pskb) {
1116
- pci_unmap_single(rtlpci->pdev,
1117
- rtlpriv->cfg->ops->get_desc(
1118
- hw, (u8 *)entry, true, HW_DESC_TXBUFF_ADDR),
1119
- pskb->len, PCI_DMA_TODEVICE);
1096
+ dma_unmap_single(&rtlpci->pdev->dev,
1097
+ rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry,
1098
+ true, HW_DESC_TXBUFF_ADDR),
1099
+ pskb->len, DMA_TO_DEVICE);
11201100 kfree_skb(pskb);
11211101 }
11221102
....@@ -1215,12 +1195,9 @@
12151195 rtlpci->acm_method = EACMWAY2_SW;
12161196
12171197 /*task */
1218
- tasklet_init(&rtlpriv->works.irq_tasklet,
1219
- _rtl_pci_irq_tasklet,
1220
- (unsigned long)hw);
1221
- tasklet_init(&rtlpriv->works.irq_prepare_bcn_tasklet,
1222
- _rtl_pci_prepare_bcn_tasklet,
1223
- (unsigned long)hw);
1198
+ tasklet_setup(&rtlpriv->works.irq_tasklet, _rtl_pci_irq_tasklet);
1199
+ tasklet_setup(&rtlpriv->works.irq_prepare_bcn_tasklet,
1200
+ _rtl_pci_prepare_bcn_tasklet);
12241201 INIT_WORK(&rtlpriv->works.lps_change_work,
12251202 rtl_lps_change_work_callback);
12261203 }
....@@ -1239,9 +1216,9 @@
12391216 /* alloc tx buffer desc for new trx flow*/
12401217 if (rtlpriv->use_new_trx_flow) {
12411218 buffer_desc =
1242
- pci_zalloc_consistent(rtlpci->pdev,
1243
- sizeof(*buffer_desc) * entries,
1244
- &buffer_desc_dma);
1219
+ dma_alloc_coherent(&rtlpci->pdev->dev,
1220
+ sizeof(*buffer_desc) * entries,
1221
+ &buffer_desc_dma, GFP_KERNEL);
12451222
12461223 if (!buffer_desc || (unsigned long)buffer_desc & 0xFF) {
12471224 pr_err("Cannot allocate TX ring (prio = %d)\n",
....@@ -1257,8 +1234,8 @@
12571234 }
12581235
12591236 /* alloc dma for this ring */
1260
- desc = pci_zalloc_consistent(rtlpci->pdev,
1261
- sizeof(*desc) * entries, &desc_dma);
1237
+ desc = dma_alloc_coherent(&rtlpci->pdev->dev, sizeof(*desc) * entries,
1238
+ &desc_dma, GFP_KERNEL);
12621239
12631240 if (!desc || (unsigned long)desc & 0xFF) {
12641241 pr_err("Cannot allocate TX ring (prio = %d)\n", prio);
....@@ -1272,8 +1249,8 @@
12721249 rtlpci->tx_ring[prio].entries = entries;
12731250 skb_queue_head_init(&rtlpci->tx_ring[prio].queue);
12741251
1275
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "queue:%d, ring_addr:%p\n",
1276
- prio, desc);
1252
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD, "queue:%d, ring_addr:%p\n",
1253
+ prio, desc);
12771254
12781255 /* init every desc in this ring */
12791256 if (!rtlpriv->use_new_trx_flow) {
....@@ -1301,11 +1278,10 @@
13011278 struct rtl_rx_buffer_desc *entry = NULL;
13021279 /* alloc dma for this ring */
13031280 rtlpci->rx_ring[rxring_idx].buffer_desc =
1304
- pci_zalloc_consistent(rtlpci->pdev,
1305
- sizeof(*rtlpci->rx_ring[rxring_idx].
1306
- buffer_desc) *
1307
- rtlpci->rxringcount,
1308
- &rtlpci->rx_ring[rxring_idx].dma);
1281
+ dma_alloc_coherent(&rtlpci->pdev->dev,
1282
+ sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) *
1283
+ rtlpci->rxringcount,
1284
+ &rtlpci->rx_ring[rxring_idx].dma, GFP_KERNEL);
13091285 if (!rtlpci->rx_ring[rxring_idx].buffer_desc ||
13101286 (ulong)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) {
13111287 pr_err("Cannot allocate RX ring\n");
....@@ -1325,10 +1301,10 @@
13251301 u8 tmp_one = 1;
13261302 /* alloc dma for this ring */
13271303 rtlpci->rx_ring[rxring_idx].desc =
1328
- pci_zalloc_consistent(rtlpci->pdev,
1329
- sizeof(*rtlpci->rx_ring[rxring_idx].
1330
- desc) * rtlpci->rxringcount,
1331
- &rtlpci->rx_ring[rxring_idx].dma);
1304
+ dma_alloc_coherent(&rtlpci->pdev->dev,
1305
+ sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
1306
+ rtlpci->rxringcount,
1307
+ &rtlpci->rx_ring[rxring_idx].dma, GFP_KERNEL);
13321308 if (!rtlpci->rx_ring[rxring_idx].desc ||
13331309 (unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) {
13341310 pr_err("Cannot allocate RX ring\n");
....@@ -1368,24 +1344,23 @@
13681344 else
13691345 entry = (u8 *)(&ring->desc[ring->idx]);
13701346
1371
- pci_unmap_single(rtlpci->pdev,
1347
+ dma_unmap_single(&rtlpci->pdev->dev,
13721348 rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry,
1373
- true,
1374
- HW_DESC_TXBUFF_ADDR),
1375
- skb->len, PCI_DMA_TODEVICE);
1349
+ true, HW_DESC_TXBUFF_ADDR),
1350
+ skb->len, DMA_TO_DEVICE);
13761351 kfree_skb(skb);
13771352 ring->idx = (ring->idx + 1) % ring->entries;
13781353 }
13791354
13801355 /* free dma of this ring */
1381
- pci_free_consistent(rtlpci->pdev,
1382
- sizeof(*ring->desc) * ring->entries,
1383
- ring->desc, ring->dma);
1356
+ dma_free_coherent(&rtlpci->pdev->dev,
1357
+ sizeof(*ring->desc) * ring->entries, ring->desc,
1358
+ ring->dma);
13841359 ring->desc = NULL;
13851360 if (rtlpriv->use_new_trx_flow) {
1386
- pci_free_consistent(rtlpci->pdev,
1387
- sizeof(*ring->buffer_desc) * ring->entries,
1388
- ring->buffer_desc, ring->buffer_desc_dma);
1361
+ dma_free_coherent(&rtlpci->pdev->dev,
1362
+ sizeof(*ring->buffer_desc) * ring->entries,
1363
+ ring->buffer_desc, ring->buffer_desc_dma);
13891364 ring->buffer_desc = NULL;
13901365 }
13911366 }
....@@ -1402,25 +1377,25 @@
14021377
14031378 if (!skb)
14041379 continue;
1405
- pci_unmap_single(rtlpci->pdev, *((dma_addr_t *)skb->cb),
1406
- rtlpci->rxbuffersize, PCI_DMA_FROMDEVICE);
1380
+ dma_unmap_single(&rtlpci->pdev->dev, *((dma_addr_t *)skb->cb),
1381
+ rtlpci->rxbuffersize, DMA_FROM_DEVICE);
14071382 kfree_skb(skb);
14081383 }
14091384
14101385 /* free dma of this ring */
14111386 if (rtlpriv->use_new_trx_flow) {
1412
- pci_free_consistent(rtlpci->pdev,
1413
- sizeof(*rtlpci->rx_ring[rxring_idx].
1414
- buffer_desc) * rtlpci->rxringcount,
1415
- rtlpci->rx_ring[rxring_idx].buffer_desc,
1416
- rtlpci->rx_ring[rxring_idx].dma);
1387
+ dma_free_coherent(&rtlpci->pdev->dev,
1388
+ sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) *
1389
+ rtlpci->rxringcount,
1390
+ rtlpci->rx_ring[rxring_idx].buffer_desc,
1391
+ rtlpci->rx_ring[rxring_idx].dma);
14171392 rtlpci->rx_ring[rxring_idx].buffer_desc = NULL;
14181393 } else {
1419
- pci_free_consistent(rtlpci->pdev,
1420
- sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
1421
- rtlpci->rxringcount,
1422
- rtlpci->rx_ring[rxring_idx].desc,
1423
- rtlpci->rx_ring[rxring_idx].dma);
1394
+ dma_free_coherent(&rtlpci->pdev->dev,
1395
+ sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
1396
+ rtlpci->rxringcount,
1397
+ rtlpci->rx_ring[rxring_idx].desc,
1398
+ rtlpci->rx_ring[rxring_idx].dma);
14241399 rtlpci->rx_ring[rxring_idx].desc = NULL;
14251400 }
14261401 }
....@@ -1548,13 +1523,10 @@
15481523 else
15491524 entry = (u8 *)(&ring->desc[ring->idx]);
15501525
1551
- pci_unmap_single(rtlpci->pdev,
1552
- rtlpriv->cfg->ops->
1553
- get_desc(hw, (u8 *)
1554
- entry,
1555
- true,
1556
- HW_DESC_TXBUFF_ADDR),
1557
- skb->len, PCI_DMA_TODEVICE);
1526
+ dma_unmap_single(&rtlpci->pdev->dev,
1527
+ rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry,
1528
+ true, HW_DESC_TXBUFF_ADDR),
1529
+ skb->len, DMA_TO_DEVICE);
15581530 dev_kfree_skb_irq(skb);
15591531 ring->idx = (ring->idx + 1) % ring->entries;
15601532 }
....@@ -1670,10 +1642,10 @@
16701642 true, HW_DESC_OWN);
16711643
16721644 if (own == 1 && hw_queue != BEACON_QUEUE) {
1673
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
1674
- "No more TX desc@%d, ring->idx = %d, idx = %d, skb_queue_len = 0x%x\n",
1675
- hw_queue, ring->idx, idx,
1676
- skb_queue_len(&ring->queue));
1645
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
1646
+ "No more TX desc@%d, ring->idx = %d, idx = %d, skb_queue_len = 0x%x\n",
1647
+ hw_queue, ring->idx, idx,
1648
+ skb_queue_len(&ring->queue));
16771649
16781650 spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock,
16791651 flags);
....@@ -1683,8 +1655,8 @@
16831655
16841656 if (rtlpriv->cfg->ops->get_available_desc &&
16851657 rtlpriv->cfg->ops->get_available_desc(hw, hw_queue) == 0) {
1686
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
1687
- "get_available_desc fail\n");
1658
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
1659
+ "get_available_desc fail\n");
16881660 spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags);
16891661 return skb->len;
16901662 }
....@@ -1707,8 +1679,8 @@
17071679
17081680 if ((ring->entries - skb_queue_len(&ring->queue)) < 2 &&
17091681 hw_queue != BEACON_QUEUE) {
1710
- RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
1711
- "less desc left, stop skb_queue@%d, ring->idx = %d, idx = %d, skb_queue_len = 0x%x\n",
1682
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
1683
+ "less desc left, stop skb_queue@%d, ring->idx = %d, idx = %d, skb_queue_len = 0x%x\n",
17121684 hw_queue, ring->idx, idx,
17131685 skb_queue_len(&ring->queue));
17141686
....@@ -1815,15 +1787,17 @@
18151787
18161788 err = rtlpriv->cfg->ops->hw_init(hw);
18171789 if (err) {
1818
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
1819
- "Failed to config hardware!\n");
1790
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
1791
+ "Failed to config hardware!\n");
1792
+ kfree(rtlpriv->btcoexist.btc_context);
1793
+ kfree(rtlpriv->btcoexist.wifi_only_context);
18201794 return err;
18211795 }
18221796 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RETRY_LIMIT,
18231797 &rtlmac->retry_long);
18241798
18251799 rtlpriv->cfg->ops->enable_interrupt(hw);
1826
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "enable_interrupt OK\n");
1800
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD, "enable_interrupt OK\n");
18271801
18281802 rtl_init_rx_config(hw);
18291803
....@@ -1834,7 +1808,7 @@
18341808
18351809 rtlpci->up_first_time = false;
18361810
1837
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, "%s OK\n", __func__);
1811
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG, "%s OK\n", __func__);
18381812 return 0;
18391813 }
18401814
....@@ -1928,71 +1902,71 @@
19281902 deviceid == RTL_PCI_8171_DID) {
19291903 switch (revisionid) {
19301904 case RTL_PCI_REVISION_ID_8192PCIE:
1931
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
1932
- "8192 PCI-E is found - vid/did=%x/%x\n",
1933
- venderid, deviceid);
1905
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
1906
+ "8192 PCI-E is found - vid/did=%x/%x\n",
1907
+ venderid, deviceid);
19341908 rtlhal->hw_type = HARDWARE_TYPE_RTL8192E;
19351909 return false;
19361910 case RTL_PCI_REVISION_ID_8192SE:
1937
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
1938
- "8192SE is found - vid/did=%x/%x\n",
1939
- venderid, deviceid);
1911
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
1912
+ "8192SE is found - vid/did=%x/%x\n",
1913
+ venderid, deviceid);
19401914 rtlhal->hw_type = HARDWARE_TYPE_RTL8192SE;
19411915 break;
19421916 default:
1943
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
1944
- "Err: Unknown device - vid/did=%x/%x\n",
1945
- venderid, deviceid);
1917
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
1918
+ "Err: Unknown device - vid/did=%x/%x\n",
1919
+ venderid, deviceid);
19461920 rtlhal->hw_type = HARDWARE_TYPE_RTL8192SE;
19471921 break;
19481922 }
19491923 } else if (deviceid == RTL_PCI_8723AE_DID) {
19501924 rtlhal->hw_type = HARDWARE_TYPE_RTL8723AE;
1951
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
1952
- "8723AE PCI-E is found - vid/did=%x/%x\n",
1953
- venderid, deviceid);
1925
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
1926
+ "8723AE PCI-E is found - vid/did=%x/%x\n",
1927
+ venderid, deviceid);
19541928 } else if (deviceid == RTL_PCI_8192CET_DID ||
19551929 deviceid == RTL_PCI_8192CE_DID ||
19561930 deviceid == RTL_PCI_8191CE_DID ||
19571931 deviceid == RTL_PCI_8188CE_DID) {
19581932 rtlhal->hw_type = HARDWARE_TYPE_RTL8192CE;
1959
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
1960
- "8192C PCI-E is found - vid/did=%x/%x\n",
1961
- venderid, deviceid);
1933
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
1934
+ "8192C PCI-E is found - vid/did=%x/%x\n",
1935
+ venderid, deviceid);
19621936 } else if (deviceid == RTL_PCI_8192DE_DID ||
19631937 deviceid == RTL_PCI_8192DE_DID2) {
19641938 rtlhal->hw_type = HARDWARE_TYPE_RTL8192DE;
1965
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
1966
- "8192D PCI-E is found - vid/did=%x/%x\n",
1967
- venderid, deviceid);
1939
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
1940
+ "8192D PCI-E is found - vid/did=%x/%x\n",
1941
+ venderid, deviceid);
19681942 } else if (deviceid == RTL_PCI_8188EE_DID) {
19691943 rtlhal->hw_type = HARDWARE_TYPE_RTL8188EE;
1970
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
1971
- "Find adapter, Hardware type is 8188EE\n");
1944
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1945
+ "Find adapter, Hardware type is 8188EE\n");
19721946 } else if (deviceid == RTL_PCI_8723BE_DID) {
19731947 rtlhal->hw_type = HARDWARE_TYPE_RTL8723BE;
1974
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
1975
- "Find adapter, Hardware type is 8723BE\n");
1948
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1949
+ "Find adapter, Hardware type is 8723BE\n");
19761950 } else if (deviceid == RTL_PCI_8192EE_DID) {
19771951 rtlhal->hw_type = HARDWARE_TYPE_RTL8192EE;
1978
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
1979
- "Find adapter, Hardware type is 8192EE\n");
1952
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1953
+ "Find adapter, Hardware type is 8192EE\n");
19801954 } else if (deviceid == RTL_PCI_8821AE_DID) {
19811955 rtlhal->hw_type = HARDWARE_TYPE_RTL8821AE;
1982
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
1983
- "Find adapter, Hardware type is 8821AE\n");
1956
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1957
+ "Find adapter, Hardware type is 8821AE\n");
19841958 } else if (deviceid == RTL_PCI_8812AE_DID) {
19851959 rtlhal->hw_type = HARDWARE_TYPE_RTL8812AE;
1986
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
1987
- "Find adapter, Hardware type is 8812AE\n");
1960
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1961
+ "Find adapter, Hardware type is 8812AE\n");
19881962 } else if (deviceid == RTL_PCI_8822BE_DID) {
19891963 rtlhal->hw_type = HARDWARE_TYPE_RTL8822BE;
19901964 rtlhal->bandset = BAND_ON_BOTH;
1991
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
1992
- "Find adapter, Hardware type is 8822BE\n");
1965
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1966
+ "Find adapter, Hardware type is 8822BE\n");
19931967 } else {
1994
- RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
1995
- "Err: Unknown device - vid/did=%x/%x\n",
1968
+ rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING,
1969
+ "Err: Unknown device - vid/did=%x/%x\n",
19961970 venderid, deviceid);
19971971
19981972 rtlhal->hw_type = RTL_DEFAULT_HARDWARE_TYPE;
....@@ -2001,17 +1975,17 @@
20011975 if (rtlhal->hw_type == HARDWARE_TYPE_RTL8192DE) {
20021976 if (revisionid == 0 || revisionid == 1) {
20031977 if (revisionid == 0) {
2004
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
2005
- "Find 92DE MAC0\n");
1978
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1979
+ "Find 92DE MAC0\n");
20061980 rtlhal->interfaceindex = 0;
20071981 } else if (revisionid == 1) {
2008
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
2009
- "Find 92DE MAC1\n");
1982
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1983
+ "Find 92DE MAC1\n");
20101984 rtlhal->interfaceindex = 1;
20111985 }
20121986 } else {
2013
- RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
2014
- "Unknown device - VendorID/DeviceID=%x/%x, Revision=%x\n",
1987
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD,
1988
+ "Unknown device - VendorID/DeviceID=%x/%x, Revision=%x\n",
20151989 venderid, deviceid, revisionid);
20161990 rtlhal->interfaceindex = 0;
20171991 }
....@@ -2045,9 +2019,9 @@
20452019 for (tmp = 0; tmp < PCI_BRIDGE_VENDOR_MAX; tmp++) {
20462020 if (bridge_pdev->vendor == pcibridge_vendors[tmp]) {
20472021 pcipriv->ndis_adapter.pcibridge_vendor = tmp;
2048
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
2049
- "Pci Bridge Vendor is found index: %d\n",
2050
- tmp);
2022
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
2023
+ "Pci Bridge Vendor is found index: %d\n",
2024
+ tmp);
20512025 break;
20522026 }
20532027 }
....@@ -2075,22 +2049,22 @@
20752049 }
20762050 }
20772051
2078
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
2079
- "pcidev busnumber:devnumber:funcnumber:vendor:link_ctl %d:%d:%d:%x:%x\n",
2080
- pcipriv->ndis_adapter.busnumber,
2081
- pcipriv->ndis_adapter.devnumber,
2082
- pcipriv->ndis_adapter.funcnumber,
2083
- pdev->vendor, pcipriv->ndis_adapter.linkctrl_reg);
2052
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
2053
+ "pcidev busnumber:devnumber:funcnumber:vendor:link_ctl %d:%d:%d:%x:%x\n",
2054
+ pcipriv->ndis_adapter.busnumber,
2055
+ pcipriv->ndis_adapter.devnumber,
2056
+ pcipriv->ndis_adapter.funcnumber,
2057
+ pdev->vendor, pcipriv->ndis_adapter.linkctrl_reg);
20842058
2085
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
2086
- "pci_bridge busnumber:devnumber:funcnumber:vendor:pcie_cap:link_ctl_reg:amd %d:%d:%d:%x:%x:%x:%x\n",
2087
- pcipriv->ndis_adapter.pcibridge_busnum,
2088
- pcipriv->ndis_adapter.pcibridge_devnum,
2089
- pcipriv->ndis_adapter.pcibridge_funcnum,
2090
- pcibridge_vendors[pcipriv->ndis_adapter.pcibridge_vendor],
2091
- pcipriv->ndis_adapter.pcibridge_pciehdr_offset,
2092
- pcipriv->ndis_adapter.pcibridge_linkctrlreg,
2093
- pcipriv->ndis_adapter.amd_l1_patch);
2059
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
2060
+ "pci_bridge busnumber:devnumber:funcnumber:vendor:pcie_cap:link_ctl_reg:amd %d:%d:%d:%x:%x:%x:%x\n",
2061
+ pcipriv->ndis_adapter.pcibridge_busnum,
2062
+ pcipriv->ndis_adapter.pcibridge_devnum,
2063
+ pcipriv->ndis_adapter.pcibridge_funcnum,
2064
+ pcibridge_vendors[pcipriv->ndis_adapter.pcibridge_vendor],
2065
+ pcipriv->ndis_adapter.pcibridge_pciehdr_offset,
2066
+ pcipriv->ndis_adapter.pcibridge_linkctrlreg,
2067
+ pcipriv->ndis_adapter.amd_l1_patch);
20942068
20952069 rtl_pci_parse_configuration(pdev, hw);
20962070 list_add_tail(&rtlpriv->list, &rtlpriv->glb_var->glb_priv_list);
....@@ -2118,8 +2092,8 @@
21182092
21192093 rtlpci->using_msi = true;
21202094
2121
- RT_TRACE(rtlpriv, COMP_INIT | COMP_INTR, DBG_DMESG,
2122
- "MSI Interrupt Mode!\n");
2095
+ rtl_dbg(rtlpriv, COMP_INIT | COMP_INTR, DBG_DMESG,
2096
+ "MSI Interrupt Mode!\n");
21232097 return 0;
21242098 }
21252099
....@@ -2136,8 +2110,8 @@
21362110 return ret;
21372111
21382112 rtlpci->using_msi = false;
2139
- RT_TRACE(rtlpriv, COMP_INIT | COMP_INTR, DBG_DMESG,
2140
- "Pin-based Interrupt Mode!\n");
2113
+ rtl_dbg(rtlpriv, COMP_INIT | COMP_INTR, DBG_DMESG,
2114
+ "Pin-based Interrupt Mode!\n");
21412115 return 0;
21422116 }
21432117
....@@ -2191,8 +2165,8 @@
21912165 }
21922166
21932167 if (((struct rtl_hal_cfg *)id->driver_data)->mod_params->dma64 &&
2194
- !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
2195
- if (pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
2168
+ !dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) {
2169
+ if (dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
21962170 WARN_ONCE(true,
21972171 "Unable to obtain 64bit DMA for consistent allocations\n");
21982172 err = -ENOMEM;
....@@ -2200,8 +2174,8 @@
22002174 }
22012175
22022176 platform_enable_dma64(pdev, true);
2203
- } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
2204
- if (pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) {
2177
+ } else if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) {
2178
+ if (dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32))) {
22052179 WARN_ONCE(true,
22062180 "rtlwifi: Unable to obtain 32bit DMA for consistent allocations\n");
22072181 err = -ENOMEM;
....@@ -2264,10 +2238,10 @@
22642238 goto fail2;
22652239 }
22662240
2267
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
2268
- "mem mapped space: start: 0x%08lx len:%08lx flags:%08lx, after map:0x%08lx\n",
2269
- pmem_start, pmem_len, pmem_flags,
2270
- rtlpriv->io.pci_mem_start);
2241
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
2242
+ "mem mapped space: start: 0x%08lx len:%08lx flags:%08lx, after map:0x%08lx\n",
2243
+ pmem_start, pmem_len, pmem_flags,
2244
+ rtlpriv->io.pci_mem_start);
22712245
22722246 /* Disable Clk Request */
22732247 pci_write_config_byte(pdev, 0x81, 0);
....@@ -2329,9 +2303,9 @@
23292303 rtlpci = rtl_pcidev(pcipriv);
23302304 err = rtl_pci_intr_mode_decide(hw);
23312305 if (err) {
2332
- RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
2333
- "%s: failed to register IRQ handler\n",
2334
- wiphy_name(hw->wiphy));
2306
+ rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG,
2307
+ "%s: failed to register IRQ handler\n",
2308
+ wiphy_name(hw->wiphy));
23352309 goto fail3;
23362310 }
23372311 rtlpci->irq_alloc = 1;
....@@ -2433,8 +2407,7 @@
24332407 ****************************************/
24342408 int rtl_pci_suspend(struct device *dev)
24352409 {
2436
- struct pci_dev *pdev = to_pci_dev(dev);
2437
- struct ieee80211_hw *hw = pci_get_drvdata(pdev);
2410
+ struct ieee80211_hw *hw = dev_get_drvdata(dev);
24382411 struct rtl_priv *rtlpriv = rtl_priv(hw);
24392412
24402413 rtlpriv->cfg->ops->hw_suspend(hw);
....@@ -2446,8 +2419,7 @@
24462419
24472420 int rtl_pci_resume(struct device *dev)
24482421 {
2449
- struct pci_dev *pdev = to_pci_dev(dev);
2450
- struct ieee80211_hw *hw = pci_get_drvdata(pdev);
2422
+ struct ieee80211_hw *hw = dev_get_drvdata(dev);
24512423 struct rtl_priv *rtlpriv = rtl_priv(hw);
24522424
24532425 rtlpriv->cfg->ops->hw_resume(hw);