Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_next_cqe() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_admin_poll_locked() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_admin.c ionic_next_eqe() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_next_cqe() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cq->lock
LOCK2 irqflags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ionic_cq)->lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_atomic() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &qp->sq_lock
LOCK2 irqflags
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 ionic_qp)->sq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_inv() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &qp->sq_lock
LOCK2 irqflags
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 ionic_qp)->sq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_rdma() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &qp->sq_lock
LOCK2 irqflags
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 ionic_qp)->sq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_recv() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &qp->rq_lock
LOCK2 irqflags
HALF_LOCKED2 &rdma->rq_sem
TYPE_LOCK (struct ionic_qp)->rq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_reg() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &qp->sq_lock
LOCK2 irqflags
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 ionic_qp)->sq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_send() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &qp->sq_lock
LOCK2 irqflags
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 ionic_qp)->sq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_prep_send_ud() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PREEMPT_ADD
TASK_NOT_RUNNING
LOCK2 &qp->sq_lock
LOCK2 irqflags
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 ionic_qp)->sq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_req_notify_vcq_cq() -> ionic_queue_at_prod()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &device->client_data_rwsem
HALF_LOCKED2 global &clients_rwsem
HALF_LOCKED2 global &devices_rwsem