Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/usb/chipidea/host.c ci_ehci_hub_control() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->regs->port_status 4096-ptr_max
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 128
PARAM_VALUE 3 done 128
PARAM_VALUE 4 usec 5000
PREEMPT_ADD <- disables preempt
LOCK2 flags
LOCK2 0 &ehci->lock
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/chipidea/host.c ci_ehci_hub_control() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->regs->port_status 4096-ptr_max
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 64
PARAM_VALUE 3 done 0
PARAM_VALUE 4 usec 25000
PREEMPT_ADD <- disables preempt
LOCK2 flags
LOCK2 0 &ehci->lock
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/host/ehci-hcd.c ehci_halt() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->command 0,2-u32max
PARAM_VALUE 0 ehci->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ehci->regs 4096-ptr_max
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 4096
PARAM_VALUE 3 done 4096
PARAM_VALUE 4 usec 2000
BUF_SIZE 1 ptr 4
DATA_SOURCE 0 ehci $0
BIT_INFO 0 ehci->command 0x0,0xfffffffe
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 ehci->hcs_params 0-u32max

drivers/usb/host/ehci-hcd.c ehci_hub_control() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->regs->hostpc 4096-ptr_max
PARAM_VALUE 0 ehci->regs->port_status 4096-ptr_max
PARAM_VALUE 0 ehci->reset_done 4096-ptr_max
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 64
PARAM_VALUE 3 done 0
PARAM_VALUE 4 usec 2000
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &ehci->lock
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/host/ehci-hcd.c ehci_hub_control() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->regs->hostpc 4096-ptr_max
PARAM_VALUE 0 ehci->regs->port_status 4096-ptr_max
PARAM_VALUE 0 ehci->reset_done 4096-ptr_max
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 256
PARAM_VALUE 3 done 0
PARAM_VALUE 4 usec 1000
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &ehci->lock
TYPE_LOCK (struct ehci_hcd)->lock

drivers/usb/host/ehci-hcd.c ehci_quiesce() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->rh_state 2
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 49152
PARAM_VALUE 3 done 0,16384-49152
PARAM_VALUE 4 usec 2000
BUF_SIZE 1 ptr 4
DATA_SOURCE 0 ehci $0
BIT_INFO 3 done 0x0,0xc000
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/host/ehci-hcd.c ehci_quiesce() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ehci->regs 4096-ptr_max
PARAM_VALUE 0 ehci->rh_state 2
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 49152
PARAM_VALUE 3 done 0
PARAM_VALUE 4 usec 2000
BUF_SIZE 1 ptr 4
DATA_SOURCE 0 ehci $0
BIT_INFO 0 ehci->command 0x0,0xffffffcf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/host/ehci-hcd.c ehci_reset() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ehci->regs 4096-ptr_max
PARAM_VALUE 0 ehci->rh_state 0
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 2
PARAM_VALUE 3 done 0
PARAM_VALUE 4 usec 250000
BUF_SIZE 1 ptr 4
DATA_SOURCE 0 ehci $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 ehci->hcs_params 0-u32max

drivers/usb/host/ehci-hcd.c ehci_run() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->async 4096-ptr_max
PARAM_VALUE 0 ehci->caps 4096-ptr_max
PARAM_VALUE 0 ehci->is_aspeed 1
PARAM_VALUE 0 ehci->regs 4096-ptr_max
PARAM_VALUE 0 ehci->rh_state 2
PARAM_VALUE 2 mask 1
PARAM_VALUE 3 done 1
PARAM_VALUE 4 usec 100000
BUF_SIZE 1 ptr 4
BIT_INFO 0 ehci->command 0x1,0xffffffffffffffff
LOCK2 global &ehci_cf_port_reset_rwsem

drivers/usb/host/ehci-hcd.c ehci_run() -> ehci_handshake()

Type Parameter Key Value
PARAM_VALUE 0 ehci 4096-ptr_max
PARAM_VALUE 0 ehci->async 4096-ptr_max
PARAM_VALUE 0 ehci->caps 4096-ptr_max
PARAM_VALUE 0 ehci->is_aspeed 0
PARAM_VALUE 0 ehci->regs 4096-ptr_max
PARAM_VALUE 0 ehci->rh_state 2
PARAM_VALUE 1 ptr 4096-ptr_max
PARAM_VALUE 2 mask 4096
PARAM_VALUE 3 done 0
PARAM_VALUE 4 usec 100000
BUF_SIZE 1 ptr 4
BIT_INFO 0 ehci->command 0x1,0xffffffffffffffff
LOCK2 global &ehci_cf_port_reset_rwsem