struct bnx2_tx_ring_info *txr = &bnapi->tx_ring;
 
                if (txr->tx_desc_ring) {
-                       pci_free_consistent(bp->pdev, TXBD_RING_SIZE,
-                                           txr->tx_desc_ring,
-                                           txr->tx_desc_mapping);
+                       dma_free_coherent(&bp->pdev->dev, TXBD_RING_SIZE,
+                                         txr->tx_desc_ring,
+                                         txr->tx_desc_mapping);
                        txr->tx_desc_ring = NULL;
                }
                kfree(txr->tx_buf_ring);
 
                for (j = 0; j < bp->rx_max_ring; j++) {
                        if (rxr->rx_desc_ring[j])
-                               pci_free_consistent(bp->pdev, RXBD_RING_SIZE,
-                                                   rxr->rx_desc_ring[j],
-                                                   rxr->rx_desc_mapping[j]);
+                               dma_free_coherent(&bp->pdev->dev, RXBD_RING_SIZE,
+                                                 rxr->rx_desc_ring[j],
+                                                 rxr->rx_desc_mapping[j]);
                        rxr->rx_desc_ring[j] = NULL;
                }
                vfree(rxr->rx_buf_ring);
 
                for (j = 0; j < bp->rx_max_pg_ring; j++) {
                        if (rxr->rx_pg_desc_ring[j])
-                               pci_free_consistent(bp->pdev, RXBD_RING_SIZE,
-                                                   rxr->rx_pg_desc_ring[j],
-                                                   rxr->rx_pg_desc_mapping[j]);
+                               dma_free_coherent(&bp->pdev->dev, RXBD_RING_SIZE,
+                                                 rxr->rx_pg_desc_ring[j],
+                                                 rxr->rx_pg_desc_mapping[j]);
                        rxr->rx_pg_desc_ring[j] = NULL;
                }
                vfree(rxr->rx_pg_ring);
                        return -ENOMEM;
 
                txr->tx_desc_ring =
