Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/dma/timb_dma.c td_issue_pending() -> __td_start_next()

Type Parameter Key Value
PARAM_VALUE 0 td_chan 4096-ptr_max
PARAM_VALUE 0 td_chan->active_list.next 4096-ptr_max
PARAM_VALUE 0 td_chan->direction 1-2
PARAM_VALUE 0 td_chan->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &td_chan->active_list 1
CAPPED_DATA 0 &td_chan->queue 1
PARAM_COMPARE 0 &td_chan->active_list == $0->active_list.next
PARAM_COMPARE 0 &td_chan->queue != $0->queue.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &td_chan->lock
HALF_LOCKED2 &ctlr->io_mutex
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct timb_dma_chan)->lock

drivers/dma/timb_dma.c td_tasklet() -> __td_start_next()

Type Parameter Key Value
PARAM_VALUE 0 td_chan 4096-ptr_max
PARAM_VALUE 0 td_chan->direction 1-2
PARAM_VALUE 0 td_chan->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &td_chan->queue 1
PARAM_COMPARE 0 &td_chan->queue != $0->queue.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &td_chan->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct timb_dma_chan)->lock