Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1156899imu; Wed, 9 Jan 2019 12:41:31 -0800 (PST) X-Google-Smtp-Source: ALg8bN5vMXQEJNeUaXLn6cVAdygfSVAVSOatbnvumgnZlujZ8uylTKeSxYsB6bEZjdmKUufdquzy X-Received: by 2002:a62:d148:: with SMTP id t8mr7654513pfl.52.1547066491189; Wed, 09 Jan 2019 12:41:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547066491; cv=none; d=google.com; s=arc-20160816; b=e5qqeqOQCApzriG+2A7SL6gMb3ukwxPUMx3Ubgu/famiUkE/M6spGAMb5Yv6JgJlea TrMlLxmFUGZCd9zDhd8SQ+9TMPGP2mE9CkOCndcv1S+1+shl3E9Tk+6cTaQ/SQNJNSd3 +VP46B6pOMdjsJJHAamQ/EYNVHq3/mL/RXwF+hkCK0ocjSW8MimIBGrnqhIqsuhc+NF3 RCVfq/6hpK+02ahBbDTe8jcpvy9Hm8e4KmzPhEWGn23BJu8YDxgB+K1nFzwFXNByCftV od2pW2yF+Z6vHsxcGPbT6mfP/VekWmPrBvFs81+l034DcLY4fCCfJVEL6J8rqtPwAJ55 pMdg== 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=FGlTVPuIBHmUIuVlHu+p+ETTvnycsi14/bkpRAxES5EfdEObfX6NtFsSSHTwyZsML2 It5twpv2WNlobAhqH+NOjEuLsBUeEj7NCtP/7qyVvBWOSnQz2LDMGf4dUv9NF9syRFb1 prr35uCxOLvvi7E9sOaBkS0hH0xYgImQ13ack/UJKKVvaV2VaNUoBdXND5+JKqFETQMh EjQZ0epd+oq0UgSLge/85ol+V7yy8E6v651laLph99SBCa5tCEzLSlOvaiYWNBh9yf2I xjWeGsAaJuAEueRm5Byqzin7Dx+vmbkPiU7SZGHntmXSAOCaoE2h3TCd2Kq7NsfTUnci KrwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=emG33698; 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 204si16376123pfu.273.2019.01.09.12.41.15; Wed, 09 Jan 2019 12:41:31 -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=emG33698; 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 S1727603AbfAISan (ORCPT + 99 others); Wed, 9 Jan 2019 13:30:43 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:42997 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727564AbfAISaj (ORCPT ); Wed, 9 Jan 2019 13:30:39 -0500 Received: by mail-pg1-f195.google.com with SMTP id d72so3658345pga.9; Wed, 09 Jan 2019 10:30:39 -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=emG336981TFdCUY7y0qoK45HeEv+pXU9lwS5N/BoNJGeYwDPZ42S31fu+s/ryOLg4N gU47Xonr5TjvkRfpC2H3uy3kF+ASHOFZVnwBXqDXz51QhxN0AqTDY7iiHlM1KfS08a2j uWUOFr3EiDXP1irH/JYtkUfoTGQkbLQ9bvZ7LpIT+M1ticqIUemgIU6C3YWwcCluwN1R CxGaipfZp0Qt0LefXqx9xpLKkPgagsXV7Lpp3njHFTsxonkheJmSXMawy3X0dwDzW4NG b2RiW9kXqMCVMSWp4iAt06bqpkRGwS2zjQCPnUFXFKA//eP/IOiACNW5zMUl26aSCNh0 gYTQ== 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=dbhKAPZCAoHOBgnkSZ6874t/glTdYvTX8WZiIU1Sn00NjElNyP/tJn6KTVyhfGJOQR uXG9ojQQJef3DOfy17kiAYOrnukTMNyDqOm02t6HAJ5RmhESHKm+1jrbJilVFDsxZPwC WLzbYLQh2UUDQHHJN+om3EdpEnOX47PBbqzZNVfibua6GZxsBycaHBbNS7/AbssFA7wY Cc7H4OrpWpgNWq5/zG4kKE4VEhXMFh1t4m0Mm+9CqMlvoGymWyZ5KRgQe/1XHvYptIef ZNwIdnZ9U5xWN7edlzbedYM5lye/0ddaFwy2uKmUUy2KwreD5HdfvvnKAvRSk1F4LhWN vxZA== X-Gm-Message-State: AJcUukevbpUUw7yOvN28pxC3H7jqV6+kEyGhYikCD7Y+0GeyRD/3p6u0 p76AMebFzdGH6xexLrNzQkC12mZh X-Received: by 2002:aa7:87ce:: with SMTP id i14mr7024922pfo.20.1547058638765; Wed, 09 Jan 2019 10:30:38 -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 v191sm157551056pgb.77.2019.01.09.10.30.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Jan 2019 10:30:38 -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 v8 08/11] media: imx: vdic: rely on VDIC for correct field order Date: Wed, 9 Jan 2019 10:30:11 -0800 Message-Id: <20190109183014.20466-9-slongerbeam@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190109183014.20466-1-slongerbeam@gmail.com> References: <20190109183014.20466-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