Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1226457imm; Wed, 1 Aug 2018 12:15:09 -0700 (PDT) X-Google-Smtp-Source: AAOMgpe04JT0kSpnsF5Co98FigtwdD6zRdkPmbK8F5iepeociQBQpVlLPOGFm6LVgLFXFyNORAnG X-Received: by 2002:a17:902:7c8e:: with SMTP id y14-v6mr26362810pll.265.1533150909694; Wed, 01 Aug 2018 12:15:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533150909; cv=none; d=google.com; s=arc-20160816; b=GWka4vuhSsArDeYeU/q7z4Md/W0Q7qPmLsQtiXASA46EogNfwNwsW9PT5WY5NepQ1F z1tfviMn/AaNHtML+FclpKB06dOc6Qe7WqBqu1GRKJqBaKHuf8IAOHMBk3txJltjjQ1W OkgWXGILHZGsxTg1Ga1qqWRAs2LWR7umhlmiv+YAuRVIt9C3pXd1XdSefK6lCj+9EUCp XkUgNZV6IlvCtSZqA1RCY3mxdfTmyNHB4+x5tpQMT1gq6qiw462Sqzfa71+nouT3XQUV 3u6wJHZxjjEl6nOTagVUA9nn0J1zG+BEngCUuzTsr0iyGd9bhcQFoTA6+ff7zYNt3Gmj 5evQ== 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:arc-authentication-results; bh=/YRmqT4C9CxqI1MsWRMLxEa0Dl12XnFTogc0Db1UUOo=; b=W6xYfTPzOqGjQsgdqIRtWvQzL+ZfOl2a7YB0gcteBZBdvebF5YFBiLs6BOzlfDCwo0 4F0RDRzOXo5SKP1dZWMx5c/HmaG9SqSQc8uyexgv1qk/Bu+G+xHhcGS239wWiowUAD71 Ya5SkjV84Q/MlVWkc0tSLr6q7HwuhigBYUGYMMVaNkcGorGLyQ8gpweeVMveRemW7FTU BbQIzTy7vTKYSD3n3L9zntstcyVQgjlLhVV9STGSJISPrpoDTkusvloJGmAJsgQqg1Ia rrlfUhIln0Zb+o+W8GS4tYazTOWgAWh21WpyQxSgAGTtjKRgZpxEQFukdwDU/MEVZxc8 JvbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="lKv7IvQ/"; 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 ce14-v6si16192337plb.391.2018.08.01.12.14.55; Wed, 01 Aug 2018 12:15:09 -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="lKv7IvQ/"; 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 S2388412AbeHAVAJ (ORCPT + 99 others); Wed, 1 Aug 2018 17:00:09 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:37750 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387714AbeHAVAJ (ORCPT ); Wed, 1 Aug 2018 17:00:09 -0400 Received: by mail-pg1-f196.google.com with SMTP id n7-v6so11288899pgq.4; Wed, 01 Aug 2018 12:12:55 -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=/YRmqT4C9CxqI1MsWRMLxEa0Dl12XnFTogc0Db1UUOo=; b=lKv7IvQ/7/iEDaC/xcq44vED9EAs9FzQI+lMxh76MNmZB0V8NNR7lVtW6Uhlh7oMwH hjT/7WDjZQ7c6gJCDfIO/qv7ZJlZ2aflDN2ZWS/jZOOWjhtvF7FoAR/wXJlbQa/zMBF4 Os3jlUeFgqP25UjLxE2xJCe+us/Mf3b5u2Y1OiOFikqbH9Wnh9SN0q0TsvxIwT11aKBu LScpBuda+gBuQFrHzh5O0TD+GDPHHJ+JRRe8oZJMHEerJyT48hsyVFDckRkZkQveVCQh XTetWHeehiHHU0zfs0aQhRkCsq/Oh5TlznL+oKRPq+5FarKLy/hGcJ9BWcGbXrwnMIWj avOA== 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=/YRmqT4C9CxqI1MsWRMLxEa0Dl12XnFTogc0Db1UUOo=; b=jiIzc+X+6thSibWRh3nHNH9QMS++T0+d8vrO6uoDLVkE7Lyqtm35BuCYFd6WGFzOJX I1ooGmceGJI+A8iykppNZxsK1R29tMHIMsTe4b8AV5QabFyLwaU89BcBwNhQ3cbmlmPY 7pgv9+jIwIBLwVrtSjHNJ/NVedmLlx6SUTrT0/gL5gYOtfChavQj4uiWwcsAXn+XWF+p z4Odno+QC2g/4yKMCbmr1doc7AE7WrJKBA0JqYm8x7AFXbHxmo+PqRRB+bn3L3ik46gs ybRHvavaGdJq1xUnnDkoRzPpUS65oUqqQG32OVrxpfR8OY13FcgAXobsln2d2hrPHchg jVFQ== X-Gm-Message-State: AOUpUlEZMS4EiR/MHmm4stPSrANvl0QDe8FxJ6xTP+ahE7Ge8MiJUcko e7utTeKJeKMkZ6mOY9JX/lZYfopC X-Received: by 2002:a63:fb07:: with SMTP id o7-v6mr26239583pgh.333.1533150774795; Wed, 01 Aug 2018 12:12:54 -0700 (PDT) Received: from mappy.world.mentorg.com (c-24-5-209-231.hsd1.ca.comcast.net. [24.5.209.231]) by smtp.googlemail.com with ESMTPSA id u42-v6sm31171336pgn.1.2018.08.01.12.12.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 01 Aug 2018 12:12:53 -0700 (PDT) From: Steve Longerbeam X-Google-Original-From: Steve Longerbeam To: linux-media@vger.kernel.org Cc: Steve Longerbeam , 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 v3 11/14] media: imx: vdic: rely on VDIC for correct field order Date: Wed, 1 Aug 2018 12:12:24 -0700 Message-Id: <1533150747-30677-12-git-send-email-steve_longerbeam@mentor.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533150747-30677-1-git-send-email-steve_longerbeam@mentor.com> References: <1533150747-30677-1-git-send-email-steve_longerbeam@mentor.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 482250d..4a89071 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.7.4