diff options
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/amso1100/c2.c | 8 | ||||
-rw-r--r-- | drivers/infiniband/hw/cxgb3/Makefile | 2 | ||||
-rw-r--r-- | drivers/infiniband/hw/cxgb4/Makefile | 2 | ||||
-rw-r--r-- | drivers/infiniband/hw/mlx4/Kconfig | 3 | ||||
-rw-r--r-- | drivers/infiniband/hw/nes/nes_nic.c | 23 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_cm.c | 5 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_ib.c | 5 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 |
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 @@ | |||
1 | ccflags-y := -Idrivers/net/cxgb3 | 1 | ccflags-y := -Idrivers/net/ethernet/chelsio/cxgb3 |
2 | 2 | ||
3 | obj-$(CONFIG_INFINIBAND_CXGB3) += iw_cxgb3.o | 3 | obj-$(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 @@ | |||
1 | ccflags-y := -Idrivers/net/cxgb4 | 1 | ccflags-y := -Idrivers/net/ethernet/chelsio/cxgb4 |
2 | 2 | ||
3 | obj-$(CONFIG_INFINIBAND_CXGB4) += iw_cxgb4.o | 3 | obj-$(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 @@ | |||
1 | config MLX4_INFINIBAND | 1 | config 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 | ||