.. | .. |
---|
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.*/ |
---|
25 | 3 | |
---|
26 | 4 | #include "wifi.h" |
---|
27 | 5 | #include "core.h" |
---|
.. | .. |
---|
226 | 204 | return; |
---|
227 | 205 | |
---|
228 | 206 | 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"); |
---|
231 | 209 | |
---|
232 | 210 | return; |
---|
233 | 211 | } |
---|
.. | .. |
---|
276 | 254 | return; |
---|
277 | 255 | |
---|
278 | 256 | 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"); |
---|
281 | 259 | return; |
---|
282 | 260 | } |
---|
283 | 261 | |
---|
.. | .. |
---|
293 | 271 | pci_write_config_byte(rtlpci->pdev, (num4bytes << 2), |
---|
294 | 272 | u_pcibridge_aspmsetting); |
---|
295 | 273 | |
---|
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); |
---|
300 | 278 | |
---|
301 | 279 | udelay(50); |
---|
302 | 280 | |
---|
.. | .. |
---|
353 | 331 | list_for_each_entry(tpriv, &rtlpriv->glb_var->glb_priv_list, |
---|
354 | 332 | list) { |
---|
355 | 333 | 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", |
---|
358 | 336 | 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", |
---|
361 | 339 | tpcipriv->ndis_adapter.funcnumber); |
---|
362 | 340 | |
---|
363 | 341 | if (pcipriv->ndis_adapter.busnumber == |
---|
.. | .. |
---|
372 | 350 | } |
---|
373 | 351 | } |
---|
374 | 352 | |
---|
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); |
---|
377 | 355 | |
---|
378 | 356 | if (find_buddy_priv) |
---|
379 | 357 | *buddy_priv = tpriv; |
---|
.. | .. |
---|
410 | 388 | pcie_capability_read_word(pdev, PCI_EXP_LNKCTL, &linkctrl_reg); |
---|
411 | 389 | pcipriv->ndis_adapter.linkctrl_reg = (u8)linkctrl_reg; |
---|
412 | 390 | |
---|
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); |
---|
415 | 393 | |
---|
416 | 394 | pci_read_config_byte(pdev, 0x98, &tmp); |
---|
417 | 395 | tmp |= BIT(4); |
---|
.. | .. |
---|
521 | 499 | |
---|
522 | 500 | memset(&tcb_desc, 0, sizeof(struct rtl_tcb_desc)); |
---|
523 | 501 | |
---|
524 | | - spin_lock_bh(&rtlpriv->locks.waitq_lock); |
---|
| 502 | + spin_lock(&rtlpriv->locks.waitq_lock); |
---|
525 | 503 | if (!skb_queue_empty(&mac->skb_waitq[tid]) && |
---|
526 | 504 | (ring->entries - skb_queue_len(&ring->queue) > |
---|
527 | 505 | rtlhal->max_earlymode_num)) { |
---|
528 | 506 | skb = skb_dequeue(&mac->skb_waitq[tid]); |
---|
529 | 507 | } else { |
---|
530 | | - spin_unlock_bh(&rtlpriv->locks.waitq_lock); |
---|
| 508 | + spin_unlock(&rtlpriv->locks.waitq_lock); |
---|
531 | 509 | break; |
---|
532 | 510 | } |
---|
533 | | - spin_unlock_bh(&rtlpriv->locks.waitq_lock); |
---|
| 511 | + spin_unlock(&rtlpriv->locks.waitq_lock); |
---|
534 | 512 | |
---|
535 | 513 | /* Some macaddr can't do early mode. like |
---|
536 | 514 | * multicast/broadcast/no_qos data |
---|
.. | .. |
---|
569 | 547 | ring->idx = (ring->idx + 1) % ring->entries; |
---|
570 | 548 | |
---|
571 | 549 | 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); |
---|
577 | 554 | |
---|
578 | 555 | /* remove early mode header */ |
---|
579 | 556 | if (rtlpriv->rtlhal.earlymode_enable) |
---|
580 | 557 | skb_pull(skb, EM_HDR_LEN); |
---|
581 | 558 | |
---|
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)); |
---|
587 | 564 | |
---|
588 | 565 | if (prio == TXCMD_QUEUE) { |
---|
589 | 566 | dev_kfree_skb(skb); |
---|
.. | .. |
---|
630 | 607 | } |
---|
631 | 608 | |
---|
632 | 609 | 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)); |
---|
637 | 614 | |
---|
638 | 615 | ieee80211_wake_queue(hw, skb_get_queue_mapping(skb)); |
---|
639 | 616 | } |
---|
.. | .. |
---|
644 | 621 | if (((rtlpriv->link_info.num_rx_inperiod + |
---|
645 | 622 | rtlpriv->link_info.num_tx_inperiod) > 8) || |
---|
646 | 623 | rtlpriv->link_info.num_rx_inperiod > 2) |
---|
647 | | - rtl_lps_leave(hw); |
---|
| 624 | + rtl_lps_leave(hw, false); |
---|
648 | 625 | } |
---|
649 | 626 | |
---|
650 | 627 | static int _rtl_pci_init_one_rxdesc(struct ieee80211_hw *hw, |
---|
.. | .. |
---|
668 | 645 | remap: |
---|
669 | 646 | /* just set skb->cb to mapping addr for pci_unmap_single use */ |
---|
670 | 647 | *((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); |
---|
673 | 650 | bufferaddress = *((dma_addr_t *)skb->cb); |
---|
674 | | - if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress)) |
---|
| 651 | + if (dma_mapping_error(&rtlpci->pdev->dev, bufferaddress)) |
---|
675 | 652 | return 0; |
---|
676 | 653 | rtlpci->rx_ring[rxring_idx].rx_buf[desc_idx] = skb; |
---|
677 | 654 | if (rtlpriv->use_new_trx_flow) { |
---|
.. | .. |
---|
795 | 772 | * AAAAAAttention !!! |
---|
796 | 773 | * We can NOT access 'skb' before 'pci_unmap_single' |
---|
797 | 774 | */ |
---|
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); |
---|
800 | 777 | |
---|
801 | 778 | /* get a new skb - if fail, old one will be reused */ |
---|
802 | 779 | new_skb = dev_alloc_skb(rtlpci->rxbuffersize); |
---|
.. | .. |
---|
823 | 800 | skb_reserve(skb, stats.rx_drvinfo_size + |
---|
824 | 801 | stats.rx_bufshift); |
---|
825 | 802 | } 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); |
---|
829 | 806 | dev_kfree_skb_any(skb); |
---|
830 | 807 | goto new_trx_end; |
---|
831 | 808 | } |
---|
.. | .. |
---|
844 | 821 | hdr = rtl_get_hdr(skb); |
---|
845 | 822 | fc = rtl_get_fc(skb); |
---|
846 | 823 | |
---|
847 | | - if (!stats.crc && !stats.hwerror) { |
---|
| 824 | + if (!stats.crc && !stats.hwerror && (skb->len > FCS_LEN)) { |
---|
848 | 825 | memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, |
---|
849 | 826 | sizeof(rx_status)); |
---|
850 | 827 | |
---|
.. | .. |
---|
881 | 858 | _rtl_pci_rx_to_mac80211(hw, skb, rx_status); |
---|
882 | 859 | } |
---|
883 | 860 | } else { |
---|
| 861 | + /* drop packets with errors or those too short */ |
---|
884 | 862 | dev_kfree_skb_any(skb); |
---|
885 | 863 | } |
---|
886 | 864 | new_trx_end: |
---|
.. | .. |
---|
896 | 874 | if (((rtlpriv->link_info.num_rx_inperiod + |
---|
897 | 875 | rtlpriv->link_info.num_tx_inperiod) > 8) || |
---|
898 | 876 | rtlpriv->link_info.num_rx_inperiod > 2) |
---|
899 | | - rtl_lps_leave(hw); |
---|
| 877 | + rtl_lps_leave(hw, false); |
---|
900 | 878 | skb = new_skb; |
---|
901 | 879 | no_new: |
---|
902 | 880 | if (rtlpriv->use_new_trx_flow) { |
---|
.. | .. |
---|
946 | 924 | |
---|
947 | 925 | /*<1> beacon related */ |
---|
948 | 926 | 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"); |
---|
951 | 929 | |
---|
952 | 930 | 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"); |
---|
955 | 933 | |
---|
956 | 934 | 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"); |
---|
958 | 936 | |
---|
959 | 937 | 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"); |
---|
962 | 940 | tasklet_schedule(&rtlpriv->works.irq_prepare_bcn_tasklet); |
---|
963 | 941 | } |
---|
964 | 942 | |
---|
965 | 943 | /*<2> Tx related */ |
---|
966 | 944 | 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"); |
---|
968 | 946 | |
---|
969 | 947 | 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"); |
---|
972 | 950 | _rtl_pci_tx_isr(hw, MGNT_QUEUE); |
---|
973 | 951 | } |
---|
974 | 952 | |
---|
975 | 953 | 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"); |
---|
978 | 956 | _rtl_pci_tx_isr(hw, HIGH_QUEUE); |
---|
979 | 957 | } |
---|
980 | 958 | |
---|
981 | 959 | if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_BKDOK]) { |
---|
982 | 960 | rtlpriv->link_info.num_tx_inperiod++; |
---|
983 | 961 | |
---|
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"); |
---|
986 | 964 | _rtl_pci_tx_isr(hw, BK_QUEUE); |
---|
987 | 965 | } |
---|
988 | 966 | |
---|
989 | 967 | if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_BEDOK]) { |
---|
990 | 968 | rtlpriv->link_info.num_tx_inperiod++; |
---|
991 | 969 | |
---|
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"); |
---|
994 | 972 | _rtl_pci_tx_isr(hw, BE_QUEUE); |
---|
995 | 973 | } |
---|
996 | 974 | |
---|
997 | 975 | if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_VIDOK]) { |
---|
998 | 976 | rtlpriv->link_info.num_tx_inperiod++; |
---|
999 | 977 | |
---|
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"); |
---|
1002 | 980 | _rtl_pci_tx_isr(hw, VI_QUEUE); |
---|
1003 | 981 | } |
---|
1004 | 982 | |
---|
1005 | 983 | if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_VODOK]) { |
---|
1006 | 984 | rtlpriv->link_info.num_tx_inperiod++; |
---|
1007 | 985 | |
---|
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"); |
---|
1010 | 988 | _rtl_pci_tx_isr(hw, VO_QUEUE); |
---|
1011 | 989 | } |
---|
1012 | 990 | |
---|
.. | .. |
---|
1014 | 992 | if (intvec.intd & rtlpriv->cfg->maps[RTL_IMR_H2CDOK]) { |
---|
1015 | 993 | rtlpriv->link_info.num_tx_inperiod++; |
---|
1016 | 994 | |
---|
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"); |
---|
1019 | 997 | _rtl_pci_tx_isr(hw, H2C_QUEUE); |
---|
1020 | 998 | } |
---|
1021 | 999 | } |
---|
.. | .. |
---|
1024 | 1002 | if (intvec.inta & rtlpriv->cfg->maps[RTL_IMR_COMDOK]) { |
---|
1025 | 1003 | rtlpriv->link_info.num_tx_inperiod++; |
---|
1026 | 1004 | |
---|
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"); |
---|
1029 | 1007 | _rtl_pci_tx_isr(hw, TXCMD_QUEUE); |
---|
1030 | 1008 | } |
---|
1031 | 1009 | } |
---|
1032 | 1010 | |
---|
1033 | 1011 | /*<3> Rx related */ |
---|
1034 | 1012 | 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"); |
---|
1036 | 1014 | _rtl_pci_rx_interrupt(hw); |
---|
1037 | 1015 | } |
---|
1038 | 1016 | |
---|
1039 | 1017 | 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"); |
---|
1042 | 1020 | _rtl_pci_rx_interrupt(hw); |
---|
1043 | 1021 | } |
---|
1044 | 1022 | |
---|
1045 | 1023 | 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"); |
---|
1047 | 1025 | _rtl_pci_rx_interrupt(hw); |
---|
1048 | 1026 | } |
---|
1049 | 1027 | |
---|
1050 | 1028 | /*<4> fw related*/ |
---|
1051 | 1029 | if (rtlhal->hw_type == HARDWARE_TYPE_RTL8723AE) { |
---|
1052 | 1030 | 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"); |
---|
1055 | 1033 | queue_delayed_work(rtlpriv->works.rtl_wq, |
---|
1056 | 1034 | &rtlpriv->works.fwevt_wq, 0); |
---|
1057 | 1035 | } |
---|
.. | .. |
---|
1067 | 1045 | rtlhal->hw_type == HARDWARE_TYPE_RTL8723BE) { |
---|
1068 | 1046 | if (unlikely(intvec.inta & |
---|
1069 | 1047 | 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"); |
---|
1072 | 1050 | _rtl_pci_hs_interrupt(hw); |
---|
1073 | 1051 | } |
---|
1074 | 1052 | } |
---|
.. | .. |
---|
1082 | 1060 | return ret; |
---|
1083 | 1061 | } |
---|
1084 | 1062 | |
---|
1085 | | -static void _rtl_pci_irq_tasklet(unsigned long data) |
---|
| 1063 | +static void _rtl_pci_irq_tasklet(struct tasklet_struct *t) |
---|
1086 | 1064 | { |
---|
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; |
---|
1088 | 1067 | _rtl_pci_tx_chk_waitq(hw); |
---|
1089 | 1068 | } |
---|
1090 | 1069 | |
---|
1091 | | -static void _rtl_pci_prepare_bcn_tasklet(unsigned long data) |
---|
| 1070 | +static void _rtl_pci_prepare_bcn_tasklet(struct tasklet_struct *t) |
---|
1092 | 1071 | { |
---|
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; |
---|
1095 | 1075 | struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); |
---|
1096 | 1076 | struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); |
---|
1097 | 1077 | struct rtl8192_tx_ring *ring = NULL; |
---|
.. | .. |
---|
1113 | 1093 | else |
---|
1114 | 1094 | entry = (u8 *)(&ring->desc[ring->idx]); |
---|
1115 | 1095 | 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); |
---|
1120 | 1100 | kfree_skb(pskb); |
---|
1121 | 1101 | } |
---|
1122 | 1102 | |
---|
.. | .. |
---|
1215 | 1195 | rtlpci->acm_method = EACMWAY2_SW; |
---|
1216 | 1196 | |
---|
1217 | 1197 | /*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); |
---|
1224 | 1201 | INIT_WORK(&rtlpriv->works.lps_change_work, |
---|
1225 | 1202 | rtl_lps_change_work_callback); |
---|
1226 | 1203 | } |
---|
.. | .. |
---|
1239 | 1216 | /* alloc tx buffer desc for new trx flow*/ |
---|
1240 | 1217 | if (rtlpriv->use_new_trx_flow) { |
---|
1241 | 1218 | 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); |
---|
1245 | 1222 | |
---|
1246 | 1223 | if (!buffer_desc || (unsigned long)buffer_desc & 0xFF) { |
---|
1247 | 1224 | pr_err("Cannot allocate TX ring (prio = %d)\n", |
---|
.. | .. |
---|
1257 | 1234 | } |
---|
1258 | 1235 | |
---|
1259 | 1236 | /* 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); |
---|
1262 | 1239 | |
---|
1263 | 1240 | if (!desc || (unsigned long)desc & 0xFF) { |
---|
1264 | 1241 | pr_err("Cannot allocate TX ring (prio = %d)\n", prio); |
---|
.. | .. |
---|
1272 | 1249 | rtlpci->tx_ring[prio].entries = entries; |
---|
1273 | 1250 | skb_queue_head_init(&rtlpci->tx_ring[prio].queue); |
---|
1274 | 1251 | |
---|
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); |
---|
1277 | 1254 | |
---|
1278 | 1255 | /* init every desc in this ring */ |
---|
1279 | 1256 | if (!rtlpriv->use_new_trx_flow) { |
---|
.. | .. |
---|
1301 | 1278 | struct rtl_rx_buffer_desc *entry = NULL; |
---|
1302 | 1279 | /* alloc dma for this ring */ |
---|
1303 | 1280 | 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); |
---|
1309 | 1285 | if (!rtlpci->rx_ring[rxring_idx].buffer_desc || |
---|
1310 | 1286 | (ulong)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) { |
---|
1311 | 1287 | pr_err("Cannot allocate RX ring\n"); |
---|
.. | .. |
---|
1325 | 1301 | u8 tmp_one = 1; |
---|
1326 | 1302 | /* alloc dma for this ring */ |
---|
1327 | 1303 | 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); |
---|
1332 | 1308 | if (!rtlpci->rx_ring[rxring_idx].desc || |
---|
1333 | 1309 | (unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) { |
---|
1334 | 1310 | pr_err("Cannot allocate RX ring\n"); |
---|
.. | .. |
---|
1368 | 1344 | else |
---|
1369 | 1345 | entry = (u8 *)(&ring->desc[ring->idx]); |
---|
1370 | 1346 | |
---|
1371 | | - pci_unmap_single(rtlpci->pdev, |
---|
| 1347 | + dma_unmap_single(&rtlpci->pdev->dev, |
---|
1372 | 1348 | 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); |
---|
1376 | 1351 | kfree_skb(skb); |
---|
1377 | 1352 | ring->idx = (ring->idx + 1) % ring->entries; |
---|
1378 | 1353 | } |
---|
1379 | 1354 | |
---|
1380 | 1355 | /* 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); |
---|
1384 | 1359 | ring->desc = NULL; |
---|
1385 | 1360 | 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); |
---|
1389 | 1364 | ring->buffer_desc = NULL; |
---|
1390 | 1365 | } |
---|
1391 | 1366 | } |
---|
.. | .. |
---|
1402 | 1377 | |
---|
1403 | 1378 | if (!skb) |
---|
1404 | 1379 | 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); |
---|
1407 | 1382 | kfree_skb(skb); |
---|
1408 | 1383 | } |
---|
1409 | 1384 | |
---|
1410 | 1385 | /* free dma of this ring */ |
---|
1411 | 1386 | 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); |
---|
1417 | 1392 | rtlpci->rx_ring[rxring_idx].buffer_desc = NULL; |
---|
1418 | 1393 | } 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); |
---|
1424 | 1399 | rtlpci->rx_ring[rxring_idx].desc = NULL; |
---|
1425 | 1400 | } |
---|
1426 | 1401 | } |
---|
.. | .. |
---|
1548 | 1523 | else |
---|
1549 | 1524 | entry = (u8 *)(&ring->desc[ring->idx]); |
---|
1550 | 1525 | |
---|
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); |
---|
1558 | 1530 | dev_kfree_skb_irq(skb); |
---|
1559 | 1531 | ring->idx = (ring->idx + 1) % ring->entries; |
---|
1560 | 1532 | } |
---|
.. | .. |
---|
1670 | 1642 | true, HW_DESC_OWN); |
---|
1671 | 1643 | |
---|
1672 | 1644 | 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)); |
---|
1677 | 1649 | |
---|
1678 | 1650 | spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, |
---|
1679 | 1651 | flags); |
---|
.. | .. |
---|
1683 | 1655 | |
---|
1684 | 1656 | if (rtlpriv->cfg->ops->get_available_desc && |
---|
1685 | 1657 | 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"); |
---|
1688 | 1660 | spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); |
---|
1689 | 1661 | return skb->len; |
---|
1690 | 1662 | } |
---|
.. | .. |
---|
1707 | 1679 | |
---|
1708 | 1680 | if ((ring->entries - skb_queue_len(&ring->queue)) < 2 && |
---|
1709 | 1681 | 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", |
---|
1712 | 1684 | hw_queue, ring->idx, idx, |
---|
1713 | 1685 | skb_queue_len(&ring->queue)); |
---|
1714 | 1686 | |
---|
.. | .. |
---|
1815 | 1787 | |
---|
1816 | 1788 | err = rtlpriv->cfg->ops->hw_init(hw); |
---|
1817 | 1789 | 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); |
---|
1820 | 1794 | return err; |
---|
1821 | 1795 | } |
---|
1822 | 1796 | rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RETRY_LIMIT, |
---|
1823 | 1797 | &rtlmac->retry_long); |
---|
1824 | 1798 | |
---|
1825 | 1799 | 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"); |
---|
1827 | 1801 | |
---|
1828 | 1802 | rtl_init_rx_config(hw); |
---|
1829 | 1803 | |
---|
.. | .. |
---|
1834 | 1808 | |
---|
1835 | 1809 | rtlpci->up_first_time = false; |
---|
1836 | 1810 | |
---|
1837 | | - RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, "%s OK\n", __func__); |
---|
| 1811 | + rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG, "%s OK\n", __func__); |
---|
1838 | 1812 | return 0; |
---|
1839 | 1813 | } |
---|
1840 | 1814 | |
---|
.. | .. |
---|
1928 | 1902 | deviceid == RTL_PCI_8171_DID) { |
---|
1929 | 1903 | switch (revisionid) { |
---|
1930 | 1904 | 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); |
---|
1934 | 1908 | rtlhal->hw_type = HARDWARE_TYPE_RTL8192E; |
---|
1935 | 1909 | return false; |
---|
1936 | 1910 | 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); |
---|
1940 | 1914 | rtlhal->hw_type = HARDWARE_TYPE_RTL8192SE; |
---|
1941 | 1915 | break; |
---|
1942 | 1916 | 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); |
---|
1946 | 1920 | rtlhal->hw_type = HARDWARE_TYPE_RTL8192SE; |
---|
1947 | 1921 | break; |
---|
1948 | 1922 | } |
---|
1949 | 1923 | } else if (deviceid == RTL_PCI_8723AE_DID) { |
---|
1950 | 1924 | 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); |
---|
1954 | 1928 | } else if (deviceid == RTL_PCI_8192CET_DID || |
---|
1955 | 1929 | deviceid == RTL_PCI_8192CE_DID || |
---|
1956 | 1930 | deviceid == RTL_PCI_8191CE_DID || |
---|
1957 | 1931 | deviceid == RTL_PCI_8188CE_DID) { |
---|
1958 | 1932 | 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); |
---|
1962 | 1936 | } else if (deviceid == RTL_PCI_8192DE_DID || |
---|
1963 | 1937 | deviceid == RTL_PCI_8192DE_DID2) { |
---|
1964 | 1938 | 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); |
---|
1968 | 1942 | } else if (deviceid == RTL_PCI_8188EE_DID) { |
---|
1969 | 1943 | 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"); |
---|
1972 | 1946 | } else if (deviceid == RTL_PCI_8723BE_DID) { |
---|
1973 | 1947 | 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"); |
---|
1976 | 1950 | } else if (deviceid == RTL_PCI_8192EE_DID) { |
---|
1977 | 1951 | 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"); |
---|
1980 | 1954 | } else if (deviceid == RTL_PCI_8821AE_DID) { |
---|
1981 | 1955 | 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"); |
---|
1984 | 1958 | } else if (deviceid == RTL_PCI_8812AE_DID) { |
---|
1985 | 1959 | 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"); |
---|
1988 | 1962 | } else if (deviceid == RTL_PCI_8822BE_DID) { |
---|
1989 | 1963 | rtlhal->hw_type = HARDWARE_TYPE_RTL8822BE; |
---|
1990 | 1964 | 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"); |
---|
1993 | 1967 | } 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", |
---|
1996 | 1970 | venderid, deviceid); |
---|
1997 | 1971 | |
---|
1998 | 1972 | rtlhal->hw_type = RTL_DEFAULT_HARDWARE_TYPE; |
---|
.. | .. |
---|
2001 | 1975 | if (rtlhal->hw_type == HARDWARE_TYPE_RTL8192DE) { |
---|
2002 | 1976 | if (revisionid == 0 || revisionid == 1) { |
---|
2003 | 1977 | 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"); |
---|
2006 | 1980 | rtlhal->interfaceindex = 0; |
---|
2007 | 1981 | } 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"); |
---|
2010 | 1984 | rtlhal->interfaceindex = 1; |
---|
2011 | 1985 | } |
---|
2012 | 1986 | } 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", |
---|
2015 | 1989 | venderid, deviceid, revisionid); |
---|
2016 | 1990 | rtlhal->interfaceindex = 0; |
---|
2017 | 1991 | } |
---|
.. | .. |
---|
2045 | 2019 | for (tmp = 0; tmp < PCI_BRIDGE_VENDOR_MAX; tmp++) { |
---|
2046 | 2020 | if (bridge_pdev->vendor == pcibridge_vendors[tmp]) { |
---|
2047 | 2021 | 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); |
---|
2051 | 2025 | break; |
---|
2052 | 2026 | } |
---|
2053 | 2027 | } |
---|
.. | .. |
---|
2075 | 2049 | } |
---|
2076 | 2050 | } |
---|
2077 | 2051 | |
---|
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); |
---|
2084 | 2058 | |
---|
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); |
---|
2094 | 2068 | |
---|
2095 | 2069 | rtl_pci_parse_configuration(pdev, hw); |
---|
2096 | 2070 | list_add_tail(&rtlpriv->list, &rtlpriv->glb_var->glb_priv_list); |
---|
.. | .. |
---|
2118 | 2092 | |
---|
2119 | 2093 | rtlpci->using_msi = true; |
---|
2120 | 2094 | |
---|
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"); |
---|
2123 | 2097 | return 0; |
---|
2124 | 2098 | } |
---|
2125 | 2099 | |
---|
.. | .. |
---|
2136 | 2110 | return ret; |
---|
2137 | 2111 | |
---|
2138 | 2112 | 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"); |
---|
2141 | 2115 | return 0; |
---|
2142 | 2116 | } |
---|
2143 | 2117 | |
---|
.. | .. |
---|
2191 | 2165 | } |
---|
2192 | 2166 | |
---|
2193 | 2167 | 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))) { |
---|
2196 | 2170 | WARN_ONCE(true, |
---|
2197 | 2171 | "Unable to obtain 64bit DMA for consistent allocations\n"); |
---|
2198 | 2172 | err = -ENOMEM; |
---|
.. | .. |
---|
2200 | 2174 | } |
---|
2201 | 2175 | |
---|
2202 | 2176 | 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))) { |
---|
2205 | 2179 | WARN_ONCE(true, |
---|
2206 | 2180 | "rtlwifi: Unable to obtain 32bit DMA for consistent allocations\n"); |
---|
2207 | 2181 | err = -ENOMEM; |
---|
.. | .. |
---|
2264 | 2238 | goto fail2; |
---|
2265 | 2239 | } |
---|
2266 | 2240 | |
---|
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); |
---|
2271 | 2245 | |
---|
2272 | 2246 | /* Disable Clk Request */ |
---|
2273 | 2247 | pci_write_config_byte(pdev, 0x81, 0); |
---|
.. | .. |
---|
2329 | 2303 | rtlpci = rtl_pcidev(pcipriv); |
---|
2330 | 2304 | err = rtl_pci_intr_mode_decide(hw); |
---|
2331 | 2305 | 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)); |
---|
2335 | 2309 | goto fail3; |
---|
2336 | 2310 | } |
---|
2337 | 2311 | rtlpci->irq_alloc = 1; |
---|
.. | .. |
---|
2433 | 2407 | ****************************************/ |
---|
2434 | 2408 | int rtl_pci_suspend(struct device *dev) |
---|
2435 | 2409 | { |
---|
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); |
---|
2438 | 2411 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
---|
2439 | 2412 | |
---|
2440 | 2413 | rtlpriv->cfg->ops->hw_suspend(hw); |
---|
.. | .. |
---|
2446 | 2419 | |
---|
2447 | 2420 | int rtl_pci_resume(struct device *dev) |
---|
2448 | 2421 | { |
---|
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); |
---|
2451 | 2423 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
---|
2452 | 2424 | |
---|
2453 | 2425 | rtlpriv->cfg->ops->hw_resume(hw); |
---|