.. | .. |
---|
193 | 193 | { |
---|
194 | 194 | vnic_dev_desc_ring_size(ring, desc_count, desc_size); |
---|
195 | 195 | |
---|
196 | | - ring->descs_unaligned = pci_alloc_consistent(vdev->pdev, |
---|
197 | | - ring->size_unaligned, |
---|
198 | | - &ring->base_addr_unaligned); |
---|
| 196 | + ring->descs_unaligned = dma_alloc_coherent(&vdev->pdev->dev, |
---|
| 197 | + ring->size_unaligned, |
---|
| 198 | + &ring->base_addr_unaligned, |
---|
| 199 | + GFP_KERNEL); |
---|
199 | 200 | |
---|
200 | 201 | if (!ring->descs_unaligned) { |
---|
201 | 202 | vdev_err(vdev, "Failed to allocate ring (size=%d), aborting\n", |
---|
.. | .. |
---|
218 | 219 | void vnic_dev_free_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring) |
---|
219 | 220 | { |
---|
220 | 221 | if (ring->descs) { |
---|
221 | | - pci_free_consistent(vdev->pdev, |
---|
222 | | - ring->size_unaligned, |
---|
223 | | - ring->descs_unaligned, |
---|
224 | | - ring->base_addr_unaligned); |
---|
| 222 | + dma_free_coherent(&vdev->pdev->dev, ring->size_unaligned, |
---|
| 223 | + ring->descs_unaligned, |
---|
| 224 | + ring->base_addr_unaligned); |
---|
225 | 225 | ring->descs = NULL; |
---|
226 | 226 | } |
---|
227 | 227 | } |
---|
.. | .. |
---|
551 | 551 | int err = 0; |
---|
552 | 552 | |
---|
553 | 553 | if (!vdev->fw_info) { |
---|
554 | | - vdev->fw_info = pci_zalloc_consistent(vdev->pdev, |
---|
555 | | - sizeof(struct vnic_devcmd_fw_info), |
---|
556 | | - &vdev->fw_info_pa); |
---|
| 554 | + vdev->fw_info = dma_alloc_coherent(&vdev->pdev->dev, |
---|
| 555 | + sizeof(struct vnic_devcmd_fw_info), |
---|
| 556 | + &vdev->fw_info_pa, GFP_ATOMIC); |
---|
557 | 557 | if (!vdev->fw_info) |
---|
558 | 558 | return -ENOMEM; |
---|
559 | 559 | |
---|
.. | .. |
---|
603 | 603 | int wait = 1000; |
---|
604 | 604 | |
---|
605 | 605 | if (!vdev->stats) { |
---|
606 | | - vdev->stats = pci_alloc_consistent(vdev->pdev, |
---|
607 | | - sizeof(struct vnic_stats), &vdev->stats_pa); |
---|
| 606 | + vdev->stats = dma_alloc_coherent(&vdev->pdev->dev, |
---|
| 607 | + sizeof(struct vnic_stats), |
---|
| 608 | + &vdev->stats_pa, GFP_ATOMIC); |
---|
608 | 609 | if (!vdev->stats) |
---|
609 | 610 | return -ENOMEM; |
---|
610 | 611 | } |
---|
.. | .. |
---|
852 | 853 | return -EINVAL; |
---|
853 | 854 | } |
---|
854 | 855 | |
---|
855 | | - notify_addr = pci_alloc_consistent(vdev->pdev, |
---|
856 | | - sizeof(struct vnic_devcmd_notify), |
---|
857 | | - ¬ify_pa); |
---|
| 856 | + notify_addr = dma_alloc_coherent(&vdev->pdev->dev, |
---|
| 857 | + sizeof(struct vnic_devcmd_notify), |
---|
| 858 | + ¬ify_pa, GFP_ATOMIC); |
---|
858 | 859 | if (!notify_addr) |
---|
859 | 860 | return -ENOMEM; |
---|
860 | 861 | |
---|
.. | .. |
---|
882 | 883 | int vnic_dev_notify_unset(struct vnic_dev *vdev) |
---|
883 | 884 | { |
---|
884 | 885 | if (vdev->notify) { |
---|
885 | | - pci_free_consistent(vdev->pdev, |
---|
886 | | - sizeof(struct vnic_devcmd_notify), |
---|
887 | | - vdev->notify, |
---|
888 | | - vdev->notify_pa); |
---|
| 886 | + dma_free_coherent(&vdev->pdev->dev, |
---|
| 887 | + sizeof(struct vnic_devcmd_notify), |
---|
| 888 | + vdev->notify, vdev->notify_pa); |
---|
889 | 889 | } |
---|
890 | 890 | |
---|
891 | 891 | return vnic_dev_notify_unsetcmd(vdev); |
---|
.. | .. |
---|
1046 | 1046 | { |
---|
1047 | 1047 | if (vdev) { |
---|
1048 | 1048 | if (vdev->notify) |
---|
1049 | | - pci_free_consistent(vdev->pdev, |
---|
1050 | | - sizeof(struct vnic_devcmd_notify), |
---|
1051 | | - vdev->notify, |
---|
1052 | | - vdev->notify_pa); |
---|
| 1049 | + dma_free_coherent(&vdev->pdev->dev, |
---|
| 1050 | + sizeof(struct vnic_devcmd_notify), |
---|
| 1051 | + vdev->notify, vdev->notify_pa); |
---|
1053 | 1052 | if (vdev->stats) |
---|
1054 | | - pci_free_consistent(vdev->pdev, |
---|
1055 | | - sizeof(struct vnic_stats), |
---|
1056 | | - vdev->stats, vdev->stats_pa); |
---|
| 1053 | + dma_free_coherent(&vdev->pdev->dev, |
---|
| 1054 | + sizeof(struct vnic_stats), |
---|
| 1055 | + vdev->stats, vdev->stats_pa); |
---|
1057 | 1056 | if (vdev->fw_info) |
---|
1058 | | - pci_free_consistent(vdev->pdev, |
---|
1059 | | - sizeof(struct vnic_devcmd_fw_info), |
---|
1060 | | - vdev->fw_info, vdev->fw_info_pa); |
---|
| 1057 | + dma_free_coherent(&vdev->pdev->dev, |
---|
| 1058 | + sizeof(struct vnic_devcmd_fw_info), |
---|
| 1059 | + vdev->fw_info, vdev->fw_info_pa); |
---|
1061 | 1060 | if (vdev->devcmd2) |
---|
1062 | 1061 | vnic_dev_deinit_devcmd2(vdev); |
---|
1063 | 1062 | |
---|
.. | .. |
---|
1127 | 1126 | void *prov_buf; |
---|
1128 | 1127 | int ret; |
---|
1129 | 1128 | |
---|
1130 | | - prov_buf = pci_alloc_consistent(vdev->pdev, len, &prov_pa); |
---|
| 1129 | + prov_buf = dma_alloc_coherent(&vdev->pdev->dev, len, &prov_pa, GFP_ATOMIC); |
---|
1131 | 1130 | if (!prov_buf) |
---|
1132 | 1131 | return -ENOMEM; |
---|
1133 | 1132 | |
---|
.. | .. |
---|
1137 | 1136 | |
---|
1138 | 1137 | ret = vnic_dev_cmd(vdev, CMD_INIT_PROV_INFO2, &a0, &a1, wait); |
---|
1139 | 1138 | |
---|
1140 | | - pci_free_consistent(vdev->pdev, len, prov_buf, prov_pa); |
---|
| 1139 | + dma_free_coherent(&vdev->pdev->dev, len, prov_buf, prov_pa); |
---|
1141 | 1140 | |
---|
1142 | 1141 | return ret; |
---|
1143 | 1142 | } |
---|
.. | .. |
---|
1217 | 1216 | tlv_size = sizeof(struct filter) + |
---|
1218 | 1217 | sizeof(struct filter_action) + |
---|
1219 | 1218 | 2 * sizeof(struct filter_tlv); |
---|
1220 | | - tlv_va = pci_alloc_consistent(vdev->pdev, tlv_size, &tlv_pa); |
---|
| 1219 | + tlv_va = dma_alloc_coherent(&vdev->pdev->dev, tlv_size, |
---|
| 1220 | + &tlv_pa, GFP_ATOMIC); |
---|
1221 | 1221 | if (!tlv_va) |
---|
1222 | 1222 | return -ENOMEM; |
---|
1223 | 1223 | tlv = tlv_va; |
---|
.. | .. |
---|
1240 | 1240 | |
---|
1241 | 1241 | ret = vnic_dev_cmd(vdev, CMD_ADD_FILTER, &a0, &a1, wait); |
---|
1242 | 1242 | *entry = (u16)a0; |
---|
1243 | | - pci_free_consistent(vdev->pdev, tlv_size, tlv_va, tlv_pa); |
---|
| 1243 | + dma_free_coherent(&vdev->pdev->dev, tlv_size, tlv_va, tlv_pa); |
---|
1244 | 1244 | } else if (cmd == CLSF_DEL) { |
---|
1245 | 1245 | a0 = *entry; |
---|
1246 | 1246 | ret = vnic_dev_cmd(vdev, CMD_DEL_FILTER, &a0, &a1, wait); |
---|