[{"id":21265,"web_url":"https://patchwork.libcamera.org/comment/21265/","msgid":"<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>","date":"2021-11-26T06:43:55","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":75,"url":"https://patchwork.libcamera.org/api/people/75/","name":"Jean-Michel Hautbois","email":"jeanmichel.hautbois@ideasonboard.com"},"content":"Hi Dan,\n\nOn 26/11/2021 01:31, Daniel Scally wrote:\n> Hello All\n> \n> This series is an attempt at making the incoming VCM support a little more\n> agnostic, by following the new style of media links described in my series to\n> linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> series are pretty neat, by the way)\n\nThanks to all three of you for this great work !\n\nHow can I test it ? Which kernel for SGo2 is usable (A branch would be \ngreat) ?\n\n> \n> The general principle of the new links is an entity to entity link which will\n> be connected by the kernel between a sensor's entity and an entity for a VCM\n> device, where those entities have a fwnode match based on the \"lens-focus\"\n> property against the sensor. These links are then discovered by libcamera and\n> followed to create an instance of the CameraLens class, replacing the matching\n> on driver/device names in Han-Lin's original series.\n> \n> With the CameraLens available to carry out the controlling of the VCM, I have\n> pushed the controls to the pipeline handler and removed both all of that\n> functionality (including the open()/close() of the VCM subdev) from Kate's\n> work instead.\n> \n> Thanks\n> Dan\n> \n> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> \n> Daniel Scally (5):\n>    libcamera: Add support for ancillary links to MediaLink\n>    libcamera: media_device: Handle ancillary links in populateLinks()\n>    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n>    ipa: ipu3: Send lens controls to pipeline handler\n>    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> \n>   include/libcamera/internal/media_object.h | 10 +++++\n>   include/linux/media.h                     |  1 +\n>   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n>   src/ipa/ipu3/algorithms/af.h              |  3 --\n>   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n>   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n>   src/libcamera/media_object.cpp            | 24 ++++++++++-\n>   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n>   8 files changed, 101 insertions(+), 67 deletions(-)\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 28431BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Nov 2021 06:44:00 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4F88A6049A;\n\tFri, 26 Nov 2021 07:43:59 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DD44A6011D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Nov 2021 07:43:57 +0100 (CET)","from [IPV6:2a01:e0a:169:7140:63ab:d56a:c1c9:1514] (unknown\n\t[IPv6:2a01:e0a:169:7140:63ab:d56a:c1c9:1514])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7251E340;\n\tFri, 26 Nov 2021 07:43:57 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"d33yQgng\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1637909037;\n\tbh=p9ytn9CKdF4+lcUlK+iUYkFVDmayKst5AOPfD4CDaBQ=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=d33yQgng6HfYE0JdrERbNHhgNsv51FSUudYa0n5qPUvVQKl/FWmga6YzKQolc5ULd\n\tZm475wdYYfI+UaHw1TFIF9gVQpbvV9b5vLHvmCsnktpD3usqmp6IWqo3HpzETmCyA7\n\tUT0AX4sDtJu35ZDtGYOlFgP0doofYyCm22ym+kXY=","Message-ID":"<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>","Date":"Fri, 26 Nov 2021 07:43:55 +0100","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101\n\tThunderbird/91.3.1","Content-Language":"en-US","To":"Daniel Scally <djrscally@gmail.com>, libcamera-devel@lists.libcamera.org","References":"<20211126003118.42356-1-djrscally@gmail.com>","From":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","In-Reply-To":"<20211126003118.42356-1-djrscally@gmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21282,"web_url":"https://patchwork.libcamera.org/comment/21282/","msgid":"<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>","date":"2021-11-26T11:32:51","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":98,"url":"https://patchwork.libcamera.org/api/people/98/","name":"Hanlin Chen","email":"hanlinchen@chromium.org"},"content":"On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois\n<jeanmichel.hautbois@ideasonboard.com> wrote:\n>\n> Hi Dan,\n>\n> On 26/11/2021 01:31, Daniel Scally wrote:\n> > Hello All\n> >\n> > This series is an attempt at making the incoming VCM support a little more\n> > agnostic, by following the new style of media links described in my series to\n> > linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> > top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> > series are pretty neat, by the way)\n>\n> Thanks to all three of you for this great work !\n>\n> How can I test it ? Which kernel for SGo2 is usable (A branch would be\n> great) ?\n>\nMany thanks for the great work, Daniel!\nI just tested it on Chromebook with kernel v5.4, and it works perfectly.\n> >\n> > The general principle of the new links is an entity to entity link which will\n> > be connected by the kernel between a sensor's entity and an entity for a VCM\n> > device, where those entities have a fwnode match based on the \"lens-focus\"\n> > property against the sensor. These links are then discovered by libcamera and\n> > followed to create an instance of the CameraLens class, replacing the matching\n> > on driver/device names in Han-Lin's original series.\n> >\n> > With the CameraLens available to carry out the controlling of the VCM, I have\n> > pushed the controls to the pipeline handler and removed both all of that\n> > functionality (including the open()/close() of the VCM subdev) from Kate's\n> > work instead.\n> >\n> > Thanks\n> > Dan\n> >\n> > [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> > [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> > [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> >\n> > Daniel Scally (5):\n> >    libcamera: Add support for ancillary links to MediaLink\n> >    libcamera: media_device: Handle ancillary links in populateLinks()\n> >    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n> >    ipa: ipu3: Send lens controls to pipeline handler\n> >    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> >\n> >   include/libcamera/internal/media_object.h | 10 +++++\n> >   include/linux/media.h                     |  1 +\n> >   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n> >   src/ipa/ipu3/algorithms/af.h              |  3 --\n> >   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n> >   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n> >   src/libcamera/media_object.cpp            | 24 ++++++++++-\n> >   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n> >   8 files changed, 101 insertions(+), 67 deletions(-)\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 7ACF7BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Nov 2021 11:33:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 95F4F60546;\n\tFri, 26 Nov 2021 12:33:04 +0100 (CET)","from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com\n\t[IPv6:2607:f8b0:4864:20::32c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 42B3D6011E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Nov 2021 12:33:03 +0100 (CET)","by mail-ot1-x32c.google.com with SMTP id\n\tn17-20020a9d64d1000000b00579cf677301so13537505otl.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Nov 2021 03:33:03 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"aHge2cKr\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=khWN4R2RWrr+ZUWjHTUr5uzxyikyotoe34quQcNH/0Q=;\n\tb=aHge2cKr61OznSrVi/G9M122CQtcuLjUMzMMzeiRubpP4o96SrZ0gx6g55A+2xcXxl\n\tnH137QAgg2cEss/OY/I2DuHkYIUPmhGCWy6ZUUtOLYMbQXXJbFbbCP8Q7gFUxziz+lek\n\thGJLFJInHws4Lj1doczAPH70bIRZls57lvbSo=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=khWN4R2RWrr+ZUWjHTUr5uzxyikyotoe34quQcNH/0Q=;\n\tb=tgU8dOsbUw4hOXun4JhdMHLcp3+XNsHQCHMdZMf/YkksRCKJoreOyOi3WnhsxbT3GR\n\txay/N1ZUJ3J+xiDB+eErGVnD6491GfzieQgohO3iUCAL31rinFZKaynmXMaGOR70iDvH\n\tUBWNYNzS+ykgWL5ftZpX1KYUzvWA8S2LKxKPE7hF6YjTqZFmLY3o8Lvsnq5oCa78ShD6\n\txPYlAD3FPICqqkUJNf5ZrzBOifFhSt+LOZhd2LPnDEaOKU8AaMv/aktKLhTZkZkBaqYc\n\tranxY6OTpox0N/JtavAw2+yBrmS/Zu2awixSW0gn93NzjDhkp0ysyvE+XJahwk1P004H\n\tJP+Q==","X-Gm-Message-State":"AOAM530sRQTP5MwRPlRQSeUDphS2NBIDfvFFJaOmmrQOjVWrWcp08655\n\t9JvrF0r+3gem31OPBSoschNaS6SyPk+3XUYZYSUIzhyMTcdRuA==","X-Google-Smtp-Source":"ABdhPJw9wYi/2AsQcN/5i5dK4DI1a/BeOoscLbFyDZnHw687z+yDWvIl+cQYRII8OyeRfdDzaiVWGBdzPT6tBDlFXXs=","X-Received":"by 2002:a05:6830:3195:: with SMTP id\n\tp21mr25021869ots.56.1637926381833; \n\tFri, 26 Nov 2021 03:33:01 -0800 (PST)","MIME-Version":"1.0","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>","In-Reply-To":"<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>","From":"Hanlin Chen <hanlinchen@chromium.org>","Date":"Fri, 26 Nov 2021 19:32:51 +0800","Message-ID":"<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21284,"web_url":"https://patchwork.libcamera.org/comment/21284/","msgid":"<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>","date":"2021-11-26T12:48:32","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Han-lin,\n\nOn Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n> On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n> > On 26/11/2021 01:31, Daniel Scally wrote:\n> > > Hello All\n> > >\n> > > This series is an attempt at making the incoming VCM support a little more\n> > > agnostic, by following the new style of media links described in my series to\n> > > linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> > > top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> > > series are pretty neat, by the way)\n> >\n> > Thanks to all three of you for this great work !\n> >\n> > How can I test it ? Which kernel for SGo2 is usable (A branch would be\n> > great) ?\n>\n> Many thanks for the great work, Daniel!\n> I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n\nDoes it work out of the box, without a need for any kernel or firmware\nchange ? That would be great, it would certainly facilitate adoption.\n\n> > > The general principle of the new links is an entity to entity link which will\n> > > be connected by the kernel between a sensor's entity and an entity for a VCM\n> > > device, where those entities have a fwnode match based on the \"lens-focus\"\n> > > property against the sensor. These links are then discovered by libcamera and\n> > > followed to create an instance of the CameraLens class, replacing the matching\n> > > on driver/device names in Han-Lin's original series.\n> > >\n> > > With the CameraLens available to carry out the controlling of the VCM, I have\n> > > pushed the controls to the pipeline handler and removed both all of that\n> > > functionality (including the open()/close() of the VCM subdev) from Kate's\n> > > work instead.\n> > >\n> > > Thanks\n> > > Dan\n> > >\n> > > [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> > > [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> > > [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> > >\n> > > Daniel Scally (5):\n> > >    libcamera: Add support for ancillary links to MediaLink\n> > >    libcamera: media_device: Handle ancillary links in populateLinks()\n> > >    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n> > >    ipa: ipu3: Send lens controls to pipeline handler\n> > >    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> > >\n> > >   include/libcamera/internal/media_object.h | 10 +++++\n> > >   include/linux/media.h                     |  1 +\n> > >   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n> > >   src/ipa/ipu3/algorithms/af.h              |  3 --\n> > >   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n> > >   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n> > >   src/libcamera/media_object.cpp            | 24 ++++++++++-\n> > >   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n> > >   8 files changed, 101 insertions(+), 67 deletions(-)\n> > >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 0D46BBDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Nov 2021 12:48:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4DCAC604FD;\n\tFri, 26 Nov 2021 13:48:58 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E3DF26011E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Nov 2021 13:48:56 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4D5C3340;\n\tFri, 26 Nov 2021 13:48:56 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"nOw7S8Nk\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1637930936;\n\tbh=/U00VU+Mvn08D0iqKSICfHb4gC1jHvEEpzigzcFoCu0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=nOw7S8Nk3y0YmCgdLdEqOFV0b+DxHG4KOVGMHeC1WGkBh+ovVUxyMyVJ0EUUPutV4\n\tP+ejjqsA5EpRvAwGe7dwzUHuSflXPjC3NK0z8mbucX5bmuwpILMZu2hkZSNTI7mmiQ\n\tQOEGPnnGWcU9GvLY41nurzJk7uxFZ0+VZoqJCgwU=","Date":"Fri, 26 Nov 2021 14:48:32 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hanlin Chen <hanlinchen@chromium.org>","Message-ID":"<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21311,"web_url":"https://patchwork.libcamera.org/comment/21311/","msgid":"<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>","date":"2021-11-29T11:42:33","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":98,"url":"https://patchwork.libcamera.org/api/people/98/","name":"Hanlin Chen","email":"hanlinchen@chromium.org"},"content":"On Fri, Nov 26, 2021 at 8:48 PM Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> Hi Han-lin,\n>\n> On Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n> > On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n> > > On 26/11/2021 01:31, Daniel Scally wrote:\n> > > > Hello All\n> > > >\n> > > > This series is an attempt at making the incoming VCM support a little more\n> > > > agnostic, by following the new style of media links described in my series to\n> > > > linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> > > > top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> > > > series are pretty neat, by the way)\n> > >\n> > > Thanks to all three of you for this great work !\n> > >\n> > > How can I test it ? Which kernel for SGo2 is usable (A branch would be\n> > > great) ?\n> >\n> > Many thanks for the great work, Daniel!\n> > I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n>\n> Does it work out of the box, without a need for any kernel or firmware\n> change ? That would be great, it would certainly facilitate adoption.\n>\nI didn't change anything in the firmware or kernel, except for\nDaniel's patches ;-).\n\n> > > > The general principle of the new links is an entity to entity link which will\n> > > > be connected by the kernel between a sensor's entity and an entity for a VCM\n> > > > device, where those entities have a fwnode match based on the \"lens-focus\"\n> > > > property against the sensor. These links are then discovered by libcamera and\n> > > > followed to create an instance of the CameraLens class, replacing the matching\n> > > > on driver/device names in Han-Lin's original series.\n> > > >\n> > > > With the CameraLens available to carry out the controlling of the VCM, I have\n> > > > pushed the controls to the pipeline handler and removed both all of that\n> > > > functionality (including the open()/close() of the VCM subdev) from Kate's\n> > > > work instead.\n> > > >\n> > > > Thanks\n> > > > Dan\n> > > >\n> > > > [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> > > > [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> > > > [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> > > >\n> > > > Daniel Scally (5):\n> > > >    libcamera: Add support for ancillary links to MediaLink\n> > > >    libcamera: media_device: Handle ancillary links in populateLinks()\n> > > >    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n> > > >    ipa: ipu3: Send lens controls to pipeline handler\n> > > >    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> > > >\n> > > >   include/libcamera/internal/media_object.h | 10 +++++\n> > > >   include/linux/media.h                     |  1 +\n> > > >   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n> > > >   src/ipa/ipu3/algorithms/af.h              |  3 --\n> > > >   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n> > > >   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n> > > >   src/libcamera/media_object.cpp            | 24 ++++++++++-\n> > > >   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n> > > >   8 files changed, 101 insertions(+), 67 deletions(-)\n> > > >\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 05F82BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 29 Nov 2021 11:42:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2D673605A1;\n\tMon, 29 Nov 2021 12:42:47 +0100 (CET)","from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com\n\t[IPv6:2607:f8b0:4864:20::22f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1EF1A60592\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 29 Nov 2021 12:42:45 +0100 (CET)","by mail-oi1-x22f.google.com with SMTP id bj13so34059188oib.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 29 Nov 2021 03:42:45 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"IS1ppXdS\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=LjJm3yM0BVbw6hepqQMkmksoz/WrP3cmwKzMFDkGM3Y=;\n\tb=IS1ppXdSIMWplFTFfHdooliUHiWhJAWOZCxSncn4HyCgslyw7aDWvxP3hrdsEoFMma\n\tyccW2lKwj0VB7CdgpRl6uYQj9q89r/2o+a7rSi+ispPhFFob7aFaSoZrvHpd/4uqs403\n\tLGBYhYVuVePXyXtQy+ovbEKSKlgmWVNLUnQdI=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=LjJm3yM0BVbw6hepqQMkmksoz/WrP3cmwKzMFDkGM3Y=;\n\tb=Xxp8BsaDEqMUyaG7V7Xysz22ZS2n118STW/Q1TEm13XvcS/LzL4eq5TT4M68uiYgi5\n\tYKT8HDMcr5Wa2ZY53p78kzsA37WCK9eyYMmL0A0ABYTqm3eg1SVTuSQdqO2h/T9N3HeR\n\to+BuwOqyE+LHVxRmOnc1Pvr7j5bU46+no2ZIzW+n7OmPGv2PhpyQLIJfMn5JL8YkdyYY\n\tE2Vrey7V1w9rD+IhUIVf3tbHzOVYVQJcGqwDR7YAGzzyPsLwxq/zaj6TuSxZE7aT9Zgm\n\tG5/QyLJbrSbIs1RgiSNNADHikdD0X/e/P42+FNVM4otiNC021rJsEr20p59+cDtVhmkZ\n\tx4MA==","X-Gm-Message-State":"AOAM533V9VAlrACCy9Urh9T47/pUNd0Q2tB0UrvfL95XeNuDRPEzWFTg\n\tVVbraYQEGnHVLEk/BGGZmZe/ywSR2hmdYwZcy1R+QQ==","X-Google-Smtp-Source":"ABdhPJyuhL3aFFyXv6Te5n43bU7enUbsBJKjGGlHEc/7BBKxGCES/L4QgHEpvIFrEY65OPp5QteB87ZyptFk1wUXJcc=","X-Received":"by 2002:a54:4401:: with SMTP id\n\tk1mr41267002oiw.143.1638186163711; \n\tMon, 29 Nov 2021 03:42:43 -0800 (PST)","MIME-Version":"1.0","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>\n\t<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>","In-Reply-To":"<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>","From":"Hanlin Chen <hanlinchen@chromium.org>","Date":"Mon, 29 Nov 2021 19:42:33 +0800","Message-ID":"<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21377,"web_url":"https://patchwork.libcamera.org/comment/21377/","msgid":"<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>","date":"2021-11-29T23:03:02","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":90,"url":"https://patchwork.libcamera.org/api/people/90/","name":"Daniel Scally","email":"djrscally@gmail.com"},"content":"Hey Hanlin\n\nOn 29/11/2021 11:42, Hanlin Chen wrote:\n> On Fri, Nov 26, 2021 at 8:48 PM Laurent Pinchart\n> <laurent.pinchart@ideasonboard.com> wrote:\n>> Hi Han-lin,\n>>\n>> On Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n>>> On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n>>>> On 26/11/2021 01:31, Daniel Scally wrote:\n>>>>> Hello All\n>>>>>\n>>>>> This series is an attempt at making the incoming VCM support a little more\n>>>>> agnostic, by following the new style of media links described in my series to\n>>>>> linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n>>>>> top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n>>>>> series are pretty neat, by the way)\n>>>> Thanks to all three of you for this great work !\n>>>>\n>>>> How can I test it ? Which kernel for SGo2 is usable (A branch would be\n>>>> great) ?\n>>> Many thanks for the great work, Daniel!\n>>> I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n>> Does it work out of the box, without a need for any kernel or firmware\n>> change ? That would be great, it would certainly facilitate adoption.\n>>\n> I didn't change anything in the firmware or kernel, except for\n> Daniel's patches ;-).\n\n\nExcellent; glad it's working for you. Does that mean you guys are\nincluding some reference between the sensor and vcm device in your ACPI\ndesign then?\n\n>\n>>>>> The general principle of the new links is an entity to entity link which will\n>>>>> be connected by the kernel between a sensor's entity and an entity for a VCM\n>>>>> device, where those entities have a fwnode match based on the \"lens-focus\"\n>>>>> property against the sensor. These links are then discovered by libcamera and\n>>>>> followed to create an instance of the CameraLens class, replacing the matching\n>>>>> on driver/device names in Han-Lin's original series.\n>>>>>\n>>>>> With the CameraLens available to carry out the controlling of the VCM, I have\n>>>>> pushed the controls to the pipeline handler and removed both all of that\n>>>>> functionality (including the open()/close() of the VCM subdev) from Kate's\n>>>>> work instead.\n>>>>>\n>>>>> Thanks\n>>>>> Dan\n>>>>>\n>>>>> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n>>>>> [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n>>>>> [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n>>>>>\n>>>>> Daniel Scally (5):\n>>>>>    libcamera: Add support for ancillary links to MediaLink\n>>>>>    libcamera: media_device: Handle ancillary links in populateLinks()\n>>>>>    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n>>>>>    ipa: ipu3: Send lens controls to pipeline handler\n>>>>>    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n>>>>>\n>>>>>   include/libcamera/internal/media_object.h | 10 +++++\n>>>>>   include/linux/media.h                     |  1 +\n>>>>>   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n>>>>>   src/ipa/ipu3/algorithms/af.h              |  3 --\n>>>>>   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n>>>>>   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n>>>>>   src/libcamera/media_object.cpp            | 24 ++++++++++-\n>>>>>   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n>>>>>   8 files changed, 101 insertions(+), 67 deletions(-)\n>>>>>\n>> --\n>> Regards,\n>>\n>> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 1F308BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 29 Nov 2021 23:03:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 36D06605A0;\n\tTue, 30 Nov 2021 00:03:06 +0100 (CET)","from mail-wr1-x432.google.com (mail-wr1-x432.google.com\n\t[IPv6:2a00:1450:4864:20::432])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2CA6C604FC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 00:03:04 +0100 (CET)","by mail-wr1-x432.google.com with SMTP id d9so19300201wrw.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 29 Nov 2021 15:03:04 -0800 (PST)","from [192.168.0.14]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net. [86.13.91.161])\n\tby smtp.gmail.com with ESMTPSA id\n\tv15sm14992574wro.35.2021.11.29.15.03.02\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tMon, 29 Nov 2021 15:03:03 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"TDoI0dwi\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n\th=subject:to:references:from:message-id:date:user-agent:mime-version\n\t:in-reply-to:content-transfer-encoding:content-language;\n\tbh=AvqRmyiNJWOvn/OZiy1/GMOTYw0kulV4zYazNAvk9t0=;\n\tb=TDoI0dwiJ6bG2A7dlsRD+bdeBh1GKLd8SkAfNsGsy21K3cPGkHqqNaCD6KR+berPPp\n\tkU53NOVI8HsXicLhrS1Aa0oQhwtdEcKNbU+3N9NNGOm03M0QOgDc1U+jRnf+i7aFFn5F\n\tY4A93O19b9Q/OD+eRSUFrjpKCTPpfbo0jy9ZpcQAEamH8McOBmb4UOlp/37qHc79sv+U\n\tb0sozKJfnnszmTPwcuCbBlVJWtYxbC79166yxiyEVsPXIMthZhJvlwrEZ31nv0tM+c2d\n\ttVU1NEoM14gJ76C310vbNxngnkLe7yOMauyw1kmWu7klTlvikSlAixBlx/ucBeiZRn6I\n\tEZ/w==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-transfer-encoding\n\t:content-language;\n\tbh=AvqRmyiNJWOvn/OZiy1/GMOTYw0kulV4zYazNAvk9t0=;\n\tb=wF++kEFEwKi1zjqi/BjTnKtMWnDztApllPSNtKL4rNiB5vnU37PS0kc5LFpWOkpnBY\n\tGjEiWdLBja05QvKGnOSBibvPDV3fytbxujkF+nG0ffr9upimDbIbS5pzVzkZmWSXDhqh\n\tDVIOtibE6i6CzNuWnjT5SVuQ8shXpZwuSJ+uDq49bvMdWVcYUxajkqTUZx7sY67gYXrL\n\tsKDmAJ5OLD4nZsSSd28kgdSFhbbdIgpj35U4vrmwiyGozn5+4H0V4XH1876Fx+eYwTeu\n\t5YdBM1K521uztI407dkoYGTIhvuWTPL0Nj9yM/mVB5sbIAZer8PKCA6jjY9D+Sqcr1s7\n\t/1Hg==","X-Gm-Message-State":"AOAM530G7/lJeMuc65P9LgfzZ4xS74cauUhl3Vu6cUNrm8OqxZl2gf2+\n\tX2qY+fYObgLeo44MiMlAmJ6fCZANaGY=","X-Google-Smtp-Source":"ABdhPJxxaijGomehZ65apfEo4oEBbF3f0h7O97VnEgHpHwzmOOGWTK6mfyMG9FrUF1tek73l5c2K1w==","X-Received":"by 2002:adf:fed0:: with SMTP id\n\tq16mr38609466wrs.276.1638226983652; \n\tMon, 29 Nov 2021 15:03:03 -0800 (PST)","To":"libcamera-devel@lists.libcamera.org","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>\n\t<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>\n\t<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>","From":"Daniel Scally <djrscally@gmail.com>","Message-ID":"<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>","Date":"Mon, 29 Nov 2021 23:03:02 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.14.0","MIME-Version":"1.0","In-Reply-To":"<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21431,"web_url":"https://patchwork.libcamera.org/comment/21431/","msgid":"<CAJAuwMmgU80GGLyuB7L3owfxOu3ky0k0gZtxDP0OdMVCQxjFKQ@mail.gmail.com>","date":"2021-11-30T09:47:17","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":98,"url":"https://patchwork.libcamera.org/api/people/98/","name":"Hanlin Chen","email":"hanlinchen@chromium.org"},"content":"Hi Daniel,\n\nOn Tue, Nov 30, 2021 at 7:03 AM Daniel Scally <djrscally@gmail.com> wrote:\n>\n> Hey Hanlin\n>\n> On 29/11/2021 11:42, Hanlin Chen wrote:\n> > On Fri, Nov 26, 2021 at 8:48 PM Laurent Pinchart\n> > <laurent.pinchart@ideasonboard.com> wrote:\n> >> Hi Han-lin,\n> >>\n> >> On Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n> >>> On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n> >>>> On 26/11/2021 01:31, Daniel Scally wrote:\n> >>>>> Hello All\n> >>>>>\n> >>>>> This series is an attempt at making the incoming VCM support a little more\n> >>>>> agnostic, by following the new style of media links described in my series to\n> >>>>> linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> >>>>> top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> >>>>> series are pretty neat, by the way)\n> >>>> Thanks to all three of you for this great work !\n> >>>>\n> >>>> How can I test it ? Which kernel for SGo2 is usable (A branch would be\n> >>>> great) ?\n> >>> Many thanks for the great work, Daniel!\n> >>> I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n> >> Does it work out of the box, without a need for any kernel or firmware\n> >> change ? That would be great, it would certainly facilitate adoption.\n> >>\n> > I didn't change anything in the firmware or kernel, except for\n> > Daniel's patches ;-).\n>\n>\n> Excellent; glad it's working for you. Does that mean you guys are\n> including some reference between the sensor and vcm device in your ACPI\n> design then?\n>\nI guess so ;-|. It needs some time for the experts on our side to\nconfirm this and see how we should merge them to ChromeOS.\n> >\n> >>>>> The general principle of the new links is an entity to entity link which will\n> >>>>> be connected by the kernel between a sensor's entity and an entity for a VCM\n> >>>>> device, where those entities have a fwnode match based on the \"lens-focus\"\n> >>>>> property against the sensor. These links are then discovered by libcamera and\n> >>>>> followed to create an instance of the CameraLens class, replacing the matching\n> >>>>> on driver/device names in Han-Lin's original series.\n> >>>>>\n> >>>>> With the CameraLens available to carry out the controlling of the VCM, I have\n> >>>>> pushed the controls to the pipeline handler and removed both all of that\n> >>>>> functionality (including the open()/close() of the VCM subdev) from Kate's\n> >>>>> work instead.\n> >>>>>\n> >>>>> Thanks\n> >>>>> Dan\n> >>>>>\n> >>>>> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> >>>>> [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> >>>>> [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> >>>>>\n> >>>>> Daniel Scally (5):\n> >>>>>    libcamera: Add support for ancillary links to MediaLink\n> >>>>>    libcamera: media_device: Handle ancillary links in populateLinks()\n> >>>>>    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n> >>>>>    ipa: ipu3: Send lens controls to pipeline handler\n> >>>>>    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> >>>>>\n> >>>>>   include/libcamera/internal/media_object.h | 10 +++++\n> >>>>>   include/linux/media.h                     |  1 +\n> >>>>>   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n> >>>>>   src/ipa/ipu3/algorithms/af.h              |  3 --\n> >>>>>   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n> >>>>>   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n> >>>>>   src/libcamera/media_object.cpp            | 24 ++++++++++-\n> >>>>>   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n> >>>>>   8 files changed, 101 insertions(+), 67 deletions(-)\n> >>>>>\n> >> --\n> >> Regards,\n> >>\n> >> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 98FABBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 09:47:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D580C605B4;\n\tTue, 30 Nov 2021 10:47:30 +0100 (CET)","from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com\n\t[IPv6:2607:f8b0:4864:20::22c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 23F8D60230\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 10:47:29 +0100 (CET)","by mail-oi1-x22c.google.com with SMTP id t19so40207762oij.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 01:47:29 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"kHlDB+/W\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=Luec7l96IsupZWJ00M80z3K53avdgs1ZbRkr6IWb4v8=;\n\tb=kHlDB+/WdGPKTFJVSgtwo7SECky1LyKcBoXD3I0pENQXk5b+nB0ZfapDIzMc0OHf3A\n\tjXk7FQ4vvviN/PbRKQIMNIFoYSkHqEwBjem3+RVmsqhhkhABoZ39vSqMXNTJ4U5SqLk9\n\tUW5WoDdst1zyJmFMQux3n67m7dfl1WcpjKf88=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=Luec7l96IsupZWJ00M80z3K53avdgs1ZbRkr6IWb4v8=;\n\tb=PyOUlxseQsz+YFUmJW2Rp0SqgXlDDW3pFTr2SILAbHB/1cZ7TdAPY7ywVGDtlxKsqB\n\tIima7E9zlQV+bjRXldP/4jFQCUXS0eBqrQ2ERMtgKagCxOYX1RrV9wRoVBpT+BWo1oRX\n\twRYNs1+bQRI9p5v89v15hWDkTbWkjJzKu6O1G258s93plEYFd8HkFR0ZL7deOlEA1abp\n\te0F95j1Z+78C1YHNatxrIGCoVZdrk6BkmxErCAf63g5i12G8f+0y0HvSPM7+fghX3IZm\n\t/cu4HQwku6kdyDyP7wfGV0X8zoVJdbK+bTVV9n3DIMrznaOgy8pBVZdvmgv0MsHjccGI\n\tujDA==","X-Gm-Message-State":"AOAM531FEAOkrfeUId+AgxdUa15MMSois18+cwHkqw/bPdxw/n5UYdNJ\n\tPig/3jf9SWw1sxJTgq9E0r2KfR0C/TkEiCR7Z05dyg==","X-Google-Smtp-Source":"ABdhPJxfFaiol8lPQMdZWCpe9X3Rxb/9hfVh9zVSLn1JQFSAB7JOd6k5KYSkIVuUgYeU0tqGCa1xl4H+0TMlcRqoUTk=","X-Received":"by 2002:a54:4401:: with SMTP id k1mr3179644oiw.143.1638265647680;\n\tTue, 30 Nov 2021 01:47:27 -0800 (PST)","MIME-Version":"1.0","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>\n\t<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>\n\t<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>\n\t<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>","In-Reply-To":"<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>","From":"Hanlin Chen <hanlinchen@chromium.org>","Date":"Tue, 30 Nov 2021 17:47:17 +0800","Message-ID":"<CAJAuwMmgU80GGLyuB7L3owfxOu3ky0k0gZtxDP0OdMVCQxjFKQ@mail.gmail.com>","To":"Daniel Scally <djrscally@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21446,"web_url":"https://patchwork.libcamera.org/comment/21446/","msgid":"<CAAFQd5BOiLhZ6oJR1dOM9u22hPz+PyGq19B5O_i5Vr3hQGePgQ@mail.gmail.com>","date":"2021-11-30T11:03:40","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":9,"url":"https://patchwork.libcamera.org/api/people/9/","name":"Tomasz Figa","email":"tfiga@chromium.org"},"content":"On Tue, Nov 30, 2021 at 6:47 PM Hanlin Chen <hanlinchen@chromium.org> wrote:\n>\n> Hi Daniel,\n>\n> On Tue, Nov 30, 2021 at 7:03 AM Daniel Scally <djrscally@gmail.com> wrote:\n> >\n> > Hey Hanlin\n> >\n> > On 29/11/2021 11:42, Hanlin Chen wrote:\n> > > On Fri, Nov 26, 2021 at 8:48 PM Laurent Pinchart\n> > > <laurent.pinchart@ideasonboard.com> wrote:\n> > >> Hi Han-lin,\n> > >>\n> > >> On Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n> > >>> On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n> > >>>> On 26/11/2021 01:31, Daniel Scally wrote:\n> > >>>>> Hello All\n> > >>>>>\n> > >>>>> This series is an attempt at making the incoming VCM support a little more\n> > >>>>> agnostic, by following the new style of media links described in my series to\n> > >>>>> linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> > >>>>> top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> > >>>>> series are pretty neat, by the way)\n> > >>>> Thanks to all three of you for this great work !\n> > >>>>\n> > >>>> How can I test it ? Which kernel for SGo2 is usable (A branch would be\n> > >>>> great) ?\n> > >>> Many thanks for the great work, Daniel!\n> > >>> I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n> > >> Does it work out of the box, without a need for any kernel or firmware\n> > >> change ? That would be great, it would certainly facilitate adoption.\n> > >>\n> > > I didn't change anything in the firmware or kernel, except for\n> > > Daniel's patches ;-).\n> >\n> >\n> > Excellent; glad it's working for you. Does that mean you guys are\n> > including some reference between the sensor and vcm device in your ACPI\n> > design then?\n> >\n> I guess so ;-|. It needs some time for the experts on our side to\n> confirm this and see how we should merge them to ChromeOS.\n\nYes, we have the standard lens-focus DT property in the _DSD package:\nhttps://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl#38\n\n> > >\n> > >>>>> The general principle of the new links is an entity to entity link which will\n> > >>>>> be connected by the kernel between a sensor's entity and an entity for a VCM\n> > >>>>> device, where those entities have a fwnode match based on the \"lens-focus\"\n> > >>>>> property against the sensor. These links are then discovered by libcamera and\n> > >>>>> followed to create an instance of the CameraLens class, replacing the matching\n> > >>>>> on driver/device names in Han-Lin's original series.\n> > >>>>>\n> > >>>>> With the CameraLens available to carry out the controlling of the VCM, I have\n> > >>>>> pushed the controls to the pipeline handler and removed both all of that\n> > >>>>> functionality (including the open()/close() of the VCM subdev) from Kate's\n> > >>>>> work instead.\n> > >>>>>\n> > >>>>> Thanks\n> > >>>>> Dan\n> > >>>>>\n> > >>>>> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> > >>>>> [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> > >>>>> [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> > >>>>>\n> > >>>>> Daniel Scally (5):\n> > >>>>>    libcamera: Add support for ancillary links to MediaLink\n> > >>>>>    libcamera: media_device: Handle ancillary links in populateLinks()\n> > >>>>>    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n> > >>>>>    ipa: ipu3: Send lens controls to pipeline handler\n> > >>>>>    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> > >>>>>\n> > >>>>>   include/libcamera/internal/media_object.h | 10 +++++\n> > >>>>>   include/linux/media.h                     |  1 +\n> > >>>>>   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n> > >>>>>   src/ipa/ipu3/algorithms/af.h              |  3 --\n> > >>>>>   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n> > >>>>>   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n> > >>>>>   src/libcamera/media_object.cpp            | 24 ++++++++++-\n> > >>>>>   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n> > >>>>>   8 files changed, 101 insertions(+), 67 deletions(-)\n> > >>>>>\n> > >> --\n> > >> Regards,\n> > >>\n> > >> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 2745CBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 11:03:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D691C605AA;\n\tTue, 30 Nov 2021 12:03:56 +0100 (CET)","from mail-qk1-x731.google.com (mail-qk1-x731.google.com\n\t[IPv6:2607:f8b0:4864:20::731])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 716CC6011A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 12:03:55 +0100 (CET)","by mail-qk1-x731.google.com with SMTP id m192so26291816qke.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 03:03:55 -0800 (PST)","from mail-yb1-f179.google.com (mail-yb1-f179.google.com.\n\t[209.85.219.179]) by smtp.gmail.com with ESMTPSA id\n\td6sm9646166qtq.15.2021.11.30.03.03.51\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tTue, 30 Nov 2021 03:03:51 -0800 (PST)","by mail-yb1-f179.google.com with SMTP id 131so51441141ybc.7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 03:03:51 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"ZE48NrEP\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=mZU8Q+RyIPnTIidpx7QcrUwP5Z39HTsWCw3f7+wdLTU=;\n\tb=ZE48NrEPb9wZ84wVlGQBRh4NpNRSHWdKf0xAP+9aVVEbIKN3QMeUqEZyZR0bKUF5nb\n\tjS+54OEGKfoC3TMQABFPldVmcSGYOo3wzIPx0L2jtZplrVk8bT78lRLl+oHdMByJqfpX\n\tVQkb2Z/9BTbOcOJd30xC9HbwVWBIH35OiLCEI=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=mZU8Q+RyIPnTIidpx7QcrUwP5Z39HTsWCw3f7+wdLTU=;\n\tb=yEgj1knT9eqe99itantlGZ3pI8dPcnJcL2gQT7/jAOUlsKr3B1OKIqjqkIMSHJyFhh\n\tfRby9pbYYYAu1qZDym23LfD8WJ0Qllol7vqqZ095HSbpk8TTJQhH0A8LfBFjeMkLMx61\n\txjo6kPuV8yBpr7mkNdihcupCky0Ui4VCcrVHmopOvYn7YnCfB2atCCF7VZOtBgEaW8te\n\t3GO6ohNnEbAOIDI1JRcOxsL9YW8OcbRLqqYQWFLAl2tSnk0y3nmYnkfsGMgw4atmzRew\n\t+tNuv1yFCyMVfCYWhXOEOP7EByUH6T2W+YBBjk3/RaARx+VLcVwoC2jcbfc4RFY22zZS\n\tUWzg==","X-Gm-Message-State":"AOAM532z9CW0hZy9RVMTrjQadUQYirXGoSbfvfqDPhTPXcolFQ4k3y52\n\tupwEmWVyTZoxOS23blkq7plqL2vTLWT/QQ==","X-Google-Smtp-Source":"ABdhPJwnz7NV+oK6ncBzkR7LnrWQ/Jeb0EK5/3E28iD3jCLUrPDQ/TTPOPeoKtCkIjo9LgbHPkAcbg==","X-Received":["by 2002:a37:9f84:: with SMTP id\n\ti126mr44171632qke.249.1638270232083; \n\tTue, 30 Nov 2021 03:03:52 -0800 (PST)","by 2002:a25:ad27:: with SMTP id\n\ty39mr40585707ybi.494.1638270231168; \n\tTue, 30 Nov 2021 03:03:51 -0800 (PST)"],"MIME-Version":"1.0","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>\n\t<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>\n\t<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>\n\t<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>\n\t<CAJAuwMmgU80GGLyuB7L3owfxOu3ky0k0gZtxDP0OdMVCQxjFKQ@mail.gmail.com>","In-Reply-To":"<CAJAuwMmgU80GGLyuB7L3owfxOu3ky0k0gZtxDP0OdMVCQxjFKQ@mail.gmail.com>","From":"Tomasz Figa <tfiga@chromium.org>","Date":"Tue, 30 Nov 2021 20:03:40 +0900","X-Gmail-Original-Message-ID":"<CAAFQd5BOiLhZ6oJR1dOM9u22hPz+PyGq19B5O_i5Vr3hQGePgQ@mail.gmail.com>","Message-ID":"<CAAFQd5BOiLhZ6oJR1dOM9u22hPz+PyGq19B5O_i5Vr3hQGePgQ@mail.gmail.com>","To":"Hanlin Chen <hanlinchen@chromium.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21447,"web_url":"https://patchwork.libcamera.org/comment/21447/","msgid":"<9a1d79d7-3ab7-082f-c3fd-f9a5e444a804@gmail.com>","date":"2021-11-30T11:12:22","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":90,"url":"https://patchwork.libcamera.org/api/people/90/","name":"Daniel Scally","email":"djrscally@gmail.com"},"content":"Hi Tomasz\n\nOn 30/11/2021 11:03, Tomasz Figa wrote:\n> On Tue, Nov 30, 2021 at 6:47 PM Hanlin Chen <hanlinchen@chromium.org> wrote:\n>> Hi Daniel,\n>>\n>> On Tue, Nov 30, 2021 at 7:03 AM Daniel Scally <djrscally@gmail.com> wrote:\n>>> Hey Hanlin\n>>>\n>>> On 29/11/2021 11:42, Hanlin Chen wrote:\n>>>> On Fri, Nov 26, 2021 at 8:48 PM Laurent Pinchart\n>>>> <laurent.pinchart@ideasonboard.com> wrote:\n>>>>> Hi Han-lin,\n>>>>>\n>>>>> On Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n>>>>>> On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n>>>>>>> On 26/11/2021 01:31, Daniel Scally wrote:\n>>>>>>>> Hello All\n>>>>>>>>\n>>>>>>>> This series is an attempt at making the incoming VCM support a little more\n>>>>>>>> agnostic, by following the new style of media links described in my series to\n>>>>>>>> linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n>>>>>>>> top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n>>>>>>>> series are pretty neat, by the way)\n>>>>>>> Thanks to all three of you for this great work !\n>>>>>>>\n>>>>>>> How can I test it ? Which kernel for SGo2 is usable (A branch would be\n>>>>>>> great) ?\n>>>>>> Many thanks for the great work, Daniel!\n>>>>>> I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n>>>>> Does it work out of the box, without a need for any kernel or firmware\n>>>>> change ? That would be great, it would certainly facilitate adoption.\n>>>>>\n>>>> I didn't change anything in the firmware or kernel, except for\n>>>> Daniel's patches ;-).\n>>>\n>>> Excellent; glad it's working for you. Does that mean you guys are\n>>> including some reference between the sensor and vcm device in your ACPI\n>>> design then?\n>>>\n>> I guess so ;-|. It needs some time for the experts on our side to\n>> confirm this and see how we should merge them to ChromeOS.\n> Yes, we have the standard lens-focus DT property in the _DSD package:\n> https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl#38\n\n\nWell didn't that all work out nice and conveniently! Thanks for\nconfirming, appreciate it :)\n\n>\n>>>>>>>> The general principle of the new links is an entity to entity link which will\n>>>>>>>> be connected by the kernel between a sensor's entity and an entity for a VCM\n>>>>>>>> device, where those entities have a fwnode match based on the \"lens-focus\"\n>>>>>>>> property against the sensor. These links are then discovered by libcamera and\n>>>>>>>> followed to create an instance of the CameraLens class, replacing the matching\n>>>>>>>> on driver/device names in Han-Lin's original series.\n>>>>>>>>\n>>>>>>>> With the CameraLens available to carry out the controlling of the VCM, I have\n>>>>>>>> pushed the controls to the pipeline handler and removed both all of that\n>>>>>>>> functionality (including the open()/close() of the VCM subdev) from Kate's\n>>>>>>>> work instead.\n>>>>>>>>\n>>>>>>>> Thanks\n>>>>>>>> Dan\n>>>>>>>>\n>>>>>>>> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n>>>>>>>> [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n>>>>>>>> [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n>>>>>>>>\n>>>>>>>> Daniel Scally (5):\n>>>>>>>>    libcamera: Add support for ancillary links to MediaLink\n>>>>>>>>    libcamera: media_device: Handle ancillary links in populateLinks()\n>>>>>>>>    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n>>>>>>>>    ipa: ipu3: Send lens controls to pipeline handler\n>>>>>>>>    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n>>>>>>>>\n>>>>>>>>   include/libcamera/internal/media_object.h | 10 +++++\n>>>>>>>>   include/linux/media.h                     |  1 +\n>>>>>>>>   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n>>>>>>>>   src/ipa/ipu3/algorithms/af.h              |  3 --\n>>>>>>>>   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n>>>>>>>>   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n>>>>>>>>   src/libcamera/media_object.cpp            | 24 ++++++++++-\n>>>>>>>>   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n>>>>>>>>   8 files changed, 101 insertions(+), 67 deletions(-)\n>>>>>>>>\n>>>>> --\n>>>>> Regards,\n>>>>>\n>>>>> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C8981BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 11:12:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0923C605AA;\n\tTue, 30 Nov 2021 12:12:26 +0100 (CET)","from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com\n\t[IPv6:2a00:1450:4864:20::42a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 50C2D6011A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 12:12:24 +0100 (CET)","by mail-wr1-x42a.google.com with SMTP id q3so20705425wru.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 03:12:24 -0800 (PST)","from [192.168.0.14]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net. [86.13.91.161])\n\tby smtp.gmail.com with ESMTPSA id\n\tf19sm2408008wmq.34.2021.11.30.03.12.23\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tTue, 30 Nov 2021 03:12:23 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"NbT6x+pV\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n\th=subject:to:cc:references:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-transfer-encoding:content-language; \n\tbh=mTe+zgFgEjLOoVP3//e5Z0vJeQYyi+hSRBh2yfqqinI=;\n\tb=NbT6x+pV1nXeXqUQUApzYWuM29IjJE366ysRfP/bD4nhl9lfzgn23Rp987fjOqRDH3\n\tLd1We+WEAvEV1cJDvZ54bc9r6RAGMg0KEtS++rAJgZWTSOtUYaGylLvpP/of21YWwF2T\n\t2/EOZ0wlDZNOkEwMUeIkcAS0P1lrYEVhoTkY7qMh58ChLfv80xA+pdvDGtCbGbpjJRZ1\n\tp0ljkYIfUR+UsVzEMVs2hMqeYFI0znXSG/HXLBMEr7QyVM/ML2DJ3euygak3TvLAZNNP\n\tk4EKm5BrZidB7sWzGJ0hj+DBxfnvRaRoOkDD5tgCNOwZLZdG6jsIBZRpsaJZ1tJQhgwo\n\tpbuw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:subject:to:cc:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-transfer-encoding\n\t:content-language;\n\tbh=mTe+zgFgEjLOoVP3//e5Z0vJeQYyi+hSRBh2yfqqinI=;\n\tb=Ek8TXYU4ywSUQHs5x8PyTCjcYmhkQ7nzntxnfwc7Dh1Mi/IIJExnZQXeS46d17v6VG\n\tksNBhPE8uHI8GO4do/8LH18P7lP8vvkoCdxgl+SfW7knLDDEvWlsfJSGxpCdoqSTdPyM\n\tuaBVnT/NkyGamXk/sVHy5wsV4pa18qmQo/OshAITzYl/qjWHDuBIijLhJTWVjYjNQOU2\n\tIEPCBwzmIhkzyxIVobDix6cJohANJyTCrG3U6cX3WxrECMwDja2vzKcGUqzKTLd9GUgX\n\thiaG2rUCP8eDq9Lu35Nt8SNWYhx2R3BjkjYQdpnYk1vgime2UGUBHDOgrfva2s569LmL\n\tJ9KA==","X-Gm-Message-State":"AOAM530EZiRrels/5+K2g0AdMTeWBvo/xUYNCNsfEAFi75B0q8PFeYJd\n\tS2YihYr1kX+SC3Fj8Kyk9mMPImCExg0=","X-Google-Smtp-Source":"ABdhPJxgMLGUKiketMsgyN9QDssFh1zhtnAepaoftXEZSaxPXMNW5unX/MJRSx1H7/qkGga4rajg+Q==","X-Received":"by 2002:a5d:47a1:: with SMTP id 1mr39804769wrb.436.1638270743855;\n\tTue, 30 Nov 2021 03:12:23 -0800 (PST)","To":"Tomasz Figa <tfiga@chromium.org>, Hanlin Chen <hanlinchen@chromium.org>","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>\n\t<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>\n\t<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>\n\t<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>\n\t<CAJAuwMmgU80GGLyuB7L3owfxOu3ky0k0gZtxDP0OdMVCQxjFKQ@mail.gmail.com>\n\t<CAAFQd5BOiLhZ6oJR1dOM9u22hPz+PyGq19B5O_i5Vr3hQGePgQ@mail.gmail.com>","From":"Daniel Scally <djrscally@gmail.com>","Message-ID":"<9a1d79d7-3ab7-082f-c3fd-f9a5e444a804@gmail.com>","Date":"Tue, 30 Nov 2021 11:12:22 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.14.0","MIME-Version":"1.0","In-Reply-To":"<CAAFQd5BOiLhZ6oJR1dOM9u22hPz+PyGq19B5O_i5Vr3hQGePgQ@mail.gmail.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21448,"web_url":"https://patchwork.libcamera.org/comment/21448/","msgid":"<CAAFQd5DQc9_JGtN5uP+21MDLMDt2nbwPXBUaJNQ0agkE9zMGZQ@mail.gmail.com>","date":"2021-11-30T11:13:49","subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","submitter":{"id":9,"url":"https://patchwork.libcamera.org/api/people/9/","name":"Tomasz Figa","email":"tfiga@chromium.org"},"content":"On Tue, Nov 30, 2021 at 8:12 PM Daniel Scally <djrscally@gmail.com> wrote:\n>\n> Hi Tomasz\n>\n> On 30/11/2021 11:03, Tomasz Figa wrote:\n> > On Tue, Nov 30, 2021 at 6:47 PM Hanlin Chen <hanlinchen@chromium.org> wrote:\n> >> Hi Daniel,\n> >>\n> >> On Tue, Nov 30, 2021 at 7:03 AM Daniel Scally <djrscally@gmail.com> wrote:\n> >>> Hey Hanlin\n> >>>\n> >>> On 29/11/2021 11:42, Hanlin Chen wrote:\n> >>>> On Fri, Nov 26, 2021 at 8:48 PM Laurent Pinchart\n> >>>> <laurent.pinchart@ideasonboard.com> wrote:\n> >>>>> Hi Han-lin,\n> >>>>>\n> >>>>> On Fri, Nov 26, 2021 at 07:32:51PM +0800, Hanlin Chen wrote:\n> >>>>>> On Fri, Nov 26, 2021 at 2:44 PM Jean-Michel Hautbois wrote:\n> >>>>>>> On 26/11/2021 01:31, Daniel Scally wrote:\n> >>>>>>>> Hello All\n> >>>>>>>>\n> >>>>>>>> This series is an attempt at making the incoming VCM support a little more\n> >>>>>>>> agnostic, by following the new style of media links described in my series to\n> >>>>>>>> linux-media [0] to find VCMs connected to Sensors in libcamera. It's based on\n> >>>>>>>> top of a series from Han-Lin [1] and another from Kate Hsuan [2] (both of which\n> >>>>>>>> series are pretty neat, by the way)\n> >>>>>>> Thanks to all three of you for this great work !\n> >>>>>>>\n> >>>>>>> How can I test it ? Which kernel for SGo2 is usable (A branch would be\n> >>>>>>> great) ?\n> >>>>>> Many thanks for the great work, Daniel!\n> >>>>>> I just tested it on Chromebook with kernel v5.4, and it works perfectly.\n> >>>>> Does it work out of the box, without a need for any kernel or firmware\n> >>>>> change ? That would be great, it would certainly facilitate adoption.\n> >>>>>\n> >>>> I didn't change anything in the firmware or kernel, except for\n> >>>> Daniel's patches ;-).\n> >>>\n> >>> Excellent; glad it's working for you. Does that mean you guys are\n> >>> including some reference between the sensor and vcm device in your ACPI\n> >>> design then?\n> >>>\n> >> I guess so ;-|. It needs some time for the experts on our side to\n> >> confirm this and see how we should merge them to ChromeOS.\n> > Yes, we have the standard lens-focus DT property in the _DSD package:\n> > https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi/cam0.asl#38\n>\n>\n> Well didn't that all work out nice and conveniently! Thanks for\n> confirming, appreciate it :)\n\nYep, thanks a lot for working on this. :)\n\nBest regards,\nTomasz\n\n>\n> >\n> >>>>>>>> The general principle of the new links is an entity to entity link which will\n> >>>>>>>> be connected by the kernel between a sensor's entity and an entity for a VCM\n> >>>>>>>> device, where those entities have a fwnode match based on the \"lens-focus\"\n> >>>>>>>> property against the sensor. These links are then discovered by libcamera and\n> >>>>>>>> followed to create an instance of the CameraLens class, replacing the matching\n> >>>>>>>> on driver/device names in Han-Lin's original series.\n> >>>>>>>>\n> >>>>>>>> With the CameraLens available to carry out the controlling of the VCM, I have\n> >>>>>>>> pushed the controls to the pipeline handler and removed both all of that\n> >>>>>>>> functionality (including the open()/close() of the VCM subdev) from Kate's\n> >>>>>>>> work instead.\n> >>>>>>>>\n> >>>>>>>> Thanks\n> >>>>>>>> Dan\n> >>>>>>>>\n> >>>>>>>> [0] https://patchwork.linuxtv.org/project/linux-media/list/?series=6792\n> >>>>>>>> [1] https://patchwork.libcamera.org/project/libcamera/list/?series=2743\n> >>>>>>>> [2] https://patchwork.libcamera.org/project/libcamera/list/?series=2750\n> >>>>>>>>\n> >>>>>>>> Daniel Scally (5):\n> >>>>>>>>    libcamera: Add support for ancillary links to MediaLink\n> >>>>>>>>    libcamera: media_device: Handle ancillary links in populateLinks()\n> >>>>>>>>    libcamera: ipu3-cio2: Discover VCMs through ancillary links\n> >>>>>>>>    ipa: ipu3: Send lens controls to pipeline handler\n> >>>>>>>>    ipa: ipu3: af: Remove v4l2 interaction from AF algorithm\n> >>>>>>>>\n> >>>>>>>>   include/libcamera/internal/media_object.h | 10 +++++\n> >>>>>>>>   include/linux/media.h                     |  1 +\n> >>>>>>>>   src/ipa/ipu3/algorithms/af.cpp            | 29 +------------\n> >>>>>>>>   src/ipa/ipu3/algorithms/af.h              |  3 --\n> >>>>>>>>   src/ipa/ipu3/ipu3.cpp                     |  4 ++\n> >>>>>>>>   src/libcamera/media_device.cpp            | 52 ++++++++++++++++-------\n> >>>>>>>>   src/libcamera/media_object.cpp            | 24 ++++++++++-\n> >>>>>>>>   src/libcamera/pipeline/ipu3/cio2.cpp      | 45 +++++++++++---------\n> >>>>>>>>   8 files changed, 101 insertions(+), 67 deletions(-)\n> >>>>>>>>\n> >>>>> --\n> >>>>> Regards,\n> >>>>>\n> >>>>> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id EE6AFBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 11:14:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A58EB605B7;\n\tTue, 30 Nov 2021 12:14:04 +0100 (CET)","from mail-qt1-x831.google.com (mail-qt1-x831.google.com\n\t[IPv6:2607:f8b0:4864:20::831])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DF2B86011A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 12:14:02 +0100 (CET)","by mail-qt1-x831.google.com with SMTP id 8so19782303qtx.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 03:14:02 -0800 (PST)","from mail-yb1-f174.google.com (mail-yb1-f174.google.com.\n\t[209.85.219.174]) by smtp.gmail.com with ESMTPSA id\n\tj20sm10569030qtj.43.2021.11.30.03.14.01\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tTue, 30 Nov 2021 03:14:01 -0800 (PST)","by mail-yb1-f174.google.com with SMTP id d10so51539756ybe.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 03:14:01 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"CqOSMH0H\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=lLb3vnnl+UFWBGZv/8DkyK9uPTGC0P/N1KsG5oXXSkk=;\n\tb=CqOSMH0H7bTT4FEGFFQQZrWT77Sa//43fxIQgtChgSAA8hejcObYodwvBoQPUQ3H3o\n\tgNrHDqoUVO2gjfUWuUX8Q/EEKFP/gHq3QkEuouxunHVavpgmhx+85VeB0UQIbTMgeGMN\n\tL7+z5x6/enXG3Q14xuADNSjeShrB9WYyzr/TE=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=lLb3vnnl+UFWBGZv/8DkyK9uPTGC0P/N1KsG5oXXSkk=;\n\tb=4waRUwVHadQ9i708vUAuYgNM1BjCfEOT5nlnSuPL8xbzN3qJeozdawsiio3ZyhBYzl\n\tm+UHK5RshnvkFN1JGeviwGFWzhO3M0Vg6C2WdT417NN8f2GBetuu70C3+EBVUbmVbBV8\n\tPPR42F24jjg9fRKlh0oQVmtFYPViZU0xz12Mh+ZCphGscb9imfLfPbBkCl+Q1ThRRfpV\n\tg7mltFhD8msW3laZe6v3bDoa2FHtMQgMnXwCL7bitUvcHTysN2VXte5tqCpnz0YeFoU4\n\tnEVZAdj9gN+iFqQxQoKW1gw2KX/KYxA2XRvNpJIfx7/NV4wiOVbzvmCjoKZekWUkGMd+\n\t8qig==","X-Gm-Message-State":"AOAM531YLv2WiBXMRv5bzZMTsg22jd9d0CeZfQTLIxwwPOTpru2GMh0F\n\tYo7vrjyO09vrU+S12VFjjd0RNJm5xm/e3T0Z","X-Google-Smtp-Source":"ABdhPJxLTmUcfiIofc+t/7LVdDW+EmqmgR5r9pmhAvyo/WsvWRZ0zcYuAlDFdJ1K3Hp+Kt0hQCIhfw==","X-Received":["by 2002:a05:622a:188a:: with SMTP id\n\tv10mr49430630qtc.297.1638270841539; \n\tTue, 30 Nov 2021 03:14:01 -0800 (PST)","by 2002:a25:acd4:: with SMTP id\n\tx20mr41325292ybd.416.1638270840598; \n\tTue, 30 Nov 2021 03:14:00 -0800 (PST)"],"MIME-Version":"1.0","References":"<20211126003118.42356-1-djrscally@gmail.com>\n\t<e4469fe9-aece-dfb5-7752-85817561bc97@ideasonboard.com>\n\t<CAJAuwMm-Jxf_1UOoRC4QGzuhUCAUX3fJkvfQHg4p2LC5XoB_Cw@mail.gmail.com>\n\t<YaDXoMDEPQb05/Xa@pendragon.ideasonboard.com>\n\t<CAJAuwMnromAtqQ7wwAevwJ1rfs1OamUPD5LpsSH0jGZHdk=fwQ@mail.gmail.com>\n\t<92b288eb-e79d-97d1-2dd8-7eff216bfd9f@gmail.com>\n\t<CAJAuwMmgU80GGLyuB7L3owfxOu3ky0k0gZtxDP0OdMVCQxjFKQ@mail.gmail.com>\n\t<CAAFQd5BOiLhZ6oJR1dOM9u22hPz+PyGq19B5O_i5Vr3hQGePgQ@mail.gmail.com>\n\t<9a1d79d7-3ab7-082f-c3fd-f9a5e444a804@gmail.com>","In-Reply-To":"<9a1d79d7-3ab7-082f-c3fd-f9a5e444a804@gmail.com>","From":"Tomasz Figa <tfiga@chromium.org>","Date":"Tue, 30 Nov 2021 20:13:49 +0900","X-Gmail-Original-Message-ID":"<CAAFQd5DQc9_JGtN5uP+21MDLMDt2nbwPXBUaJNQ0agkE9zMGZQ@mail.gmail.com>","Message-ID":"<CAAFQd5DQc9_JGtN5uP+21MDLMDt2nbwPXBUaJNQ0agkE9zMGZQ@mail.gmail.com>","To":"Daniel Scally <djrscally@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 0/5] Enumerate CameraLens by following\n\tsensor's ancillary links","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]