Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Dec 2012 03:19:09 +0000 (19:19 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Dec 2012 03:19:09 +0000 (19:19 -0800)
Pull infiniband upate from Roland Dreier:
 "First batch of InfiniBand/RDMA changes for the 3.8 merge window:
   - A good chunk of Bart Van Assche's SRP fixes
   - UAPI disintegration from David Howells
   - mlx4 support for "64-byte CQE" hardware feature from Or Gerlitz
   - Other miscellaneous fixes"

Fix up trivial conflict in mellanox/mlx4 driver.

* tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (33 commits)
  RDMA/nes: Fix for crash when registering zero length MR for CQ
  RDMA/nes: Fix for terminate timer crash
  RDMA/nes: Fix for BUG_ON due to adding already-pending timer
  IB/srp: Allow SRP disconnect through sysfs
  srp_transport: Document sysfs attributes
  srp_transport: Simplify attribute initialization code
  srp_transport: Fix attribute registration
  IB/srp: Document sysfs attributes
  IB/srp: send disconnect request without waiting for CM timewait exit
  IB/srp: destroy and recreate QP and CQs when reconnecting
  IB/srp: Eliminate state SRP_TARGET_DEAD
  IB/srp: Introduce the helper function srp_remove_target()
  IB/srp: Suppress superfluous error messages
  IB/srp: Process all error completions
  IB/srp: Introduce srp_handle_qp_err()
  IB/srp: Simplify SCSI error handling
  IB/srp: Keep processing commands during host removal
  IB/srp: Eliminate state SRP_TARGET_CONNECTING
  IB/srp: Increase block layer timeout
  RDMA/cm: Change return value from find_gid_port()
  ...

1  2 
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/en_rx.c
drivers/net/ethernet/mellanox/mlx4/en_tx.c
drivers/net/ethernet/mellanox/mlx4/eq.c
drivers/net/ethernet/mellanox/mlx4/main.c
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h

index f76c9671f3628c22bbb1280316b8f4eb57c71c3e,6fa106f6c0ecf6e8bd171071299507aa06b70f7c..fed26d867f4e3f6bc1452bfcd3ab1136a48c8628
@@@ -709,9 -710,12 +710,9 @@@ next
  
                ++cq->mcq.cons_index;
                index = (cq->mcq.cons_index) & ring->size_mask;
-               cqe = &cq->buf[index];
+               cqe = &cq->buf[(index << factor) + factor];
 -              if (++polled == budget) {
 -                      /* We are here because we reached the NAPI budget -
 -                       * flush only pending LRO sessions */
 +              if (++polled == budget)
                        goto out;
 -              }
        }
  
  out:
index 200cc0ec805226506623a90e501f0db527a1dd41,4337f685175de9e78ecde48736cc533f7dd0987c..b2acbe7706a34c667d20ca4a58e7057e4c0866b0
@@@ -95,10 -95,16 +95,16 @@@ MODULE_PARM_DESC(log_num_mgm_entry_size
                                         " Not in use with device managed"
                                         " flow steering");
  
+ static bool enable_64b_cqe_eqe;
+ module_param(enable_64b_cqe_eqe, bool, 0444);
+ MODULE_PARM_DESC(enable_64b_cqe_eqe,
+                "Enable 64 byte CQEs/EQEs when the the FW supports this");
  #define HCA_GLOBAL_CAP_MASK            0
- #define PF_CONTEXT_BEHAVIOUR_MASK      0
+ #define PF_CONTEXT_BEHAVIOUR_MASK     MLX4_FUNC_CAP_64B_EQE_CQE
  
 -static char mlx4_version[] __devinitdata =
 +static char mlx4_version[] =
        DRV_NAME ": Mellanox ConnectX core driver v"
        DRV_VERSION " (" DRV_RELDATE ")\n";