diff options
author | Jiri Kosina <jkosina@suse.cz> | 2010-04-22 20:08:44 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-04-22 20:08:44 -0400 |
commit | 6c9468e9eb1252eaefd94ce7f06e1be9b0b641b1 (patch) | |
tree | 797676a336b050bfa1ef879377c07e541b9075d6 /drivers/infiniband/hw | |
parent | 4cb3ca7cd7e2cae8d1daf5345ec99a1e8502cf3f (diff) | |
parent | c81eddb0e3728661d1585fbc564449c94165cc36 (diff) |
Merge branch 'master' into for-next
Diffstat (limited to 'drivers/infiniband/hw')
61 files changed, 117 insertions, 11 deletions
diff --git a/drivers/infiniband/hw/amso1100/c2.c b/drivers/infiniband/hw/amso1100/c2.c index c61fd2b4a55..dc85d777578 100644 --- a/drivers/infiniband/hw/amso1100/c2.c +++ b/drivers/infiniband/hw/amso1100/c2.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <linux/tcp.h> | 46 | #include <linux/tcp.h> |
47 | #include <linux/init.h> | 47 | #include <linux/init.h> |
48 | #include <linux/dma-mapping.h> | 48 | #include <linux/dma-mapping.h> |
49 | #include <linux/slab.h> | ||
49 | 50 | ||
50 | #include <asm/io.h> | 51 | #include <asm/io.h> |
51 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
diff --git a/drivers/infiniband/hw/amso1100/c2_alloc.c b/drivers/infiniband/hw/amso1100/c2_alloc.c index e9110163aef..d4f5f5d42e9 100644 --- a/drivers/infiniband/hw/amso1100/c2_alloc.c +++ b/drivers/infiniband/hw/amso1100/c2_alloc.c | |||
@@ -32,7 +32,6 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
35 | #include <linux/slab.h> | ||
36 | #include <linux/bitmap.h> | 35 | #include <linux/bitmap.h> |
37 | 36 | ||
38 | #include "c2.h" | 37 | #include "c2.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_cm.c b/drivers/infiniband/hw/amso1100/c2_cm.c index 75b93e9b881..95f58ab1e0b 100644 --- a/drivers/infiniband/hw/amso1100/c2_cm.c +++ b/drivers/infiniband/hw/amso1100/c2_cm.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | * | 32 | * |
33 | */ | 33 | */ |
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include "c2.h" | 36 | #include "c2.h" |
35 | #include "c2_wr.h" | 37 | #include "c2_wr.h" |
36 | #include "c2_vq.h" | 38 | #include "c2_vq.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_cq.c b/drivers/infiniband/hw/amso1100/c2_cq.c index f5c45b194f5..f7b0fc23f41 100644 --- a/drivers/infiniband/hw/amso1100/c2_cq.c +++ b/drivers/infiniband/hw/amso1100/c2_cq.c | |||
@@ -35,6 +35,8 @@ | |||
35 | * SOFTWARE. | 35 | * SOFTWARE. |
36 | * | 36 | * |
37 | */ | 37 | */ |
38 | #include <linux/gfp.h> | ||
39 | |||
38 | #include "c2.h" | 40 | #include "c2.h" |
39 | #include "c2_vq.h" | 41 | #include "c2_vq.h" |
40 | #include "c2_status.h" | 42 | #include "c2_status.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_mm.c b/drivers/infiniband/hw/amso1100/c2_mm.c index b506fe22b4d..119c4f3d979 100644 --- a/drivers/infiniband/hw/amso1100/c2_mm.c +++ b/drivers/infiniband/hw/amso1100/c2_mm.c | |||
@@ -30,6 +30,8 @@ | |||
30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | #include <linux/slab.h> | ||
34 | |||
33 | #include "c2.h" | 35 | #include "c2.h" |
34 | #include "c2_vq.h" | 36 | #include "c2_vq.h" |
35 | 37 | ||
diff --git a/drivers/infiniband/hw/amso1100/c2_pd.c b/drivers/infiniband/hw/amso1100/c2_pd.c index 00c709926c8..161f2a28535 100644 --- a/drivers/infiniband/hw/amso1100/c2_pd.c +++ b/drivers/infiniband/hw/amso1100/c2_pd.c | |||
@@ -34,6 +34,7 @@ | |||
34 | */ | 34 | */ |
35 | 35 | ||
36 | #include <linux/init.h> | 36 | #include <linux/init.h> |
37 | #include <linux/slab.h> | ||
37 | #include <linux/errno.h> | 38 | #include <linux/errno.h> |
38 | 39 | ||
39 | #include "c2.h" | 40 | #include "c2.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_provider.c b/drivers/infiniband/hw/amso1100/c2_provider.c index ad723bd8bf4..c47f618d12e 100644 --- a/drivers/infiniband/hw/amso1100/c2_provider.c +++ b/drivers/infiniband/hw/amso1100/c2_provider.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/dma-mapping.h> | 50 | #include <linux/dma-mapping.h> |
51 | #include <linux/if_arp.h> | 51 | #include <linux/if_arp.h> |
52 | #include <linux/vmalloc.h> | 52 | #include <linux/vmalloc.h> |
53 | #include <linux/slab.h> | ||
53 | 54 | ||
54 | #include <asm/io.h> | 55 | #include <asm/io.h> |
55 | #include <asm/irq.h> | 56 | #include <asm/irq.h> |
diff --git a/drivers/infiniband/hw/amso1100/c2_qp.c b/drivers/infiniband/hw/amso1100/c2_qp.c index ad518868df7..d8f4bb8bf42 100644 --- a/drivers/infiniband/hw/amso1100/c2_qp.c +++ b/drivers/infiniband/hw/amso1100/c2_qp.c | |||
@@ -36,6 +36,7 @@ | |||
36 | */ | 36 | */ |
37 | 37 | ||
38 | #include <linux/delay.h> | 38 | #include <linux/delay.h> |
39 | #include <linux/gfp.h> | ||
39 | 40 | ||
40 | #include "c2.h" | 41 | #include "c2.h" |
41 | #include "c2_vq.h" | 42 | #include "c2_vq.h" |
diff --git a/drivers/infiniband/hw/amso1100/c2_rnic.c b/drivers/infiniband/hw/amso1100/c2_rnic.c index dd05c483564..78c4bcc6ef6 100644 --- a/drivers/infiniband/hw/amso1100/c2_rnic.c +++ b/drivers/infiniband/hw/amso1100/c2_rnic.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <linux/mm.h> | 51 | #include <linux/mm.h> |
52 | #include <linux/inet.h> | 52 | #include <linux/inet.h> |
53 | #include <linux/vmalloc.h> | 53 | #include <linux/vmalloc.h> |
54 | #include <linux/slab.h> | ||
54 | 55 | ||
55 | #include <linux/route.h> | 56 | #include <linux/route.h> |
56 | 57 | ||
diff --git a/drivers/infiniband/hw/cxgb3/cxio_dbg.c b/drivers/infiniband/hw/cxgb3/cxio_dbg.c index a8d24d53f30..8bca6b4ec9a 100644 --- a/drivers/infiniband/hw/cxgb3/cxio_dbg.c +++ b/drivers/infiniband/hw/cxgb3/cxio_dbg.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | #ifdef DEBUG | 32 | #ifdef DEBUG |
33 | #include <linux/types.h> | 33 | #include <linux/types.h> |
34 | #include <linux/slab.h> | ||
34 | #include "common.h" | 35 | #include "common.h" |
35 | #include "cxgb3_ioctl.h" | 36 | #include "cxgb3_ioctl.h" |
36 | #include "cxio_hal.h" | 37 | #include "cxio_hal.h" |
diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c b/drivers/infiniband/hw/cxgb3/cxio_hal.c index a28e862f2d6..35f286f1ad1 100644 --- a/drivers/infiniband/hw/cxgb3/cxio_hal.c +++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/spinlock.h> | 37 | #include <linux/spinlock.h> |
38 | #include <linux/pci.h> | 38 | #include <linux/pci.h> |
39 | #include <linux/dma-mapping.h> | 39 | #include <linux/dma-mapping.h> |
40 | #include <linux/slab.h> | ||
40 | #include <net/net_namespace.h> | 41 | #include <net/net_namespace.h> |
41 | 42 | ||
42 | #include "cxio_resource.h" | 43 | #include "cxio_resource.h" |
diff --git a/drivers/infiniband/hw/cxgb3/iwch.c b/drivers/infiniband/hw/cxgb3/iwch.c index ee1d8b4d454..63f975f3e30 100644 --- a/drivers/infiniband/hw/cxgb3/iwch.c +++ b/drivers/infiniband/hw/cxgb3/iwch.c | |||
@@ -189,6 +189,7 @@ static void close_rnic_dev(struct t3cdev *tdev) | |||
189 | list_for_each_entry_safe(dev, tmp, &dev_list, entry) { | 189 | list_for_each_entry_safe(dev, tmp, &dev_list, entry) { |
190 | if (dev->rdev.t3cdev_p == tdev) { | 190 | if (dev->rdev.t3cdev_p == tdev) { |
191 | dev->rdev.flags = CXIO_ERROR_FATAL; | 191 | dev->rdev.flags = CXIO_ERROR_FATAL; |
192 | synchronize_net(); | ||
192 | cancel_delayed_work_sync(&dev->db_drop_task); | 193 | cancel_delayed_work_sync(&dev->db_drop_task); |
193 | list_del(&dev->entry); | 194 | list_del(&dev->entry); |
194 | iwch_unregister_device(dev); | 195 | iwch_unregister_device(dev); |
@@ -217,6 +218,7 @@ static void iwch_event_handler(struct t3cdev *tdev, u32 evt, u32 port_id) | |||
217 | switch (evt) { | 218 | switch (evt) { |
218 | case OFFLOAD_STATUS_DOWN: { | 219 | case OFFLOAD_STATUS_DOWN: { |
219 | rdev->flags = CXIO_ERROR_FATAL; | 220 | rdev->flags = CXIO_ERROR_FATAL; |
221 | synchronize_net(); | ||
220 | event.event = IB_EVENT_DEVICE_FATAL; | 222 | event.event = IB_EVENT_DEVICE_FATAL; |
221 | dispatch = 1; | 223 | dispatch = 1; |
222 | break; | 224 | break; |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c index d94388b81a4..4fef0329627 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_cm.c +++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | #include <linux/module.h> | 32 | #include <linux/module.h> |
33 | #include <linux/list.h> | 33 | #include <linux/list.h> |
34 | #include <linux/slab.h> | ||
34 | #include <linux/workqueue.h> | 35 | #include <linux/workqueue.h> |
35 | #include <linux/skbuff.h> | 36 | #include <linux/skbuff.h> |
36 | #include <linux/timer.h> | 37 | #include <linux/timer.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_ev.c b/drivers/infiniband/hw/cxgb3/iwch_ev.c index 743c5d8b880..6afc89e7572 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_ev.c +++ b/drivers/infiniband/hw/cxgb3/iwch_ev.c | |||
@@ -29,7 +29,7 @@ | |||
29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | #include <linux/slab.h> | 32 | #include <linux/gfp.h> |
33 | #include <linux/mman.h> | 33 | #include <linux/mman.h> |
34 | #include <net/sock.h> | 34 | #include <net/sock.h> |
35 | #include "iwch_provider.h" | 35 | #include "iwch_provider.h" |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_mem.c b/drivers/infiniband/hw/cxgb3/iwch_mem.c index e1ec65ebb01..5c36ee2809a 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_mem.c +++ b/drivers/infiniband/hw/cxgb3/iwch_mem.c | |||
@@ -29,6 +29,7 @@ | |||
29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | #include <linux/slab.h> | ||
32 | #include <asm/byteorder.h> | 33 | #include <asm/byteorder.h> |
33 | 34 | ||
34 | #include <rdma/iw_cm.h> | 35 | #include <rdma/iw_cm.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c index 47b35c6608d..19b1c4a62a2 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_provider.c +++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/ethtool.h> | 42 | #include <linux/ethtool.h> |
43 | #include <linux/rtnetlink.h> | 43 | #include <linux/rtnetlink.h> |
44 | #include <linux/inetdevice.h> | 44 | #include <linux/inetdevice.h> |
45 | #include <linux/slab.h> | ||
45 | 46 | ||
46 | #include <asm/io.h> | 47 | #include <asm/io.h> |
47 | #include <asm/irq.h> | 48 | #include <asm/irq.h> |
diff --git a/drivers/infiniband/hw/cxgb3/iwch_qp.c b/drivers/infiniband/hw/cxgb3/iwch_qp.c index b4d893de365..ae47bfd22bd 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_qp.c +++ b/drivers/infiniband/hw/cxgb3/iwch_qp.c | |||
@@ -30,6 +30,7 @@ | |||
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | #include <linux/sched.h> | 32 | #include <linux/sched.h> |
33 | #include <linux/gfp.h> | ||
33 | #include "iwch_provider.h" | 34 | #include "iwch_provider.h" |
34 | #include "iwch.h" | 35 | #include "iwch.h" |
35 | #include "iwch_cm.h" | 36 | #include "iwch_cm.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_av.c b/drivers/infiniband/hw/ehca/ehca_av.c index 56735ea2fc5..465926319f3 100644 --- a/drivers/infiniband/hw/ehca/ehca_av.c +++ b/drivers/infiniband/hw/ehca/ehca_av.c | |||
@@ -41,6 +41,8 @@ | |||
41 | * POSSIBILITY OF SUCH DAMAGE. | 41 | * POSSIBILITY OF SUCH DAMAGE. |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #include <linux/slab.h> | ||
45 | |||
44 | #include "ehca_tools.h" | 46 | #include "ehca_tools.h" |
45 | #include "ehca_iverbs.h" | 47 | #include "ehca_iverbs.h" |
46 | #include "hcp_if.h" | 48 | #include "hcp_if.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_cq.c b/drivers/infiniband/hw/ehca/ehca_cq.c index 97e4b231cdc..d9b0ebcb67d 100644 --- a/drivers/infiniband/hw/ehca/ehca_cq.c +++ b/drivers/infiniband/hw/ehca/ehca_cq.c | |||
@@ -43,6 +43,8 @@ | |||
43 | * POSSIBILITY OF SUCH DAMAGE. | 43 | * POSSIBILITY OF SUCH DAMAGE. |
44 | */ | 44 | */ |
45 | 45 | ||
46 | #include <linux/slab.h> | ||
47 | |||
46 | #include "ehca_iverbs.h" | 48 | #include "ehca_iverbs.h" |
47 | #include "ehca_classes.h" | 49 | #include "ehca_classes.h" |
48 | #include "ehca_irq.h" | 50 | #include "ehca_irq.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_hca.c b/drivers/infiniband/hw/ehca/ehca_hca.c index 8b92f85d4dd..73edc366866 100644 --- a/drivers/infiniband/hw/ehca/ehca_hca.c +++ b/drivers/infiniband/hw/ehca/ehca_hca.c | |||
@@ -39,6 +39,8 @@ | |||
39 | * POSSIBILITY OF SUCH DAMAGE. | 39 | * POSSIBILITY OF SUCH DAMAGE. |
40 | */ | 40 | */ |
41 | 41 | ||
42 | #include <linux/gfp.h> | ||
43 | |||
42 | #include "ehca_tools.h" | 44 | #include "ehca_tools.h" |
43 | #include "ehca_iverbs.h" | 45 | #include "ehca_iverbs.h" |
44 | #include "hcp_if.h" | 46 | #include "hcp_if.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c b/drivers/infiniband/hw/ehca/ehca_irq.c index b2b6fea2b14..07cae552caf 100644 --- a/drivers/infiniband/hw/ehca/ehca_irq.c +++ b/drivers/infiniband/hw/ehca/ehca_irq.c | |||
@@ -41,6 +41,8 @@ | |||
41 | * POSSIBILITY OF SUCH DAMAGE. | 41 | * POSSIBILITY OF SUCH DAMAGE. |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #include <linux/slab.h> | ||
45 | |||
44 | #include "ehca_classes.h" | 46 | #include "ehca_classes.h" |
45 | #include "ehca_irq.h" | 47 | #include "ehca_irq.h" |
46 | #include "ehca_iverbs.h" | 48 | #include "ehca_iverbs.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c b/drivers/infiniband/hw/ehca/ehca_mrmw.c index 7550a534005..31a68b9c52d 100644 --- a/drivers/infiniband/hw/ehca/ehca_mrmw.c +++ b/drivers/infiniband/hw/ehca/ehca_mrmw.c | |||
@@ -40,6 +40,7 @@ | |||
40 | * POSSIBILITY OF SUCH DAMAGE. | 40 | * POSSIBILITY OF SUCH DAMAGE. |
41 | */ | 41 | */ |
42 | 42 | ||
43 | #include <linux/slab.h> | ||
43 | #include <rdma/ib_umem.h> | 44 | #include <rdma/ib_umem.h> |
44 | 45 | ||
45 | #include "ehca_iverbs.h" | 46 | #include "ehca_iverbs.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_pd.c b/drivers/infiniband/hw/ehca/ehca_pd.c index 2fe554855fa..351577a6670 100644 --- a/drivers/infiniband/hw/ehca/ehca_pd.c +++ b/drivers/infiniband/hw/ehca/ehca_pd.c | |||
@@ -38,6 +38,8 @@ | |||
38 | * POSSIBILITY OF SUCH DAMAGE. | 38 | * POSSIBILITY OF SUCH DAMAGE. |
39 | */ | 39 | */ |
40 | 40 | ||
41 | #include <linux/slab.h> | ||
42 | |||
41 | #include "ehca_tools.h" | 43 | #include "ehca_tools.h" |
42 | #include "ehca_iverbs.h" | 44 | #include "ehca_iverbs.h" |
43 | 45 | ||
diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c index b105f664d3e..47d388ec1cd 100644 --- a/drivers/infiniband/hw/ehca/ehca_qp.c +++ b/drivers/infiniband/hw/ehca/ehca_qp.c | |||
@@ -43,6 +43,8 @@ | |||
43 | * POSSIBILITY OF SUCH DAMAGE. | 43 | * POSSIBILITY OF SUCH DAMAGE. |
44 | */ | 44 | */ |
45 | 45 | ||
46 | #include <linux/slab.h> | ||
47 | |||
46 | #include "ehca_classes.h" | 48 | #include "ehca_classes.h" |
47 | #include "ehca_tools.h" | 49 | #include "ehca_tools.h" |
48 | #include "ehca_qes.h" | 50 | #include "ehca_qes.h" |
diff --git a/drivers/infiniband/hw/ehca/ehca_uverbs.c b/drivers/infiniband/hw/ehca/ehca_uverbs.c index f1565cae8ec..45ee89b65c2 100644 --- a/drivers/infiniband/hw/ehca/ehca_uverbs.c +++ b/drivers/infiniband/hw/ehca/ehca_uverbs.c | |||
@@ -40,6 +40,8 @@ | |||
40 | * POSSIBILITY OF SUCH DAMAGE. | 40 | * POSSIBILITY OF SUCH DAMAGE. |
41 | */ | 41 | */ |
42 | 42 | ||
43 | #include <linux/slab.h> | ||
44 | |||
43 | #include "ehca_classes.h" | 45 | #include "ehca_classes.h" |
44 | #include "ehca_iverbs.h" | 46 | #include "ehca_iverbs.h" |
45 | #include "ehca_mrmw.h" | 47 | #include "ehca_mrmw.h" |
diff --git a/drivers/infiniband/hw/ehca/ipz_pt_fn.c b/drivers/infiniband/hw/ehca/ipz_pt_fn.c index 1227c593627..1596e308534 100644 --- a/drivers/infiniband/hw/ehca/ipz_pt_fn.c +++ b/drivers/infiniband/hw/ehca/ipz_pt_fn.c | |||
@@ -38,6 +38,8 @@ | |||
38 | * POSSIBILITY OF SUCH DAMAGE. | 38 | * POSSIBILITY OF SUCH DAMAGE. |
39 | */ | 39 | */ |
40 | 40 | ||
41 | #include <linux/slab.h> | ||
42 | |||
41 | #include "ehca_tools.h" | 43 | #include "ehca_tools.h" |
42 | #include "ipz_pt_fn.h" | 44 | #include "ipz_pt_fn.h" |
43 | #include "ehca_classes.h" | 45 | #include "ehca_classes.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_cq.c b/drivers/infiniband/hw/ipath/ipath_cq.c index d385e4168c9..0416c6c0e12 100644 --- a/drivers/infiniband/hw/ipath/ipath_cq.c +++ b/drivers/infiniband/hw/ipath/ipath_cq.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/vmalloc.h> | 36 | #include <linux/vmalloc.h> |
36 | 37 | ||
37 | #include "ipath_verbs.h" | 38 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_dma.c b/drivers/infiniband/hw/ipath/ipath_dma.c index e90a0ea538a..644c2c74e05 100644 --- a/drivers/infiniband/hw/ipath/ipath_dma.c +++ b/drivers/infiniband/hw/ipath/ipath_dma.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/scatterlist.h> | 33 | #include <linux/scatterlist.h> |
34 | #include <linux/gfp.h> | ||
34 | #include <rdma/ib_verbs.h> | 35 | #include <rdma/ib_verbs.h> |
35 | 36 | ||
36 | #include "ipath_verbs.h" | 37 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index d2787fe8030..6302626d17f 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/netdevice.h> | 40 | #include <linux/netdevice.h> |
41 | #include <linux/vmalloc.h> | 41 | #include <linux/vmalloc.h> |
42 | #include <linux/bitmap.h> | 42 | #include <linux/bitmap.h> |
43 | #include <linux/slab.h> | ||
43 | 44 | ||
44 | #include "ipath_kernel.h" | 45 | #include "ipath_kernel.h" |
45 | #include "ipath_verbs.h" | 46 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_file_ops.c b/drivers/infiniband/hw/ipath/ipath_file_ops.c index 73933a41ce8..9c5c66d16a2 100644 --- a/drivers/infiniband/hw/ipath/ipath_file_ops.c +++ b/drivers/infiniband/hw/ipath/ipath_file_ops.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/cdev.h> | 36 | #include <linux/cdev.h> |
37 | #include <linux/swap.h> | 37 | #include <linux/swap.h> |
38 | #include <linux/vmalloc.h> | 38 | #include <linux/vmalloc.h> |
39 | #include <linux/slab.h> | ||
39 | #include <linux/highmem.h> | 40 | #include <linux/highmem.h> |
40 | #include <linux/io.h> | 41 | #include <linux/io.h> |
41 | #include <linux/jiffies.h> | 42 | #include <linux/jiffies.h> |
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c index 100da8542bb..2fca70836da 100644 --- a/drivers/infiniband/hw/ipath/ipath_fs.c +++ b/drivers/infiniband/hw/ipath/ipath_fs.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/pagemap.h> | 37 | #include <linux/pagemap.h> |
38 | #include <linux/init.h> | 38 | #include <linux/init.h> |
39 | #include <linux/namei.h> | 39 | #include <linux/namei.h> |
40 | #include <linux/slab.h> | ||
40 | 41 | ||
41 | #include "ipath_kernel.h" | 42 | #include "ipath_kernel.h" |
42 | 43 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_init_chip.c b/drivers/infiniband/hw/ipath/ipath_init_chip.c index 077879c0bdb..776938299e4 100644 --- a/drivers/infiniband/hw/ipath/ipath_init_chip.c +++ b/drivers/infiniband/hw/ipath/ipath_init_chip.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/pci.h> | 34 | #include <linux/pci.h> |
35 | #include <linux/netdevice.h> | 35 | #include <linux/netdevice.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
37 | 38 | ||
38 | #include "ipath_kernel.h" | 39 | #include "ipath_kernel.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_mmap.c b/drivers/infiniband/hw/ipath/ipath_mmap.c index b28865faf43..e7327422940 100644 --- a/drivers/infiniband/hw/ipath/ipath_mmap.c +++ b/drivers/infiniband/hw/ipath/ipath_mmap.c | |||
@@ -32,6 +32,7 @@ | |||
32 | 32 | ||
33 | #include <linux/module.h> | 33 | #include <linux/module.h> |
34 | #include <linux/vmalloc.h> | 34 | #include <linux/vmalloc.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/mm.h> | 36 | #include <linux/mm.h> |
36 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
37 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
diff --git a/drivers/infiniband/hw/ipath/ipath_mr.c b/drivers/infiniband/hw/ipath/ipath_mr.c index 9d343b7c2f3..e346d3890a0 100644 --- a/drivers/infiniband/hw/ipath/ipath_mr.c +++ b/drivers/infiniband/hw/ipath/ipath_mr.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include <rdma/ib_umem.h> | 36 | #include <rdma/ib_umem.h> |
35 | #include <rdma/ib_pack.h> | 37 | #include <rdma/ib_pack.h> |
36 | #include <rdma/ib_smi.h> | 38 | #include <rdma/ib_smi.h> |
diff --git a/drivers/infiniband/hw/ipath/ipath_qp.c b/drivers/infiniband/hw/ipath/ipath_qp.c index cb2d3ef2ae1..0857a9c3cd3 100644 --- a/drivers/infiniband/hw/ipath/ipath_qp.c +++ b/drivers/infiniband/hw/ipath/ipath_qp.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/sched.h> | 35 | #include <linux/sched.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
37 | 38 | ||
38 | #include "ipath_verbs.h" | 39 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_sdma.c b/drivers/infiniband/hw/ipath/ipath_sdma.c index 4b069859085..98ac18ec977 100644 --- a/drivers/infiniband/hw/ipath/ipath_sdma.c +++ b/drivers/infiniband/hw/ipath/ipath_sdma.c | |||
@@ -31,6 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/spinlock.h> | 33 | #include <linux/spinlock.h> |
34 | #include <linux/gfp.h> | ||
34 | 35 | ||
35 | #include "ipath_kernel.h" | 36 | #include "ipath_kernel.h" |
36 | #include "ipath_verbs.h" | 37 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_srq.c b/drivers/infiniband/hw/ipath/ipath_srq.c index e3d80ca84c1..386e2c717c5 100644 --- a/drivers/infiniband/hw/ipath/ipath_srq.c +++ b/drivers/infiniband/hw/ipath/ipath_srq.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/slab.h> | ||
35 | #include <linux/vmalloc.h> | 36 | #include <linux/vmalloc.h> |
36 | 37 | ||
37 | #include "ipath_verbs.h" | 38 | #include "ipath_verbs.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_user_pages.c b/drivers/infiniband/hw/ipath/ipath_user_pages.c index eb7d59abd12..5e86d73eba2 100644 --- a/drivers/infiniband/hw/ipath/ipath_user_pages.c +++ b/drivers/infiniband/hw/ipath/ipath_user_pages.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/mm.h> | 34 | #include <linux/mm.h> |
35 | #include <linux/device.h> | 35 | #include <linux/device.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/sched.h> | 37 | #include <linux/sched.h> |
37 | 38 | ||
38 | #include "ipath_kernel.h" | 39 | #include "ipath_kernel.h" |
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c index 9289ab4b0ae..559f39be0dc 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.c +++ b/drivers/infiniband/hw/ipath/ipath_verbs.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <rdma/ib_mad.h> | 34 | #include <rdma/ib_mad.h> |
35 | #include <rdma/ib_user_verbs.h> | 35 | #include <rdma/ib_user_verbs.h> |
36 | #include <linux/io.h> | 36 | #include <linux/io.h> |
37 | #include <linux/slab.h> | ||
37 | #include <linux/utsname.h> | 38 | #include <linux/utsname.h> |
38 | #include <linux/rculist.h> | 39 | #include <linux/rculist.h> |
39 | 40 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c b/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c index 6923e1d986d..6216ea92385 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c +++ b/drivers/infiniband/hw/ipath/ipath_verbs_mcast.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/rculist.h> | 34 | #include <linux/rculist.h> |
35 | #include <linux/sched.h> | 35 | #include <linux/sched.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include "ipath_verbs.h" | 38 | #include "ipath_verbs.h" |
38 | 39 | ||
diff --git a/drivers/infiniband/hw/mlx4/ah.c b/drivers/infiniband/hw/mlx4/ah.c index c75ac9463e2..11a236f8d88 100644 --- a/drivers/infiniband/hw/mlx4/ah.c +++ b/drivers/infiniband/hw/mlx4/ah.c | |||
@@ -30,6 +30,8 @@ | |||
30 | * SOFTWARE. | 30 | * SOFTWARE. |
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/slab.h> | ||
34 | |||
33 | #include "mlx4_ib.h" | 35 | #include "mlx4_ib.h" |
34 | 36 | ||
35 | struct ib_ah *mlx4_ib_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr) | 37 | struct ib_ah *mlx4_ib_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr) |
diff --git a/drivers/infiniband/hw/mlx4/cq.c b/drivers/infiniband/hw/mlx4/cq.c index de5263beab4..cc2ddd29ac5 100644 --- a/drivers/infiniband/hw/mlx4/cq.c +++ b/drivers/infiniband/hw/mlx4/cq.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/mlx4/cq.h> | 34 | #include <linux/mlx4/cq.h> |
35 | #include <linux/mlx4/qp.h> | 35 | #include <linux/mlx4/qp.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include "mlx4_ib.h" | 38 | #include "mlx4_ib.h" |
38 | #include "user.h" | 39 | #include "user.h" |
diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c index 19e68ab6616..f38d5b11892 100644 --- a/drivers/infiniband/hw/mlx4/mad.c +++ b/drivers/infiniband/hw/mlx4/mad.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <rdma/ib_smi.h> | 34 | #include <rdma/ib_smi.h> |
35 | 35 | ||
36 | #include <linux/mlx4/cmd.h> | 36 | #include <linux/mlx4/cmd.h> |
37 | #include <linux/gfp.h> | ||
37 | 38 | ||
38 | #include "mlx4_ib.h" | 39 | #include "mlx4_ib.h" |
39 | 40 | ||
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index e596537ff35..01f2a3f9335 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/module.h> | 34 | #include <linux/module.h> |
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
36 | #include <linux/slab.h> | ||
36 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
37 | 38 | ||
38 | #include <rdma/ib_smi.h> | 39 | #include <rdma/ib_smi.h> |
diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c index 8f3666b20ea..1d27b9a8e2d 100644 --- a/drivers/infiniband/hw/mlx4/mr.c +++ b/drivers/infiniband/hw/mlx4/mr.c | |||
@@ -31,6 +31,8 @@ | |||
31 | * SOFTWARE. | 31 | * SOFTWARE. |
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/slab.h> | ||
35 | |||
34 | #include "mlx4_ib.h" | 36 | #include "mlx4_ib.h" |
35 | 37 | ||
36 | static u32 convert_access(int acc) | 38 | static u32 convert_access(int acc) |
@@ -238,7 +240,7 @@ struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device | |||
238 | mfrpl->mapped_page_list = dma_alloc_coherent(&dev->dev->pdev->dev, | 240 | mfrpl->mapped_page_list = dma_alloc_coherent(&dev->dev->pdev->dev, |
239 | size, &mfrpl->map, | 241 | size, &mfrpl->map, |
240 | GFP_KERNEL); | 242 | GFP_KERNEL); |
241 | if (!mfrpl->ibfrpl.page_list) | 243 | if (!mfrpl->mapped_page_list) |
242 | goto err_free; | 244 | goto err_free; |
243 | 245 | ||
244 | WARN_ON(mfrpl->map & 0x3f); | 246 | WARN_ON(mfrpl->map & 0x3f); |
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index ae75389937d..5643f4a8ffe 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/log2.h> | 34 | #include <linux/log2.h> |
35 | #include <linux/slab.h> | ||
35 | 36 | ||
36 | #include <rdma/ib_cache.h> | 37 | #include <rdma/ib_cache.h> |
37 | #include <rdma/ib_pack.h> | 38 | #include <rdma/ib_pack.h> |
diff --git a/drivers/infiniband/hw/mlx4/srq.c b/drivers/infiniband/hw/mlx4/srq.c index cf8085bcbd6..818b7ecace5 100644 --- a/drivers/infiniband/hw/mlx4/srq.c +++ b/drivers/infiniband/hw/mlx4/srq.c | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #include <linux/mlx4/qp.h> | 34 | #include <linux/mlx4/qp.h> |
35 | #include <linux/mlx4/srq.h> | 35 | #include <linux/mlx4/srq.h> |
36 | #include <linux/slab.h> | ||
36 | 37 | ||
37 | #include "mlx4_ib.h" | 38 | #include "mlx4_ib.h" |
38 | #include "user.h" | 39 | #include "user.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_cmd.c b/drivers/infiniband/hw/mthca/mthca_cmd.c index 8c2ed994d54..3603ae89b60 100644 --- a/drivers/infiniband/hw/mthca/mthca_cmd.c +++ b/drivers/infiniband/hw/mthca/mthca_cmd.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/pci.h> | 36 | #include <linux/pci.h> |
37 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
38 | #include <linux/sched.h> | 38 | #include <linux/sched.h> |
39 | #include <linux/slab.h> | ||
39 | #include <asm/io.h> | 40 | #include <asm/io.h> |
40 | #include <rdma/ib_mad.h> | 41 | #include <rdma/ib_mad.h> |
41 | 42 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_cq.c b/drivers/infiniband/hw/mthca/mthca_cq.c index d9f4735c2b3..18ee3fa4b88 100644 --- a/drivers/infiniband/hw/mthca/mthca_cq.c +++ b/drivers/infiniband/hw/mthca/mthca_cq.c | |||
@@ -34,6 +34,7 @@ | |||
34 | * SOFTWARE. | 34 | * SOFTWARE. |
35 | */ | 35 | */ |
36 | 36 | ||
37 | #include <linux/gfp.h> | ||
37 | #include <linux/hardirq.h> | 38 | #include <linux/hardirq.h> |
38 | #include <linux/sched.h> | 39 | #include <linux/sched.h> |
39 | 40 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_eq.c b/drivers/infiniband/hw/mthca/mthca_eq.c index 8c31fa36e95..9388164b605 100644 --- a/drivers/infiniband/hw/mthca/mthca_eq.c +++ b/drivers/infiniband/hw/mthca/mthca_eq.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
35 | #include <linux/interrupt.h> | 35 | #include <linux/interrupt.h> |
36 | #include <linux/pci.h> | 36 | #include <linux/pci.h> |
37 | #include <linux/slab.h> | ||
37 | 38 | ||
38 | #include "mthca_dev.h" | 39 | #include "mthca_dev.h" |
39 | #include "mthca_cmd.h" | 40 | #include "mthca_cmd.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c index b01b2898787..5eee6665919 100644 --- a/drivers/infiniband/hw/mthca/mthca_main.c +++ b/drivers/infiniband/hw/mthca/mthca_main.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
38 | #include <linux/pci.h> | 38 | #include <linux/pci.h> |
39 | #include <linux/interrupt.h> | 39 | #include <linux/interrupt.h> |
40 | #include <linux/gfp.h> | ||
40 | 41 | ||
41 | #include "mthca_dev.h" | 42 | #include "mthca_dev.h" |
42 | #include "mthca_config_reg.h" | 43 | #include "mthca_config_reg.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_mcg.c b/drivers/infiniband/hw/mthca/mthca_mcg.c index d4c81053e43..515790a606e 100644 --- a/drivers/infiniband/hw/mthca/mthca_mcg.c +++ b/drivers/infiniband/hw/mthca/mthca_mcg.c | |||
@@ -31,7 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include <linux/string.h> | 33 | #include <linux/string.h> |
34 | #include <linux/slab.h> | 34 | #include <linux/gfp.h> |
35 | 35 | ||
36 | #include "mthca_dev.h" | 36 | #include "mthca_dev.h" |
37 | #include "mthca_cmd.h" | 37 | #include "mthca_cmd.h" |
diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.c b/drivers/infiniband/hw/mthca/mthca_memfree.c index 1f7d1a29d2a..8c2a83732b5 100644 --- a/drivers/infiniband/hw/mthca/mthca_memfree.c +++ b/drivers/infiniband/hw/mthca/mthca_memfree.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/mm.h> | 35 | #include <linux/mm.h> |
36 | #include <linux/scatterlist.h> | 36 | #include <linux/scatterlist.h> |
37 | #include <linux/sched.h> | 37 | #include <linux/sched.h> |
38 | #include <linux/slab.h> | ||
38 | 39 | ||
39 | #include <asm/page.h> | 40 | #include <asm/page.h> |
40 | 41 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index bcf7a401482..f080a784bc7 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <rdma/ib_user_verbs.h> | 39 | #include <rdma/ib_user_verbs.h> |
40 | 40 | ||
41 | #include <linux/sched.h> | 41 | #include <linux/sched.h> |
42 | #include <linux/slab.h> | ||
42 | #include <linux/mm.h> | 43 | #include <linux/mm.h> |
43 | 44 | ||
44 | #include "mthca_dev.h" | 45 | #include "mthca_dev.h" |
diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c index 4272c52e38a..de7b9d7166f 100644 --- a/drivers/infiniband/hw/nes/nes.c +++ b/drivers/infiniband/hw/nes/nes.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/init.h> | 44 | #include <linux/init.h> |
45 | #include <linux/if_arp.h> | 45 | #include <linux/if_arp.h> |
46 | #include <linux/highmem.h> | 46 | #include <linux/highmem.h> |
47 | #include <linux/slab.h> | ||
47 | #include <asm/io.h> | 48 | #include <asm/io.h> |
48 | #include <asm/irq.h> | 49 | #include <asm/irq.h> |
49 | #include <asm/byteorder.h> | 50 | #include <asm/byteorder.h> |
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index 2a49ee40b52..986d6f32dde 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c | |||
@@ -53,6 +53,7 @@ | |||
53 | #include <linux/list.h> | 53 | #include <linux/list.h> |
54 | #include <linux/threads.h> | 54 | #include <linux/threads.h> |
55 | #include <linux/highmem.h> | 55 | #include <linux/highmem.h> |
56 | #include <linux/slab.h> | ||
56 | #include <net/arp.h> | 57 | #include <net/arp.h> |
57 | #include <net/neighbour.h> | 58 | #include <net/neighbour.h> |
58 | #include <net/route.h> | 59 | #include <net/route.h> |
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c index ce7f5383357..c36a3f51492 100644 --- a/drivers/infiniband/hw/nes/nes_hw.c +++ b/drivers/infiniband/hw/nes/nes_hw.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/tcp.h> | 39 | #include <linux/tcp.h> |
40 | #include <linux/if_vlan.h> | 40 | #include <linux/if_vlan.h> |
41 | #include <linux/inet_lro.h> | 41 | #include <linux/inet_lro.h> |
42 | #include <linux/slab.h> | ||
42 | 43 | ||
43 | #include "nes.h" | 44 | #include "nes.h" |
44 | 45 | ||
@@ -1899,9 +1900,14 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic) | |||
1899 | u16 wqe_fragment_index; | 1900 | u16 wqe_fragment_index; |
1900 | u64 wqe_frag; | 1901 | u64 wqe_frag; |
1901 | u32 cqp_head; | 1902 | u32 cqp_head; |
1903 | u32 wqm_cfg0; | ||
1902 | unsigned long flags; | 1904 | unsigned long flags; |
1903 | int ret; | 1905 | int ret; |
1904 | 1906 | ||
1907 | /* clear wqe stall before destroying NIC QP */ | ||
1908 | wqm_cfg0 = nes_read_indexed(nesdev, NES_IDX_WQM_CONFIG0); | ||
1909 | nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG0, wqm_cfg0 & 0xFFFF7FFF); | ||
1910 | |||
1905 | /* Free remaining NIC receive buffers */ | 1911 | /* Free remaining NIC receive buffers */ |
1906 | while (nesvnic->nic.rq_head != nesvnic->nic.rq_tail) { | 1912 | while (nesvnic->nic.rq_head != nesvnic->nic.rq_tail) { |
1907 | nic_rqe = &nesvnic->nic.rq_vbase[nesvnic->nic.rq_tail]; | 1913 | nic_rqe = &nesvnic->nic.rq_vbase[nesvnic->nic.rq_tail]; |
@@ -2020,6 +2026,9 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic) | |||
2020 | 2026 | ||
2021 | pci_free_consistent(nesdev->pcidev, nesvnic->nic_mem_size, nesvnic->nic_vbase, | 2027 | pci_free_consistent(nesdev->pcidev, nesvnic->nic_mem_size, nesvnic->nic_vbase, |
2022 | nesvnic->nic_pbase); | 2028 | nesvnic->nic_pbase); |
2029 | |||
2030 | /* restore old wqm_cfg0 value */ | ||
2031 | nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG0, wqm_cfg0); | ||
2023 | } | 2032 | } |
2024 | 2033 | ||
2025 | /** | 2034 | /** |
diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h index 9b1e7f869d8..bbbfe9fc5a5 100644 --- a/drivers/infiniband/hw/nes/nes_hw.h +++ b/drivers/infiniband/hw/nes/nes_hw.h | |||
@@ -160,6 +160,7 @@ enum indexed_regs { | |||
160 | NES_IDX_ENDNODE0_NSTAT_TX_OCTETS_HI = 0x7004, | 160 | NES_IDX_ENDNODE0_NSTAT_TX_OCTETS_HI = 0x7004, |
161 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_LO = 0x7008, | 161 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_LO = 0x7008, |
162 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_HI = 0x700c, | 162 | NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_HI = 0x700c, |
163 | NES_IDX_WQM_CONFIG0 = 0x5000, | ||
163 | NES_IDX_WQM_CONFIG1 = 0x5004, | 164 | NES_IDX_WQM_CONFIG1 = 0x5004, |
164 | NES_IDX_CM_CONFIG = 0x5100, | 165 | NES_IDX_CM_CONFIG = 0x5100, |
165 | NES_IDX_NIC_LOGPORT_TO_PHYPORT = 0x6000, | 166 | NES_IDX_NIC_LOGPORT_TO_PHYPORT = 0x6000, |
diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c index a1d79b6856a..b7c813f4be4 100644 --- a/drivers/infiniband/hw/nes/nes_nic.c +++ b/drivers/infiniband/hw/nes/nes_nic.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/if_arp.h> | 40 | #include <linux/if_arp.h> |
41 | #include <linux/if_vlan.h> | 41 | #include <linux/if_vlan.h> |
42 | #include <linux/ethtool.h> | 42 | #include <linux/ethtool.h> |
43 | #include <linux/slab.h> | ||
43 | #include <net/tcp.h> | 44 | #include <net/tcp.h> |
44 | 45 | ||
45 | #include <net/inet_common.h> | 46 | #include <net/inet_common.h> |
@@ -1595,7 +1596,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1595 | struct nes_vnic *nesvnic; | 1596 | struct nes_vnic *nesvnic; |
1596 | struct net_device *netdev; | 1597 | struct net_device *netdev; |
1597 | struct nic_qp_map *curr_qp_map; | 1598 | struct nic_qp_map *curr_qp_map; |
1598 | u32 u32temp; | ||
1599 | u8 phy_type = nesdev->nesadapter->phy_type[nesdev->mac_index]; | 1599 | u8 phy_type = nesdev->nesadapter->phy_type[nesdev->mac_index]; |
1600 | 1600 | ||
1601 | netdev = alloc_etherdev(sizeof(struct nes_vnic)); | 1601 | netdev = alloc_etherdev(sizeof(struct nes_vnic)); |
@@ -1707,6 +1707,10 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1707 | ((phy_type == NES_PHY_TYPE_PUMA_1G) && | 1707 | ((phy_type == NES_PHY_TYPE_PUMA_1G) && |
1708 | (((PCI_FUNC(nesdev->pcidev->devfn) == 1) && (nesdev->mac_index == 2)) || | 1708 | (((PCI_FUNC(nesdev->pcidev->devfn) == 1) && (nesdev->mac_index == 2)) || |
1709 | ((PCI_FUNC(nesdev->pcidev->devfn) == 2) && (nesdev->mac_index == 1)))))) { | 1709 | ((PCI_FUNC(nesdev->pcidev->devfn) == 2) && (nesdev->mac_index == 1)))))) { |
1710 | u32 u32temp; | ||
1711 | u32 link_mask; | ||
1712 | u32 link_val; | ||
1713 | |||
1710 | u32temp = nes_read_indexed(nesdev, NES_IDX_PHY_PCS_CONTROL_STATUS0 + | 1714 | u32temp = nes_read_indexed(nesdev, NES_IDX_PHY_PCS_CONTROL_STATUS0 + |
1711 | (0x200 * (nesdev->mac_index & 1))); | 1715 | (0x200 * (nesdev->mac_index & 1))); |
1712 | if (phy_type != NES_PHY_TYPE_PUMA_1G) { | 1716 | if (phy_type != NES_PHY_TYPE_PUMA_1G) { |
@@ -1715,13 +1719,36 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1715 | (0x200 * (nesdev->mac_index & 1)), u32temp); | 1719 | (0x200 * (nesdev->mac_index & 1)), u32temp); |
1716 | } | 1720 | } |
1717 | 1721 | ||
1722 | /* Check and set linkup here. This is for back to back */ | ||
1723 | /* configuration where second port won't get link interrupt */ | ||
1724 | switch (phy_type) { | ||
1725 | case NES_PHY_TYPE_PUMA_1G: | ||
1726 | if (nesdev->mac_index < 2) { | ||
1727 | link_mask = 0x01010000; | ||
1728 | link_val = 0x01010000; | ||
1729 | } else { | ||
1730 | link_mask = 0x02020000; | ||
1731 | link_val = 0x02020000; | ||
1732 | } | ||
1733 | break; | ||
1734 | default: | ||
1735 | link_mask = 0x0f1f0000; | ||
1736 | link_val = 0x0f0f0000; | ||
1737 | break; | ||
1738 | } | ||
1739 | |||
1740 | u32temp = nes_read_indexed(nesdev, | ||
1741 | NES_IDX_PHY_PCS_CONTROL_STATUS0 + | ||
1742 | (0x200 * (nesdev->mac_index & 1))); | ||
1743 | if ((u32temp & link_mask) == link_val) | ||
1744 | nesvnic->linkup = 1; | ||
1745 | |||
1718 | /* clear the MAC interrupt status, assumes direct logical to physical mapping */ | 1746 | /* clear the MAC interrupt status, assumes direct logical to physical mapping */ |
1719 | u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index)); | 1747 | u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index)); |
1720 | nes_debug(NES_DBG_INIT, "Phy interrupt status = 0x%X.\n", u32temp); | 1748 | nes_debug(NES_DBG_INIT, "Phy interrupt status = 0x%X.\n", u32temp); |
1721 | nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index), u32temp); | 1749 | nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index), u32temp); |
1722 | 1750 | ||
1723 | nes_init_phy(nesdev); | 1751 | nes_init_phy(nesdev); |
1724 | |||
1725 | } | 1752 | } |
1726 | 1753 | ||
1727 | return netdev; | 1754 | return netdev; |
diff --git a/drivers/infiniband/hw/nes/nes_utils.c b/drivers/infiniband/hw/nes/nes_utils.c index 729d525c5b7..186623d8695 100644 --- a/drivers/infiniband/hw/nes/nes_utils.c +++ b/drivers/infiniband/hw/nes/nes_utils.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/ethtool.h> | 38 | #include <linux/ethtool.h> |
39 | #include <linux/mii.h> | 39 | #include <linux/mii.h> |
40 | #include <linux/if_vlan.h> | 40 | #include <linux/if_vlan.h> |
41 | #include <linux/slab.h> | ||
41 | #include <linux/crc32.h> | 42 | #include <linux/crc32.h> |
42 | #include <linux/in.h> | 43 | #include <linux/in.h> |
43 | #include <linux/ip.h> | 44 | #include <linux/ip.h> |
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c index 815725f886c..e54f312e4bd 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/moduleparam.h> | 35 | #include <linux/moduleparam.h> |
36 | #include <linux/random.h> | 36 | #include <linux/random.h> |
37 | #include <linux/highmem.h> | 37 | #include <linux/highmem.h> |
38 | #include <linux/slab.h> | ||
38 | #include <asm/byteorder.h> | 39 | #include <asm/byteorder.h> |
39 | 40 | ||
40 | #include <rdma/ib_verbs.h> | 41 | #include <rdma/ib_verbs.h> |
@@ -1323,6 +1324,7 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd, | |||
1323 | nesqp->nesqp_context->aeq_token_low = cpu_to_le32((u32)((unsigned long)(nesqp))); | 1324 | nesqp->nesqp_context->aeq_token_low = cpu_to_le32((u32)((unsigned long)(nesqp))); |
1324 | nesqp->nesqp_context->aeq_token_high = cpu_to_le32((u32)(upper_32_bits((unsigned long)(nesqp)))); | 1325 | nesqp->nesqp_context->aeq_token_high = cpu_to_le32((u32)(upper_32_bits((unsigned long)(nesqp)))); |
1325 | nesqp->nesqp_context->ird_ord_sizes = cpu_to_le32(NES_QPCONTEXT_ORDIRD_ALSMM | | 1326 | nesqp->nesqp_context->ird_ord_sizes = cpu_to_le32(NES_QPCONTEXT_ORDIRD_ALSMM | |
1327 | NES_QPCONTEXT_ORDIRD_AAH | | ||
1326 | ((((u32)nesadapter->max_irrq_wr) << | 1328 | ((((u32)nesadapter->max_irrq_wr) << |
1327 | NES_QPCONTEXT_ORDIRD_IRDSIZE_SHIFT) & NES_QPCONTEXT_ORDIRD_IRDSIZE_MASK)); | 1329 | NES_QPCONTEXT_ORDIRD_IRDSIZE_SHIFT) & NES_QPCONTEXT_ORDIRD_IRDSIZE_MASK)); |
1328 | if (disable_mpa_crc) { | 1330 | if (disable_mpa_crc) { |
@@ -2819,11 +2821,10 @@ static int nes_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | |||
2819 | attr->cap.max_send_wr = nesqp->hwqp.sq_size; | 2821 | attr->cap.max_send_wr = nesqp->hwqp.sq_size; |
2820 | attr->cap.max_recv_wr = nesqp->hwqp.rq_size; | 2822 | attr->cap.max_recv_wr = nesqp->hwqp.rq_size; |
2821 | attr->cap.max_recv_sge = 1; | 2823 | attr->cap.max_recv_sge = 1; |
2822 | if (nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) { | 2824 | if (nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) |
2823 | init_attr->cap.max_inline_data = 0; | 2825 | attr->cap.max_inline_data = 0; |
2824 | } else { | 2826 | else |
2825 | init_attr->cap.max_inline_data = 64; | 2827 | attr->cap.max_inline_data = 64; |
2826 | } | ||
2827 | 2828 | ||
2828 | init_attr->event_handler = nesqp->ibqp.event_handler; | 2829 | init_attr->event_handler = nesqp->ibqp.event_handler; |
2829 | init_attr->qp_context = nesqp->ibqp.qp_context; | 2830 | init_attr->qp_context = nesqp->ibqp.qp_context; |