Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 16 files:
- drivers/block/virtio_blk.c, line 369
- drivers/crypto/virtio/virtio_crypto_core.c
- drivers/firmware/arm_scmi/transports/virtio.c
- drivers/gpu/drm/virtio/virtgpu_vq.c
- drivers/rpmsg/virtio_rpmsg_bus.c, line 638
- drivers/scsi/virtio_scsi.c, line 194
- drivers/virtio/virtio_pci_modern.c, line 73
- drivers/virtio/virtio_ring.c, line 3217
- drivers/virtio/virtio_rtc_driver.c, line 252
- fs/fuse/virtio_fs.c
- net/vmw_vsock/virtio_transport.c
- sound/virtio/virtio_card.c
- sound/virtio/virtio_ctl_msg.c, line 302
- sound/virtio/virtio_pcm_msg.c, line 353
- tools/virtio/vhost_net_test.c, line 334
- tools/virtio/virtio_test.c, line 266
Smatch caller information:
drivers/firmware/arm_scmi/transports/virtio.c scmi_vio_complete_cb() -> virtqueue_enable_cb()
| 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 |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vioch->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct scmi_vio_channel)->lock |
drivers/firmware/arm_scmi/transports/virtio.c virtio_poll_done() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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/scsi/virtio_scsi.c virtscsi_vq_done() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &virtscsi_vq->vq_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_scsi_vq)->vq_lock |
drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_dequeue_ctrl_func() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &vgdev->ctrlq.qlock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_gpu_queue)->qlock |
drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_dequeue_cursor_func() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &vgdev->cursorq.qlock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_gpu_queue)->qlock |
drivers/virtio/virtio_rtc_driver.c viortc_do_cb() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PARAM_VALUE | 0 | _vq->callback | 1-u64max |
| PARAM_VALUE | 0 | _vq->vdev | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &viortc_vq->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct viortc_vq)->lock |
net/vmw_vsock/virtio_transport.c virtio_transport_event_work() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &vsock->event_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->event_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_rx_work() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| LOCK2 | &vsock->rx_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->rx_lock |
net/vmw_vsock/virtio_transport.c virtio_transport_tx_work() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &vsock->tx_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_vsock)->tx_lock |
drivers/crypto/virtio/virtio_crypto_core.c virtcrypto_ctrlq_callback() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PARAM_VALUE | 0 | _vq->callback | 1-u64max |
| PARAM_VALUE | 0 | _vq->vdev | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vcrypto->ctrl_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct virtio_crypto)->ctrl_lock |
drivers/crypto/virtio/virtio_crypto_core.c virtcrypto_done_work() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &data_vq->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct data_queue)->lock |
drivers/virtio/virtio_pci_modern.c vp_modern_avq_done() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &admin_vq->lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct virtio_pci_admin_vq)->lock |
fs/fuse/virtio_fs.c virtio_fs_hiprio_done_work() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &fsvq->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_fs_vq)->lock |
fs/fuse/virtio_fs.c virtio_fs_requests_done_work() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &fsvq->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct virtio_fs_vq)->lock |
drivers/rpmsg/virtio_rpmsg_bus.c virtio_rpmsg_poll() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vrp->tx_lock | ||
| HALF_LOCKED2 | &eptdev->ept_lock | ||
| HALF_LOCKED2 | &kvm->irq_srcu | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &port->ops_lock | ||
| HALF_LOCKED2 | &vm->irqfds_lock | ||
| HALF_LOCKED2 | global &irqfds_srcu | ||
| TYPE_LOCK | (struct virtproc_info)->tx_lock |
sound/virtio/virtio_card.c virtsnd_enable_event_vq() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
sound/virtio/virtio_card.c virtsnd_event_notify_cb() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PARAM_VALUE | 0 | _vq->vdev | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &queue->lock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct virtio_snd_queue)->lock |
drivers/block/virtio_blk.c virtblk_done() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PARAM_VALUE | 0 | _vq->callback | 1-u64max |
| PARAM_VALUE | 0 | _vq->vdev | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
sound/virtio/virtio_pcm_msg.c virtsnd_pcm_notify_cb() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &queue->lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct virtio_snd_queue)->lock |
sound/virtio/virtio_ctl_msg.c virtsnd_ctl_notify_cb() -> virtqueue_enable_cb()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | _vq | 4096-ptr_max |
| PARAM_VALUE | 0 | _vq->callback | 1-u64max |
| PARAM_VALUE | 0 | _vq->vdev | 4096-ptr_max |
| DATA_SOURCE | 0 | _vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &queue->lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | &vp_dev->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct virtio_snd_queue)->lock |