Received: by 2002:a05:6358:f14:b0:e5:3b68:ec04 with SMTP id b20csp536082rwj; Fri, 23 Dec 2022 05:03:56 -0800 (PST) X-Google-Smtp-Source: AMrXdXvO9qmEMlCqv1xHBdjkRyJGJpMbakuKMnftjkBVkYnaRo5CO9jDU5eZcCpEbM0OrLXGvJqZ X-Received: by 2002:a17:90a:ad85:b0:223:f14b:b064 with SMTP id s5-20020a17090aad8500b00223f14bb064mr10955968pjq.36.1671800636487; Fri, 23 Dec 2022 05:03:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671800636; cv=none; d=google.com; s=arc-20160816; b=z0IP0kE4ac198SqbfidYhGzVYbPFvdnotOotNYMJrYzk3ECAknFJF10TdtGRc8jgcV VFPAY8M0G6MSHPxYmsh9WDXAVJksboHDCPu90Zdgnqz5E6YQqlkjGU44TKYTapSDxkUq uSW3RcKj17tlLuRtEWz3IYkRl2gphHqmYlLumid0oqoE7y6X0HuPe8krDYfNHtOuSI3N W2KhGO0PCmku7XcObib9/EjOmg4eh8DXgBXJRyRb0X1LD3WLyYRae/eah3zggb+NE0dg zSrkkJ6dYefvjBfyhTECLgDAi+msnk1Lggvu4US0LcGKSfOid9k0RM1i11l3eCVO9I3e sskQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=U5kHe4kFKe8GciyEd0D6yxSAat+6tJA2KlX+zERnbZM=; b=pz7AiITPKYFy6QqKVXwYmpKJyWOKbyQ9ABwk9N137NSIZGu0fQlL69WBbmsEYaFUMo htx8S+DABX4BbXCKP4vytrmj8ki6Bqrauonv7uMuvlhgTH+pEbnTkQT7QGoI2dBsdGHN 5v2wVKhmgV2hi5TCtTq6vQzlDurk4TxWgZVvrQkCY4Kz+UGT1VtFvBE76zULsCwdNRrw sozk6VzX9H2WILKYOQ7Fl2SLqFMYY3Pvc/NqM6A7mNFFZfGn9jdU++3qmQ8T0LVnXaFN B/E9zm9V3rijlChiX0ii954iC23mmYt8puPssVp4WwyD0jypE0PbGiFhLoPRt60zwpsz icCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JbCzdsM2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id rj12-20020a17090b3e8c00b00219a48a3bf9si3638367pjb.93.2022.12.23.05.03.47; Fri, 23 Dec 2022 05:03:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JbCzdsM2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S235818AbiLWMPl (ORCPT + 65 others); Fri, 23 Dec 2022 07:15:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229585AbiLWMPh (ORCPT ); Fri, 23 Dec 2022 07:15:37 -0500 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71A7923D; Fri, 23 Dec 2022 04:15:33 -0800 (PST) Received: by mail-lj1-x235.google.com with SMTP id v11so4800636ljk.12; Fri, 23 Dec 2022 04:15:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=U5kHe4kFKe8GciyEd0D6yxSAat+6tJA2KlX+zERnbZM=; b=JbCzdsM2tjp/t+U1y9Uc7NbFga0zKTuD7/qYbtgv8UBf1o7AMtZuB19gvXSDXg3q7G 4kyl/01zusivdIf07cOAv+wObyjy9K4zkdQYcg9CZihmigK8pRkaGG87jt7qb0HzQLny 1eAYThtFX6/mpvIZPoXNff+Ln8Th0BRsQ2KoSm5GODsoE8upEMYAZzoGoKh/IkVw2HfZ DfX/Cs4+GcX/KSemC4ZQO3mZuK4mVVEGwb3MqSYsZ8nu9vFg+awCSPxGXgNSBE9apFya +oekj3bvQAraJvqbbRIHrccZt3U9jdAf1s4DULioWPxser1gDcA8kLIvg+t4EHiIyAAF ZYHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U5kHe4kFKe8GciyEd0D6yxSAat+6tJA2KlX+zERnbZM=; b=gWh6gsdUljjir4zSBlQpyADpMgtOnDhAFyt9J32cvGa2qdU1QK2El/4f2ZFeepl4GD Df3OUTahG2912ATO8biYR0j1iNINbuiJj9TJMRzfiVK+67l30X5iR0vQDUaEXCN4/9PB SLeFXhqaDIqstABJmzGdcwycRpqZdpJz9pdt4VPboamqiNr/SwVrCzbGe70sy1Ok50x+ hMdvGjdZyjFwv1p/CZAbfeRQJ3pusp+iQlnYO+ELDtv+DvHJRVrTCs8svuqNV4nuY5wI LxDdsVIbH0YKKbDYzkgJwbRMV15XEYzRDFBLxZtgj640E3c24zJTU7jJyVCV6px1N0yL 3FXg== X-Gm-Message-State: AFqh2kr6cXmsm8xv5hE+sR18+e+xBNg+ucogrf0NhOIApj2YiqRXD1gT CZr7bAUfkChjkmq0C9woirc= X-Received: by 2002:a2e:3a15:0:b0:27b:4a50:b85b with SMTP id h21-20020a2e3a15000000b0027b4a50b85bmr2309038lja.29.1671797731691; Fri, 23 Dec 2022 04:15:31 -0800 (PST) Received: from [192.168.2.145] ([109.252.113.89]) by smtp.googlemail.com with ESMTPSA id u12-20020a2e2e0c000000b0025ebaef9570sm400766lju.40.2022.12.23.04.15.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 23 Dec 2022 04:15:30 -0800 (PST) Message-ID: Date: Fri, 23 Dec 2022 15:15:29 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH v2 21/21] staging: media: tegra-video: add tegra20 variant To: Luca Ceresoli Cc: David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Thierry Reding , Jonathan Hunter , Sowjanya Komatineni , Mauro Carvalho Chehab , Greg Kroah-Hartman , Hans Verkuil , linux-media@vger.kernel.org, linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Thomas Petazzoni , Paul Kocialkowski , Richard Leitner References: <20221128152336.133953-1-luca.ceresoli@bootlin.com> <20221128152336.133953-22-luca.ceresoli@bootlin.com> <30e6b040-aa82-f6a3-1ff6-baa2c0dcb0e2@gmail.com> <20221222100341.5882c19c@booty> Content-Language: en-US From: Dmitry Osipenko In-Reply-To: <20221222100341.5882c19c@booty> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 22.12.2022 12:03, Luca Ceresoli пишет: > Hello Dmitry, > > On Wed, 21 Dec 2022 00:40:20 +0300 > Dmitry Osipenko wrote: > >> 28.11.2022 18:23, Luca Ceresoli пишет: >>> +static int tegra20_channel_capture_frame(struct tegra_vi_channel *chan, >>> + struct tegra_channel_buffer *buf) >>> +{ >>> + u32 value; >>> + int err; >>> + >>> + chan->next_out_sp_idx++; >>> + >>> + tegra20_channel_vi_buffer_setup(chan, buf); >>> + >>> + tegra20_vi_write(chan, TEGRA_VI_CAMERA_CONTROL, VI_CAMERA_CONTROL_VIP_ENABLE); >>> + >>> + /* Wait for syncpt counter to reach frame start event threshold */ >>> + err = host1x_syncpt_wait(chan->out_sp, chan->next_out_sp_idx, >>> + TEGRA_VI_SYNCPT_WAIT_TIMEOUT, &value); >> >> You're not using the "value" variable, it should be NULL. > > Ah, sure, good catch. > >> The "chan->out_sp" looks redundant, it duplicates the chan->mw_ack_sp. > > I agree it is redundant and can be improved. > >> AFAICS from the doc, T20 has two VI channels, and thus, two mw_ack_sp, >> like T210. > > I'm confused by this. In the current driver, each VI channel has an > array of 2 mw_ack_sp, the second of which is only used the ganged > CSI ports. I have no docs mentioning ganged ports so I don't know > exactly how they work and whether T20 might need more than 1 syncpt per > channel or not for CSI. Definitely when using VIP only one such syncpt > per each VI (or per each VIP, as per your reply to patch 1) is needed. > > Bottom line: I think I can simply remove the out_sp and in the VIP code > always use chan->mw_ack_sp[0], and document that it's what is called OUT > in VIP terms. > > Does this plan seem good? Older Tegra VI doesn't have ganged ports, but two memory/CSI channels. It feels to me that Tegra VI can capture both channels independently, though downstream driver stack used only one of the channels, IIRC. There is a VI header file from nvddk in downstream kernel, which is pretty much the doc by itself. https://nv-tegra.nvidia.com/r/gitweb?p=linux-2.6.git;a=blob;f=arch/arm/mach-tegra/include/ap20/arvi.h;h=6ce52e8e9a7213e33466d34a71cf3af2b6944b8a;