diff options
Diffstat (limited to 'drivers/media/platform/chips-media/wave5/wave5-vpu.h')
-rw-r--r-- | drivers/media/platform/chips-media/wave5/wave5-vpu.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.h b/drivers/media/platform/chips-media/wave5/wave5-vpu.h index e83c186a498e..fe1de3e8a22c 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-vpu.h +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.h @@ -2,7 +2,7 @@ /* * Wave5 series multi-standard codec IP - basic types * - * Copyright (C) 2021 CHIPS&MEDIA INC + * Copyright (C) 2021-2023 CHIPS&MEDIA INC */ #ifndef __VPU_DRV_H__ #define __VPU_DRV_H__ @@ -23,9 +23,15 @@ #define VDI_SRAM_BASE_ADDR 0x00000000 #define VDI_WAVE511_SRAM_SIZE 0x2D000 -struct vpu_buffer { +struct vpu_src_buffer { + struct v4l2_m2m_buffer v4l2_m2m_buf; + struct list_head list; + bool consumed; +}; + +struct vpu_dst_buffer { struct v4l2_m2m_buffer v4l2_m2m_buf; - bool consumed; + bool display; }; enum vpu_fmt_type { @@ -51,9 +57,14 @@ static inline struct vpu_instance *wave5_ctrl_to_vpu_inst(struct v4l2_ctrl *vctr return container_of(vctrl->handler, struct vpu_instance, v4l2_ctrl_hdl); } -static inline struct vpu_buffer *wave5_to_vpu_buf(struct vb2_v4l2_buffer *vbuf) +static inline struct vpu_src_buffer *wave5_to_vpu_src_buf(struct vb2_v4l2_buffer *vbuf) +{ + return container_of(vbuf, struct vpu_src_buffer, v4l2_m2m_buf.vb); +} + +static inline struct vpu_dst_buffer *wave5_to_vpu_dst_buf(struct vb2_v4l2_buffer *vbuf) { - return container_of(vbuf, struct vpu_buffer, v4l2_m2m_buf.vb); + return container_of(vbuf, struct vpu_dst_buffer, v4l2_m2m_buf.vb); } int wave5_vpu_wait_interrupt(struct vpu_instance *inst, unsigned int timeout); |