Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/usb/typec/ucsi/ucsi.c ucsi_altmode_update_active() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 1 command 14,65550-140737488289806,18446603336221196302-18446744073709486094
PARAM_VALUE 2 data 1969711556131098624
PARAM_VALUE 3 size 1
BIT_INFO 1 command 0xe,0xffffffffffff000e
BIT_INFO 1 command 0xe,0xffffffffffff000e
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &con->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_check_connector_capability() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->version 528-u16max
PARAM_VALUE 1 command 7,65543-140737488289799,18446603336221196295-18446744073709486087
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 size 8
BUF_SIZE 2 data 8
FUZZY_MAX 0 ucsi->version 528
BIT_INFO 1 command 0x7,0xffffffffffff0007
BIT_INFO 1 command 0x7,0xffffffffffff0007
UNITS 3 size unit_byte
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_get_pd_message() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 1 command 0,4096-u64max
PARAM_VALUE 2 data 1134038727659474944,1134038727659474960,3301501655712555008,3301501655712555024
PARAM_VALUE 3 size 12,16,28
CAPPED_DATA 3 size 1
CAPPED_DATA 3 size 1
BIT_INFO 1 command 0x100000000015,0xffffffffffff0015
BIT_INFO 1 command 0x100000000015,0xffffffffffff0015
UNITS 2 data unit_byte
UNITS 3 size unit_byte
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_init() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->ops 4096-ptr_max
PARAM_VALUE 0 ucsi->ops->poll_cci 4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 command 2147549189
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
DATA_SOURCE 0 ucsi $0
HALF_LOCKED2 &pool->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_init() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ops 4096-ptr_max
PARAM_VALUE 0 ucsi->ops->poll_cci 4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 command 6
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 size 16
BUF_SIZE 2 data 16
DATA_SOURCE 0 ucsi $0
HALF_LOCKED2 &pool->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_init() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->cap.features 0-65531
PARAM_VALUE 0 ucsi->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ops->poll_cci 4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 command 3657760773-8589869061
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
CAPPED_DATA 0 ucsi->cap.num_connectors 1
DATA_SOURCE 0 ucsi $0
BIT_INFO 1 command 0x5,0x1ffffffff
BIT_INFO 1 command 0x5,0x1ffffffff
HALF_LOCKED2 &pool->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_read_pdos() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 3 size 12-16
BIT_INFO 1 command 0x10,0xffffffffffffffff
BIT_INFO 1 command 0x10,0xffffffffffffffff
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_register_altmodes() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->ops 4096-ptr_max
PARAM_VALUE 2 data 1156943013596893184
PARAM_VALUE 3 size 12
BUF_SIZE 2 data 12
BIT_INFO 0 ucsi->cap.features 0x4,0xffffffffffffffff
BIT_INFO 1 command 0xc,0xffffffffff03000c
BIT_INFO 1 command 0xc,0xffffffffff03000c
UNITS 3 size unit_byte
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_register_altmodes_nvidia() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->ops 4096-ptr_max
PARAM_VALUE 0 ucsi->ops->update_altmodes 1-u64max
PARAM_VALUE 2 data 517562711998357504
PARAM_VALUE 3 size 6
BUF_SIZE 2 data 6
BIT_INFO 0 ucsi->cap.features 0x4,0xffff
BIT_INFO 1 command 0xc,0xffffffffff03000c
BIT_INFO 1 command 0xc,0xffffffffff03000c
MEM_ZERO 2 data
UNITS 3 size unit_byte
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_register_cable() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 1 command 17,65553-140737488289809,18446603336221196305-18446744073709486097
PARAM_VALUE 2 data 4642546973583671296
PARAM_VALUE 3 size 5
BUF_SIZE 2 data 5
BIT_INFO 1 command 0x11,0xffffffffffff0011
BIT_INFO 1 command 0x11,0xffffffffffff0011
UNITS 3 size unit_byte
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_register_port() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->cap.num_connectors 1-255
PARAM_VALUE 0 ucsi->dev 4096-ptr_max
PARAM_VALUE 0 ucsi->ops->poll_cci 4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 command 65543-16711687
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 size 8
BUF_SIZE 2 data 8
DATA_SOURCE 0 ucsi $0
BIT_INFO 1 command 0x7,0xff0007
BIT_INFO 1 command 0x7,0xff0007
UNITS 3 size unit_byte
LOCK2 &con->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_reset_connector() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 command 0,3,65539-u64max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BIT_INFO 1 command 0x3,0xffffffffffff0003
BIT_INFO 1 command 0x3,0xffffffffffff0003
RX_PATH
TASK_NOT_RUNNING
LOCK2 &con->lock
LOCK2 &of->mutex
LOCK2 &port->port_type_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct typec_port)->port_type_lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_resume_work() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BIT_INFO 1 command 0x5,0xffffffffffffffff
BIT_INFO 1 command 0x5,0xffffffffffffffff
HALF_LOCKED2 &pool->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_role_cmd() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 1 command 0,33554432-u64max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
DATA_SOURCE 1 command $1
BIT_INFO 1 command 0x2000009,0xffffffffffff000b
BIT_INFO 1 command 0x2000009,0xffffffffffff000b
RX_PATH
TASK_NOT_RUNNING
LOCK2 &con->lock
LOCK2 &of->mutex
LOCK2 &port->port_type_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct typec_port)->port_type_lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/ucsi.c ucsi_role_cmd() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->complete.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ops 4096-ptr_max
PARAM_VALUE 0 ucsi->ops->poll_cci 4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 ucsi->ppm_lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BIT_INFO 1 command 0x5,0xffffffffffffffff
BIT_INFO 1 command 0x5,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &con->lock
LOCK2 &of->mutex
LOCK2 &port->port_type_lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct typec_port)->port_type_lock
TYPE_LOCK (struct ucsi_connector)->lock

