[{"id":15064,"web_url":"https://patchwork.libcamera.org/comment/15064/","msgid":"<YCGcAY8B2DYFAMA2@oden.dyn.berto.se>","date":"2021-02-08T20:16:01","subject":"Re: [libcamera-devel] [PATCH/RFC] libcamera: camera_sensor: Accept\n\tentities exposing the ISP function","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your work.\n\nOn 2021-02-08 03:39:03 +0200, Laurent Pinchart wrote:\n> Camera sensors can include an ISP, which may be reported as a separate\n> entity from the pixel array in the media graph.\n> \n> Support such sensors by accepting MEDIA_ENT_F_PROC_VIDEO_ISP as a valid\n> entity type. This allows using sensors that can be fully (or at least\n> meaningfully) configured through the ISP's source pad only. Sensors that\n> require further configuration, on the ISP sink pad and/or on the pixel\n> array's source pad, will require further extension to the CameraSensor\n> class.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  src/libcamera/camera_sensor.cpp | 7 ++++++-\n>  1 file changed, 6 insertions(+), 1 deletion(-)\n> \n> This patch depends on the new MEDIA_ENT_F_PROC_VIDEO_ISP entity\n> function, which will be available in v5.12-rc1. I'll update the kernel\n> headers when that kernel will be released, in a few weeks from now.\n\nDo I understand things correctly that such sensors would primarily be \nused with the simple pipeline handler? How would this work if someones \nwires up a sensor with an ISP to a pipeline with an IPA? Is the inline \nISP close to the sensor always \"passive\" and controlled by user-space or \ncan we create a tug-of-war between the sensor inline ISP and a pipeline \nIPA/ISP?\n\n> \n> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> index 59834ffcdd94..8158a84b63db 100644\n> --- a/src/libcamera/camera_sensor.cpp\n> +++ b/src/libcamera/camera_sensor.cpp\n> @@ -198,7 +198,12 @@ int CameraSensor::init()\n>  \t\treturn -EINVAL;\n>  \t}\n>  \n> -\tif (entity_->function() != MEDIA_ENT_F_CAM_SENSOR) {\n> +\tswitch (entity_->function()) {\n> +\tcase MEDIA_ENT_F_CAM_SENSOR:\n> +\tcase MEDIA_ENT_F_PROC_VIDEO_ISP:\n> +\t\tbreak;\n> +\n\nnit: I would remove this blank line.\n\n> +\tdefault:\n>  \t\tLOG(CameraSensor, Error)\n>  \t\t\t<< \"Invalid sensor function \"\n>  \t\t\t<< utils::hex(entity_->function());\n> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 989DBBD162\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  8 Feb 2021 20:16:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2288860D35;\n\tMon,  8 Feb 2021 21:16:05 +0100 (CET)","from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com\n\t[IPv6:2a00:1450:4864:20::12f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6E3FC60D2E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  8 Feb 2021 21:16:03 +0100 (CET)","by mail-lf1-x12f.google.com with SMTP id v5so22211688lft.13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 08 Feb 2021 12:16:03 -0800 (PST)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\ty16sm2149946ljk.34.2021.02.08.12.16.01\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 08 Feb 2021 12:16:02 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"TvE6Rmqw\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=jj7NVN6eS5SMmOufa4Z1ibi50ldFK2GtwaCvbkGfO78=;\n\tb=TvE6RmqwQlt4XZzOlF1Rcrd7XAb5X4s6addu772jIaQzVBz6LfUCZskiF0je2FwMzg\n\tQaxM92MNRbBLSx58ok7+mgwxIkuMrhGs93b2mA8oaOBWIdnZ5u5Oo7XFnDclyW1JFpmI\n\tZEME5wGhC/RRUdoxY0sphy43HlM6SOCqq3hYNkGzXK93434czmlMaL2+XM7urFCiFeVj\n\tVhf+seaDuBhj6+hKzZXAb3ZJP34SGc/jUzH/gJnB/SGVHm/JDGVvD/y4gCVBEKb92vcj\n\tk1P7xcmNQTLe/5hV1RsN3nmLKw1r+mglYY6D3eHMPHQDxX8FMMRCky8xkKQApIngchLp\n\t7R9g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=jj7NVN6eS5SMmOufa4Z1ibi50ldFK2GtwaCvbkGfO78=;\n\tb=ho3L1pyRq84Evakp2NqQ4XwR4XKVRTBWE86Qn1lF1o/mm0X0IFXRR8Mv6n11LiQl7x\n\tjldJyNPC9NtyOFacORrSAaBDHNNpMmPa5nCBY1DNEU2bfsL0kR82j4FL7YboR86k52b+\n\tVLb/cPmZ6wP1ojjG9AwuNNV0GtHSWX5zuV6n4OpN1rXvilYQL/JW9pOag+mmLm+zVZ1N\n\tNhYQQXvbeEISU/5dX/uBm++3DI+Fmo8PyCCGdaq4zcmO7Nhhpac86+AdiFu7omOO5PmZ\n\tkmZ+8EJvWxyK8pDpWy06YE4Peg4K8ur0A8gaeMkCUwsMGw4nQZvj1UD1p9PbhpAKNAgL\n\tKigA==","X-Gm-Message-State":"AOAM530/y8MToCwns+8ZI8iEwLGJBZ8UqY29bWMBIZSqc54EXYGnj9uR\n\tvza7V9v2lZiPQNkH9v026dY5w9Ox/a5kGYX/","X-Google-Smtp-Source":"ABdhPJxygvyhl99Ek3JHH7sPQqWp6DYGSnM93KzWmsXqB240JHytdejAzZ4v4kUHToHio2g3TrrK0w==","X-Received":"by 2002:a05:6512:31c1:: with SMTP id\n\tj1mr11667809lfe.313.1612815362746; \n\tMon, 08 Feb 2021 12:16:02 -0800 (PST)","Date":"Mon, 8 Feb 2021 21:16:01 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<YCGcAY8B2DYFAMA2@oden.dyn.berto.se>","References":"<20210208013903.30915-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210208013903.30915-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH/RFC] libcamera: camera_sensor: Accept\n\tentities exposing the ISP function","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","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15065,"web_url":"https://patchwork.libcamera.org/comment/15065/","msgid":"<YCG8QO8+ZhBOCEbe@pendragon.ideasonboard.com>","date":"2021-02-08T22:33:36","subject":"Re: [libcamera-devel] [PATCH/RFC] libcamera: camera_sensor: Accept\n\tentities exposing the ISP function","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Niklas,\n\nOn Mon, Feb 08, 2021 at 09:16:01PM +0100, Niklas Söderlund wrote:\n> On 2021-02-08 03:39:03 +0200, Laurent Pinchart wrote:\n> > Camera sensors can include an ISP, which may be reported as a separate\n> > entity from the pixel array in the media graph.\n> > \n> > Support such sensors by accepting MEDIA_ENT_F_PROC_VIDEO_ISP as a valid\n> > entity type. This allows using sensors that can be fully (or at least\n> > meaningfully) configured through the ISP's source pad only. Sensors that\n> > require further configuration, on the ISP sink pad and/or on the pixel\n> > array's source pad, will require further extension to the CameraSensor\n> > class.\n> > \n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> >  src/libcamera/camera_sensor.cpp | 7 ++++++-\n> >  1 file changed, 6 insertions(+), 1 deletion(-)\n> > \n> > This patch depends on the new MEDIA_ENT_F_PROC_VIDEO_ISP entity\n> > function, which will be available in v5.12-rc1. I'll update the kernel\n> > headers when that kernel will be released, in a few weeks from now.\n> \n> Do I understand things correctly that such sensors would primarily be \n> used with the simple pipeline handler?\n\nThat's correct, it's the primary target.\n\n> How would this work if someones \n> wires up a sensor with an ISP to a pipeline with an IPA? Is the inline \n> ISP close to the sensor always \"passive\" and controlled by user-space or \n> can we create a tug-of-war between the sensor inline ISP and a pipeline \n> IPA/ISP?\n\nIf someone wired a \"smart\" sensor to an SoC with an ISP, we would likely\nneed to disable one of the two ISPs. Such a design could occur with the\naim of using the camera sensor in raw mode with the SoC-side ISP (if the\ncamera sensor supports raw capture in addition of YUV), or to use the\nsensor-side ISP only. This isn't a situation we support today, and we\nwould need to further extend the CameraSensor class, as well as the\npipeline handlers.\n\nNote that this patch in itself will not cause the CameraSensor class to\nincorrectly try to handle the SoC-side ISP for a raw sensor connected\ndirectly to an SoC ISP entity, as it's the pipeline handler that decides\nwhich entity to pass to the CameraSensor class.\n\n> > diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> > index 59834ffcdd94..8158a84b63db 100644\n> > --- a/src/libcamera/camera_sensor.cpp\n> > +++ b/src/libcamera/camera_sensor.cpp\n> > @@ -198,7 +198,12 @@ int CameraSensor::init()\n> >  \t\treturn -EINVAL;\n> >  \t}\n> >  \n> > -\tif (entity_->function() != MEDIA_ENT_F_CAM_SENSOR) {\n> > +\tswitch (entity_->function()) {\n> > +\tcase MEDIA_ENT_F_CAM_SENSOR:\n> > +\tcase MEDIA_ENT_F_PROC_VIDEO_ISP:\n> > +\t\tbreak;\n> > +\n> \n> nit: I would remove this blank line.\n\nI like the blank line :-) But I can drop it too.\n\n> > +\tdefault:\n> >  \t\tLOG(CameraSensor, Error)\n> >  \t\t\t<< \"Invalid sensor function \"\n> >  \t\t\t<< utils::hex(entity_->function());","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 95931BD162\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  8 Feb 2021 22:34:03 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1E95C613F3;\n\tMon,  8 Feb 2021 23:34:03 +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 3D81360D37\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  8 Feb 2021 23:34:01 +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 B07833D7;\n\tMon,  8 Feb 2021 23:34:00 +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=\"s0V5+i+T\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1612823640;\n\tbh=vibrhqmmKBZNFGgOCBzcqF7qppG+Wq9i4SKiCMENt/Q=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=s0V5+i+Tv4DOS1WuBB6v+KH6b0cwUF6wO7L9dqm6LxPSxfytDMu/yg2/E5UNLINmW\n\t1lf4QGPZbvZ4X6AY/ah7NP5WpEEzP6tFIewN6ji71x3krTLv7c2q7dcsULvAYV4Vph\n\trXAfRycVOLGmX4wisFC5hoUIzfOkdcI2ZgIXijqY=","Date":"Tue, 9 Feb 2021 00:33:36 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","Message-ID":"<YCG8QO8+ZhBOCEbe@pendragon.ideasonboard.com>","References":"<20210208013903.30915-1-laurent.pinchart@ideasonboard.com>\n\t<YCGcAY8B2DYFAMA2@oden.dyn.berto.se>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<YCGcAY8B2DYFAMA2@oden.dyn.berto.se>","Subject":"Re: [libcamera-devel] [PATCH/RFC] libcamera: camera_sensor: Accept\n\tentities exposing the ISP function","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","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":15067,"web_url":"https://patchwork.libcamera.org/comment/15067/","msgid":"<YCHO6UlT9+hJj8R6@oden.dyn.berto.se>","date":"2021-02-08T23:53:13","subject":"Re: [libcamera-devel] [PATCH/RFC] libcamera: camera_sensor: Accept\n\tentities exposing the ISP function","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nOn 2021-02-09 00:33:36 +0200, Laurent Pinchart wrote:\n> Hi Niklas,\n> \n> On Mon, Feb 08, 2021 at 09:16:01PM +0100, Niklas Söderlund wrote:\n> > On 2021-02-08 03:39:03 +0200, Laurent Pinchart wrote:\n> > > Camera sensors can include an ISP, which may be reported as a separate\n> > > entity from the pixel array in the media graph.\n> > > \n> > > Support such sensors by accepting MEDIA_ENT_F_PROC_VIDEO_ISP as a valid\n> > > entity type. This allows using sensors that can be fully (or at least\n> > > meaningfully) configured through the ISP's source pad only. Sensors that\n> > > require further configuration, on the ISP sink pad and/or on the pixel\n> > > array's source pad, will require further extension to the CameraSensor\n> > > class.\n> > > \n> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > > ---\n> > >  src/libcamera/camera_sensor.cpp | 7 ++++++-\n> > >  1 file changed, 6 insertions(+), 1 deletion(-)\n> > > \n> > > This patch depends on the new MEDIA_ENT_F_PROC_VIDEO_ISP entity\n> > > function, which will be available in v5.12-rc1. I'll update the kernel\n> > > headers when that kernel will be released, in a few weeks from now.\n> > \n> > Do I understand things correctly that such sensors would primarily be \n> > used with the simple pipeline handler?\n> \n> That's correct, it's the primary target.\n> \n> > How would this work if someones \n> > wires up a sensor with an ISP to a pipeline with an IPA? Is the inline \n> > ISP close to the sensor always \"passive\" and controlled by user-space or \n> > can we create a tug-of-war between the sensor inline ISP and a pipeline \n> > IPA/ISP?\n> \n> If someone wired a \"smart\" sensor to an SoC with an ISP, we would likely\n> need to disable one of the two ISPs. Such a design could occur with the\n> aim of using the camera sensor in raw mode with the SoC-side ISP (if the\n> camera sensor supports raw capture in addition of YUV), or to use the\n> sensor-side ISP only. This isn't a situation we support today, and we\n> would need to further extend the CameraSensor class, as well as the\n> pipeline handlers.\n> \n> Note that this patch in itself will not cause the CameraSensor class to\n> incorrectly try to handle the SoC-side ISP for a raw sensor connected\n> directly to an SoC ISP entity, as it's the pipeline handler that decides\n> which entity to pass to the CameraSensor class.\n\nThat is cool, just wanted to check I understood the situation. As you \npoint out to support this we will need to extend CameraSensor and doing \nso based on the function is a nice way to do that, in the future. For \nnow I think this patch is doing the right thing to expand the scope of \nthings we support.\n\n> \n> > > diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> > > index 59834ffcdd94..8158a84b63db 100644\n> > > --- a/src/libcamera/camera_sensor.cpp\n> > > +++ b/src/libcamera/camera_sensor.cpp\n> > > @@ -198,7 +198,12 @@ int CameraSensor::init()\n> > >  \t\treturn -EINVAL;\n> > >  \t}\n> > >  \n> > > -\tif (entity_->function() != MEDIA_ENT_F_CAM_SENSOR) {\n> > > +\tswitch (entity_->function()) {\n> > > +\tcase MEDIA_ENT_F_CAM_SENSOR:\n> > > +\tcase MEDIA_ENT_F_PROC_VIDEO_ISP:\n> > > +\t\tbreak;\n> > > +\n> > \n> > nit: I would remove this blank line.\n> \n> I like the blank line :-) But I can drop it too.\n\nThen by all means keep it ;-)\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> \n> > > +\tdefault:\n> > >  \t\tLOG(CameraSensor, Error)\n> > >  \t\t\t<< \"Invalid sensor function \"\n> > >  \t\t\t<< utils::hex(entity_->function());\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 79790BD160\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  8 Feb 2021 23:53:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0E308602FF;\n\tTue,  9 Feb 2021 00:53:16 +0100 (CET)","from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com\n\t[IPv6:2a00:1450:4864:20::12d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4F6D4602FF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Feb 2021 00:53:15 +0100 (CET)","by mail-lf1-x12d.google.com with SMTP id d24so6337281lfs.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 08 Feb 2021 15:53:15 -0800 (PST)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\tt13sm2270492lfc.147.2021.02.08.15.53.13\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 08 Feb 2021 15:53:13 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"EJNRXMtI\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=+azl1vmtapte0w6Tx89FpGfP+tjkSWgI7fSmLrILHVg=;\n\tb=EJNRXMtIjrQb99c1b2BXpIaNkvKBoS+WMAO0ZK2E+TqMOuFg4iqZy5htZiCi0h/5sV\n\tmphvo56K6IVBm94VmyaIpDLyoySCHuuMR22X9tVl0NTr8060fA0Cdyro/JGgRxYYm5rH\n\t68cQt3wjm23rsbpTeXv03ASpaL3kcdj8BsjjoLKQ2GT39e6SBUvYYccJ5X/x3Nh+1Fik\n\t03dtMJmGK0pcBvIM9SVOKGf1pxswQ29IZu0yYgFPkWVZqJbHcNREUDVmI2FlHn+7QbNZ\n\tWFpXtWN/l09xnXj64Q2N8JhxHoeaS7Jv959InKAg7HozkW0AxN78zh4lBx5GilcIsmFH\n\t9ZFQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=+azl1vmtapte0w6Tx89FpGfP+tjkSWgI7fSmLrILHVg=;\n\tb=ZkODlB+dJI7FktciR1VpsQaJHTGMT3TTt0QrNG6D8KMkDouOrO/KCInSzvHtHAcX9p\n\t/mH6uhE1QqbSK384jO038SyP3Ymn2zrRTd65Cl6TXRraJCOv2o4anyaEwIym4gS0u9nJ\n\toTxAMDRUuE0gEv7G7ggV/5+oAEzuOEhaDFoiEZmuyFN83pZCDaWHcKTTOY46JXZOUGvy\n\tcr2VWmisDRvIC8noxR0SM2yz5qG23oth2xMmEjAizaJKgtxJa60OYCTuBIgD9bDVOuaE\n\t2QBlkLrDbqghTYl/wmAd753g7HoXzVieL/c3dteS4LMe59iWN3lobUswY8g+zIrYhgAG\n\tUGeg==","X-Gm-Message-State":"AOAM533vQYom1VjIzchPJzTUFmOJo15j0mCaf9pXsseFyq3RxopKQ3lL\n\tIQS0hPLb9hQ7mX1DEjTGDEsX1g==","X-Google-Smtp-Source":"ABdhPJzh70eiRKxJOw82nz42r7V+qhnHMg2dvu7U1TV2MZNSzAkcBb5gHkRMDBPd2QIeEh6x1kde3Q==","X-Received":"by 2002:ac2:42d5:: with SMTP id\n\tn21mr11912443lfl.154.1612828394590; \n\tMon, 08 Feb 2021 15:53:14 -0800 (PST)","Date":"Tue, 9 Feb 2021 00:53:13 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<YCHO6UlT9+hJj8R6@oden.dyn.berto.se>","References":"<20210208013903.30915-1-laurent.pinchart@ideasonboard.com>\n\t<YCGcAY8B2DYFAMA2@oden.dyn.berto.se>\n\t<YCG8QO8+ZhBOCEbe@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<YCG8QO8+ZhBOCEbe@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH/RFC] libcamera: camera_sensor: Accept\n\tentities exposing the ISP function","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","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]