Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/hw/mlx4/qp.c _mlx4_ib_post_recv() -> get_recv_wqe()

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

drivers/infiniband/hw/mthca/mthca_qp.c __mthca_modify_qp() -> get_recv_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_recv_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->rq.wqe_shift 6-s32max
PARAM_VALUE 1 n 0-s32max
BUF_SIZE 0 qp->sqp (-1),216
CAPPED_DATA 1 n 1
DATA_SOURCE 0 qp $5
PARAM_COMPARE 1 n < $0->rq.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_recv_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->rq.wqe_shift 6-s32max
PARAM_VALUE 1 n 0-s32max
BUF_SIZE 0 qp->sqp (-1),216
CAPPED_DATA 1 n 1
DATA_SOURCE 0 qp $5
PARAM_COMPARE 1 n < $0->rq.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_recv_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->rq.wqe_shift 6-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
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_receive() -> get_recv_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp r to_mqp
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &qp->rq.lock
HALF_LOCKED2 &rdma->rq_sem
TYPE_LOCK (struct mthca_wq)->lock

drivers/infiniband/hw/mthca/mthca_qp.c mthca_free_err_wqe() -> get_recv_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_receive() -> get_recv_wqe()

Type Parameter Key Value
PARAM_VALUE 0 qp 4096-ptr_max
DATA_SOURCE 0 qp r to_mqp
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &qp->rq.lock
HALF_LOCKED2 &rdma->rq_sem
TYPE_LOCK (struct mthca_wq)->lock