Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

sound/pci/maestro3.c snd_m3_pcm_pointer() -> snd_m3_get_pointer()

Type Parameter Key Value
PARAM_VALUE 1 s 1-u64max
PARAM_VALUE 2 subs 4096-ptr_max
BUF_SIZE 0 chip s32min-(-2),1-s32max
BUF_SIZE 0 chip s32min-(-2),1-s32max
BUF_SIZE 1 s s32min-(-2),1-s32max
BUF_SIZE 1 s s32min-(-2),1-s32max
BUF_SIZE 2 subs s32min-(-1),1-s32max
BUF_SIZE 2 subs s32min-(-1),1-s32max
DATA_SOURCE 2 subs $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 subs->f_flags 0-u32max
USER_DATA 2 subs->runtime->no_period_wakeup 0-1
USER_DATA 2 subs->runtime->rate_den 0-u32max
USER_DATA 2 subs->runtime->rate_num 0-u32max
USER_DATA 2 subs->runtime->trigger_master->f_flags 0-u32max
USER_DATA 2 *subs->runtime->oss.buffer 0-255
NO_OVERFLOW_SIMPLE 2 subs->runtime->dma_buffer_p->addr
UNITS 0 chip unit_byte
UNITS 1 s unit_byte
USER_PTR 2 subs->runtime->oss.buffer
LOCK2 0 &chip->reg_lock
HALF_LOCKED2 &atimer->lock
HALF_LOCKED2 irq
HALF_LOCKED2 2 &subs->runtime->buffer_mutex
HALF_LOCKED2 2 &subs->self_group.lock
HALF_LOCKED2 2 &subs->self_group.mutex
TYPE_LOCK (struct snd_m3)->reg_lock

sound/pci/maestro3.c snd_m3_update_ptr() -> snd_m3_get_pointer()

Type Parameter Key Value
PARAM_VALUE 0 chip 4096-ptr_max
PARAM_VALUE 1 s 4096-ptr_max
DATA_SOURCE 0 chip $0
DATA_SOURCE 1 s $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &chip->reg_lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct snd_m3)->reg_lock