drivers/usb/typec/ucsi/displayport.c ucsi_displayport_configure() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BIT_INFO 1 command 0x80000f,0xffffffffffff000f
BIT_INFO 1 command 0x80000f,0xffffffffffff000f
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &dp->lock

drivers/usb/typec/ucsi/displayport.c ucsi_displayport_enter() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 1 command 14,65550-140737488289806,18446603336221196302-18446744073709486094
PARAM_VALUE 2 data 1564840174730661888
PARAM_VALUE 2 *data 0
PARAM_VALUE 3 size 1
BIT_INFO 1 command 0xe,0xffffffffffff000e
BIT_INFO 1 command 0xe,0xffffffffffff000e
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &dp->lock

drivers/usb/typec/ucsi/displayport.c ucsi_displayport_exit() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 1 command 0-s32max,18446744071562067968-u64max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BIT_INFO 1 command 0xf,0xffff000f
BIT_INFO 1 command 0xf,0xffff000f
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dp->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &tbt->lock

drivers/usb/typec/ucsi/debugfs.c ucsi_cmd() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->debugfs 4096-ptr_max
PARAM_VALUE 0 ucsi->debugfs->status 0
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BUF_SIZE 0 ucsi s32min-(-2),1-s32max
BUF_SIZE 0 ucsi s32min-(-2),1-s32max
DATA_SOURCE 0 ucsi $0
DATA_SOURCE 1 command $1
MEM_ZERO 0 &ucsi->debugfs->response
USER_DATA 1 command 0-u64max
LOCK2 &attr->mutex
TYPE_LOCK (struct simple_attr)->mutex

drivers/usb/typec/ucsi/debugfs.c ucsi_cmd() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 0 ucsi->debugfs 4096-ptr_max
PARAM_VALUE 0 ucsi->debugfs->status 0
PARAM_VALUE 2 data 4096-ptr_max
PARAM_VALUE 3 size 24
BUF_SIZE 0 ucsi s32min-(-2),1-s32max
BUF_SIZE 0 ucsi s32min-(-2),1-s32max
BUF_SIZE 2 data 24
DATA_SOURCE 0 ucsi $0
DATA_SOURCE 1 command $1
MEM_ZERO 0 &ucsi->debugfs->response
MEM_ZERO 2 data
USER_DATA 1 command 0-u64max
UNITS 3 size unit_byte
LOCK2 &attr->mutex
TYPE_LOCK (struct simple_attr)->mutex

drivers/usb/typec/ucsi/thunderbolt.c ucsi_thunderbolt_enter() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 1 command 14,65550-140737488289806,18446603336221196302-18446744073709486094
PARAM_VALUE 2 data 2822526141117186048
PARAM_VALUE 2 *data 0
PARAM_VALUE 3 size 1
BIT_INFO 1 command 0xe,0xffffffffffff000e
BIT_INFO 1 command 0xe,0xffffffffffff000e
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &dp->lock

drivers/usb/typec/ucsi/thunderbolt.c ucsi_thunderbolt_set_altmode() -> ucsi_send_command()

Type Parameter Key Value
PARAM_VALUE 0 ucsi 4096-ptr_max
PARAM_VALUE 2 data 0
PARAM_VALUE 3 size 0
BIT_INFO 1 command 0xf,0xffffffffffff000f
BIT_INFO 1 command 0xf,0xffffffffffff000f
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dp->lock