.. | .. |
---|
494 | 494 | skb = netdev_alloc_skb(tp->dev, rx_buf_sz); |
---|
495 | 495 | if (unlikely(!skb)) |
---|
496 | 496 | goto skb_alloc_failed; |
---|
497 | | - mapping = pci_map_single(tp->pci_dev, skb->data, tp->rx_buf_sz, |
---|
498 | | - PCI_DMA_FROMDEVICE); |
---|
499 | | - if (pci_dma_mapping_error(tp->pci_dev, mapping)) |
---|
| 497 | + mapping = dma_map_single(&tp->pci_dev->dev, skb->data, tp->rx_buf_sz, |
---|
| 498 | + DMA_FROM_DEVICE); |
---|
| 499 | + if (dma_mapping_error(&tp->pci_dev->dev, mapping)) |
---|
500 | 500 | goto out; |
---|
501 | 501 | sis190_map_to_asic(desc, mapping, rx_buf_sz); |
---|
502 | 502 | |
---|
.. | .. |
---|
542 | 542 | if (!skb) |
---|
543 | 543 | goto out; |
---|
544 | 544 | |
---|
545 | | - pci_dma_sync_single_for_cpu(tp->pci_dev, addr, tp->rx_buf_sz, |
---|
546 | | - PCI_DMA_FROMDEVICE); |
---|
| 545 | + dma_sync_single_for_cpu(&tp->pci_dev->dev, addr, tp->rx_buf_sz, |
---|
| 546 | + DMA_FROM_DEVICE); |
---|
547 | 547 | skb_copy_to_linear_data(skb, sk_buff[0]->data, pkt_size); |
---|
548 | 548 | *sk_buff = skb; |
---|
549 | 549 | done = true; |
---|
.. | .. |
---|
612 | 612 | |
---|
613 | 613 | |
---|
614 | 614 | if (sis190_try_rx_copy(tp, &skb, pkt_size, addr)) { |
---|
615 | | - pci_dma_sync_single_for_device(pdev, addr, |
---|
616 | | - tp->rx_buf_sz, PCI_DMA_FROMDEVICE); |
---|
| 615 | + dma_sync_single_for_device(&pdev->dev, addr, |
---|
| 616 | + tp->rx_buf_sz, |
---|
| 617 | + DMA_FROM_DEVICE); |
---|
617 | 618 | sis190_give_to_asic(desc, tp->rx_buf_sz); |
---|
618 | 619 | } else { |
---|
619 | | - pci_unmap_single(pdev, addr, tp->rx_buf_sz, |
---|
620 | | - PCI_DMA_FROMDEVICE); |
---|
| 620 | + dma_unmap_single(&pdev->dev, addr, |
---|
| 621 | + tp->rx_buf_sz, |
---|
| 622 | + DMA_FROM_DEVICE); |
---|
621 | 623 | tp->Rx_skbuff[entry] = NULL; |
---|
622 | 624 | sis190_make_unusable_by_asic(desc); |
---|
623 | 625 | } |
---|
.. | .. |
---|
654 | 656 | |
---|
655 | 657 | len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len; |
---|
656 | 658 | |
---|
657 | | - pci_unmap_single(pdev, le32_to_cpu(desc->addr), len, PCI_DMA_TODEVICE); |
---|
| 659 | + dma_unmap_single(&pdev->dev, le32_to_cpu(desc->addr), len, |
---|
| 660 | + DMA_TO_DEVICE); |
---|
658 | 661 | |
---|
659 | 662 | memset(desc, 0x00, sizeof(*desc)); |
---|
660 | 663 | } |
---|
.. | .. |
---|
714 | 717 | |
---|
715 | 718 | sis190_unmap_tx_skb(tp->pci_dev, skb, txd); |
---|
716 | 719 | tp->Tx_skbuff[entry] = NULL; |
---|
717 | | - dev_kfree_skb_irq(skb); |
---|
| 720 | + dev_consume_skb_irq(skb); |
---|
718 | 721 | } |
---|
719 | 722 | |
---|
720 | 723 | if (tp->dirty_tx != dirty_tx) { |
---|
.. | .. |
---|
785 | 788 | { |
---|
786 | 789 | struct pci_dev *pdev = tp->pci_dev; |
---|
787 | 790 | |
---|
788 | | - pci_unmap_single(pdev, le32_to_cpu(desc->addr), tp->rx_buf_sz, |
---|
789 | | - PCI_DMA_FROMDEVICE); |
---|
| 791 | + dma_unmap_single(&pdev->dev, le32_to_cpu(desc->addr), tp->rx_buf_sz, |
---|
| 792 | + DMA_FROM_DEVICE); |
---|
790 | 793 | dev_kfree_skb(*sk_buff); |
---|
791 | 794 | *sk_buff = NULL; |
---|
792 | 795 | sis190_make_unusable_by_asic(desc); |
---|
.. | .. |
---|
1069 | 1072 | * Rx and Tx descriptors need 256 bytes alignment. |
---|
1070 | 1073 | * pci_alloc_consistent() guarantees a stronger alignment. |
---|
1071 | 1074 | */ |
---|
1072 | | - tp->TxDescRing = pci_alloc_consistent(pdev, TX_RING_BYTES, &tp->tx_dma); |
---|
| 1075 | + tp->TxDescRing = dma_alloc_coherent(&pdev->dev, TX_RING_BYTES, |
---|
| 1076 | + &tp->tx_dma, GFP_KERNEL); |
---|
1073 | 1077 | if (!tp->TxDescRing) |
---|
1074 | 1078 | goto out; |
---|
1075 | 1079 | |
---|
1076 | | - tp->RxDescRing = pci_alloc_consistent(pdev, RX_RING_BYTES, &tp->rx_dma); |
---|
| 1080 | + tp->RxDescRing = dma_alloc_coherent(&pdev->dev, RX_RING_BYTES, |
---|
| 1081 | + &tp->rx_dma, GFP_KERNEL); |
---|
1077 | 1082 | if (!tp->RxDescRing) |
---|
1078 | 1083 | goto err_free_tx_0; |
---|
1079 | 1084 | |
---|
.. | .. |
---|
1095 | 1100 | sis190_delete_timer(dev); |
---|
1096 | 1101 | sis190_rx_clear(tp); |
---|
1097 | 1102 | err_free_rx_1: |
---|
1098 | | - pci_free_consistent(pdev, RX_RING_BYTES, tp->RxDescRing, tp->rx_dma); |
---|
| 1103 | + dma_free_coherent(&pdev->dev, RX_RING_BYTES, tp->RxDescRing, |
---|
| 1104 | + tp->rx_dma); |
---|
1099 | 1105 | err_free_tx_0: |
---|
1100 | | - pci_free_consistent(pdev, TX_RING_BYTES, tp->TxDescRing, tp->tx_dma); |
---|
| 1106 | + dma_free_coherent(&pdev->dev, TX_RING_BYTES, tp->TxDescRing, |
---|
| 1107 | + tp->tx_dma); |
---|
1101 | 1108 | goto out; |
---|
1102 | 1109 | } |
---|
1103 | 1110 | |
---|
.. | .. |
---|
1142 | 1149 | if (!poll_locked) |
---|
1143 | 1150 | poll_locked++; |
---|
1144 | 1151 | |
---|
1145 | | - synchronize_sched(); |
---|
| 1152 | + synchronize_rcu(); |
---|
1146 | 1153 | |
---|
1147 | 1154 | } while (SIS_R32(IntrMask)); |
---|
1148 | 1155 | |
---|
.. | .. |
---|
1159 | 1166 | |
---|
1160 | 1167 | free_irq(pdev->irq, dev); |
---|
1161 | 1168 | |
---|
1162 | | - pci_free_consistent(pdev, TX_RING_BYTES, tp->TxDescRing, tp->tx_dma); |
---|
1163 | | - pci_free_consistent(pdev, RX_RING_BYTES, tp->RxDescRing, tp->rx_dma); |
---|
| 1169 | + dma_free_coherent(&pdev->dev, TX_RING_BYTES, tp->TxDescRing, |
---|
| 1170 | + tp->tx_dma); |
---|
| 1171 | + dma_free_coherent(&pdev->dev, RX_RING_BYTES, tp->RxDescRing, |
---|
| 1172 | + tp->rx_dma); |
---|
1164 | 1173 | |
---|
1165 | 1174 | tp->TxDescRing = NULL; |
---|
1166 | 1175 | tp->RxDescRing = NULL; |
---|
.. | .. |
---|
1197 | 1206 | return NETDEV_TX_BUSY; |
---|
1198 | 1207 | } |
---|
1199 | 1208 | |
---|
1200 | | - mapping = pci_map_single(tp->pci_dev, skb->data, len, PCI_DMA_TODEVICE); |
---|
1201 | | - if (pci_dma_mapping_error(tp->pci_dev, mapping)) { |
---|
| 1209 | + mapping = dma_map_single(&tp->pci_dev->dev, skb->data, len, |
---|
| 1210 | + DMA_TO_DEVICE); |
---|
| 1211 | + if (dma_mapping_error(&tp->pci_dev->dev, mapping)) { |
---|
1202 | 1212 | netif_err(tp, tx_err, dev, |
---|
1203 | 1213 | "PCI mapping failed, dropping packet"); |
---|
1204 | 1214 | return NETDEV_TX_BUSY; |
---|
.. | .. |
---|
1498 | 1508 | goto err_pci_disable_2; |
---|
1499 | 1509 | } |
---|
1500 | 1510 | |
---|
1501 | | - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); |
---|
| 1511 | + rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); |
---|
1502 | 1512 | if (rc < 0) { |
---|
1503 | 1513 | if (netif_msg_probe(tp)) |
---|
1504 | 1514 | pr_err("%s: DMA configuration failed\n", |
---|
.. | .. |
---|
1538 | 1548 | goto out; |
---|
1539 | 1549 | } |
---|
1540 | 1550 | |
---|
1541 | | -static void sis190_tx_timeout(struct net_device *dev) |
---|
| 1551 | +static void sis190_tx_timeout(struct net_device *dev, unsigned int txqueue) |
---|
1542 | 1552 | { |
---|
1543 | 1553 | struct sis190_private *tp = netdev_priv(dev); |
---|
1544 | 1554 | void __iomem *ioaddr = tp->mmio_addr; |
---|