On Tue Sep 16 14:08:53 2025 +0800, Ming Qian wrote:
> Currently the function vpu_vb_is_codecconfig() always returns 0.
> Delete it and its related code.
> 
> Fixes: 3cd084519c6f ("media: amphion: add vpu v4l2 m2m support")
> Cc: [email protected]
> Signed-off-by: Ming Qian <[email protected]>
> Signed-off-by: Nicolas Dufresne <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/amphion/vpu_malone.c | 23 +++--------------------
 drivers/media/platform/amphion/vpu_v4l2.c   | 10 ----------
 drivers/media/platform/amphion/vpu_v4l2.h   | 10 ----------
 3 files changed, 3 insertions(+), 40 deletions(-)

---

diff --git a/drivers/media/platform/amphion/vpu_malone.c 
b/drivers/media/platform/amphion/vpu_malone.c
index ba688566dffd..80802975c4f1 100644
--- a/drivers/media/platform/amphion/vpu_malone.c
+++ b/drivers/media/platform/amphion/vpu_malone.c
@@ -1337,22 +1337,18 @@ static int vpu_malone_insert_scode_vc1_g_seq(struct 
malone_scode_t *scode)
 {
        if (!scode->inst->total_input_count)
                return 0;
-       if (vpu_vb_is_codecconfig(to_vb2_v4l2_buffer(scode->vb)))
-               scode->need_data = 0;
        return 0;
 }
 
 static int vpu_malone_insert_scode_vc1_g_pic(struct malone_scode_t *scode)
 {
-       struct vb2_v4l2_buffer *vbuf;
        u8 nal_hdr[MALONE_VC1_NAL_HEADER_LEN];
        u32 *data = NULL;
        int ret;
 
-       vbuf = to_vb2_v4l2_buffer(scode->vb);
        data = vb2_plane_vaddr(scode->vb, 0);
 
-       if (scode->inst->total_input_count == 0 || vpu_vb_is_codecconfig(vbuf))
+       if (scode->inst->total_input_count == 0)
                return 0;
        if (MALONE_VC1_CONTAIN_NAL(*data))
                return 0;
@@ -1373,8 +1369,6 @@ static int vpu_malone_insert_scode_vc1_l_seq(struct 
malone_scode_t *scode)
        int size = 0;
        u8 rcv_seqhdr[MALONE_VC1_RCV_SEQ_HEADER_LEN];
 
-       if (vpu_vb_is_codecconfig(to_vb2_v4l2_buffer(scode->vb)))
-               scode->need_data = 0;
        if (scode->inst->total_input_count)
                return 0;
        scode->need_data = 0;
@@ -1560,7 +1554,7 @@ static int vpu_malone_input_frame_data(struct 
vpu_malone_str_buffer __iomem *str
        scode.vb = vb;
        scode.wptr = wptr;
        scode.need_data = 1;
-       if (vbuf->sequence == 0 || vpu_vb_is_codecconfig(vbuf))
+       if (vbuf->sequence == 0)
                ret = vpu_malone_insert_scode(&scode, SCODE_SEQUENCE);
 
        if (ret < 0)
@@ -1596,7 +1590,7 @@ static int vpu_malone_input_frame_data(struct 
vpu_malone_str_buffer __iomem *str
         * This module is currently only supported for the H264 and HEVC 
formats,
         * for other formats, vpu_malone_add_scode() will return 0.
         */
-       if ((disp_imm || low_latency) && !vpu_vb_is_codecconfig(vbuf)) {
+       if (disp_imm || low_latency) {
                ret = vpu_malone_add_scode(inst->core->iface,
                                           inst->id,
                                           &inst->stream_buffer,
@@ -1643,7 +1637,6 @@ int vpu_malone_input_frame(struct vpu_shared_addr *shared,
                           struct vpu_inst *inst, struct vb2_buffer *vb)
 {
        struct vpu_dec_ctrl *hc = shared->priv;
-       struct vb2_v4l2_buffer *vbuf;
        struct vpu_malone_str_buffer __iomem *str_buf = hc->str_buf[inst->id];
        u32 disp_imm = hc->codec_param[inst->id].disp_imm;
        u32 size;
@@ -1657,16 +1650,6 @@ int vpu_malone_input_frame(struct vpu_shared_addr 
*shared,
                return ret;
        size = ret;
 
-       /*
-        * if buffer only contain codec data, and the timestamp is invalid,
-        * don't put the invalid timestamp to resync
-        * merge the data to next frame
-        */
-       vbuf = to_vb2_v4l2_buffer(vb);
-       if (vpu_vb_is_codecconfig(vbuf)) {
-               inst->extra_size += size;
-               return 0;
-       }
        if (inst->extra_size) {
                size += inst->extra_size;
                inst->extra_size = 0;
diff --git a/drivers/media/platform/amphion/vpu_v4l2.c 
b/drivers/media/platform/amphion/vpu_v4l2.c
index fcb2eff813ac..511881a131b7 100644
--- a/drivers/media/platform/amphion/vpu_v4l2.c
+++ b/drivers/media/platform/amphion/vpu_v4l2.c
@@ -349,16 +349,6 @@ struct vb2_v4l2_buffer *vpu_next_src_buf(struct vpu_inst 
*inst)
        if (!src_buf || vpu_get_buffer_state(src_buf) == VPU_BUF_STATE_IDLE)
                return NULL;
 
-       while (vpu_vb_is_codecconfig(src_buf)) {
-               v4l2_m2m_src_buf_remove(inst->fh.m2m_ctx);
-               vpu_set_buffer_state(src_buf, VPU_BUF_STATE_IDLE);
-               v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
-
-               src_buf = v4l2_m2m_next_src_buf(inst->fh.m2m_ctx);
-               if (!src_buf || vpu_get_buffer_state(src_buf) == 
VPU_BUF_STATE_IDLE)
-                       return NULL;
-       }
-
        return src_buf;
 }
 
diff --git a/drivers/media/platform/amphion/vpu_v4l2.h 
b/drivers/media/platform/amphion/vpu_v4l2.h
index 4a87b06ae520..da9945f25e32 100644
--- a/drivers/media/platform/amphion/vpu_v4l2.h
+++ b/drivers/media/platform/amphion/vpu_v4l2.h
@@ -39,14 +39,4 @@ static inline struct vpu_format *vpu_get_format(struct 
vpu_inst *inst, u32 type)
        else
                return &inst->cap_format;
 }
-
-static inline int vpu_vb_is_codecconfig(struct vb2_v4l2_buffer *vbuf)
-{
-#ifdef V4L2_BUF_FLAG_CODECCONFIG
-       return (vbuf->flags & V4L2_BUF_FLAG_CODECCONFIG) ? 1 : 0;
-#else
-       return 0;
-#endif
-}
-
 #endif
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to