-                       pci_alloc_consistent(bp->pdev, TXBD_RING_SIZE,
-                                            &txr->tx_desc_mapping);
+                       dma_alloc_coherent(&bp->pdev->dev, TXBD_RING_SIZE,
+                                          &txr->tx_desc_mapping, GFP_KERNEL);
                if (txr->tx_desc_ring == NULL)
                        return -ENOMEM;
        }
 
                for (j = 0; j < bp->rx_max_ring; j++) {
                        rxr->rx_desc_ring[j] =
-                               pci_alloc_consistent(bp->pdev, RXBD_RING_SIZE,
-                                                    &rxr->rx_desc_mapping[j]);
+                               dma_alloc_coherent(&bp->pdev->dev,
+                                                  RXBD_RING_SIZE,
+                                                  &rxr->rx_desc_mapping[j],
+                                                  GFP_KERNEL);
                        if (rxr->rx_desc_ring[j] == NULL)
                                return -ENOMEM;
 
 
                for (j = 0; j < bp->rx_max_pg_ring; j++) {
                        rxr->rx_pg_desc_ring[j] =
-                               pci_alloc_consistent(bp->pdev, RXBD_RING_SIZE,
-                                               &rxr->rx_pg_desc_mapping[j]);
+                               dma_alloc_coherent(&bp->pdev->dev,
+                                                  RXBD_RING_SIZE,
+                                                  &rxr->rx_pg_desc_mapping[j],
+                                                  GFP_KERNEL);
                        if (rxr->rx_pg_desc_ring[j] == NULL)
                                return -ENOMEM;
 
 
        for (i = 0; i < bp->ctx_pages; i++) {
                if (bp->ctx_blk[i]) {
-                       pci_free_consistent(bp->pdev, BCM_PAGE_SIZE,
-                                           bp->ctx_blk[i],
-                                           bp->ctx_blk_mapping[i]);
+                       dma_free_coherent(&bp->pdev->dev, BCM_PAGE_SIZE,
+                                         bp->ctx_blk[i],
+                                         bp->ctx_blk_mapping[i]);
                        bp->ctx_blk[i] = NULL;
                }
        }
        if (bnapi->status_blk.msi) {
-               pci_free_consistent(bp->pdev, bp->status_stats_size,
-                                   bnapi->status_blk.msi,
-                                   bp->status_blk_mapping);
+               dma_free_coherent(&bp->pdev->dev, bp->status_stats_size,
+                                 bnapi->status_blk.msi,
+                                 bp->status_blk_mapping);
                bnapi->status_blk.msi = NULL;
                bp->stats_blk = NULL;
        }
        bp->status_stats_size = status_blk_size +
                                sizeof(struct statistics_block);
 
-       status_blk = pci_alloc_consistent(bp->pdev, bp->status_stats_size,
-                                         &bp->status_blk_mapping);
+       status_blk = dma_alloc_coherent(&bp->pdev->dev, bp->status_stats_size,
+                                       &bp->status_blk_mapping, GFP_KERNEL);
        if (status_blk == NULL)
                goto alloc_mem_err;
 
                if (bp->ctx_pages == 0)
                        bp->ctx_pages = 1;
                for (i = 0; i < bp->ctx_pages; i++) {
-                       bp->ctx_blk[i] = pci_alloc_consistent(bp->pdev,
+                       bp->ctx_blk[i] = dma_alloc_coherent(&bp->pdev->dev,
                                                BCM_PAGE_SIZE,
-                                               &bp->ctx_blk_mapping[i]);
+                                               &bp->ctx_blk_mapping[i],
+                                               GFP_KERNEL);
                        if (bp->ctx_blk[i] == NULL)
                                goto alloc_mem_err;
                }
 
        if (!page)
                return -ENOMEM;
-       mapping = pci_map_page(bp->pdev, page, 0, PAGE_SIZE,
+       mapping = dma_map_page(&bp->pdev->dev, page, 0, PAGE_SIZE,
                               PCI_DMA_FROMDEVICE);
-       if (pci_dma_mapping_error(bp->pdev, mapping)) {
+       if (dma_mapping_error(&bp->pdev->dev, mapping)) {
                __free_page(page);
                return -EIO;
        }
        if (!page)
                return;
 
-       pci_unmap_page(bp->pdev, dma_unmap_addr(rx_pg, mapping), PAGE_SIZE,
-                      PCI_DMA_FROMDEVICE);
+       dma_unmap_page(&bp->pdev->dev, dma_unmap_addr(rx_pg, mapping),
+                      PAGE_SIZE, PCI_DMA_FROMDEVICE);
 
        __free_page(page);
        rx_pg->page = NULL;
        if (unlikely((align = (unsigned long) skb->data & (BNX2_RX_ALIGN - 1))))
                skb_reserve(skb, BNX2_RX_ALIGN - align);
 
-       mapping = pci_map_single(bp->pdev, skb->data, bp->rx_buf_use_size,
-               PCI_DMA_FROMDEVICE);
-       if (pci_dma_mapping_error(bp->pdev, mapping)) {
+       mapping = dma_map_single(&bp->pdev->dev, skb->data, bp->rx_buf_use_size,
+                                PCI_DMA_FROMDEVICE);
+       if (dma_mapping_error(&bp->pdev->dev, mapping)) {
                dev_kfree_skb(skb);
                return -EIO;
        }
                        }
                }
 
-               pci_unmap_single(bp->pdev, dma_unmap_addr(tx_buf, mapping),
+               dma_unmap_single(&bp->pdev->dev, dma_unmap_addr(tx_buf, mapping),
                        skb_headlen(skb), PCI_DMA_TODEVICE);
 
                tx_buf->skb = NULL;
                for (i = 0; i < last; i++) {
                        sw_cons = NEXT_TX_BD(sw_cons);
 
-                       pci_unmap_page(bp->pdev,
+                       dma_unmap_page(&bp->pdev->dev,
                                dma_unmap_addr(
                                        &txr->tx_buf_ring[TX_RING_IDX(sw_cons)],
                                        mapping),
        cons_rx_buf = &rxr->rx_buf_ring[cons];
        prod_rx_buf = &rxr->rx_buf_ring[prod];
 
-       pci_dma_sync_single_for_device(bp->pdev,
+       dma_sync_single_for_device(&bp->pdev->dev,
                dma_unmap_addr(cons_rx_buf, mapping),
                BNX2_RX_OFFSET + BNX2_RX_COPY_THRESH, PCI_DMA_FROMDEVICE);
 
        }
 
        skb_reserve(skb, BNX2_RX_OFFSET);
-       pci_unmap_single(bp->pdev, dma_addr, bp->rx_buf_use_size,
+       dma_unmap_single(&bp->pdev->dev, dma_addr, bp->rx_buf_use_size,
                         PCI_DMA_FROMDEVICE);
 
        if (hdr_len == 0) {
                                return err;
                        }
 
-                       pci_unmap_page(bp->pdev, mapping_old,
+                       dma_unmap_page(&bp->pdev->dev, mapping_old,
                                       PAGE_SIZE, PCI_DMA_FROMDEVICE);
 
                        frag_size -= frag_len;
 
                dma_addr = dma_unmap_addr(rx_buf, mapping);
 
-               pci_dma_sync_single_for_cpu(bp->pdev, dma_addr,
+               dma_sync_single_for_cpu(&bp->pdev->dev, dma_addr,
                        BNX2_RX_OFFSET + BNX2_RX_COPY_THRESH,
                        PCI_DMA_FROMDEVICE);
 
                                continue;
                        }
 
-                       pci_unmap_single(bp->pdev,
+                       dma_unmap_single(&bp->pdev->dev,
                                         dma_unmap_addr(tx_buf, mapping),
                                         skb_headlen(skb),
                                         PCI_DMA_TODEVICE);
                        j++;
                        for (k = 0; k < last; k++, j++) {
                                tx_buf = &txr->tx_buf_ring[TX_RING_IDX(j)];
-                               pci_unmap_page(bp->pdev,
+                               dma_unmap_page(&bp->pdev->dev,
                                        dma_unmap_addr(tx_buf, mapping),
                                        skb_shinfo(skb)->frags[k].size,
                                        PCI_DMA_TODEVICE);
                        if (skb == NULL)
                                continue;
 
-                       pci_unmap_single(bp->pdev,
+                       dma_unmap_single(&bp->pdev->dev,
                                         dma_unmap_addr(rx_buf, mapping),
                                         bp->rx_buf_use_size,
                                         PCI_DMA_FROMDEVICE);
        for (i = 14; i < pkt_size; i++)
                packet[i] = (unsigned char) (i & 0xff);
 
-       map = pci_map_single(bp->pdev, skb->data, pkt_size,
-               PCI_DMA_TODEVICE);
-       if (pci_dma_mapping_error(bp->pdev, map)) {
+       map = dma_map_single(&bp->pdev->dev, skb->data, pkt_size,
+                            PCI_DMA_TODEVICE);
+       if (dma_mapping_error(&bp->pdev->dev, map)) {
                dev_kfree_skb(skb);
                return -EIO;
        }
 
        udelay(5);
 
-       pci_unmap_single(bp->pdev, map, pkt_size, PCI_DMA_TODEVICE);
+       dma_unmap_single(&bp->pdev->dev, map, pkt_size, PCI_DMA_TODEVICE);
        dev_kfree_skb(skb);
 
        if (bnx2_get_hw_tx_cons(tx_napi) != txr->tx_prod)
        rx_hdr = rx_buf->desc;
        skb_reserve(rx_skb, BNX2_RX_OFFSET);
 
-       pci_dma_sync_single_for_cpu(bp->pdev,
+       dma_sync_single_for_cpu(&bp->pdev->dev,
                dma_unmap_addr(rx_buf, mapping),
                bp->rx_buf_size, PCI_DMA_FROMDEVICE);
 
        } else
                mss = 0;
 
-       mapping = pci_map_single(bp->pdev, skb->data, len, PCI_DMA_TODEVICE);
-       if (pci_dma_mapping_error(bp->pdev, mapping)) {
+       mapping = dma_map_single(&bp->pdev->dev, skb->data, len, PCI_DMA_TODEVICE);
+       if (dma_mapping_error(&bp->pdev->dev, mapping)) {
                dev_kfree_skb(skb);
                return NETDEV_TX_OK;
        }
                txbd = &txr->tx_desc_ring[ring_prod];
 
                len = frag->size;
-               mapping = pci_map_page(bp->pdev, frag->page, frag->page_offset,
-                       len, PCI_DMA_TODEVICE);
-               if (pci_dma_mapping_error(bp->pdev, mapping))
+               mapping = dma_map_page(&bp->pdev->dev, frag->page, frag->page_offset,
+                                      len, PCI_DMA_TODEVICE);
+               if (dma_mapping_error(&bp->pdev->dev, mapping))
                        goto dma_error;
                dma_unmap_addr_set(&txr->tx_buf_ring[ring_prod], mapping,
                                   mapping);
        ring_prod = TX_RING_IDX(prod);
        tx_buf = &txr->tx_buf_ring[ring_prod];
        tx_buf->skb = NULL;
-       pci_unmap_single(bp->pdev, dma_unmap_addr(tx_buf, mapping),
+       dma_unmap_single(&bp->pdev->dev, dma_unmap_addr(tx_buf, mapping),
                         skb_headlen(skb), PCI_DMA_TODEVICE);
 
        /* unmap remaining mapped pages */
                prod = NEXT_TX_BD(prod);
                ring_prod = TX_RING_IDX(prod);
                tx_buf = &txr->tx_buf_ring[ring_prod];
-               pci_unmap_page(bp->pdev, dma_unmap_addr(tx_buf, mapping),
+               dma_unmap_page(&bp->pdev->dev, dma_unmap_addr(tx_buf, mapping),
                               skb_shinfo(skb)->frags[i].size,
                               PCI_DMA_TODEVICE);
        }