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/switch.c tb_port_lane_bonding_disable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 1 width 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &dt->lock

drivers/thunderbolt/switch.c tb_port_lane_bonding_disable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->dual_link_port 4096-ptr_max
PARAM_VALUE 1 width 1
CAPPED_DATA 0 port 1
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &dt->lock

drivers/thunderbolt/switch.c tb_port_lane_bonding_enable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cap_phy s32min-(-1),1-s32max
PARAM_VALUE 0 port->sw->is_unplugged 0
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 width 2
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/switch.c tb_port_lane_bonding_enable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cap_phy s32min-(-1),1-s32max
PARAM_VALUE 0 port->sw->is_unplugged 0
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 width 2
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/switch.c tb_port_lane_bonding_enable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cap_phy s32min-(-1),1-s32max
PARAM_VALUE 0 port->sw->is_unplugged 0
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 port->sw->tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 width 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/thunderbolt/switch.c tb_port_lane_bonding_enable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 width 1
CAPPED_DATA 0 port 1
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/thunderbolt/switch.c tb_switch_asym_disable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 1 width 2
DATA_SOURCE 0 port r tb_upstream_port
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/switch.c tb_switch_asym_disable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 0,4096-ptr_max
PARAM_VALUE 1 width 2
DATA_SOURCE 0 port r tb_switch_downstream_port
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/switch.c tb_switch_asym_enable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 1 width 4,8
DATA_SOURCE 0 port r tb_upstream_port
DATA_SOURCE 1 width $1
FUZZY_MAX 1 width 4
BIT_INFO 1 width 0x0,0xc
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/switch.c tb_switch_asym_enable() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 0,4096-ptr_max
PARAM_VALUE 1 width 4,8
DATA_SOURCE 0 port r tb_switch_downstream_port
FUZZY_MAX 1 width 8
BIT_INFO 1 width 0x0,0xc
HARD_MAX 1 width 8
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/xdomain.c tb_xdomain_bond_lanes_uuid_high() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 1 width 1-2
FUZZY_MAX 1 width 2
HARD_MAX 1 width 2
HALF_LOCKED2 &pool->lock

drivers/thunderbolt/xdomain.c tb_xdomain_bond_lanes_uuid_high() -> tb_port_set_link_width()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->dual_link_port 4096-ptr_max
PARAM_VALUE 0 port->dual_link_port->cap_phy s32min-(-1),1-s32max
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->request_queue_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 port->dual_link_port->sw->tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 width 1-2
DATA_SOURCE 0 port r tb_xdomain_downstream_port
FUZZY_MAX 1 width 2
HARD_MAX 1 width 2
HALF_LOCKED2 &pool->lock