Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c wave5_vpu_enc_finish_encode() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->cap_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
BUF_SIZE 1 vbuf 1168
DATA_SOURCE 1 vbuf r v4l2_m2m_dst_buf_remove
PARAM_COMPARE 0 &m2m_ctx->cap_q_ctx.rdy_queue != $0->cap_q_ctx.rdy_queue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->irq_lock
HALF_LOCKED2 &dev->irq_sem
TYPE_LOCK (struct vpu_device)->irq_lock

drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c flag_last_buffer_done() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->cap_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
PARAM_VALUE 1 vbuf->vb2_buf.num_planes 0-s32max
BUF_SIZE 1 vbuf 1168
CAPPED_DATA 1 vbuf->vb2_buf.num_planes 1
DATA_SOURCE 1 vbuf r v4l2_m2m_dst_buf_remove
PARAM_COMPARE 0 &m2m_ctx->cap_q_ctx.rdy_queue != $0->cap_q_ctx.rdy_queue.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &inst->state_spinlock
LOCK2 flags
HALF_LOCKED2 &dev->irq_lock
TYPE_LOCK (struct vpu_instance)->state_spinlock

drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c wave5_vpu_dec_buf_queue_dst() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->next_buf_last 1
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 vb->vb2_queue->lock

drivers/media/v4l2-core/v4l2-mem2mem.c v4l2_m2m_force_last_buf_done() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
DATA_SOURCE 0 m2m_ctx $0
NOCHECK_CALL
HALF_LOCKED2 lock
HALF_LOCKED2 req_queue_lock

drivers/media/v4l2-core/v4l2-mem2mem.c v4l2_m2m_update_stop_streaming_state() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->cap_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->last_src_buf 0
PARAM_VALUE 1 vbuf 4096-ptr_max
BUF_SIZE 1 vbuf 1168
DATA_SOURCE 0 m2m_ctx $0
DATA_SOURCE 1 vbuf r v4l2_m2m_dst_buf_remove
PARAM_COMPARE 0 &m2m_ctx->cap_q_ctx.rdy_queue != $0->cap_q_ctx.rdy_queue.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 &q->mmap_lock

drivers/media/v4l2-core/v4l2-mem2mem.c v4l2_update_last_buf_state() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->cap_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 m2m_ctx->has_stopped 0
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->last_src_buf 0
PARAM_VALUE 0 m2m_ctx->out_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 1 vbuf 4096-ptr_max
BUF_SIZE 1 vbuf 1168
DATA_SOURCE 0 m2m_ctx $0
DATA_SOURCE 1 vbuf r v4l2_m2m_dst_buf_remove
PARAM_COMPARE 0 &m2m_ctx->cap_q_ctx.rdy_queue != $0->cap_q_ctx.rdy_queue.next
PARAM_COMPARE 0 &m2m_ctx->out_q_ctx.rdy_queue == $0->out_q_ctx.rdy_queue.next
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 &ctx->mxc_jpeg->hw_lock
HALF_LOCKED2 flags
HALF_LOCKED2 lock
HALF_LOCKED2 req_queue_lock

drivers/media/platform/allegro-dvt/allegro-core.c allegro_buf_queue() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->next_buf_last 1
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 vb->vb2_queue->lock

drivers/media/platform/imagination/e5010-jpeg-enc.c e5010_buf_queue() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->next_buf_last 1
PARAM_VALUE 1 vbuf 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 vb->vb2_queue->lock

drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c mxc_jpeg_buf_queue() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->next_buf_last 1
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 vb->vb2_queue->lock

drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c mxc_jpeg_set_last_buffer() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->cap_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 m2m_ctx->out_q_ctx.rdy_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 1 vbuf 4096-ptr_max
BUF_SIZE 1 vbuf 1168
DATA_SOURCE 1 vbuf r v4l2_m2m_dst_buf_remove
PARAM_COMPARE 0 &m2m_ctx->cap_q_ctx.rdy_queue != $0->cap_q_ctx.rdy_queue.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->mxc_jpeg->hw_lock
HALF_LOCKED2 flags

drivers/media/platform/verisilicon/hantro_v4l2.c hantro_buf_queue() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->next_buf_last 1
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 vb->vb2_queue->lock

drivers/media/test-drivers/vicodec/vicodec-core.c vicodec_buf_queue() -> v4l2_m2m_last_buffer_done()

Type Parameter Key Value
PARAM_VALUE 0 m2m_ctx 4096-ptr_max
PARAM_VALUE 0 m2m_ctx->is_draining 1
PARAM_VALUE 0 m2m_ctx->next_buf_last 1
PARAM_VALUE 1 vbuf 4096-ptr_max
PARAM_VALUE 1 vbuf->field 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dmxdev->mutex
HALF_LOCKED2 vb->vb2_queue->lock