From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 19DFDC433DF for ; Fri, 14 Aug 2020 07:25:03 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D837A2074D for ; Fri, 14 Aug 2020 07:25:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="X5LGs0zb"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="LFAWn2HS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D837A2074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=s8r9PgpJCbOk7G3+0oQUCr7m4f2uumcH0ZOd1ya9ad8=; b=X5LGs0zb6E8cbwT0dQi+Bu9Ov ZDvvpLatGZkRamxvM8vEIlTjn12n5n/tlE3MpKUoXhcbtBJX/fTlkqCWO1GqlN0S01H9ZdmugYKVA /U9RX9IxgQ1M8psMV15ZrqhyBo30y8QY/tgEPlqy6dio4Ed/jDFcsc7VFAOKPg2RPv2QfOOWBok4a qVo/D/ufbxw4piPGQikFfQX4ICitvIZlpPldOtJ2F6iAa88Tzi5MsgeWDv4ewQNLMqF28ty5oYqTe ua55oC6rvtyvK6PqBr/OzUFBWzcmXw6ssZmN34kxY1GNXh1DoJOOOWb262TbTO/q15SKG9CkRLyY8 Xr5dWKkEg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U55-0004Ay-QC; Fri, 14 Aug 2020 07:24:51 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3f-0003N2-Te; Fri, 14 Aug 2020 07:23:26 +0000 X-UUID: 7c8d9eda85d94cf4a257389c1b119985-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=Xdw36FEdfbjrpmm/25wdOBNJsrHP+0pR/IpHGiG6feo=; b=LFAWn2HSadYtlLDMeCWsDzXyPP8SnGdgOrXQTU/P90RYa/ZXrdeV0mhonbj6qwaqoTjd92kIAO0FZK7GBN//hG5Yxrzj8MCtHxAglWIRJP7w9yNkbGAr3EPNX+JYcENJdnWZx3UP6v97IAU1wF8wUgf3VprzuN9hzBYig35USaY=; X-UUID: 7c8d9eda85d94cf4a257389c1b119985-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 207299636; Thu, 13 Aug 2020 23:23:11 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:19 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:14 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:13 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 10/29] media: platform: Cancel the last frame handling flow Date: Fri, 14 Aug 2020 15:11:43 +0800 Message-ID: <20200814071202.25067-12-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032324_166440_ED4FACD1 X-CRM114-Status: GOOD ( 15.34 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org There is no need to queue an empty buffer for signaling a last frame, because all frames are separate from each other in JPEG. Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: no changes --- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 46 +------------------ 1 file changed, 2 insertions(+), 44 deletions(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index 9baeeacb4452..ffb486e537b6 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -55,15 +55,9 @@ static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { #define MTK_JPEG_NUM_FORMATS ARRAY_SIZE(mtk_jpeg_formats) -enum { - MTK_JPEG_BUF_FLAGS_INIT = 0, - MTK_JPEG_BUF_FLAGS_LAST_FRAME = 1, -}; - struct mtk_jpeg_src_buf { struct vb2_v4l2_buffer b; struct list_head list; - int flags; struct mtk_jpeg_dec_param dec_param; }; @@ -501,31 +495,6 @@ static int mtk_jpeg_s_selection(struct file *file, void *priv, return 0; } -static int mtk_jpeg_qbuf(struct file *file, void *priv, struct v4l2_buffer *buf) -{ - struct v4l2_fh *fh = file->private_data; - struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); - struct vb2_queue *vq; - struct vb2_buffer *vb; - struct mtk_jpeg_src_buf *jpeg_src_buf; - - if (buf->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) - goto end; - - vq = v4l2_m2m_get_vq(fh->m2m_ctx, buf->type); - if (buf->index >= vq->num_buffers) { - dev_err(ctx->jpeg->dev, "buffer index out of range\n"); - return -EINVAL; - } - - vb = vb2_get_buffer(vq, buf->index); - jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(vb); - jpeg_src_buf->flags = (buf->m.planes[0].bytesused == 0) ? - MTK_JPEG_BUF_FLAGS_LAST_FRAME : MTK_JPEG_BUF_FLAGS_INIT; -end: - return v4l2_m2m_qbuf(file, fh->m2m_ctx, buf); -} - static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { .vidioc_querycap = mtk_jpeg_querycap, .vidioc_enum_fmt_vid_cap = mtk_jpeg_enum_fmt_vid_cap, @@ -536,7 +505,7 @@ static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { .vidioc_g_fmt_vid_out_mplane = mtk_jpeg_g_fmt_vid_mplane, .vidioc_s_fmt_vid_cap_mplane = mtk_jpeg_s_fmt_vid_cap_mplane, .vidioc_s_fmt_vid_out_mplane = mtk_jpeg_s_fmt_vid_out_mplane, - .vidioc_qbuf = mtk_jpeg_qbuf, + .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, .vidioc_subscribe_event = mtk_jpeg_subscribe_event, .vidioc_g_selection = mtk_jpeg_g_selection, .vidioc_s_selection = mtk_jpeg_s_selection, @@ -676,10 +645,6 @@ static void mtk_jpeg_buf_queue(struct vb2_buffer *vb) param = &jpeg_src_buf->dec_param; memset(param, 0, sizeof(*param)); - if (jpeg_src_buf->flags & MTK_JPEG_BUF_FLAGS_LAST_FRAME) { - v4l2_dbg(1, debug, &jpeg->v4l2_dev, "Got eos\n"); - goto end; - } header_valid = mtk_jpeg_parse(param, (u8 *)vb2_plane_vaddr(vb, 0), vb2_get_plane_payload(vb, 0)); if (!header_valid) { @@ -792,19 +757,12 @@ static void mtk_jpeg_device_run(void *priv) struct mtk_jpeg_src_buf *jpeg_src_buf; struct mtk_jpeg_bs bs; struct mtk_jpeg_fb fb; - int i, ret; + int ret; src_buf = v4l2_m2m_next_src_buf(ctx->fh.m2m_ctx); dst_buf = v4l2_m2m_next_dst_buf(ctx->fh.m2m_ctx); jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(&src_buf->vb2_buf); - if (jpeg_src_buf->flags & MTK_JPEG_BUF_FLAGS_LAST_FRAME) { - for (i = 0; i < dst_buf->vb2_buf.num_planes; i++) - vb2_set_plane_payload(&dst_buf->vb2_buf, i, 0); - buf_state = VB2_BUF_STATE_DONE; - goto dec_end; - } - if (mtk_jpeg_check_resolution_change(ctx, &jpeg_src_buf->dec_param)) { mtk_jpeg_queue_src_chg_event(ctx); ctx->state = MTK_JPEG_SOURCE_CHANGE; -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 078A2C433DF for ; Fri, 14 Aug 2020 07:26:59 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C77B220639 for ; Fri, 14 Aug 2020 07:26:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="DPw6wpdA"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="LFAWn2HS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C77B220639 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=PPsCe7g3O3MiKvZD15Vzc4F20+seONCe3d3Ltia8sIA=; b=DPw6wpdA3lnNrMOoNUOrlcGh+ Tuj4Um7o4NjnZf57nlFW1WQt0xHqEDE7AB7sV8jlVmE2f0fq0aooD4mg3l26DosL0ZSY9X2/8ImYU nzTOC9vguDiy9DNw0K6yIrLAC3/S7jYo1G44Ltq05TFfoMaLSajRbpZNGrGWZxGn+rs6gVAtamMRN xdP5+SZAnHe+lKQ4cl7qyF60PW3PAb9YcbKlBhcquDVyXDnpA6sxu8dfcO1FT/GthNgPrx1HLa5A8 qqOpEx+TBasMznEhgAtsiJn4PuUl9ACvtjBC+cnyCjy0uwi9KLXdPfCrChvmuQkAeLJPVtgNALD7R k4Mla2m5w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U5A-0004Cl-9I; Fri, 14 Aug 2020 07:24:56 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3f-0003N2-Te; Fri, 14 Aug 2020 07:23:26 +0000 X-UUID: 7c8d9eda85d94cf4a257389c1b119985-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=Xdw36FEdfbjrpmm/25wdOBNJsrHP+0pR/IpHGiG6feo=; b=LFAWn2HSadYtlLDMeCWsDzXyPP8SnGdgOrXQTU/P90RYa/ZXrdeV0mhonbj6qwaqoTjd92kIAO0FZK7GBN//hG5Yxrzj8MCtHxAglWIRJP7w9yNkbGAr3EPNX+JYcENJdnWZx3UP6v97IAU1wF8wUgf3VprzuN9hzBYig35USaY=; X-UUID: 7c8d9eda85d94cf4a257389c1b119985-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 207299636; Thu, 13 Aug 2020 23:23:11 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:19 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:14 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:13 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 10/29] media: platform: Cancel the last frame handling flow Date: Fri, 14 Aug 2020 15:11:43 +0800 Message-ID: <20200814071202.25067-12-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032324_166440_ED4FACD1 X-CRM114-Status: GOOD ( 15.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org There is no need to queue an empty buffer for signaling a last frame, because all frames are separate from each other in JPEG. Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: no changes --- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 46 +------------------ 1 file changed, 2 insertions(+), 44 deletions(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index 9baeeacb4452..ffb486e537b6 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -55,15 +55,9 @@ static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { #define MTK_JPEG_NUM_FORMATS ARRAY_SIZE(mtk_jpeg_formats) -enum { - MTK_JPEG_BUF_FLAGS_INIT = 0, - MTK_JPEG_BUF_FLAGS_LAST_FRAME = 1, -}; - struct mtk_jpeg_src_buf { struct vb2_v4l2_buffer b; struct list_head list; - int flags; struct mtk_jpeg_dec_param dec_param; }; @@ -501,31 +495,6 @@ static int mtk_jpeg_s_selection(struct file *file, void *priv, return 0; } -static int mtk_jpeg_qbuf(struct file *file, void *priv, struct v4l2_buffer *buf) -{ - struct v4l2_fh *fh = file->private_data; - struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); - struct vb2_queue *vq; - struct vb2_buffer *vb; - struct mtk_jpeg_src_buf *jpeg_src_buf; - - if (buf->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) - goto end; - - vq = v4l2_m2m_get_vq(fh->m2m_ctx, buf->type); - if (buf->index >= vq->num_buffers) { - dev_err(ctx->jpeg->dev, "buffer index out of range\n"); - return -EINVAL; - } - - vb = vb2_get_buffer(vq, buf->index); - jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(vb); - jpeg_src_buf->flags = (buf->m.planes[0].bytesused == 0) ? - MTK_JPEG_BUF_FLAGS_LAST_FRAME : MTK_JPEG_BUF_FLAGS_INIT; -end: - return v4l2_m2m_qbuf(file, fh->m2m_ctx, buf); -} - static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { .vidioc_querycap = mtk_jpeg_querycap, .vidioc_enum_fmt_vid_cap = mtk_jpeg_enum_fmt_vid_cap, @@ -536,7 +505,7 @@ static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { .vidioc_g_fmt_vid_out_mplane = mtk_jpeg_g_fmt_vid_mplane, .vidioc_s_fmt_vid_cap_mplane = mtk_jpeg_s_fmt_vid_cap_mplane, .vidioc_s_fmt_vid_out_mplane = mtk_jpeg_s_fmt_vid_out_mplane, - .vidioc_qbuf = mtk_jpeg_qbuf, + .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, .vidioc_subscribe_event = mtk_jpeg_subscribe_event, .vidioc_g_selection = mtk_jpeg_g_selection, .vidioc_s_selection = mtk_jpeg_s_selection, @@ -676,10 +645,6 @@ static void mtk_jpeg_buf_queue(struct vb2_buffer *vb) param = &jpeg_src_buf->dec_param; memset(param, 0, sizeof(*param)); - if (jpeg_src_buf->flags & MTK_JPEG_BUF_FLAGS_LAST_FRAME) { - v4l2_dbg(1, debug, &jpeg->v4l2_dev, "Got eos\n"); - goto end; - } header_valid = mtk_jpeg_parse(param, (u8 *)vb2_plane_vaddr(vb, 0), vb2_get_plane_payload(vb, 0)); if (!header_valid) { @@ -792,19 +757,12 @@ static void mtk_jpeg_device_run(void *priv) struct mtk_jpeg_src_buf *jpeg_src_buf; struct mtk_jpeg_bs bs; struct mtk_jpeg_fb fb; - int i, ret; + int ret; src_buf = v4l2_m2m_next_src_buf(ctx->fh.m2m_ctx); dst_buf = v4l2_m2m_next_dst_buf(ctx->fh.m2m_ctx); jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(&src_buf->vb2_buf); - if (jpeg_src_buf->flags & MTK_JPEG_BUF_FLAGS_LAST_FRAME) { - for (i = 0; i < dst_buf->vb2_buf.num_planes; i++) - vb2_set_plane_payload(&dst_buf->vb2_buf, i, 0); - buf_state = VB2_BUF_STATE_DONE; - goto dec_end; - } - if (mtk_jpeg_check_resolution_change(ctx, &jpeg_src_buf->dec_param)) { mtk_jpeg_queue_src_chg_event(ctx); ctx->state = MTK_JPEG_SOURCE_CHANGE; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2D5CFC433E3 for ; Fri, 14 Aug 2020 07:15:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EF34420829 for ; Fri, 14 Aug 2020 07:15:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="QfzWjQE7" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727771AbgHNHPF (ORCPT ); Fri, 14 Aug 2020 03:15:05 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:14627 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726741AbgHNHNX (ORCPT ); Fri, 14 Aug 2020 03:13:23 -0400 X-UUID: 0ad4a1a3a62948b5bd23b581caf5419d-20200814 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=Xdw36FEdfbjrpmm/25wdOBNJsrHP+0pR/IpHGiG6feo=; b=QfzWjQE7raE+lDntAjTl8x2zrNlGkQBIQ8wCDoEsNEJQBcOa1L5xfLm7ZVUG8m5ChdExEOb9YsZeR6qHeUKLMZ49kf5OWuXGf04z+luV5qbDiezyO1dn/vmj+YILNC+X72mi6SGqjLP/05+kO8vkwhzgjG6R3YoYOS1wm2N7zgo=; X-UUID: 0ad4a1a3a62948b5bd23b581caf5419d-20200814 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1411788834; Fri, 14 Aug 2020 15:13:17 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:14 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:13 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , , , , , Xia Jiang Subject: [PATCH v12 10/29] media: platform: Cancel the last frame handling flow Date: Fri, 14 Aug 2020 15:11:43 +0800 Message-ID: <20200814071202.25067-12-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org VGhlcmUgaXMgbm8gbmVlZCB0byBxdWV1ZSBhbiBlbXB0eSBidWZmZXIgZm9yIHNpZ25hbGluZyBh IGxhc3QgZnJhbWUsDQpiZWNhdXNlIGFsbCBmcmFtZXMgYXJlIHNlcGFyYXRlIGZyb20gZWFjaCBv dGhlciBpbiBKUEVHLg0KDQpSZXZpZXdlZC1ieTogVG9tYXN6IEZpZ2EgPHRmaWdhQGNocm9taXVt Lm9yZz4NClNpZ25lZC1vZmYtYnk6IFhpYSBKaWFuZyA8eGlhLmppYW5nQG1lZGlhdGVrLmNvbT4N Ci0tLQ0KdjEyOiBubyBjaGFuZ2VzDQotLS0NCiAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcv bXRrX2pwZWdfY29yZS5jICAgfCA0NiArLS0tLS0tLS0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuYyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5jDQppbmRleCA5YmFlZWFjYjQ0NTIu LmZmYjQ4NmU1MzdiNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpw ZWcvbXRrX2pwZWdfY29yZS5jDQorKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVn L210a19qcGVnX2NvcmUuYw0KQEAgLTU1LDE1ICs1NSw5IEBAIHN0YXRpYyBzdHJ1Y3QgbXRrX2pw ZWdfZm10IG10a19qcGVnX2Zvcm1hdHNbXSA9IHsNCiANCiAjZGVmaW5lIE1US19KUEVHX05VTV9G T1JNQVRTIEFSUkFZX1NJWkUobXRrX2pwZWdfZm9ybWF0cykNCiANCi1lbnVtIHsNCi0JTVRLX0pQ RUdfQlVGX0ZMQUdTX0lOSVQJCQk9IDAsDQotCU1US19KUEVHX0JVRl9GTEFHU19MQVNUX0ZSQU1F CQk9IDEsDQotfTsNCi0NCiBzdHJ1Y3QgbXRrX2pwZWdfc3JjX2J1ZiB7DQogCXN0cnVjdCB2YjJf djRsMl9idWZmZXIgYjsNCiAJc3RydWN0IGxpc3RfaGVhZCBsaXN0Ow0KLQlpbnQgZmxhZ3M7DQog CXN0cnVjdCBtdGtfanBlZ19kZWNfcGFyYW0gZGVjX3BhcmFtOw0KIH07DQogDQpAQCAtNTAxLDMx ICs0OTUsNiBAQCBzdGF0aWMgaW50IG10a19qcGVnX3Nfc2VsZWN0aW9uKHN0cnVjdCBmaWxlICpm aWxlLCB2b2lkICpwcml2LA0KIAlyZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIGludCBtdGtfanBl Z19xYnVmKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCBzdHJ1Y3QgdjRsMl9idWZmZXIg KmJ1ZikNCi17DQotCXN0cnVjdCB2NGwyX2ZoICpmaCA9IGZpbGUtPnByaXZhdGVfZGF0YTsNCi0J c3RydWN0IG10a19qcGVnX2N0eCAqY3R4ID0gbXRrX2pwZWdfZmhfdG9fY3R4KHByaXYpOw0KLQlz dHJ1Y3QgdmIyX3F1ZXVlICp2cTsNCi0Jc3RydWN0IHZiMl9idWZmZXIgKnZiOw0KLQlzdHJ1Y3Qg bXRrX2pwZWdfc3JjX2J1ZiAqanBlZ19zcmNfYnVmOw0KLQ0KLQlpZiAoYnVmLT50eXBlICE9IFY0 TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX01QTEFORSkNCi0JCWdvdG8gZW5kOw0KLQ0KLQl2cSA9 IHY0bDJfbTJtX2dldF92cShmaC0+bTJtX2N0eCwgYnVmLT50eXBlKTsNCi0JaWYgKGJ1Zi0+aW5k ZXggPj0gdnEtPm51bV9idWZmZXJzKSB7DQotCQlkZXZfZXJyKGN0eC0+anBlZy0+ZGV2LCAiYnVm ZmVyIGluZGV4IG91dCBvZiByYW5nZVxuIik7DQotCQlyZXR1cm4gLUVJTlZBTDsNCi0JfQ0KLQ0K LQl2YiA9IHZiMl9nZXRfYnVmZmVyKHZxLCBidWYtPmluZGV4KTsNCi0JanBlZ19zcmNfYnVmID0g bXRrX2pwZWdfdmIyX3RvX3NyY2J1Zih2Yik7DQotCWpwZWdfc3JjX2J1Zi0+ZmxhZ3MgPSAoYnVm LT5tLnBsYW5lc1swXS5ieXRlc3VzZWQgPT0gMCkgPw0KLQkJTVRLX0pQRUdfQlVGX0ZMQUdTX0xB U1RfRlJBTUUgOiBNVEtfSlBFR19CVUZfRkxBR1NfSU5JVDsNCi1lbmQ6DQotCXJldHVybiB2NGwy X20ybV9xYnVmKGZpbGUsIGZoLT5tMm1fY3R4LCBidWYpOw0KLX0NCi0NCiBzdGF0aWMgY29uc3Qg c3RydWN0IHY0bDJfaW9jdGxfb3BzIG10a19qcGVnX2lvY3RsX29wcyA9IHsNCiAJLnZpZGlvY19x dWVyeWNhcCAgICAgICAgICAgICAgICA9IG10a19qcGVnX3F1ZXJ5Y2FwLA0KIAkudmlkaW9jX2Vu dW1fZm10X3ZpZF9jYXAJPSBtdGtfanBlZ19lbnVtX2ZtdF92aWRfY2FwLA0KQEAgLTUzNiw3ICs1 MDUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfaW9jdGxfb3BzIG10a19qcGVnX2lvY3Rs X29wcyA9IHsNCiAJLnZpZGlvY19nX2ZtdF92aWRfb3V0X21wbGFuZSAgICA9IG10a19qcGVnX2df Zm10X3ZpZF9tcGxhbmUsDQogCS52aWRpb2Nfc19mbXRfdmlkX2NhcF9tcGxhbmUgICAgPSBtdGtf anBlZ19zX2ZtdF92aWRfY2FwX21wbGFuZSwNCiAJLnZpZGlvY19zX2ZtdF92aWRfb3V0X21wbGFu ZSAgICA9IG10a19qcGVnX3NfZm10X3ZpZF9vdXRfbXBsYW5lLA0KLQkudmlkaW9jX3FidWYgICAg ICAgICAgICAgICAgICAgID0gbXRrX2pwZWdfcWJ1ZiwNCisJLnZpZGlvY19xYnVmICAgICAgICAg ICAgICAgICAgICA9IHY0bDJfbTJtX2lvY3RsX3FidWYsDQogCS52aWRpb2Nfc3Vic2NyaWJlX2V2 ZW50ICAgICAgICAgPSBtdGtfanBlZ19zdWJzY3JpYmVfZXZlbnQsDQogCS52aWRpb2NfZ19zZWxl Y3Rpb24JCT0gbXRrX2pwZWdfZ19zZWxlY3Rpb24sDQogCS52aWRpb2Nfc19zZWxlY3Rpb24JCT0g bXRrX2pwZWdfc19zZWxlY3Rpb24sDQpAQCAtNjc2LDEwICs2NDUsNiBAQCBzdGF0aWMgdm9pZCBt dGtfanBlZ19idWZfcXVldWUoc3RydWN0IHZiMl9idWZmZXIgKnZiKQ0KIAlwYXJhbSA9ICZqcGVn X3NyY19idWYtPmRlY19wYXJhbTsNCiAJbWVtc2V0KHBhcmFtLCAwLCBzaXplb2YoKnBhcmFtKSk7 DQogDQotCWlmIChqcGVnX3NyY19idWYtPmZsYWdzICYgTVRLX0pQRUdfQlVGX0ZMQUdTX0xBU1Rf RlJBTUUpIHsNCi0JCXY0bDJfZGJnKDEsIGRlYnVnLCAmanBlZy0+djRsMl9kZXYsICJHb3QgZW9z XG4iKTsNCi0JCWdvdG8gZW5kOw0KLQl9DQogCWhlYWRlcl92YWxpZCA9IG10a19qcGVnX3BhcnNl KHBhcmFtLCAodTggKil2YjJfcGxhbmVfdmFkZHIodmIsIDApLA0KIAkJCQkgICAgICB2YjJfZ2V0 X3BsYW5lX3BheWxvYWQodmIsIDApKTsNCiAJaWYgKCFoZWFkZXJfdmFsaWQpIHsNCkBAIC03OTIs MTkgKzc1NywxMiBAQCBzdGF0aWMgdm9pZCBtdGtfanBlZ19kZXZpY2VfcnVuKHZvaWQgKnByaXYp DQogCXN0cnVjdCBtdGtfanBlZ19zcmNfYnVmICpqcGVnX3NyY19idWY7DQogCXN0cnVjdCBtdGtf anBlZ19icyBiczsNCiAJc3RydWN0IG10a19qcGVnX2ZiIGZiOw0KLQlpbnQgaSwgcmV0Ow0KKwlp bnQgcmV0Ow0KIA0KIAlzcmNfYnVmID0gdjRsMl9tMm1fbmV4dF9zcmNfYnVmKGN0eC0+ZmgubTJt X2N0eCk7DQogCWRzdF9idWYgPSB2NGwyX20ybV9uZXh0X2RzdF9idWYoY3R4LT5maC5tMm1fY3R4 KTsNCiAJanBlZ19zcmNfYnVmID0gbXRrX2pwZWdfdmIyX3RvX3NyY2J1Zigmc3JjX2J1Zi0+dmIy X2J1Zik7DQogDQotCWlmIChqcGVnX3NyY19idWYtPmZsYWdzICYgTVRLX0pQRUdfQlVGX0ZMQUdT X0xBU1RfRlJBTUUpIHsNCi0JCWZvciAoaSA9IDA7IGkgPCBkc3RfYnVmLT52YjJfYnVmLm51bV9w bGFuZXM7IGkrKykNCi0JCQl2YjJfc2V0X3BsYW5lX3BheWxvYWQoJmRzdF9idWYtPnZiMl9idWYs IGksIDApOw0KLQkJYnVmX3N0YXRlID0gVkIyX0JVRl9TVEFURV9ET05FOw0KLQkJZ290byBkZWNf ZW5kOw0KLQl9DQotDQogCWlmIChtdGtfanBlZ19jaGVja19yZXNvbHV0aW9uX2NoYW5nZShjdHgs ICZqcGVnX3NyY19idWYtPmRlY19wYXJhbSkpIHsNCiAJCW10a19qcGVnX3F1ZXVlX3NyY19jaGdf ZXZlbnQoY3R4KTsNCiAJCWN0eC0+c3RhdGUgPSBNVEtfSlBFR19TT1VSQ0VfQ0hBTkdFOw0KLS0g DQoyLjE4LjANCg==