aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/amso1100/c2.c8
-rw-r--r--drivers/infiniband/hw/cxgb3/Makefile2
-rw-r--r--drivers/infiniband/hw/cxgb4/Makefile2
-rw-r--r--drivers/infiniband/hw/mlx4/Kconfig3
-rw-r--r--drivers/infiniband/hw/nes/nes_nic.c23
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_cm.c5
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_ib.c5
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_main.c2
8 files changed, 26 insertions, 24 deletions
diff --git a/drivers/infiniband/hw/amso1100/c2.c b/drivers/infiniband/hw/amso1100/c2.c
index 444470a28de2..6a8f36e9d9ed 100644
--- a/drivers/infiniband/hw/amso1100/c2.c
+++ b/drivers/infiniband/hw/amso1100/c2.c
@@ -802,11 +802,9 @@ static int c2_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
802 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { 802 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
803 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; 803 skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
804 maplen = frag->size; 804 maplen = frag->size;
805 mapaddr = 805 mapaddr = skb_frag_dma_map(&c2dev->pcidev->dev, frag,
806 pci_map_page(c2dev->pcidev, frag->page, 806 0, maplen,
807 frag->page_offset, maplen, 807 PCI_DMA_TODEVICE);
808 PCI_DMA_TODEVICE);
809
810 elem = elem->next; 808 elem = elem->next;
811 elem->skb = NULL; 809 elem->skb = NULL;
812 elem->mapaddr = mapaddr; 810 elem->mapaddr = mapaddr;
diff --git a/drivers/infiniband/hw/cxgb3/Makefile b/drivers/infiniband/hw/cxgb3/Makefile
index 621619c794e5..2761364185af 100644
--- a/drivers/infiniband/hw/cxgb3/Makefile
+++ b/drivers/infiniband/hw/cxgb3/Makefile
@@ -1,4 +1,4 @@
1ccflags-y := -Idrivers/net/cxgb3 1ccflags-y := -Idrivers/net/ethernet/chelsio/cxgb3
2 2
3obj-$(CONFIG_INFINIBAND_CXGB3) += iw_cxgb3.o 3obj-$(CONFIG_INFINIBAND_CXGB3) += iw_cxgb3.o
4 4
diff --git a/drivers/infiniband/hw/cxgb4/Makefile b/drivers/infiniband/hw/cxgb4/Makefile
index cd20b1342aec..46b878ca2c3b 100644
--- a/drivers/infiniband/hw/cxgb4/Makefile
+++ b/drivers/infiniband/hw/cxgb4/Makefile
@@ -1,4 +1,4 @@
1ccflags-y := -Idrivers/net/cxgb4 1ccflags-y := -Idrivers/net/ethernet/chelsio/cxgb4
2 2
3obj-$(CONFIG_INFINIBAND_CXGB4) += iw_cxgb4.o 3obj-$(CONFIG_INFINIBAND_CXGB4) += iw_cxgb4.o
4 4
diff --git a/drivers/infiniband/hw/mlx4/Kconfig b/drivers/infiniband/hw/mlx4/Kconfig
index bd995b2b50d8..24ab11a9ad1e 100644
--- a/drivers/infiniband/hw/mlx4/Kconfig
+++ b/drivers/infiniband/hw/mlx4/Kconfig
@@ -1,6 +1,7 @@
1config MLX4_INFINIBAND 1config MLX4_INFINIBAND
2 tristate "Mellanox ConnectX HCA support" 2 tristate "Mellanox ConnectX HCA support"
3 depends on NETDEVICES && NETDEV_10000 && PCI 3 depends on NETDEVICES && ETHERNET && PCI
4 select NET_VENDOR_MELLANOX
4 select MLX4_CORE 5 select MLX4_CORE
5 ---help--- 6 ---help---
6 This driver provides low-level InfiniBand support for 7 This driver provides low-level InfiniBand support for
diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
index 9d7ffebff213..96cb35a8e317 100644
--- a/drivers/infiniband/hw/nes/nes_nic.c
+++ b/drivers/infiniband/hw/nes/nes_nic.c
@@ -441,11 +441,11 @@ static int nes_nic_send(struct sk_buff *skb, struct net_device *netdev)
441 nesnic->tx_skb[nesnic->sq_head] = skb; 441 nesnic->tx_skb[nesnic->sq_head] = skb;
442 for (skb_fragment_index = 0; skb_fragment_index < skb_shinfo(skb)->nr_frags; 442 for (skb_fragment_index = 0; skb_fragment_index < skb_shinfo(skb)->nr_frags;
443 skb_fragment_index++) { 443 skb_fragment_index++) {
444 bus_address = pci_map_page( nesdev->pcidev, 444 skb_frag_t *frag =
445 skb_shinfo(skb)->frags[skb_fragment_index].page, 445 &skb_shinfo(skb)->frags[skb_fragment_index];
446 skb_shinfo(skb)->frags[skb_fragment_index].page_offset, 446 bus_address = skb_frag_dma_map(&nesdev->pcidev->dev,
447 skb_shinfo(skb)->frags[skb_fragment_index].size, 447 frag, 0, frag->size,
448 PCI_DMA_TODEVICE); 448 PCI_DMA_TODEVICE);
449 wqe_fragment_length[wqe_fragment_index] = 449 wqe_fragment_length[wqe_fragment_index] =
450 cpu_to_le16(skb_shinfo(skb)->frags[skb_fragment_index].size); 450 cpu_to_le16(skb_shinfo(skb)->frags[skb_fragment_index].size);
451 set_wqe_64bit_value(nic_sqe->wqe_words, NES_NIC_SQ_WQE_FRAG0_LOW_IDX+(2*wqe_fragment_index), 451 set_wqe_64bit_value(nic_sqe->wqe_words, NES_NIC_SQ_WQE_FRAG0_LOW_IDX+(2*wqe_fragment_index),
@@ -561,11 +561,12 @@ tso_sq_no_longer_full:
561 /* Map all the buffers */ 561 /* Map all the buffers */
562 for (tso_frag_count=0; tso_frag_count < skb_shinfo(skb)->nr_frags; 562 for (tso_frag_count=0; tso_frag_count < skb_shinfo(skb)->nr_frags;
563 tso_frag_count++) { 563 tso_frag_count++) {
564 tso_bus_address[tso_frag_count] = pci_map_page( nesdev->pcidev, 564 skb_frag_t *frag =
565 skb_shinfo(skb)->frags[tso_frag_count].page, 565 &skb_shinfo(skb)->frags[tso_frag_count];
566 skb_shinfo(skb)->frags[tso_frag_count].page_offset, 566 tso_bus_address[tso_frag_count] =
567 skb_shinfo(skb)->frags[tso_frag_count].size, 567 skb_frag_dma_map(&nesdev->pcidev->dev,
568 PCI_DMA_TODEVICE); 568 frag, 0, frag->size,
569 PCI_DMA_TODEVICE);
569 } 570 }
570 571
571 tso_frag_index = 0; 572 tso_frag_index = 0;
@@ -1638,7 +1639,7 @@ static const struct net_device_ops nes_netdev_ops = {
1638 .ndo_get_stats = nes_netdev_get_stats, 1639 .ndo_get_stats = nes_netdev_get_stats,
1639 .ndo_tx_timeout = nes_netdev_tx_timeout, 1640 .ndo_tx_timeout = nes_netdev_tx_timeout,
1640 .ndo_set_mac_address = nes_netdev_set_mac_address, 1641 .ndo_set_mac_address = nes_netdev_set_mac_address,
1641 .ndo_set_multicast_list = nes_netdev_set_multicast_list, 1642 .ndo_set_rx_mode = nes_netdev_set_multicast_list,
1642 .ndo_change_mtu = nes_netdev_change_mtu, 1643 .ndo_change_mtu = nes_netdev_change_mtu,
1643 .ndo_validate_addr = eth_validate_addr, 1644 .ndo_validate_addr = eth_validate_addr,
1644 .ndo_fix_features = nes_fix_features, 1645 .ndo_fix_features = nes_fix_features,
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
index 39913a065f99..67a477be237e 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
@@ -169,7 +169,7 @@ static struct sk_buff *ipoib_cm_alloc_rx_skb(struct net_device *dev,
169 goto partial_error; 169 goto partial_error;
170 skb_fill_page_desc(skb, i, page, 0, PAGE_SIZE); 170 skb_fill_page_desc(skb, i, page, 0, PAGE_SIZE);
171 171
172 mapping[i + 1] = ib_dma_map_page(priv->ca, skb_shinfo(skb)->frags[i].page, 172 mapping[i + 1] = ib_dma_map_page(priv->ca, page,
173 0, PAGE_SIZE, DMA_FROM_DEVICE); 173 0, PAGE_SIZE, DMA_FROM_DEVICE);
174 if (unlikely(ib_dma_mapping_error(priv->ca, mapping[i + 1]))) 174 if (unlikely(ib_dma_mapping_error(priv->ca, mapping[i + 1])))
175 goto partial_error; 175 goto partial_error;
@@ -537,7 +537,8 @@ static void skb_put_frags(struct sk_buff *skb, unsigned int hdr_space,
537 537
538 if (length == 0) { 538 if (length == 0) {
539 /* don't need this page */ 539 /* don't need this page */
540 skb_fill_page_desc(toskb, i, frag->page, 0, PAGE_SIZE); 540 skb_fill_page_desc(toskb, i, skb_frag_page(frag),
541 0, PAGE_SIZE);
541 --skb_shinfo(skb)->nr_frags; 542 --skb_shinfo(skb)->nr_frags;
542 } else { 543 } else {
543 size = min(length, (unsigned) PAGE_SIZE); 544 size = min(length, (unsigned) PAGE_SIZE);
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
index 81ae61d68a22..00435be4a44b 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
@@ -182,7 +182,7 @@ static struct sk_buff *ipoib_alloc_rx_skb(struct net_device *dev, int id)
182 goto partial_error; 182 goto partial_error;
183 skb_fill_page_desc(skb, 0, page, 0, PAGE_SIZE); 183 skb_fill_page_desc(skb, 0, page, 0, PAGE_SIZE);
184 mapping[1] = 184 mapping[1] =
185 ib_dma_map_page(priv->ca, skb_shinfo(skb)->frags[0].page, 185 ib_dma_map_page(priv->ca, page,
186 0, PAGE_SIZE, DMA_FROM_DEVICE); 186 0, PAGE_SIZE, DMA_FROM_DEVICE);
187 if (unlikely(ib_dma_mapping_error(priv->ca, mapping[1]))) 187 if (unlikely(ib_dma_mapping_error(priv->ca, mapping[1])))
188 goto partial_error; 188 goto partial_error;
@@ -323,7 +323,8 @@ static int ipoib_dma_map_tx(struct ib_device *ca,
323 323
324 for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) { 324 for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) {
325 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; 325 skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
326 mapping[i + off] = ib_dma_map_page(ca, frag->page, 326 mapping[i + off] = ib_dma_map_page(ca,
327 skb_frag_page(frag),
327 frag->page_offset, frag->size, 328 frag->page_offset, frag->size,
328 DMA_TO_DEVICE); 329 DMA_TO_DEVICE);
329 if (unlikely(ib_dma_mapping_error(ca, mapping[i + off]))) 330 if (unlikely(ib_dma_mapping_error(ca, mapping[i + off])))
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index fe89c4660d55..7567b6000230 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -998,7 +998,7 @@ static const struct net_device_ops ipoib_netdev_ops = {
998 .ndo_fix_features = ipoib_fix_features, 998 .ndo_fix_features = ipoib_fix_features,
999 .ndo_start_xmit = ipoib_start_xmit, 999 .ndo_start_xmit = ipoib_start_xmit,
1000 .ndo_tx_timeout = ipoib_timeout, 1000 .ndo_tx_timeout = ipoib_timeout,
1001 .ndo_set_multicast_list = ipoib_set_mcast_list, 1001 .ndo_set_rx_mode = ipoib_set_mcast_list,
1002 .ndo_neigh_setup = ipoib_neigh_setup_dev, 1002 .ndo_neigh_setup = ipoib_neigh_setup_dev,
1003}; 1003};
1004 1004