diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-03 19:57:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-03 19:57:19 -0400 |
commit | 877f075aac900288ce2e6a64075cceff09210a7e (patch) | |
tree | 2bcf23e903403a2bfa3c6fac14d1334614e4d0f1 /drivers/net/ethernet/emulex | |
parent | 3cf59142bcd391680beb6932838fe09a73947705 (diff) | |
parent | f7eaa7ed8fd46542275cf249cd934a366f6556bb (diff) |
Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull infiniband updates from Roland Dreier:
"Main batch of InfiniBand/RDMA changes for 3.15:
- The biggest change is core API extensions and mlx5 low-level driver
support for handling DIF/DIX-style protection information, and the
addition of PI support to the iSER initiator. Target support will
be arriving shortly through the SCSI target tree.
- A nice simplification to the "umem" memory pinning library now that
we have chained sg lists. Kudos to Yishai Hadas for realizing our
code didn't have to be so crazy.
- Another nice simplification to the sg wrappers used by qib, ipath
and ehca to handle their mapping of memory to adapter.
- The usual batch of fixes to bugs found by static checkers etc.
from intrepid people like Dan Carpenter and Yann Droneaud.
- A large batch of cxgb4, ocrdma, qib driver updates"
* tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (102 commits)
RDMA/ocrdma: Unregister inet notifier when unloading ocrdma
RDMA/ocrdma: Fix warnings about pointer <-> integer casts
RDMA/ocrdma: Code clean-up
RDMA/ocrdma: Display FW version
RDMA/ocrdma: Query controller information
RDMA/ocrdma: Support non-embedded mailbox commands
RDMA/ocrdma: Handle CQ overrun error
RDMA/ocrdma: Display proper value for max_mw
RDMA/ocrdma: Use non-zero tag in SRQ posting
RDMA/ocrdma: Memory leak fix in ocrdma_dereg_mr()
RDMA/ocrdma: Increment abi version count
RDMA/ocrdma: Update version string
be2net: Add abi version between be2net and ocrdma
RDMA/ocrdma: ABI versioning between ocrdma and be2net
RDMA/ocrdma: Allow DPP QP creation
RDMA/ocrdma: Read ASIC_ID register to select asic_gen
RDMA/ocrdma: SQ and RQ doorbell offset clean up
RDMA/ocrdma: EQ full catastrophe avoidance
RDMA/cxgb4: Disable DSGL use by default
RDMA/cxgb4: rx_data() needs to hold the ep mutex
...
Diffstat (limited to 'drivers/net/ethernet/emulex')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_roce.c | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_roce.h | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_roce.c b/drivers/net/ethernet/emulex/benet/be_roce.c index a5dae4a62bb3..5bf16603a3e9 100644 --- a/drivers/net/ethernet/emulex/benet/be_roce.c +++ b/drivers/net/ethernet/emulex/benet/be_roce.c | |||
@@ -35,6 +35,12 @@ static void _be_roce_dev_add(struct be_adapter *adapter) | |||
35 | 35 | ||
36 | if (!ocrdma_drv) | 36 | if (!ocrdma_drv) |
37 | return; | 37 | return; |
38 | |||
39 | if (ocrdma_drv->be_abi_version != BE_ROCE_ABI_VERSION) { | ||
40 | dev_warn(&pdev->dev, "Cannot initialize RoCE due to ocrdma ABI mismatch\n"); | ||
41 | return; | ||
42 | } | ||
43 | |||
38 | if (pdev->device == OC_DEVICE_ID5) { | 44 | if (pdev->device == OC_DEVICE_ID5) { |
39 | /* only msix is supported on these devices */ | 45 | /* only msix is supported on these devices */ |
40 | if (!msix_enabled(adapter)) | 46 | if (!msix_enabled(adapter)) |
diff --git a/drivers/net/ethernet/emulex/benet/be_roce.h b/drivers/net/ethernet/emulex/benet/be_roce.h index a3ef8f804b9e..a3d9e96c18eb 100644 --- a/drivers/net/ethernet/emulex/benet/be_roce.h +++ b/drivers/net/ethernet/emulex/benet/be_roce.h | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <linux/pci.h> | 21 | #include <linux/pci.h> |
22 | #include <linux/netdevice.h> | 22 | #include <linux/netdevice.h> |
23 | 23 | ||
24 | #define BE_ROCE_ABI_VERSION 1 | ||
25 | |||
24 | struct ocrdma_dev; | 26 | struct ocrdma_dev; |
25 | 27 | ||
26 | enum be_interrupt_mode { | 28 | enum be_interrupt_mode { |
@@ -52,6 +54,7 @@ struct be_dev_info { | |||
52 | /* ocrdma driver register's the callback functions with nic driver. */ | 54 | /* ocrdma driver register's the callback functions with nic driver. */ |
53 | struct ocrdma_driver { | 55 | struct ocrdma_driver { |
54 | unsigned char name[32]; | 56 | unsigned char name[32]; |
57 | u32 be_abi_version; | ||
55 | struct ocrdma_dev *(*add) (struct be_dev_info *dev_info); | 58 | struct ocrdma_dev *(*add) (struct be_dev_info *dev_info); |
56 | void (*remove) (struct ocrdma_dev *); | 59 | void (*remove) (struct ocrdma_dev *); |
57 | void (*state_change_handler) (struct ocrdma_dev *, u32 new_state); | 60 | void (*state_change_handler) (struct ocrdma_dev *, u32 new_state); |