Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

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

Type Parameter Key Value
BIT_INFO 2 val 0x10000,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &aq->lock
LOCK2 irqflags
TYPE_LOCK (struct ionic_aq)->lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_post_recv_common() -> ionic_dbell_ring()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cq->lock
LOCK2 &qp->rq_lock
LOCK2 irqflags
HALF_LOCKED2 &rdma->rq_sem
TYPE_LOCK (struct ionic_cq)->lock
TYPE_LOCK (struct ionic_qp)->rq_lock

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_post_send_common() -> ionic_dbell_ring()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cq->lock
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_cq)->lock
TYPE_LOCK (struct ionic_qp)->sq_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->client_data_rwsem
HALF_LOCKED2 global &clients_rwsem
HALF_LOCKED2 global &devices_rwsem

drivers/infiniband/hw/ionic/ionic_datapath.c ionic_reserve_sync_cq() -> ionic_dbell_ring()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cq->lock
HALF_LOCKED2 irqflags

drivers/net/ethernet/pensando/ionic/ionic_txrx.c ionic_rx_fill() -> ionic_dbell_ring()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &lif->phc->config_lock
HALF_LOCKED2 &lif->queue_lock

drivers/net/ethernet/pensando/ionic/ionic_txrx.c ionic_rxq_poke_doorbell() -> ionic_dbell_ring()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/pensando/ionic/ionic_txrx.c ionic_txq_poke_doorbell() -> ionic_dbell_ring()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &netdev_txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/pensando/ionic/ionic_txrx.c ionic_xdp_xmit() -> ionic_dbell_ring()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/pensando/ionic/ionic_main.c ionic_adminq_poke_doorbell() -> ionic_dbell_ring()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &lif->adminq_lock
LOCK2 irqflags
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct ionic_lif)->adminq_lock

drivers/net/ethernet/pensando/ionic/ionic_dev.c ionic_q_post() -> ionic_dbell_ring()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &lif->adminq_lock