Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/hw/mlx4/qp.c _mlx4_ib_post_send() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp->sq.max_post 1
CAPPED_DATA 1 n 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &qp->sq.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mlx4_ib_wq)->lock

drivers/infiniband/hw/mlx4/qp.c stamp_send_wqe() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 1 n 0-s32max
CAPPED_DATA 1 n 1
DATA_SOURCE 0 qp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &qp->sq.lock
TYPE_LOCK (struct mlx4_ib_wq)->lock

drivers/infiniband/hw/mthca/mthca_qp.c __mthca_modify_qp() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
CAPPED_DATA 0 qp->qpn 1
DATA_SOURCE 0 qp r to_mqp
NOSPEC 0 qp->port
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 qp->alt_port 1-255[c]
USER_DATA 0 qp->atomic_rd_en 0-255
USER_DATA 0 qp->port 0-255
USER_DATA 0 qp->resp_depth 0-255
USER_DATA 0 qp->sqp->pkey_index 0-u16max
USER_DATA 0 qp->sqp->qkey 0-2147483646,2147483648-u32max
USER_DATA 0 qp->sqp->send_psn 0-u32max
USER_DATA 0 qp->state 0-6[c]
LOCK2 &qp->mutex
HALF_LOCKED2 &ibqp->qp_sec->mutex
TYPE_LOCK (struct mthca_qp)->mutex

drivers/infiniband/hw/mthca/mthca_qp.c mthca_alloc_qp_common() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 0 qp->is_direct 0-1
PARAM_VALUE 0 qp->queue.direct.buf 0-ptr_max
PARAM_VALUE 0 qp->queue.page_list 4096-ptr_max
PARAM_VALUE 0 qp->send_wqe_offset 0-s32max
PARAM_VALUE 1 n 0-s32max
BUF_SIZE 0 qp->sqp (-1),216
CAPPED_DATA 0 qp->rq.max 1
CAPPED_DATA 1 n 1
DATA_SOURCE 0 qp $5
PARAM_COMPARE 1 n < $0->sq.max
NOSPEC 0 qp->send_wqe_offset
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 qp->rq.db_index 0-s32max
USER_DATA 0 qp->rq.max 1-s32max[c]
USER_DATA 0 qp->send_wqe_offset 0-s32max[c]
USER_DATA 0 qp->sq.db_index 0-s32max
USER_DATA 0 qp->sq.max 1-s32max[c]
USER_DATA 0 qp->sqp->header_buf_size s32min-s32max[c]

drivers/infiniband/hw/mthca/mthca_qp.c mthca_alloc_qp_common() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
PARAM_VALUE 0 qp->is_direct 0-1
PARAM_VALUE 0 qp->queue.direct.buf 0-ptr_max
PARAM_VALUE 0 qp->queue.page_list 4096-ptr_max
PARAM_VALUE 0 qp->send_wqe_offset 0-s32max
BUF_SIZE 0 qp->sqp (-1),216
CAPPED_DATA 0 qp->rq.max 1
DATA_SOURCE 0 qp $5
NOSPEC 0 qp->send_wqe_offset
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 qp->rq.db_index 0-s32max
USER_DATA 0 qp->rq.max 1-s32max[c]
USER_DATA 0 qp->send_wqe_offset 0-s32max[c]
USER_DATA 0 qp->sq.db_index 0-s32max
USER_DATA 0 qp->sq.max 1-s32max[c]
USER_DATA 0 qp->sqp->header_buf_size s32min-s32max[c]

drivers/infiniband/hw/mthca/mthca_qp.c mthca_arbel_post_send() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp r to_mqp
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &qp->sq.lock
HALF_LOCKED2 &conn->send_lock
HALF_LOCKED2 &gsi->lock
HALF_LOCKED2 &mr->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdma->sq_sem
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct mthca_wq)->lock

drivers/infiniband/hw/mthca/mthca_qp.c mthca_free_err_wqe() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp $1
DATA_SOURCE 1 n $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mthca_cq)->lock

drivers/infiniband/hw/mthca/mthca_qp.c mthca_tavor_post_send() -> get_send_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp r to_mqp
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &qp->sq.lock
HALF_LOCKED2 &conn->send_lock
HALF_LOCKED2 &gsi->lock
HALF_LOCKED2 &mr->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rdma->sq_sem
HALF_LOCKED2 bh
HALF_LOCKED2 flags
TYPE_LOCK (struct mthca_wq)->lock