Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c dw_hdmi_trigger() -> dw_hdmi_start_dma()

Type Parameter Key Value
PARAM_VALUE 0 dw 4096-ptr_max
PARAM_VALUE 0 dw->buf_offset 0
PARAM_VALUE 0 dw->substream 4096-ptr_max
PARAM_VALUE 0 dw->substream->ops 4096-ptr_max
PARAM_VALUE 0 dw->substream->private_data 4096-ptr_max
PARAM_VALUE 0 dw->substream->runtime 4096-ptr_max
BUF_SIZE 0 dw s32min-(-2),1-s32max
BUF_SIZE 0 dw s32min-(-2),1-s32max
BUF_SIZE 0 dw->substream s32min-(-1),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 dw->substream->f_flags 0-u32max
UNITS 0 dw unit_byte
LOCK2 flags
LOCK2 0 &dw->lock
HALF_LOCKED2 &substream->runtime->buffer_mutex
HALF_LOCKED2 &substream->self_group.lock
HALF_LOCKED2 &substream->self_group.mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct snd_dw_hdmi)->lock

drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c snd_dw_hdmi_irq() -> dw_hdmi_start_dma()

Type Parameter Key Value
PARAM_VALUE 0 dw 4096-ptr_max
PARAM_VALUE 0 dw->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dw->substream 4096-ptr_max
PARAM_VALUE 0 dw->substream->aux_ts_lock.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 dw->substream->aux_ts_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dw->substream->aux_ts_lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 dw->substream->bp->hwrm_cmd_lock.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 dw->substream->bp->hwrm_cmd_lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 dw->substream->bp->hwrm_dma_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 dw->substream->bp->hwrm_dma_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 dw->substream->bp->hwrm_dma_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 dw->substream->cmd.token 0-255
PARAM_VALUE 0 dw->substream->cmd.vars.throttle_sem.count 0-4294967295
PARAM_VALUE 0 dw->substream->cmd.vars.throttle_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 dw->substream->cmd.vars.throttle_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 dw->substream->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dw->substream->cmd.vars.throttle_sem.lock.owner (-1)
PARAM_VALUE 0 dw->substream->cmd.vars.throttle_sem.lock.owner_cpu 4294967295
PARAM_VALUE 0 dw->substream->cmd.vars.unprivileged_sem.count 0-4294967295
PARAM_VALUE 0 dw->substream->cmd.vars.unprivileged_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 dw->substream->cmd.vars.unprivileged_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 dw->substream->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dw->substream->cmd.vars.unprivileged_sem.lock.owner (-1)
PARAM_VALUE 0 dw->substream->cmd.vars.unprivileged_sem.lock.owner_cpu 4294967295
PARAM_VALUE 0 dw->substream->group->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dw->substream->group->mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dw->substream->hw.asq->next_to_clean 0-u16max
PARAM_VALUE 0 dw->substream->hw.asq->next_to_use 0-u16max
PARAM_VALUE 0 dw->substream->mii->mdio_lock.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 dw->substream->mii->mdio_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dw->substream->mii->mdio_lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 dw->substream->pdev->dev.dma_uses_io_tlb 0-1
PARAM_VALUE 0 dw->substream->pdev->dev.iommu->attach_deferred 0-1
PARAM_VALUE 0 dw->substream->pdev->dev.iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 dw->substream->private_data->prev_hw_offset 0,64-65472
PARAM_VALUE 0 dw->substream->ptp->secondary_mbx.peer_id 0-255
PARAM_VALUE 0 dw->substream->ptp_lock.raw_lock.cnts.counter s32min-s32max
PARAM_VALUE 0 dw->substream->runtime->audio_tstamp_report.accuracy 0,42
PARAM_VALUE 0 dw->substream->runtime->audio_tstamp_report.accuracy_report 1
PARAM_VALUE 0 dw->substream->runtime->audio_tstamp_report.actual_type 0-2,5
PARAM_VALUE 0 dw->substream->runtime->avail_max 1-u64max
PARAM_VALUE 0 dw->substream->runtime->driver_tstamp.tv_nsec 0-999999999
PARAM_VALUE 0 dw->substream->runtime->fasync->poll 1
PARAM_VALUE 0 dw->substream->runtime->fasync->signal 29
PARAM_VALUE 0 dw->substream->runtime->hw_ptr_base 0-18446744073709551614
PARAM_VALUE 0 dw->substream->runtime->private_data->data_endpoint->prepare_data_urb 0,4049760685819678720
PARAM_VALUE 0 dw->substream->runtime->private_data->data_endpoint->state.counter s32min-s32max
PARAM_VALUE 0 dw->substream->runtime->private_data->dma_chan->completed_cookie 1
PARAM_VALUE 0 dw->substream->runtime->private_data->dma_chan->cookie 1
PARAM_VALUE 0 dw->substream->runtime->private_data->gus->gf1.dma_data_pcm_last->ack 8441728080883621888
PARAM_VALUE 0 dw->substream->runtime->private_data->gus->gf1.dma_data_pcm_last->addr 0,32-4294967295
PARAM_VALUE 0 dw->substream->runtime->private_data->gus->gf1.dma_data_pcm_last->cmd 32,96,160,224
PARAM_VALUE 0 dw->substream->runtime->private_data->gus->gf1.dma_data_pcm_last->next->ack 8441728080883621888
PARAM_VALUE 0 dw->substream->runtime->private_data->gus->gf1.dma_data_pcm_last->next->addr 0,32-4294967295
PARAM_VALUE 0 dw->substream->runtime->private_data->gus->gf1.dma_data_pcm_last->next->cmd 32,96,160,224
PARAM_VALUE 0 dw->substream->runtime->private_data->sync_endpoint->prepare_data_urb 0,4049760685819678720
PARAM_VALUE 0 dw->substream->runtime->private_data->sync_endpoint->state.counter s32min-s32max
PARAM_VALUE 0 dw->substream->runtime->private_data->timer_instance.entry.next s64max
PARAM_VALUE 0 dw->substream->runtime->private_data->timer_instance.flags 0-4294967295
PARAM_VALUE 0 dw->substream->runtime->private_data->timer_instance.is_hard 0-1
PARAM_VALUE 0 dw->substream->runtime->private_data->timer_instance.is_lazy 0-1
PARAM_VALUE 0 dw->substream->runtime->private_data->timer_instance.is_queued 0-1
PARAM_VALUE 0 dw->substream->runtime->private_data->timer_instance.is_soft 0-1
PARAM_VALUE 0 dw->substream->runtime->state 3-5
PARAM_VALUE 0 dw->substream->runtime->status->state 4-5
PARAM_VALUE 0 dw->substream->runtime->status->tstamp.tv_nsec 0-999999999
PARAM_VALUE 0 dw->substream->runtime->trigger_master 4096-ptr_max
PARAM_VALUE 0 dw->substream->runtime->trigger_master->runtime 4096-ptr_max
PARAM_VALUE 0 dw->substream->self_group.mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dw->substream->timer->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dw->substream->timer->private_data->gf1.timer_enabled 0-u16max
PARAM_VALUE 0 dw->substream->timer->private_data->hrt.base->cpu_base->expires_next 0-s64max
PARAM_VALUE 0 dw->substream->timer->private_data->hrt.base->cpu_base->softirq_expires_next 0-s64max
PARAM_VALUE 0 dw->substream->timer->private_data->hrt.is_queued 0-1
PARAM_VALUE 0 dw->substream->timer->private_data->hrt.node.expires 0-s64max
PARAM_VALUE 0 dw->substream->timer->private_data->timer_enable 0-255
PARAM_VALUE 0 dw->substream->timer->private_data->timer_running 0-1
PARAM_VALUE 0 dw->substream->timer->private_data->timer_ticks 0-4294967295
PARAM_VALUE 0 dw->substream->timer->private_data->tlist.flags 0-4294967295
PARAM_VALUE 0 *dw->substream->bp->dev->name 0-255
PARAM_VALUE 0 *dw->substream->netdev->name 0-255
DATA_SOURCE 0 dw $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &dw->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct snd_dw_hdmi)->lock