Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/thunderbolt/usb4.c usb4_native_switch_op() -> tb_switch_wait_for_bit()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 sw->dev.parent->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 sw->dev.parent->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 sw->dev.parent->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 sw->dma_port->base 0-4294967295
PARAM_VALUE 0 sw->is_unplugged 0
PARAM_VALUE 0 sw->nvm->vops->validate 0,4969815085320704000,8746475639591444480
PARAM_VALUE 0 sw->nvm->vops->write_headers 0,8395314951524048896
PARAM_VALUE 0 sw->tb 4096-ptr_max
PARAM_VALUE 0 sw->tb->cm_ops 4096-ptr_max
PARAM_VALUE 0 sw->tb->cm_ops->usb4_switch_op 0,4621816072277250048
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 offset 26
PARAM_VALUE 2 bit 2147483648
PARAM_VALUE 3 value 0
PARAM_VALUE 4 timeout_msec 500
BUF_SIZE 0 sw (-1),16
BUF_SIZE 0 sw (-1),16
BUF_SIZE 0 sw->dev.parent (-1),1616
BUF_SIZE 0 sw->tb (-1),2304,3616
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 0 &sw->tb->lock

drivers/thunderbolt/usb4.c usb4_switch_configuration_valid() -> tb_switch_wait_for_bit()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent->type 4096-ptr_max
PARAM_VALUE 0 sw->is_unplugged 0
PARAM_VALUE 0 sw->tb 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->frame_pool->next_block->next_block 0
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sw->tmu.mode_request 0-4
PARAM_VALUE 1 offset 6
PARAM_VALUE 2 bit 33554432
PARAM_VALUE 3 value 33554432
PARAM_VALUE 4 timeout_msec 500
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/usb4.c usb4_switch_set_sleep() -> tb_switch_wait_for_bit()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 sw->is_unplugged 0
PARAM_VALUE 0 sw->ports 4096-ptr_max
PARAM_VALUE 0 sw->tb 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->frame_pool->next_block->next_block 0
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 offset 6
PARAM_VALUE 2 bit 1
PARAM_VALUE 3 value 1
PARAM_VALUE 4 timeout_msec 500
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/usb4.c usb4_switch_setup() -> tb_switch_wait_for_bit()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->config.cmuv 16,32
PARAM_VALUE 0 sw->config.enabled 1
PARAM_VALUE 0 sw->config.plug_events_delay 255
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
PARAM_VALUE 0 sw->is_unplugged 0
PARAM_VALUE 0 sw->tb 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->frame_pool->next_block->next_block 0
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 offset 6
PARAM_VALUE 2 bit 16777216
PARAM_VALUE 3 value 16777216
PARAM_VALUE 4 timeout_msec 500
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw->dev.parent (-1),1616
BUF_SIZE 0 sw->tb (-1),2304,3616
DATA_SOURCE 0 sw $0
FUZZY_MAX 0 sw->config.cmuv 32
BIT_INFO 0 sw->config.cmuv 0x0,0x30
HARD_MAX 0 sw->config.cmuv 32
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/switch.c tb_switch_pcie_bridge_write() -> tb_switch_wait_for_bit()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->config.device_id 5607,5610,5615
PARAM_VALUE 0 sw->config.vendor_id 32902
PARAM_VALUE 0 sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 sw->dev.class 0,4096-ptr_max
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent->type 4096-ptr_max
PARAM_VALUE 0 sw->dev.power.request 0-4
PARAM_VALUE 0 sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 sw->dev.type 0,4096-ptr_max
PARAM_VALUE 0 sw->generation 3
PARAM_VALUE 0 sw->is_unplugged 0
PARAM_VALUE 0 sw->tb 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl 4096-ptr_max
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 bit 1073741824
PARAM_VALUE 3 value 0
PARAM_VALUE 4 timeout_msec 100
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 &tb->lock
LOCK2 0 &sw->tb->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct tb)->lock