Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/gadget/udc/lpc32xx_udc.c lpc32xx_usb_lp_irq() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 16450816
DATA_SOURCE 0 udc $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_clr_buffer_hwep() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 15860992
DATA_SOURCE 0 udc $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 udc->usb_slv_clk->core->parent->req_rate
LOCK2 0 &udc->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_get_current_frame() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 16057600
DATA_SOURCE 0 udc $0
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &pool->lock
LOCK2 &queue->irqlock
LOCK2 flags
LOCK2 0 &udc->lock
TYPE_LOCK (struct lpc32xx_udc)->lock
TYPE_LOCK (struct uvc_video_queue)->irqlock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_get_status() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 1280,66816-4294903040
DATA_SOURCE 0 udc $0
BIT_INFO 1 cmd 0x500,0xffff0500
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_handle_dev() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 16647424
DATA_SOURCE 0 udc $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_protocol_cmd_data_w() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 1-u64max
PARAM_VALUE 1 cmd 0,256-u32max
BUF_SIZE 0 udc s32min-(-1),1-s32max
BUF_SIZE 0 udc s32min-(-1),1-s32max
BUF_SIZE 0 udc->board (-1),32
BUF_SIZE 0 udc->dd_cache (-1),192
BUF_SIZE 0 udc->dev (-1),1616
BUF_SIZE 0 udc->gadget.dev.parent (-1),1616
BUF_SIZE 0 udc->gadget.ep0 (-1),72
BUF_SIZE 0 udc->udca_v_base (-1),128
BUF_SIZE 0 udc->usb_slv_clk (-1),1-s32max
DATA_SOURCE 0 udc $0
DATA_SOURCE 1 cmd $1
BIT_INFO 1 cmd 0x400500,0xffff0500
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 udc->usb_slv_clk->core->parent->req_rate
UNITS 0 udc unit_byte
HALF_LOCKED2 0 &udc->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_protocol_cmd_data_w() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 256,65792,2097408,2687232,8388864-4294902016
BUF_SIZE 0 udc s32min-(-1),1-s32max
BUF_SIZE 0 udc s32min-(-1),1-s32max
BUF_SIZE 0 udc->board (-1),32
BUF_SIZE 0 udc->dd_cache (-1),192
BUF_SIZE 0 udc->dev (-1),1616
BUF_SIZE 0 udc->gadget.dev.parent (-1),1616
BUF_SIZE 0 udc->gadget.ep0 (-1),72
BUF_SIZE 0 udc->udca_v_base (-1),128
BUF_SIZE 0 udc->usb_slv_clk (-1),1-s32max
DATA_SOURCE 0 udc $0
DATA_SOURCE 1 cmd $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 udc->usb_slv_clk->core->parent->req_rate
UNITS 0 udc unit_byte
HALF_LOCKED2 0 &udc->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_protocol_cmd_r() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 0,512-u32max
DATA_SOURCE 0 udc $0
DATA_SOURCE 1 cmd $1
BIT_INFO 1 cmd 0x200,0xffff0200
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &udc->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &queue->irqlock
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_select_hwep() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 1280,66816-4294903040
DATA_SOURCE 0 udc $0
BIT_INFO 1 cmd 0x500,0xffff0500
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 udc->dd_cache->allocation
NO_OVERFLOW_SIMPLE 0 udc->usb_slv_clk->core->parent->req_rate
LOCK2 0 &udc->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_selep_clrint() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 0,256-u32max
DATA_SOURCE 0 udc $0
BIT_INFO 1 cmd 0x400500,0xffff0500
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &udc->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock

drivers/usb/gadget/udc/lpc32xx_udc.c udc_val_buffer_hwep() -> udc_protocol_cmd_w()

Type Parameter Key Value
PARAM_VALUE 0 udc 4096-ptr_max
PARAM_VALUE 1 cmd 16385280
DATA_SOURCE 0 udc $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &udc->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct lpc32xx_udc)->lock