Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1337169imm; Thu, 4 Oct 2018 11:55:13 -0700 (PDT) X-Google-Smtp-Source: ACcGV62UJx5HwrYH8ON+Ucj1KUsrr788P0V7AvZOcsbCw6sG74cwAmZK9HNPX/fXKWkx0lw4O8Iu X-Received: by 2002:a62:8a4f:: with SMTP id y76-v6mr8242417pfd.142.1538679313770; Thu, 04 Oct 2018 11:55:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538679313; cv=none; d=google.com; s=arc-20160816; b=nVKkajaHGJThPg3pxTW1YjSo3lexndk7fIfdeqd7UIk0w+fXijLMHPMaNteaLHRchK NxpzfDu2dw5vZ33Ob+B8o+iuz7DNy7YQiJNUNJkM3xHPXd3YpaeNB/hhTv4U8QAwocWu mHKeyCy8legcKnNcttcOjaHcht2+wu2QELx/15v9OADo3I7c+OKKWvAhEM1U+31qvRxv pjmnou7+Dtl8sghAwQUEDT1a9rsoOfeoBw6wGCeJzo1/x7zwgc3TUmn/Vviw7hvig/D6 SgjybIrjNYCpVF5fvPyvgALILl2f8eQs4tT4F630Z+cNNHqFqWPUajijuQUhb0ApPb0u zOeg== 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=07+gjztG8CiEeIkUHs//QVJta0cBqlwNh7KhtyqHsD1rgr8nqW0+POp2VHJTzdaxqu O82f8ZWXI70ceWn+osvyQCUdeksZCgyntG8qrreLhpD8xfQwDifdvLRrleLaxAM0uTcn ELW7NpJRndsQJBSYKQDkrki79kKUL5IiZKLVr54Gw8qYa6MTs17yI4PiO+eBaGwIA1vD uOf07bniAaJMLUNfALBWG3vQiQF+omm1H3YHVaONMn65kNw/TUgcRZzPIe/wbhx5Xvnh P4fpQKEi6KhoXnOhP3zroRChPnnvU/6lbJHjaDzfSMcpK2ahW1Xkca40z2NIZ8xDG2GK 6q/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Cc66YBAf; 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 r12-v6si5422224pgg.209.2018.10.04.11.54.58; Thu, 04 Oct 2018 11:55:13 -0700 (PDT) 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=Cc66YBAf; 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 S1728353AbeJEBtK (ORCPT + 99 others); Thu, 4 Oct 2018 21:49:10 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:35182 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728324AbeJEBtJ (ORCPT ); Thu, 4 Oct 2018 21:49:09 -0400 Received: by mail-wm1-f65.google.com with SMTP id e187-v6so2564363wmf.0; Thu, 04 Oct 2018 11:54:35 -0700 (PDT) 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=Cc66YBAfVN42IrVHUONRAd+/GlSOM5cI3pE6ejedc+kaiqzi4Yml8r0V1JUKbkNjG8 Ke8e1zXROvNaHorGJksQ8WXatAUWiMpvHVjKDZ1PIq3tRZ3khhCW4rs2dTlr18Q/uwsV Dw0Ps1JKmptc2mNgkQuG2BbKuMndbD2fO1cDwoKOKYsDIKT4UG4uLBjBRQgi8keQgSa1 n5jhoCTWkjDHYzp6a+UDKKKOth9CTJR1C31wtwTsdW/EVp42tUQo9dtaPoh5GT9mOsxl fa89UZrDzIU7I4dhIJ5a3ezxx3FTCVl+0F3ntE1FOsr7EvzujiGwoH6JN28NK7OGTBNH lldQ== 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=KQzJjWGEDtLqc42+hKAa5j0YZbx2BH10Nir4lLWBkgo8j5Qah4To0pM6jyl5Zq1h9o ObxA1HorlohKzTRuT0GYV2w6DxS6PXgHqK5sVNglQl2SSKUli5Xa7xndDTWv3amrN6zA G7cQCgJiBMpClFnpKyt6D7a64uGjN+RE7XJk3XmyBcQi1ilrlg5drdp5iQtvrVdDYVOP KSWy3L9gt6bHVQw+2mjAL2weK4g02BUnLI1bCO0JickrblORVf9Xr2uwV/9HaO7F/VBe yUOCekloegbZK2lVYR3CIzLSCpCegE1bZgcn2QML9zjJVnJcnXgTSqZpOPpuUVaA3oRv J+Lw== X-Gm-Message-State: ABuFfojkp8+n3ncy1EMuchQg446F1VmDRJDlQ7EaWxNHU9t5i07NURcE LjBKtHdNFYVnD6WcnPoJZzotg17t X-Received: by 2002:a1c:1e8e:: with SMTP id e136-v6mr5648336wme.100.1538679274138; Thu, 04 Oct 2018 11:54:34 -0700 (PDT) Received: from mappy.world.mentorg.com (nat-wv.mentorg.com. [192.94.38.34]) by smtp.gmail.com with ESMTPSA id h78-v6sm8706877wmd.4.2018.10.04.11.54.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Oct 2018 11:54:33 -0700 (PDT) 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 v4 08/11] media: imx: vdic: rely on VDIC for correct field order Date: Thu, 4 Oct 2018 11:53:58 -0700 Message-Id: <20181004185401.15751-9-slongerbeam@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181004185401.15751-1-slongerbeam@gmail.com> References: <20181004185401.15751-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