Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp136330imu; Tue, 8 Jan 2019 16:18:14 -0800 (PST) X-Google-Smtp-Source: ALg8bN7Y3jYkK6QPovXb6BwVp6s7vZHcBpvIv9032kuoBysz2075TWzxiYD320b4YI2PBKFLsTi0 X-Received: by 2002:a63:9712:: with SMTP id n18mr3366659pge.295.1546993094206; Tue, 08 Jan 2019 16:18:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546993094; cv=none; d=google.com; s=arc-20160816; b=NlvQJH6ZyoHTQdtjL2cVO5+yqZFfLuaI3PynrCM5TW1NEGyKeWi2LvW0+55yMwSZY3 cY6OeWTn1JYaP4hzPfQjUD2tfEr7asZW/IMg96skYicoBKZwpkPS2BXRVWQpMfQSySng Sm8ohg1f3Wb2/jZf4j/IFLT8KUYDcRa9zdAwx3IGjPZHEAjjjOfUduWPSzT/qaozH1ee Qy4m+ZJZfOwTiflHgXjlzYx0PXHxTILdBahVu/0U48qE4vFqRl8B69yHHLCD7+fodqFs fRTmW+rIgwFYxmgdziW/LLiS6SFq9Ro98EQho2mMf422a51afoux/hoq3MWFjDmPwPaY 9FIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=BwIrt/QiZthUXo9qim2CsYJxYbNHfbi5cRl8NpsI+xE=; b=aQl+CI9A43k39CKy/xOjHmsBa+hxuCY9LqfQKfNlXT08T4XoJ0VC/tB8rOLi/96p4M 41WBUzVOEpr5/1txiiQoeiz7rkkBP+9/ntdvOAmhOs+p9BmQHHQLhMOPZkeRWqlngZTx Hepv0kAm81/V9jJk+g6jVUvJC8Og/ehtPE/boXotraFz+oJfClZvU8sSMJYaVU7e0ZM5 WRQAxUCxBAQHvIqe9UXkhOY2PDmQvZblhken3lOmlzikBq5tm2rWLOB2VbZvnd9s1qEl 5iRoec8ES9F4oACL0kcYCBKY3XHjgpWUDoQhN9xEZpBimfVcpmqL9gnRj6z9aPQ6PMF+ l9jQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VZdkybwD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g187si16317823pfc.43.2019.01.08.16.17.57; Tue, 08 Jan 2019 16:18:14 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VZdkybwD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729611AbfAIAQR (ORCPT + 99 others); Tue, 8 Jan 2019 19:16:17 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:40076 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729569AbfAIAQO (ORCPT ); Tue, 8 Jan 2019 19:16:14 -0500 Received: by mail-pg1-f196.google.com with SMTP id z10so2464236pgp.7; Tue, 08 Jan 2019 16:16:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BwIrt/QiZthUXo9qim2CsYJxYbNHfbi5cRl8NpsI+xE=; b=VZdkybwDcsoYv6tBaahD7DhnejAFNuVHNbUPxmPosRqTpdOboE6kDcLWdUngTZJpsF p9DFQox+Mk9qrOpPTkUaJy+OWjHnajMbw4qkLKgRGNOdPH+5C9vMritsT8z2dHclAp9Z m9cG++/ev0g1uNVf6F0mkzzqPfGKD+YQQWHH9MnfqzJmM6vMfRdNeSKJB2DRc9bVQH5q Om5Lqq2Ff9DDGOBHluaJpwrhM0wAaSnws3SuOdNcgWZUZEAqlTtBzgGCcHb4x2knQEFi 5NM4iQwFLxemJOCOlFVSBgjE67ONd0PTIKXU9VbC/vxOGBcscRMx9WxgHcEJmhZnY3BO 4khQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=BwIrt/QiZthUXo9qim2CsYJxYbNHfbi5cRl8NpsI+xE=; b=nFSVetBadnayU38w1LblfssgPlpaasz/5kI+wU5Ve1NjNn7Hadq3bfNSZSWG6X8V7I 2rDHExbmtwRP9++Cob03TEV6fRU4MAyzOIm5C0afM3UANOcQ65YVPdo9NmwVB0QQGOr5 9scJNWQblJzLibhhFxdkGfILi+YZt3MwrRY2IRjhHLu5mIujaT6s+4tR5TAWsoYpY83C k9O65rFU+GPQzhuO6p9ag35BsCTO3fREZdwdDEsjdis6n4MWt1usk0GsY2TQSq57P0S7 srXcX6YnkKAOh/hLZh7nfR6HKUDLjwkGLpzfEEo5avQMdgpxn8apArQtwdoHnGXWzHnI nAIw== X-Gm-Message-State: AJcUukfxfH1yoKAHo5ssk+1QiC7I2t9Bk4CWrk7WswxrjbZgLsfJguqW qiWybFeYaad+lmZCBxZkoRNS7oHG X-Received: by 2002:a63:5d20:: with SMTP id r32mr3429357pgb.329.1546992972806; Tue, 08 Jan 2019 16:16:12 -0800 (PST) Received: from majic.sklembedded.com (c-98-210-181-167.hsd1.ca.comcast.net. [98.210.181.167]) by smtp.googlemail.com with ESMTPSA id 134sm83978490pgb.78.2019.01.08.16.16.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Jan 2019 16:16:12 -0800 (PST) From: Steve Longerbeam To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Philipp Zabel , Mauro Carvalho Chehab , Greg Kroah-Hartman , devel@driverdev.osuosl.org (open list:STAGING SUBSYSTEM), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 09/12] media: imx: vdic: rely on VDIC for correct field order Date: Tue, 8 Jan 2019 16:15:48 -0800 Message-Id: <20190109001551.16113-10-slongerbeam@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190109001551.16113-1-slongerbeam@gmail.com> References: <20190109001551.16113-1-slongerbeam@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org prepare_vdi_in_buffers() was setting up the dma pointers as if the VDIC is always programmed to receive the fields in bottom-top order, i.e. as if ipu_vdi_set_field_order() only programs BT order in the VDIC. But that's not true, ipu_vdi_set_field_order() is working correctly. So fix prepare_vdi_in_buffers() to give the VDIC the fields in whatever order they were received by the video source, and rely on the VDIC to sort out which is top and which is bottom. Signed-off-by: Steve Longerbeam --- drivers/staging/media/imx/imx-media-vdic.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/staging/media/imx/imx-media-vdic.c b/drivers/staging/media/imx/imx-media-vdic.c index 482250d47e7c..4a890714193e 100644 --- a/drivers/staging/media/imx/imx-media-vdic.c +++ b/drivers/staging/media/imx/imx-media-vdic.c @@ -219,26 +219,18 @@ static void __maybe_unused prepare_vdi_in_buffers(struct vdic_priv *priv, switch (priv->fieldtype) { case V4L2_FIELD_SEQ_TB: - prev_phys = vb2_dma_contig_plane_dma_addr(prev_vb, 0); - curr_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0) + fs; - next_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0); - break; case V4L2_FIELD_SEQ_BT: prev_phys = vb2_dma_contig_plane_dma_addr(prev_vb, 0) + fs; curr_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0); next_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0) + fs; break; + case V4L2_FIELD_INTERLACED_TB: case V4L2_FIELD_INTERLACED_BT: + case V4L2_FIELD_INTERLACED: prev_phys = vb2_dma_contig_plane_dma_addr(prev_vb, 0) + is; curr_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0); next_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0) + is; break; - default: - /* assume V4L2_FIELD_INTERLACED_TB */ - prev_phys = vb2_dma_contig_plane_dma_addr(prev_vb, 0); - curr_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0) + is; - next_phys = vb2_dma_contig_plane_dma_addr(curr_vb, 0); - break; } ipu_cpmem_set_buffer(priv->vdi_in_ch_p, 0, prev_phys); -- 2.17.1