Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/thunderbolt/tb.c tb_alloc_dp_bandwidth() -> tb_available_bandwidth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->root_switch 4096-ptr_max
PARAM_VALUE 1 src_port 4096-ptr_max
PARAM_VALUE 1 src_port->config.type 917761
PARAM_VALUE 1 src_port->sw 4096-ptr_max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 dst_port 4096-ptr_max
PARAM_VALUE 2 dst_port->sw 4096-ptr_max
PARAM_VALUE 3 available_up 7166363686453522432
PARAM_VALUE 4 available_down 5835535534605705216
PARAM_VALUE 5 include_asym 1
CAPPED_DATA 0 tb->root_switch 1
CAPPED_DATA 2 dst_port->sw->config.depth 1
LOCK2 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/tb.c tb_recalc_estimated_bandwidth_for_group() -> tb_available_bandwidth()

Type Parameter Key Value
PARAM_VALUE 1 src_port 4096-ptr_max
PARAM_VALUE 1 src_port->config.type 917761
PARAM_VALUE 1 src_port->sw->is_unplugged 0
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 available_up 2783651769196564480
PARAM_VALUE 4 available_down 8722999447853043712
PARAM_VALUE 5 include_asym 1
CAPPED_DATA 1 src_port 1
CAPPED_DATA 1 &src_port->group_list 1
LOCK2 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/tb.c tb_reclaim_usb3_bandwidth() -> tb_available_bandwidth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 tb->root_switch 4096-ptr_max
PARAM_VALUE 3 available_up 4494657869373771776
PARAM_VALUE 4 available_down 6552876625665175552
PARAM_VALUE 5 include_asym 0
DATA_SOURCE 0 tb $0
STR_LEN 0 tb (-1),14,23
STR_LEN 0 tb (-1),14,23
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock
HALF_LOCKED2 0 &tb->lock

drivers/thunderbolt/tb.c tb_tunnel_one_dp() -> tb_available_bandwidth()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 tb->lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 tb->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->lock.wait_lock.owner (-1)
PARAM_VALUE 0 tb->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 tb->privdata 4096-ptr_max
PARAM_VALUE 0 tb->root_switch 4096-ptr_max
PARAM_VALUE 1 src_port 4096-ptr_max
PARAM_VALUE 1 src_port->config.type 917761
PARAM_VALUE 1 src_port->group 1-u64max
PARAM_VALUE 1 src_port->group->index 1-7
PARAM_VALUE 1 src_port->group_list.next 4096-ptr_max
PARAM_VALUE 1 src_port->sw 4096-ptr_max
PARAM_VALUE 1 src_port->sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 1 src_port->sw->dev.class 0,4096-ptr_max
PARAM_VALUE 1 src_port->sw->dev.power.request 0-4
PARAM_VALUE 1 src_port->sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 1 src_port->sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 1 src_port->sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 src_port->sw->dev.type 0,4096-ptr_max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_io_tlb_mem->dyn_alloc.flags 0-4294967295
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_io_tlb_mem->dyn_alloc.is_hard 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_io_tlb_mem->dyn_alloc.is_lazy 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_io_tlb_mem->dyn_alloc.is_queued 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_io_tlb_mem->dyn_alloc.is_soft 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->privdata->request_lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 dst_port 4096-ptr_max
PARAM_VALUE 2 dst_port->config.type 917762
PARAM_VALUE 2 dst_port->sw 4096-ptr_max
PARAM_VALUE 2 dst_port->sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 2 dst_port->sw->dev.class 0,4096-ptr_max
PARAM_VALUE 2 dst_port->sw->dev.power.request 0-4
PARAM_VALUE 2 dst_port->sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 2 dst_port->sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 2 dst_port->sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 2 dst_port->sw->dev.type 0,4096-ptr_max
PARAM_VALUE 2 dst_port->sw->tb->ctl->request_queue_lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 2 dst_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 2 dst_port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 2 dst_port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 2 dst_port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 3 available_up 7883393445479124992
PARAM_VALUE 4 available_down 4358337643150012416
PARAM_VALUE 5 include_asym 1
CAPPED_DATA 0 tb->root_switch 1
CAPPED_DATA 1 src_port 1
CAPPED_DATA 1 src_port->sw 1
CAPPED_DATA 2 dst_port->sw 1
CAPPED_DATA 2 dst_port->sw->config.depth 1
DATA_SOURCE 0 tb $0
DATA_SOURCE 1 src_port $1
DATA_SOURCE 2 dst_port $2
STR_LEN 0 tb (-1),14,23
STR_LEN 0 tb (-1),14,23
LOCK2 0 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/tb.c tb_tunnel_usb3() -> tb_available_bandwidth()

Type Parameter Key Value
PARAM_VALUE 1 src_port 4096-ptr_max
PARAM_VALUE 1 src_port->config.type 2097409
PARAM_VALUE 1 src_port->sw 4096-ptr_max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 1 src_port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 src_port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 src_port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 dst_port 4096-ptr_max
PARAM_VALUE 2 dst_port->config.type 2097410
PARAM_VALUE 3 available_up 8472992983479308288
PARAM_VALUE 4 available_down 8960461078816337920
PARAM_VALUE 5 include_asym 0
CAPPED_DATA 1 src_port 1
CAPPED_DATA 2 dst_port 1
DATA_SOURCE 0 tb $0
DATA_SOURCE 1 src_port r tb_find_usb3_down
DATA_SOURCE 2 dst_port r tb_switch_find_port
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock