Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/virtio/virtio_pci_common.c vp_vring_interrupt() -> vring_interrupt()

Type Parameter Key Value
DATA_SOURCE 0 irq $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vp_dev->lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct virtio_pci_device)->lock

drivers/virtio/virtio_pci_common.c vp_vring_slow_path_interrupt() -> vring_interrupt()

Type Parameter Key Value
DATA_SOURCE 0 irq $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vp_dev->lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct virtio_pci_device)->lock

drivers/remoteproc/remoteproc_virtio.c rproc_vq_interrupt() -> vring_interrupt()

Type Parameter Key Value
PARAM_VALUE 0 irq 0
PARAM_VALUE 1 _vq 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rproc->lock

drivers/virtio/virtio_mmio.c vm_interrupt() -> vring_interrupt()

Type Parameter Key Value
DATA_SOURCE 0 irq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/virtio/virtio_vdpa.c virtio_vdpa_virtqueue_cb() -> vring_interrupt()

Type Parameter Key Value
PARAM_VALUE 0 irq 0
BUF_SIZE 1 _vq s32min-(-2),1-s32max
DATA_SOURCE 1 _vq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->irq_lock
HALF_LOCKED2 &vdpasim->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bh

kernel/irq/manage.c __free_irq() -> (struct irqaction)->handler()

Type Parameter Key Value
CAPPED_DATA 1 _vq 1
DATA_SOURCE 1 _vq $1
NOCHECK_CALL
LOCK2 &desc->request_mutex
LOCK2 flags
TYPE_LOCK (struct irq_desc)->request_mutex

kernel/irq/handle.c __handle_irq_event_percpu() -> (struct irqaction)->handler()

Type Parameter Key Value
CONTAINER 1 *(-0+8) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/irq/handle.c __handle_irq_event_percpu() -> (struct irqaction)->handler()

Type Parameter Key Value
CONTAINER 1 *(-0+8) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/irq/chip.c handle_fasteoi_nmi() -> (struct irqaction)->handler()

Type Parameter Key Value
CONTAINER 1 *(-0+8) $(-1)

kernel/irq/chip.c handle_percpu_devid_irq() -> (struct irqaction)->handler()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq

kernel/irq/manage.c irq_thread_fn() -> (struct irqaction)->thread_fn()

Type Parameter Key Value
CONTAINER 0 *(-32+56) $(-1)
CONTAINER 1 *(-32+8) $(-1)
HALF_LOCKED2 bh
HALF_LOCKED2 irq

kernel/irq/chip.c handle_nested_irq() -> (struct irqaction)->thread_fn()

Type Parameter Key Value
CONTAINER 0 *(-32+56) $(-1)
CONTAINER 1 *(-32+8) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rt5677->irq_lock
HALF_LOCKED2 &slave->sdw_dev_lock
HALF_LOCKED2 &smaster->lock
HALF_LOCKED2 _T->lock