Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/thunderbolt/nhi.c __ring_interrupt_mask() -> ring_interrupt_index()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
DATA_SOURCE 0 ring $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ring->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &ring->nhi->lock
TYPE_LOCK (struct tb_nhi)->lock
TYPE_LOCK (struct tb_ring)->lock

drivers/thunderbolt/nhi.c ring_clear_msix() -> ring_interrupt_index()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
DATA_SOURCE 0 ring $0
BIT_INFO 0 ring->nhi->quirks 0x0,0xfffffffffffffffe
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ring->nhi->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct tb_nhi)->lock

drivers/thunderbolt/nhi.c ring_interrupt_active() -> ring_interrupt_index()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
BUF_SIZE 0 ring (-1),360
BUF_SIZE 0 ring (-1),360
DATA_SOURCE 0 ring $0
BIT_INFO 0 ring->flags 0x0,0xfffffff7
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 0 &ring->lock
LOCK2 0 &ring->nhi->lock
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &dt->lock
TYPE_LOCK (struct tb_nhi)->lock
TYPE_LOCK (struct tb_ring)->lock

drivers/thunderbolt/nhi.c ring_interrupt_active() -> ring_interrupt_index()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
BUF_SIZE 0 ring (-1),360
BUF_SIZE 0 ring (-1),360
DATA_SOURCE 0 ring $0
BIT_INFO 0 ring->flags 0x0,0xfffffff7
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 0 &ring->lock
LOCK2 0 &ring->nhi->lock
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &dt->lock
TYPE_LOCK (struct tb_nhi)->lock
TYPE_LOCK (struct tb_ring)->lock