Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_free_rooms_in_ring() -> mtk_hsdma_issue_vchan_pending()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 0 hsdma->dma_requests 1-u32max
PARAM_VALUE 0 hsdma->pc->ring.cur_rptr 0-63
PARAM_VALUE 0 hsdma->pc->ring.cur_tptr 0-63
PARAM_VALUE 0 hsdma->pc->ring.rxd 4096-ptr_max
PARAM_VALUE 0 hsdma->soc 4096-ptr_max
PARAM_VALUE 0 hsdma->vc 4096-ptr_max
PARAM_VALUE 1 hvc 4096-ptr_max
PARAM_VALUE 1 hvc->vc.lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 hsdma $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 1 &hvc->vc.lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct virt_dma_chan)->lock

drivers/dma/mediatek/mtk-hsdma.c mtk_hsdma_issue_pending() -> mtk_hsdma_issue_vchan_pending()

Type Parameter Key Value
PARAM_VALUE 0 hsdma 4096-ptr_max
PARAM_VALUE 1 hvc 4096-ptr_max
PARAM_VALUE 1 hvc->vc.desc_submitted.next 4096-ptr_max
PARAM_VALUE 1 hvc->vc.desc_submitted.next->next 4096-ptr_max
PARAM_VALUE 1 hvc->vc.desc_submitted.next->prev 4096-ptr_max
PARAM_VALUE 1 hvc->vc.desc_submitted.prev 4096-ptr_max
PARAM_VALUE 1 hvc->vc.desc_submitted.prev->next 4096-ptr_max
PARAM_VALUE 1 hvc->vc.desc_submitted.prev->prev 4096-ptr_max
DATA_SOURCE 0 hsdma r to_hsdma_dev
DATA_SOURCE 1 hvc r to_hsdma_vchan
PARAM_COMPARE 1 &hvc->vc.desc_issued != $1->vc.desc_issued.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 1 &hvc->vc.lock
HALF_LOCKED2 &ctlr->io_mutex
HALF_LOCKED2 &host->io_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct virt_dma_chan)->lock