Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/virtio/virtio_ring.c virtqueue_enable_cb() -> virtqueue_poll()

Type Parameter Key Value
PARAM_VALUE 1 last_used_idx 0-u16max
DATA_SOURCE 0 _vq $0
DATA_SOURCE 1 last_used_idx r virtqueue_enable_cb_prepare
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &admin_vq->lock
HALF_LOCKED2 &data_vq->lock
HALF_LOCKED2 &fsvq->lock
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vcrypto->ctrl_lock
HALF_LOCKED2 &vgdev->ctrlq.qlock
HALF_LOCKED2 &vgdev->cursorq.qlock
HALF_LOCKED2 &vioch->lock
HALF_LOCKED2 &viortc_vq->lock
HALF_LOCKED2 &virtscsi_vq->vq_lock
HALF_LOCKED2 &vrp->tx_lock
HALF_LOCKED2 &vsock->event_lock
HALF_LOCKED2 &vsock->rx_lock
HALF_LOCKED2 &vsock->tx_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/net/can/virtio_can.c virtqueue_napi_complete() -> virtqueue_poll()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
PARAM_VALUE 0 _vq->vdev->priv 4096-ptr_max
PARAM_VALUE 1 last_used_idx 0-u16max
DATA_SOURCE 0 _vq $1
DATA_SOURCE 1 last_used_idx r virtqueue_enable_cb_prepare
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/firmware/arm_scmi/transports/virtio.c virtio_poll_done() -> virtqueue_poll()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cinfo->transport_info->chan_lock
HALF_LOCKED2 &pool->lock

drivers/firmware/arm_scmi/transports/virtio.c virtio_poll_done() -> virtqueue_poll()

Type Parameter Key Value
PARAM_VALUE 1 last_used_idx 0-u16max
DATA_SOURCE 1 last_used_idx r virtqueue_enable_cb_prepare
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vioch->lock
LOCK2 flags
HALF_LOCKED2 &cinfo->transport_info->chan_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct scmi_vio_channel)->lock

drivers/net/virtio_net.c virtnet_poll_tx() -> virtqueue_poll()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
PARAM_VALUE 0 _vq->vdev->priv 4096-ptr_max
PARAM_VALUE 1 last_used_idx 0-u16max
DATA_SOURCE 1 last_used_idx r virtqueue_enable_cb_prepare
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c virtqueue_napi_complete() -> virtqueue_poll()

Type Parameter Key Value
PARAM_VALUE 0 _vq 4096-ptr_max
PARAM_VALUE 0 _vq->vdev 4096-ptr_max
PARAM_VALUE 0 _vq->vdev->priv 4096-ptr_max
PARAM_VALUE 0 *_vq->vdev->priv->dev->name 0-255
PARAM_VALUE 1 last_used_idx 0-u16max
CAPPED_DATA 0 _vq->num_free 1
CAPPED_DATA 0 _vq->vdev->priv->dev->num_tx_queues 1
DATA_SOURCE 0 _vq $1
DATA_SOURCE 1 last_used_idx r virtqueue_enable_cb_prepare
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read