| .. | .. |
|---|
| 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); |
|---|