Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp252896ybg; Tue, 28 Jul 2020 05:18:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbWy3DuZMoHfkbotPlg9KgoDZeIgXq4CVXBjan3SvHKJNOpYI3KAfLB4OQz4M2Lq54tgS4 X-Received: by 2002:a50:ef0a:: with SMTP id m10mr19485357eds.226.1595938691442; Tue, 28 Jul 2020 05:18:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595938691; cv=none; d=google.com; s=arc-20160816; b=tymtHvEZZEujn2TH9qmDC524+ixk1HAfWdRWnfHJUVKWtJESSldN8GXxxPdtGiQfeT ltr4seRJlIeJDjw5K07yLcgp8N4WtXtluVaZj2nUvW4AUaJIDLlO5SrZsG9YlaYrrkBv zoOUHQ6B5fLyUkb9+6zBJYeSr0G8Dh3UcLAKXwZXvw/HP0oRjUECDEzRLzwTxORsEQXh lvqLQxagWC93/UwS8985mvdav5Hv8jSArKppsObefpQJiNHWXaBI7KvbcLmX160J/N6Y xvlPAF2mTvCFfSFd4+dzHu6V/XxHUAhk7xOvtg48Rn0dN28bc619HxyTPDKRJw3/8P4i EJKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=OQw3W57xlnp+8OWO/eZW/Uq9eK5tLGyYm41nUrC6UBE=; b=qqP62IZM6jcqj6APlAHHLb/A2tEBm+/RQUeG6YtjQPzBLV4JcOEt7SyBfgPZtTX+fH Xg0ONze0XG/SjSeRO6TGMbwrHKi4wE84YmQ7xJtao+iLyW0YkB5Nm0MhKkfDwCWZLU5d gXQQbP1q1YxziEy31132FXad9aUUWfnLfz2cxk262kJmor1e6inT0a1AYZ7BlgM8yMcY XV6enVAPMMp87UYJU/yrkq0Ud1pRjSTqjZJCRM4ybaNlSPtIHFK9c7ru0R3nCvYX4cXx aCh4pFonhicF9Z3G9ebiid/idgwQ77D2+NVW8MQI1s52r5qaF2AynTZzyDKPxJdAbhBb 2RPQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l2si6866761edf.34.2020.07.28.05.17.49; Tue, 28 Jul 2020 05:18:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728948AbgG1MHe (ORCPT + 99 others); Tue, 28 Jul 2020 08:07:34 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:51848 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728560AbgG1MHe (ORCPT ); Tue, 28 Jul 2020 08:07:34 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: dafna) with ESMTPSA id 54B30297F53 Subject: Re: [PATCH v2 0/3] media: vimc: Allow multiple capture devices to use the same sensor To: Kaaira Gupta , Helen Koike Cc: kieran.bingham@ideasonboard.com, =?UTF-8?Q?Niklas_S=c3=b6derlund?= , Shuah Khan , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org References: <20200724120213.17119-1-kgupta@es.iitr.ac.in> <20200724121521.GA2705690@oden.dyn.berto.se> <20200724122104.GA18482@kaaira-HP-Pavilion-Notebook> <2a6cb067-283d-ca65-2698-1fae66a17d02@collabora.com> <20200728113959.GA6350@kaaira-HP-Pavilion-Notebook> From: Dafna Hirschfeld Message-ID: <3a9ac970-77b8-1bc5-536a-5b4f2bd60745@collabora.com> Date: Tue, 28 Jul 2020 14:07:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200728113959.GA6350@kaaira-HP-Pavilion-Notebook> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi On 28.07.20 13:39, Kaaira Gupta wrote: > On Mon, Jul 27, 2020 at 02:54:30PM -0300, Helen Koike wrote: >> Hi, >> >> On 7/27/20 11:31 AM, Kieran Bingham wrote: >>> Hi all, >>> >>> +Dafna for the thread discussion, as she's missed from the to/cc list. >>> >>> >>> On 24/07/2020 13:21, Kaaira Gupta wrote: >>>> On Fri, Jul 24, 2020 at 02:15:21PM +0200, Niklas Söderlund wrote: >>>> Hi, >>>> >>>>> Hi Kaaira, >>>>> >>>>> Thanks for your work. >>>> >>>> Thanks for yours :D >>>> >>>>> >>>>> On 2020-07-24 17:32:10 +0530, Kaaira Gupta wrote: >>>>>> This is version 2 of the patch series posted by Niklas for allowing >>>>>> multiple streams in VIMC. >>>>>> The original series can be found here: >>>>>> https://patchwork.kernel.org/cover/10948831/ >>>>>> >>>>>> This series adds support for two (or more) capture devices to be >>>>>> connected to the same sensors and run simultaneously. Each capture device >>>>>> can be started and stopped independent of each other. >>>>>> >>>>>> Patch 1/3 and 2/3 deals with solving the issues that arises once two >>>>>> capture devices can be part of the same pipeline. While 3/3 allows for >>>>>> two capture devices to be part of the same pipeline and thus allows for >>>>>> simultaneously use. I wonder if these two patches are enough, since each vimc entity also have a 'process_frame' callback, but only one allocated frame. That means that the 'process_frame' can be called concurrently by two different streams on the same frame and cause corruption. Thanks, Dafna >>>>> >>>>> I'm just curious if you are aware of this series? It would replace the >>>>> need for 1/3 and 2/3 of this series right? >>>> >>>> v3 of this series replaces the need for 1/3, but not the current version >>>> (ie v4). v4 of patch 2/5 removes the stream_counter that is needed to >>>> keep count of the calls to s_stream. Hence 1/3 becomes relevant again. >>> >>> So the question really is, how do we best make use of the two current >>> series, to achieve our goal of supporting multiple streams. >>> >>> Having not parsed Dafna's series yet, do we need to combine elements of >>> both ? Or should we work towards starting with this series and get >>> dafna's patches built on top ? >>> >>> Or should patch 1/3 and 3/3 of this series be on top of Dafna's v4 ? >>> >>> (It might be noteworthy to say that Kaaira has reported successful >>> multiple stream operation from /this/ series and her development branch >>> on libcamera). >> >> Dafna's patch seems still under discussion, but I don't want to block progress in Vimc either. >> >> So I was wondering if we can move forward with Vimc support for multistreaming, >> without considering Dafna's patchset, and we can do the clean up later once we solve that. >> >> What do you think? > > I agree with supporting multiple streams with VIMC with this patchset, > and then we can refactor the counters for s_stream in VIMC later (over > this series) if dafna includes them in subsequent version of her patchset. > I also think that adding support in the code will take much longer and should not stop us from supporting vimc independently. Thanks, Dafna >> >> Regards, >> Helen >> >>> >>> >>>>> 1. https://lore.kernel.org/linux-media/20200522075522.6190-1-dafna.hirschfeld@collabora.com/ >>>>> >>>>>> >>>>>> Changes since v1: >>>>>> - All three patches rebased on latest media-tree. >>>>>> Patch 3: >>>>>> - Search for an entity with a non-NULL pipe instead of searching >>>>>> for sensor. This terminates the search at output itself. >>>>>> >>>>>> Kaaira Gupta (3): >>>>>> media: vimc: Add usage count to subdevices >>>>>> media: vimc: Serialize vimc_streamer_s_stream() >>>>>> media: vimc: Join pipeline if one already exists >>>>>> >>>>>> .../media/test-drivers/vimc/vimc-capture.c | 35 ++++++++++++++++++- >>>>>> .../media/test-drivers/vimc/vimc-debayer.c | 8 +++++ >>>>>> drivers/media/test-drivers/vimc/vimc-scaler.c | 8 +++++ >>>>>> drivers/media/test-drivers/vimc/vimc-sensor.c | 9 ++++- >>>>>> .../media/test-drivers/vimc/vimc-streamer.c | 23 +++++++----- >>>>>> 5 files changed, 73 insertions(+), 10 deletions(-) >>>>>> >>>>>> -- >>>>>> 2.17.1 >>>>>> >>>>> >>>>> -- >>>>> Regards, >>>>> Niklas Söderlund >>>