diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-21 20:54:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-21 20:54:55 -0400 |
commit | c23ddf7857bdb2e8001b0a058603497c765a580d (patch) | |
tree | f1d826612114a17d6ab543b7095adf04b5ba614a /drivers/infiniband/hw/qib/qib.h | |
parent | da4f58ffa08a7b7012fab9c205fa0f6ba40fec42 (diff) | |
parent | cc169165c82e14ea43e313f937a0a475ca97e588 (diff) |
Merge tag 'rdma-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull InfiniBand/RDMA changes from Roland Dreier:
- Add ocrdma hardware driver for Emulex IB-over-Ethernet adapters
- Add generic and mlx4 support for "raw" QPs: allow suitably privileged
applications to send and receive arbitrary packets directly to/from
the hardware
- Add "doorbell drop" handling to the cxgb4 driver
- A fairly large batch of qib hardware driver changes
- A few fixes for lockdep-detected issues
- A few other miscellaneous fixes and cleanups
Fix up trivial conflict in drivers/net/ethernet/emulex/benet/be.h.
* tag 'rdma-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (53 commits)
RDMA/cxgb4: Include vmalloc.h for vmalloc and vfree
IB/mlx4: Fix mlx4_ib_add() error flow
IB/core: Fix IB_SA_COMP_MASK macro
IB/iser: Fix error flow in iser ep connection establishment
IB/mlx4: Increase the number of vectors (EQs) available for ULPs
RDMA/cxgb4: Add query_qp support
RDMA/cxgb4: Remove kfifo usage
RDMA/cxgb4: Use vmalloc() for debugfs QP dump
RDMA/cxgb4: DB Drop Recovery for RDMA and LLD queues
RDMA/cxgb4: Disable interrupts in c4iw_ev_dispatch()
RDMA/cxgb4: Add DB Overflow Avoidance
RDMA/cxgb4: Add debugfs RDMA memory stats
cxgb4: DB Drop Recovery for RDMA and LLD queues
cxgb4: Common platform specific changes for DB Drop Recovery
cxgb4: Detect DB FULL events and notify RDMA ULD
RDMA/cxgb4: Drop peer_abort when no endpoint found
RDMA/cxgb4: Always wake up waiters in c4iw_peer_abort_intr()
mlx4_core: Change bitmap allocator to work in round-robin fashion
RDMA/nes: Don't call event handler if pointer is NULL
RDMA/nes: Fix for the ORD value of the connecting peer
...
Diffstat (limited to 'drivers/infiniband/hw/qib/qib.h')
-rw-r--r-- | drivers/infiniband/hw/qib/qib.h | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h index 6b811e3e8bd1..7e62f4137148 100644 --- a/drivers/infiniband/hw/qib/qib.h +++ b/drivers/infiniband/hw/qib/qib.h | |||
@@ -530,8 +530,6 @@ struct qib_pportdata { | |||
530 | /* qib_lflags driver is waiting for */ | 530 | /* qib_lflags driver is waiting for */ |
531 | u32 state_wanted; | 531 | u32 state_wanted; |
532 | spinlock_t lflags_lock; | 532 | spinlock_t lflags_lock; |
533 | /* number of (port-specific) interrupts for this port -- saturates... */ | ||
534 | u32 int_counter; | ||
535 | 533 | ||
536 | /* ref count for each pkey */ | 534 | /* ref count for each pkey */ |
537 | atomic_t pkeyrefs[4]; | 535 | atomic_t pkeyrefs[4]; |
@@ -543,24 +541,26 @@ struct qib_pportdata { | |||
543 | u64 *statusp; | 541 | u64 *statusp; |
544 | 542 | ||
545 | /* SendDMA related entries */ | 543 | /* SendDMA related entries */ |
546 | spinlock_t sdma_lock; | 544 | |
547 | struct qib_sdma_state sdma_state; | 545 | /* read mostly */ |
548 | unsigned long sdma_buf_jiffies; | ||
549 | struct qib_sdma_desc *sdma_descq; | 546 | struct qib_sdma_desc *sdma_descq; |
547 | struct qib_sdma_state sdma_state; | ||
548 | dma_addr_t sdma_descq_phys; | ||
549 | volatile __le64 *sdma_head_dma; /* DMA'ed by chip */ | ||
550 | dma_addr_t sdma_head_phys; | ||
551 | u16 sdma_descq_cnt; | ||
552 | |||
553 | /* read/write using lock */ | ||
554 | spinlock_t sdma_lock ____cacheline_aligned_in_smp; | ||
555 | struct list_head sdma_activelist; | ||
550 | u64 sdma_descq_added; | 556 | u64 sdma_descq_added; |
551 | u64 sdma_descq_removed; | 557 | u64 sdma_descq_removed; |
552 | u16 sdma_descq_cnt; | ||
553 | u16 sdma_descq_tail; | 558 | u16 sdma_descq_tail; |
554 | u16 sdma_descq_head; | 559 | u16 sdma_descq_head; |
555 | u16 sdma_next_intr; | ||
556 | u16 sdma_reset_wait; | ||
557 | u8 sdma_generation; | 560 | u8 sdma_generation; |
558 | struct tasklet_struct sdma_sw_clean_up_task; | ||
559 | struct list_head sdma_activelist; | ||
560 | 561 | ||
561 | dma_addr_t sdma_descq_phys; | 562 | struct tasklet_struct sdma_sw_clean_up_task |
562 | volatile __le64 *sdma_head_dma; /* DMA'ed by chip */ | 563 | ____cacheline_aligned_in_smp; |
563 | dma_addr_t sdma_head_phys; | ||
564 | 564 | ||
565 | wait_queue_head_t state_wait; /* for state_wanted */ | 565 | wait_queue_head_t state_wait; /* for state_wanted */ |
566 | 566 | ||
@@ -873,7 +873,14 @@ struct qib_devdata { | |||
873 | * pio_writing. | 873 | * pio_writing. |
874 | */ | 874 | */ |
875 | spinlock_t pioavail_lock; | 875 | spinlock_t pioavail_lock; |
876 | 876 | /* | |
877 | * index of last buffer to optimize search for next | ||
878 | */ | ||
879 | u32 last_pio; | ||
880 | /* | ||
881 | * min kernel pio buffer to optimize search | ||
882 | */ | ||
883 | u32 min_kernel_pio; | ||
877 | /* | 884 | /* |
878 | * Shadow copies of registers; size indicates read access size. | 885 | * Shadow copies of registers; size indicates read access size. |
879 | * Most of them are readonly, but some are write-only register, | 886 | * Most of them are readonly, but some are write-only register, |