Merge branch 'hfi1-2' into k.o/for-4.7
This commit is contained in:
@@ -103,6 +103,9 @@ enum {
|
||||
IB_OPCODE_ATOMIC_ACKNOWLEDGE = 0x12,
|
||||
IB_OPCODE_COMPARE_SWAP = 0x13,
|
||||
IB_OPCODE_FETCH_ADD = 0x14,
|
||||
/* opcode 0x15 is reserved */
|
||||
IB_OPCODE_SEND_LAST_WITH_INVALIDATE = 0x16,
|
||||
IB_OPCODE_SEND_ONLY_WITH_INVALIDATE = 0x17,
|
||||
|
||||
/* real constants follow -- see comment about above IB_OPCODE()
|
||||
macro for more details */
|
||||
@@ -129,6 +132,8 @@ enum {
|
||||
IB_OPCODE(RC, ATOMIC_ACKNOWLEDGE),
|
||||
IB_OPCODE(RC, COMPARE_SWAP),
|
||||
IB_OPCODE(RC, FETCH_ADD),
|
||||
IB_OPCODE(RC, SEND_LAST_WITH_INVALIDATE),
|
||||
IB_OPCODE(RC, SEND_ONLY_WITH_INVALIDATE),
|
||||
|
||||
/* UC */
|
||||
IB_OPCODE(UC, SEND_FIRST),
|
||||
|
@@ -149,15 +149,15 @@ struct rvt_driver_params {
|
||||
int qpn_res_end;
|
||||
int nports;
|
||||
int npkeys;
|
||||
u8 qos_shift;
|
||||
char cq_name[RVT_CQN_MAX];
|
||||
int node;
|
||||
int max_rdma_atomic;
|
||||
int psn_mask;
|
||||
int psn_shift;
|
||||
int psn_modify_mask;
|
||||
u32 core_cap_flags;
|
||||
u32 max_mad_size;
|
||||
u8 qos_shift;
|
||||
u8 max_rdma_atomic;
|
||||
};
|
||||
|
||||
/* Protection domain */
|
||||
@@ -425,6 +425,15 @@ static inline unsigned rvt_get_npkeys(struct rvt_dev_info *rdi)
|
||||
return rdi->dparms.npkeys;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the max atomic suitable for determining
|
||||
* the size of the ack ring buffer in a QP.
|
||||
*/
|
||||
static inline unsigned int rvt_max_atomic(struct rvt_dev_info *rdi)
|
||||
{
|
||||
return rdi->dparms.max_rdma_atomic + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the indexed PKEY from the port PKEY table.
|
||||
*/
|
||||
|
@@ -211,8 +211,6 @@ struct rvt_mmap_info {
|
||||
unsigned size;
|
||||
};
|
||||
|
||||
#define RVT_MAX_RDMA_ATOMIC 16
|
||||
|
||||
/*
|
||||
* This structure holds the information that the send tasklet needs
|
||||
* to send a RDMA read response or atomic operation.
|
||||
@@ -282,8 +280,7 @@ struct rvt_qp {
|
||||
atomic_t refcount ____cacheline_aligned_in_smp;
|
||||
wait_queue_head_t wait;
|
||||
|
||||
struct rvt_ack_entry s_ack_queue[RVT_MAX_RDMA_ATOMIC + 1]
|
||||
____cacheline_aligned_in_smp;
|
||||
struct rvt_ack_entry *s_ack_queue;
|
||||
struct rvt_sge_state s_rdma_read_sge;
|
||||
|
||||
spinlock_t r_lock ____cacheline_aligned_in_smp; /* used for APM */
|
||||
|
Reference in New Issue
Block a user