[{"id":25697,"web_url":"https://patchwork.libcamera.org/comment/25697/","msgid":"<166722470738.15948.4210033390569866566@Monstersaurus>","date":"2022-10-31T13:58:27","subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Nicholas,\n\nQuoting Nicholas Roth via libcamera-devel (2022-10-30 23:05:00)\n> Currently, libcamera does not have information for the ov8858 sensor\n> used in the PinePhone Pro, a phone designed to run Linux.\n> \n> This commit adds metadata, especially that sensor gain is reported and\n> set in 1/16 discrete increments.\n> \n> For more information, see \"5.8 manual exposure compensation/ manual\n> gain compensation\" in [0] and the driver in [1].\n> \n> [0] http://www.ahdsensor.com/uploadfile/202008/55322e75316871.pdf\n> [1] https://github.com/megous/linux/blob/orange-pi-5.19/drivers/media/i2c/ov8858.c\n> \n> Signed-off-by: Nicholas Roth <nicholas@rothemail.net>\n> ---\n>  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n>  src/libcamera/camera_sensor_properties.cpp | 14 ++++++++++++++\n>  2 files changed, 25 insertions(+)\n> \n> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> index 35056bec..f2040cbd 100644\n> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> @@ -476,6 +476,17 @@ public:\n>  };\n>  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n>  \n> +class CameraSensorHelperOv8858 : public CameraSensorHelper\n> +{\n> +public:\n> +       CameraSensorHelperOv8858()\n> +       {\n> +               gainType_ = AnalogueGainLinear;\n> +               gainConstants_.linear = { 1, 0, 0, 16 };\n> +       }\n> +};\n> +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n\n\"My OV8858 is the second on the rear.\" Suddenly this doesn't work.\n- So we can only use \"ov8858\" here.\n\nWe 'could' add a dupliate entry as \n\n+/*\n+ * \\todo: Deprecated: The PinePhonePro has devices listed as m00_f_ov8858.\n+ *        This entry should be removed as soon as the ov8858 driver is\n+ *        accepted into a mainline kernel.\n+ */\n+REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n+REGISTER_CAMERA_SENSOR_HELPER(\"ov8858\", CameraSensorHelperOv8858)\n\nBut the problem there, is that suddenly users will find it 'works' until\nthe driver gets into mainline, when it breaks. Given that the correct\napproach at that point will be to update to use the mainline driver,\nperhaps that's ok ... but I fear potentially unhappy users.\n\nAnd perhaps also worryingly, it removes the impetus to get the driver\nmainlined!\n\nSo accepting 'm00_f_ov8858' at all ... seems to be really tricky.\n\nWith just ov8858, and the 1.12 fix below this patch could probably go in\nquite rapidly though. You could easily have the \n\n+REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n\nline locally while developing, but I'd expect that your device should be\nquickly moving along with the mainline integration, so you probably\nwouldn't need it.\n\n\n\n> +\n>  class CameraSensorHelperOv8865 : public CameraSensorHelper\n>  {\n>  public:\n> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> index e5f27f06..d0757c15 100644\n> --- a/src/libcamera/camera_sensor_properties.cpp\n> +++ b/src/libcamera/camera_sensor_properties.cpp\n> @@ -146,6 +146,20 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>                                  */\n>                         },\n>                 } },\n> +               { \"m00_f_ov8858\", {\n\nAnd it won't be as short to support here here, I guess the whole table\ncould be duplicated, but actually - missing camera-sensor properties\ndon't cause the camera to fail to load - so I think this should simply\nbe kept as ov8858 only.\n\n\n> +                       .unitCellSize = { 1200, 1200 },\n\nhttp://www.ahdsensor.com/uploadfile/202008/55322e75316871.pdf states\nthis should be 1120, 1120.\n\n >> 1.12 μm x 1.12 μm pixel with OmniBSI-3™ technology\n\n> +                       .testPatternModes = {\n> +                               { controls::draft::TestPatternModeOff, 0 },\n> +                               { controls::draft::TestPatternModeColorBars, 1 },\n> +                               /*\n> +                                * No best corresponding test pattern for:\n> +                                * 1: \"Vertical Color Bar Type 1\",\n> +                                * 2: \"Vertical Color Bar Type 2\",\n> +                                * 3: \"Vertical Color Bar Type 3\",\n> +                                * 4: \"Vertical Color Bar Type 4\"\n> +                                */\n> +                       },\n> +               } },\n>                 { \"ov8865\", {\n>                         .unitCellSize = { 1400, 1400 },\n>                         .testPatternModes = {\n> -- \n> 2.34.1\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 7AC3ABD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 31 Oct 2022 13:58:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BA15C6303D;\n\tMon, 31 Oct 2022 14:58:31 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BC1D663032\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Oct 2022 14:58:30 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 52B2D7C5;\n\tMon, 31 Oct 2022 14:58:30 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667224711;\n\tbh=T0dCE6RWE6r8Ys1MGosj5IfOeHYQYHGx1ZzKJPkUHw8=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=SUY74CovVqSlxq4c3G7sNxQlhRLm4N3vKgNibJ5QzTJKyS21AxWa+ei46Yro/pXWo\n\tR/O5tqs8yF71nFBFZKle+zMjpzGhPAVepPGoVQ+cTjjZvEDnklBQi9AvCXfFVd0N25\n\t9CvsB0M48NnK6HmsyXOIcuo2HHUy/VRUgA/z078pYweMwg3Bt5to674Lo2XDXo7dNJ\n\tSuz3kHpF6cAlaaOWtYpF5RbmF/daAHlQZyqXKhC8ssym2WBPyHeqjkvBzgNtmXMOdo\n\thG8g6iyNFsBSR/89puIDNSdNnNwRegtHiT2LgrRVcbkbHsBkGtrp3DNlFXp7vwZvBg\n\t0apjEYwjwk/yw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1667224710;\n\tbh=T0dCE6RWE6r8Ys1MGosj5IfOeHYQYHGx1ZzKJPkUHw8=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=INnlmy1T1qHbPyR1O7fHoeHmPkOJxwu+PL7xbijrWmbe3NgGECFAq5Rt9VFAqdnqw\n\tJZ9i9BsHK8pTM+cvQHxnfL37FIwegjWOHqfOnccj3Pu+wOkzUHMypZ9PrxRmREM71l\n\tZXZXHgbs+EqxXzM8gdXRiw9nNf2ukMlMM/rgyYcA="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"INnlmy1T\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20221030230500.74842-6-nicholas@rothemail.net>","References":"<20221030230500.74842-1-nicholas@rothemail.net>\n\t<20221030230500.74842-6-nicholas@rothemail.net>","To":"Nicholas Roth <nicholas@rothemail.net>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 31 Oct 2022 13:58:27 +0000","Message-ID":"<166722470738.15948.4210033390569866566@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","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>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Nicholas Roth <nicholas@rothemail.net>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25698,"web_url":"https://patchwork.libcamera.org/comment/25698/","msgid":"<CAD2rFCp9UhiYO5N4URzw7VU+vLrGDVJcxmekr0MGNgVDHfQHsQ@mail.gmail.com>","date":"2022-10-31T16:22:40","subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","submitter":{"id":137,"url":"https://patchwork.libcamera.org/api/people/137/","name":"Nicholas Roth","email":"nicholas@rothemail.net"},"content":"> So accepting 'm00_f_ov8858' at all ... seems to be really tricky.\n\nWhat I was trying to say in my earlier email is that the only requirement\nfor the v4l2 \"name\" field be unique, although there are conventions. See\ncomments above the regex logic\nin libcamera/src/libcamera/v4l2_subdevice.cpp.\n\nThe current driver isn't doing anything that breaks the rules here as far\nas I can tell.\n\nA quick fix might be to modify the regex. A better fix might be to\nduplicate the logic in the Android HAL, which correctly reports the sensor\nas an \"ov8858\". Modifying the driver is an option as well, but for reasons\npointed out above that will be problematic due to the downstream convention.\n\n-Nicholas\n\n\nOn Mon, Oct 31, 2022 at 8:58 AM Kieran Bingham <\nkieran.bingham@ideasonboard.com> wrote:\n\n> Hi Nicholas,\n>\n> Quoting Nicholas Roth via libcamera-devel (2022-10-30 23:05:00)\n> > Currently, libcamera does not have information for the ov8858 sensor\n> > used in the PinePhone Pro, a phone designed to run Linux.\n> >\n> > This commit adds metadata, especially that sensor gain is reported and\n> > set in 1/16 discrete increments.\n> >\n> > For more information, see \"5.8 manual exposure compensation/ manual\n> > gain compensation\" in [0] and the driver in [1].\n> >\n> > [0] http://www.ahdsensor.com/uploadfile/202008/55322e75316871.pdf\n> > [1]\n> https://github.com/megous/linux/blob/orange-pi-5.19/drivers/media/i2c/ov8858.c\n> >\n> > Signed-off-by: Nicholas Roth <nicholas@rothemail.net>\n> > ---\n> >  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n> >  src/libcamera/camera_sensor_properties.cpp | 14 ++++++++++++++\n> >  2 files changed, 25 insertions(+)\n> >\n> > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp\n> b/src/ipa/libipa/camera_sensor_helper.cpp\n> > index 35056bec..f2040cbd 100644\n> > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > @@ -476,6 +476,17 @@ public:\n> >  };\n> >  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n> >\n> > +class CameraSensorHelperOv8858 : public CameraSensorHelper\n> > +{\n> > +public:\n> > +       CameraSensorHelperOv8858()\n> > +       {\n> > +               gainType_ = AnalogueGainLinear;\n> > +               gainConstants_.linear = { 1, 0, 0, 16 };\n> > +       }\n> > +};\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n>\n> \"My OV8858 is the second on the rear.\" Suddenly this doesn't work.\n> - So we can only use \"ov8858\" here.\n>\n> We 'could' add a dupliate entry as\n>\n> +/*\n> + * \\todo: Deprecated: The PinePhonePro has devices listed as m00_f_ov8858.\n> + *        This entry should be removed as soon as the ov8858 driver is\n> + *        accepted into a mainline kernel.\n> + */\n> +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n> +REGISTER_CAMERA_SENSOR_HELPER(\"ov8858\", CameraSensorHelperOv8858)\n>\n> But the problem there, is that suddenly users will find it 'works' until\n> the driver gets into mainline, when it breaks. Given that the correct\n> approach at that point will be to update to use the mainline driver,\n> perhaps that's ok ... but I fear potentially unhappy users.\n>\n> And perhaps also worryingly, it removes the impetus to get the driver\n> mainlined!\n>\n> So accepting 'm00_f_ov8858' at all ... seems to be really tricky.\n>\n> With just ov8858, and the 1.12 fix below this patch could probably go in\n> quite rapidly though. You could easily have the\n>\n> +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n>\n> line locally while developing, but I'd expect that your device should be\n> quickly moving along with the mainline integration, so you probably\n> wouldn't need it.\n>\n>\n>\n> > +\n> >  class CameraSensorHelperOv8865 : public CameraSensorHelper\n> >  {\n> >  public:\n> > diff --git a/src/libcamera/camera_sensor_properties.cpp\n> b/src/libcamera/camera_sensor_properties.cpp\n> > index e5f27f06..d0757c15 100644\n> > --- a/src/libcamera/camera_sensor_properties.cpp\n> > +++ b/src/libcamera/camera_sensor_properties.cpp\n> > @@ -146,6 +146,20 @@ const CameraSensorProperties\n> *CameraSensorProperties::get(const std::string &sen\n> >                                  */\n> >                         },\n> >                 } },\n> > +               { \"m00_f_ov8858\", {\n>\n> And it won't be as short to support here here, I guess the whole table\n> could be duplicated, but actually - missing camera-sensor properties\n> don't cause the camera to fail to load - so I think this should simply\n> be kept as ov8858 only.\n>\n>\n> > +                       .unitCellSize = { 1200, 1200 },\n>\n> http://www.ahdsensor.com/uploadfile/202008/55322e75316871.pdf states\n> this should be 1120, 1120.\n>\n>  >> 1.12 μm x 1.12 μm pixel with OmniBSI-3™ technology\n>\n> > +                       .testPatternModes = {\n> > +                               { controls::draft::TestPatternModeOff, 0\n> },\n> > +                               {\n> controls::draft::TestPatternModeColorBars, 1 },\n> > +                               /*\n> > +                                * No best corresponding test pattern\n> for:\n> > +                                * 1: \"Vertical Color Bar Type 1\",\n> > +                                * 2: \"Vertical Color Bar Type 2\",\n> > +                                * 3: \"Vertical Color Bar Type 3\",\n> > +                                * 4: \"Vertical Color Bar Type 4\"\n> > +                                */\n> > +                       },\n> > +               } },\n> >                 { \"ov8865\", {\n> >                         .unitCellSize = { 1400, 1400 },\n> >                         .testPatternModes = {\n> > --\n> > 2.34.1\n> >\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 9AF2EBDB16\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 31 Oct 2022 16:22:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C9F8A63032;\n\tMon, 31 Oct 2022 17:22:54 +0100 (CET)","from mail-il1-x132.google.com (mail-il1-x132.google.com\n\t[IPv6:2607:f8b0:4864:20::132])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 93D3663032\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Oct 2022 17:22:52 +0100 (CET)","by mail-il1-x132.google.com with SMTP id 7so6428301ilg.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Oct 2022 09:22:52 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667233374;\n\tbh=tD3Ki9LAjhbJHJbyCM3m0Rcjj9WOPLlf6SUT1Dvwet4=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=mYoYnGX2cAh7bzlP3OaSzHDTY899PSayE2T2qTCTtrqDZ0sDjIckWz3UzYKSkNyeg\n\txm3fa41OOA9jJmdlz0z5pKyemSK6fsugGmwSVem2CUGBP1O9u7JqJSoEdCLT7UliLJ\n\trdDb/nQUv/e/duNTs2Rnn3IMDB2hvLT3q98vCKdtgw8Iti7SmtkxUAjdjRyI4HMLTY\n\ti68irzbGepRy8fxd9YwcPxf880eeyAxO/ibcoYKAGTIRTHfImdsji763ZFYBNx9HI3\n\tsoSWR3FE0SQvTJz8ZGR2rwih9htj8RJ8FTddey/6PuH8MjYq1agtdW9FZQMpA4boCK\n\tL3TEozt2XGYMw==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=rothemail-net.20210112.gappssmtp.com; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=78Xm8bfPnabjL+rBTgpAu6xKg40YhvgTM5/VL1u6Rks=;\n\tb=cVlHCI8L7uFc/yDoY2Tf9zMKffuYxX7D8r8zTGxzFSrRC/yVplFIbElb0YC3dhOag4\n\tQs9wDIJwq4Oc0rnmdh9Ebbhy301hxuPieVRuEoX1p5bzs4un22OPegvofOj4JBXI8agh\n\tiUX5jbldsmLi7j+RCxoQ9e3YdD1wofXjtZrK4cZTtxhzhRH7q+kFKlgxkn+oyuOIGPbh\n\tMrlc0DK2Fncw9sSVrh5jqXYwhznWZ4+fyypL4pFmXfz+CdizB31TXwklpxJv4+pasAeS\n\tb5wkMS6htOqKjiWRRk27dKSRIKJS9pswBvrQEQl1p8J46pcSWQNe0C0MqnjsM5nZlYOi\n\tjovg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=rothemail-net.20210112.gappssmtp.com\n\theader.i=@rothemail-net.20210112.gappssmtp.com header.b=\"cVlHCI8L\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=78Xm8bfPnabjL+rBTgpAu6xKg40YhvgTM5/VL1u6Rks=;\n\tb=ygU2WB3UoYh1b5MB9NJRS1+H2LyawbiavnKKJ4aaCRxc2O+rNz70R7GujNHRKKpNjS\n\tG6e4rIbpr1Q9QAz2oRmbqXKuBIFNmSG6Le76IytD/++/32AAkaxzi+H3ZmgRjgQefNm0\n\tA9EXiJS0HVIs6eSo5FDlEWTaTXlmSGCZCi9Alai0fL81dnsSgpyTGwCzJs37qFcdH1gq\n\tvKVjCZ3gh89YUhZZgNBQktnV+P2es0DjhAIIXl9RokM3xOMpS/5b4a0C2uytw5C889ly\n\tyIk/od12qGbd5jMtkSB/5SBVxsar/LQNP3PdvyP200Z5qTqRb3VagdDvPNHQLf7NLF66\n\tXouA==","X-Gm-Message-State":"ACrzQf1PjnKwRL9TwAQuKsH/eHl1PALzzOEN5fa6l9FcvkdQFB6wC686\n\txF4PDh+Cam7Dh6WpzqZNJBLxd4lD4XG9kSN2YTbo9w==","X-Google-Smtp-Source":"AMsMyM7nlRNXvoCT1ZTvXdqS9nFhXcukKV/HoQaYs67OHUoBfRbPh7h5QOXsdJPGvdLYo825cUba2+efEK/xMLyQ7VI=","X-Received":"by 2002:a05:6e02:174b:b0:300:5dbf:5568 with SMTP id\n\ty11-20020a056e02174b00b003005dbf5568mr7050200ill.214.1667233370814;\n\tMon, 31 Oct 2022 09:22:50 -0700 (PDT)","MIME-Version":"1.0","References":"<20221030230500.74842-1-nicholas@rothemail.net>\n\t<20221030230500.74842-6-nicholas@rothemail.net>\n\t<166722470738.15948.4210033390569866566@Monstersaurus>","In-Reply-To":"<166722470738.15948.4210033390569866566@Monstersaurus>","Date":"Mon, 31 Oct 2022 11:22:40 -0500","Message-ID":"<CAD2rFCp9UhiYO5N4URzw7VU+vLrGDVJcxmekr0MGNgVDHfQHsQ@mail.gmail.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000d357e905ec5704c5\"","Subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","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>","From":"Nicholas Roth via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Nicholas Roth <nicholas@rothemail.net>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25699,"web_url":"https://patchwork.libcamera.org/comment/25699/","msgid":"<166723607639.15953.2551627796079213260@Monstersaurus>","date":"2022-10-31T17:07:56","subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Nicholas,\n\n Cc Sakari (Sensor drivers maintainer for the Kernel).\n\nQuoting Nicholas Roth (2022-10-31 16:22:40)\n> > So accepting 'm00_f_ov8858' at all ... seems to be really tricky.\n> \n> What I was trying to say in my earlier email is that the only requirement\n> for the v4l2 \"name\" field be unique, although there are conventions. See\n> comments above the regex logic\n> in libcamera/src/libcamera/v4l2_subdevice.cpp.\n\n   * - The most common rule, used by I2C sensors, associates the model\n   *   name with the I2C bus number and address (e.g. 'imx219 0-0010').\n\nThe OV8858 is an I2C controlled sensor though right ? So we should\nfollow the same convention.\n\n\n> The current driver isn't doing anything that breaks the rules here as far\n> as I can tell.\n> \n> A quick fix might be to modify the regex. A better fix might be to\n> duplicate the logic in the Android HAL, which correctly reports the sensor\n> as an \"ov8858\". Modifying the driver is an option as well, but for reasons\n> pointed out above that will be problematic due to the downstream convention.\n\nI understand, however there may be many downstream conventions, and only\none upstream convention (for I2C based sensors).\n\nYour development will help downstream. When your driver is accepted\nupstream, it will end up in their kernel. Either by them chosing to move\nto it immediately, or when they rebase to a kernel where yours is\nmerged. If they have pain from things changing, that is only due to the\nfact that they did not post it themselves at the earliest opportunity.\n\n\nMaking libcamera compatible with lots of defined and undefined\ndownstream conventions, vs - the conventions used in mainline, provides\nclear differences in maintenance and support.\n\nFor instance, How should we generically handle another platform that\nuses a convention of\n  \"ov5640-front-0\",\nand another one that has \n  \"FL IMX602\"?\n\n\nYou are (rightly, it's the device you have) looking at this from the\npoint of view of getting libcamera to work on a single device, while we\nlook at it from a point of view of having this camera work on /any/\ndevice. Imagine that once you have your driver merged in the kernel, you\nwill connect an OV8858 to a Raspberry Pi, and then use libcamera with\nit.\n\nIf you are able to convince Sakari and Hans (who will maintain and\nhandle the OV8858 driver in the kernel), that the name should be kept as\nit is, then we would have to consider how we'll track the naming in\nlibcamera.  But ... I will be surprised.\n\n--\nKieran\n\n \n> -Nicholas\n> \n> \n> On Mon, Oct 31, 2022 at 8:58 AM Kieran Bingham <\n> kieran.bingham@ideasonboard.com> wrote:\n> \n> > Hi Nicholas,\n> >\n> > Quoting Nicholas Roth via libcamera-devel (2022-10-30 23:05:00)\n> > > Currently, libcamera does not have information for the ov8858 sensor\n> > > used in the PinePhone Pro, a phone designed to run Linux.\n> > >\n> > > This commit adds metadata, especially that sensor gain is reported and\n> > > set in 1/16 discrete increments.\n> > >\n> > > For more information, see \"5.8 manual exposure compensation/ manual\n> > > gain compensation\" in [0] and the driver in [1].\n> > >\n> > > [0] http://www.ahdsensor.com/uploadfile/202008/55322e75316871.pdf\n> > > [1]\n> > https://github.com/megous/linux/blob/orange-pi-5.19/drivers/media/i2c/ov8858.c\n> > >\n> > > Signed-off-by: Nicholas Roth <nicholas@rothemail.net>\n> > > ---\n> > >  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n> > >  src/libcamera/camera_sensor_properties.cpp | 14 ++++++++++++++\n> > >  2 files changed, 25 insertions(+)\n> > >\n> > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp\n> > b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > index 35056bec..f2040cbd 100644\n> > > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > @@ -476,6 +476,17 @@ public:\n> > >  };\n> > >  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n> > >\n> > > +class CameraSensorHelperOv8858 : public CameraSensorHelper\n> > > +{\n> > > +public:\n> > > +       CameraSensorHelperOv8858()\n> > > +       {\n> > > +               gainType_ = AnalogueGainLinear;\n> > > +               gainConstants_.linear = { 1, 0, 0, 16 };\n> > > +       }\n> > > +};\n> > > +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n> >\n> > \"My OV8858 is the second on the rear.\" Suddenly this doesn't work.\n> > - So we can only use \"ov8858\" here.\n> >\n> > We 'could' add a dupliate entry as\n> >\n> > +/*\n> > + * \\todo: Deprecated: The PinePhonePro has devices listed as m00_f_ov8858.\n> > + *        This entry should be removed as soon as the ov8858 driver is\n> > + *        accepted into a mainline kernel.\n> > + */\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"ov8858\", CameraSensorHelperOv8858)\n> >\n> > But the problem there, is that suddenly users will find it 'works' until\n> > the driver gets into mainline, when it breaks. Given that the correct\n> > approach at that point will be to update to use the mainline driver,\n> > perhaps that's ok ... but I fear potentially unhappy users.\n> >\n> > And perhaps also worryingly, it removes the impetus to get the driver\n> > mainlined!\n> >\n> > So accepting 'm00_f_ov8858' at all ... seems to be really tricky.\n> >\n> > With just ov8858, and the 1.12 fix below this patch could probably go in\n> > quite rapidly though. You could easily have the\n> >\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"m00_f_ov8858\", CameraSensorHelperOv8858)\n> >\n> > line locally while developing, but I'd expect that your device should be\n> > quickly moving along with the mainline integration, so you probably\n> > wouldn't need it.\n> >\n> >\n> >\n> > > +\n> > >  class CameraSensorHelperOv8865 : public CameraSensorHelper\n> > >  {\n> > >  public:\n> > > diff --git a/src/libcamera/camera_sensor_properties.cpp\n> > b/src/libcamera/camera_sensor_properties.cpp\n> > > index e5f27f06..d0757c15 100644\n> > > --- a/src/libcamera/camera_sensor_properties.cpp\n> > > +++ b/src/libcamera/camera_sensor_properties.cpp\n> > > @@ -146,6 +146,20 @@ const CameraSensorProperties\n> > *CameraSensorProperties::get(const std::string &sen\n> > >                                  */\n> > >                         },\n> > >                 } },\n> > > +               { \"m00_f_ov8858\", {\n> >\n> > And it won't be as short to support here here, I guess the whole table\n> > could be duplicated, but actually - missing camera-sensor properties\n> > don't cause the camera to fail to load - so I think this should simply\n> > be kept as ov8858 only.\n> >\n> >\n> > > +                       .unitCellSize = { 1200, 1200 },\n> >\n> > http://www.ahdsensor.com/uploadfile/202008/55322e75316871.pdf states\n> > this should be 1120, 1120.\n> >\n> >  >> 1.12 μm x 1.12 μm pixel with OmniBSI-3™ technology\n> >\n> > > +                       .testPatternModes = {\n> > > +                               { controls::draft::TestPatternModeOff, 0\n> > },\n> > > +                               {\n> > controls::draft::TestPatternModeColorBars, 1 },\n> > > +                               /*\n> > > +                                * No best corresponding test pattern\n> > for:\n> > > +                                * 1: \"Vertical Color Bar Type 1\",\n> > > +                                * 2: \"Vertical Color Bar Type 2\",\n> > > +                                * 3: \"Vertical Color Bar Type 3\",\n> > > +                                * 4: \"Vertical Color Bar Type 4\"\n> > > +                                */\n> > > +                       },\n> > > +               } },\n> > >                 { \"ov8865\", {\n> > >                         .unitCellSize = { 1400, 1400 },\n> > >                         .testPatternModes = {\n> > > --\n> > > 2.34.1\n> > >\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 2C247BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 31 Oct 2022 17:08:01 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9CADA6303F;\n\tMon, 31 Oct 2022 18:08:00 +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 5963563032\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Oct 2022 18:07:59 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C543A7C5;\n\tMon, 31 Oct 2022 18:07:58 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667236080;\n\tbh=9MKarTdIXR4/0blGMnDgtc1w6qWB6fPuIcAiT6ZP7LY=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=KXS7chAPPEaU9xA8pyTInyMsa9i6AS1XR4PIVU9tYGAy8xlG0eTthAqshvtfPf0ok\n\tNs5j07NdR8Ju7SToCoMZyO8mXw3a3LLRvRZRlLAIX7a5qkxXKXd0ybEOfbhGuz1t4/\n\tDF6SglpHfBWu9+oDNoDrpAkUFydd/Z2xLWPrqOP3jZ0Ds5GXwlpqqq+FKCB5MfOhl8\n\t3dDyLwaDXaFrCG0r9dpoAb13abR5ncKEAhJDiPo4MLAfXzsjvi0mukVOZXAnYZOf/r\n\t5GyCi/2vKQR7gPnTkknwz29rr9rOL8mEDTVcwuzhtC4Wbb14AyCczdXtyK/OqZC7HT\n\tWH3d/F26y1J6w==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1667236078;\n\tbh=9MKarTdIXR4/0blGMnDgtc1w6qWB6fPuIcAiT6ZP7LY=;\n\th=In-Reply-To:References:Subject:From:To:Cc:Date:From;\n\tb=tVC9K1m4t6s+TpYAkcaCVX1iIkVbHk8VEOiEthCu6caxnV8+yDFyFFnJ8lYRumG6E\n\tY5tI5C1NZxvEs8haMdatLXYjPje4js2cWCi9b0t7wzFo/0BnqPRCCs6RYWGmquRZN4\n\toL0oKmT0Kh2x7rJJHGMOI9P6HfepTNscB+PHmaOU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"tVC9K1m4\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<CAD2rFCp9UhiYO5N4URzw7VU+vLrGDVJcxmekr0MGNgVDHfQHsQ@mail.gmail.com>","References":"<20221030230500.74842-1-nicholas@rothemail.net>\n\t<20221030230500.74842-6-nicholas@rothemail.net>\n\t<166722470738.15948.4210033390569866566@Monstersaurus>\n\t<CAD2rFCp9UhiYO5N4URzw7VU+vLrGDVJcxmekr0MGNgVDHfQHsQ@mail.gmail.com>","To":"Nicholas Roth <nicholas@rothemail.net>","Date":"Mon, 31 Oct 2022 17:07:56 +0000","Message-ID":"<166723607639.15953.2551627796079213260@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","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>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tSakari Ailus <sakari.ailus@linux.intel.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25708,"web_url":"https://patchwork.libcamera.org/comment/25708/","msgid":"<Y2EMNW4+Yc75/02U@paasikivi.fi.intel.com>","date":"2022-11-01T12:08:21","subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","submitter":{"id":37,"url":"https://patchwork.libcamera.org/api/people/37/","name":"Sakari Ailus","email":"sakari.ailus@linux.intel.com"},"content":"Hi Nicholas, Kieran,\n\nOn Mon, Oct 31, 2022 at 05:07:56PM +0000, Kieran Bingham wrote:\n> If you are able to convince Sakari and Hans (who will maintain and\n> handle the OV8858 driver in the kernel), that the name should be kept as\n> it is, then we would have to consider how we'll track the naming in\n> libcamera.  But ... I will be surprised.\n\nFor now you should just let v4l2_i2c_subdev_set_name() set the sub-device\nname field unless you really need something special (see e.g. the CCS\ndriver). We should also pass information on the module to user space but\nhow to do that has not been defined yet.","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 C0D0BBDB16\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  1 Nov 2022 12:08:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 731E863031;\n\tTue,  1 Nov 2022 13:08:28 +0100 (CET)","from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5F2EF63009\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  1 Nov 2022 13:08:26 +0100 (CET)","from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; \n\t01 Nov 2022 05:08:24 -0700","from punajuuri.fi.intel.com (HELO paasikivi.fi.intel.com)\n\t([10.237.72.43]) by fmsmga001-auth.fm.intel.com with\n\tESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 05:08:23 -0700","from paasikivi.fi.intel.com (localhost [127.0.0.1])\n\tby paasikivi.fi.intel.com (Postfix) with SMTP id 8E2632026C;\n\tTue,  1 Nov 2022 14:08:21 +0200 (EET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667304508;\n\tbh=5wst18PNlnB1vbgxGf+9q7UeTN/N9stkMGzWjD6prO0=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=pDS3kwmnl4z+1hgVnBjwH2+jEIhlaDUVYwI6F1QssUlMVB0yx9AdsTFItiplk04BA\n\txmPzhURyOZECMAc7GfmDe/Z+UDPOY/mt73sS4oNLujXNwULCiap0mdhxBBqnuwm0m1\n\tYE1LVPEGRGEvIT0jcSUoHBGYfqDoTfUT3OroiiJUTdMqhNAAKy4WpC8YQ2Rz5fsO7I\n\txfdWUBTcN9Q8IcHBO6sL9XoqbjhyKktF9qGvzy1Ki87OacEa9zn5DObG8bt4gtWbOx\n\tS04Zqunmlm0bUklYLSoDZrdg34EK2WRXnop9Fd0SLzE3zK9Axo/ptaJ3s5KOeDntXU\n\tcJkhVZNJv6QUA==","v=1; a=rsa-sha256; c=relaxed/simple;\n\td=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n\tt=1667304506; x=1698840506;\n\th=date:from:to:cc:subject:message-id:references:\n\tmime-version:in-reply-to;\n\tbh=5wst18PNlnB1vbgxGf+9q7UeTN/N9stkMGzWjD6prO0=;\n\tb=iP1QTEeYU6XaHepzJ8/+uh3IiZIxaJiawmgtee872b4NC/X5rsdOx59P\n\tiEPmdw+Z9bbGkbb+DcQr8OO/rFym7WGoOvvCKzEUmErbp1RZOrGoXSXWw\n\tXQDhrGDJlg4lJKf2xPeBXnzh+3XiSYX2C/x22AIvUzhwv5HVYIJmQ1ivL\n\t/k9LeAoT8E1twfPFF4L58PgLJrQ6id/0jjuuUBNuuIMi9ctVwFoQShl2O\n\ttKPWbCngG1nEJ/mIK+8t46bdvTSvO4le4s0ejVCK9fXiAU5GAp4ebP1w5\n\t3DKg/SduCSuNQ3LrVmeErrYAU++lxRpWbNFGPKfK9KLtkXKkrXG7jCBIA w==;"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=intel.com header.i=@intel.com\n\theader.b=\"iP1QTEeY\"; dkim-atps=neutral","X-IronPort-AV":["E=McAfee;i=\"6500,9779,10517\"; a=\"335785749\"","E=Sophos;i=\"5.95,230,1661842800\"; d=\"scan'208\";a=\"335785749\"","E=McAfee;i=\"6500,9779,10517\"; a=\"776474729\"","E=Sophos;i=\"5.95,230,1661842800\"; d=\"scan'208\";a=\"776474729\""],"Date":"Tue, 1 Nov 2022 12:08:21 +0000","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<Y2EMNW4+Yc75/02U@paasikivi.fi.intel.com>","References":"<20221030230500.74842-1-nicholas@rothemail.net>\n\t<20221030230500.74842-6-nicholas@rothemail.net>\n\t<166722470738.15948.4210033390569866566@Monstersaurus>\n\t<CAD2rFCp9UhiYO5N4URzw7VU+vLrGDVJcxmekr0MGNgVDHfQHsQ@mail.gmail.com>\n\t<166723607639.15953.2551627796079213260@Monstersaurus>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<166723607639.15953.2551627796079213260@Monstersaurus>","Subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","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>","From":"Sakari Ailus via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"Nicholas Roth <nicholas@rothemail.net>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25745,"web_url":"https://patchwork.libcamera.org/comment/25745/","msgid":"<CAD2rFCqDqoU=gWbxtmb-YjG-pZqckLOA_pARJM+s0oPDyBmFMA@mail.gmail.com>","date":"2022-11-09T03:03:55","subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","submitter":{"id":137,"url":"https://patchwork.libcamera.org/api/people/137/","name":"Nicholas Roth","email":"nicholas@rothemail.net"},"content":"The BSP maintainer agreed to use the standard i2c naming convention\n(\"ov8858 foo:bar\" instead of \"m00_f_ov8858 foo\") in the upcoming 6.1\nManjaro-ARM PinePhone Pro kernel release. That might take some time,\nbut it's encouraging to see.\n\nI'll go ahead and change the device name here to \"ov8858\" for my next\nround of patches.\n\nOn Tue, Nov 1, 2022 at 7:08 AM Sakari Ailus\n<sakari.ailus@linux.intel.com> wrote:\n>\n> Hi Nicholas, Kieran,\n>\n> On Mon, Oct 31, 2022 at 05:07:56PM +0000, Kieran Bingham wrote:\n> > If you are able to convince Sakari and Hans (who will maintain and\n> > handle the OV8858 driver in the kernel), that the name should be kept as\n> > it is, then we would have to consider how we'll track the naming in\n> > libcamera.  But ... I will be surprised.\n>\n> For now you should just let v4l2_i2c_subdev_set_name() set the sub-device\n> name field unless you really need something special (see e.g. the CCS\n> driver). We should also pass information on the module to user space but\n> how to do that has not been defined yet.\n>\n> --\n> Kind regards,\n>\n> Sakari Ailus","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 3D022BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Nov 2022 03:04:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A1FA663084;\n\tWed,  9 Nov 2022 04:04:08 +0100 (CET)","from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com\n\t[IPv6:2607:f8b0:4864:20::d2a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B937F63077\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Nov 2022 04:04:07 +0100 (CET)","by mail-io1-xd2a.google.com with SMTP id s10so11155740ioa.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 08 Nov 2022 19:04:07 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667963048;\n\tbh=ybvVHDA6M8p+1Sou57WXZ6q3souQ+jUH8vYU+3YWHzY=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=v/CsapgRQupFr0tdLE5dgTelf3U2D7j0RhxZKdCrilCouvM3WmjUZ7gjZloCqFXfi\n\tV9zZ6r8aQye9ZunoodVCV6mBLsOKhU+aCxTLnbCwJXOFUXOUKBHJA7eTKA7TgWTF8d\n\t+WEoP3QCGsB5gBjaGvI6QHtPC7BTklx+GbXfMA+STVY9q9ZT0HH0gqUluGaCOVHpwR\n\t8nQR4MOlf+f5vHWJhwEDAn5ZvDVfJ4Rr3EWSrph7jlxSdjvOwHn83gXSwDD3uXreOq\n\tY251bak3mVigpdbjZF4ajqejP/2EZ7ux3Z9Q9Y1JH8gF/09NvErpbS00XNsfO43U02\n\tjwbb7hRIb8i7w==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=rothemail-net.20210112.gappssmtp.com; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=iLko7KEHkkbAm3QKPWbnyccqXEwv1WV81+MXp7DKvFU=;\n\tb=I4exRzKN3kk5jYqewJuP7ZYCWXRRrdUUh+m1Pbr9X/LndI1E21wyb3uOkP2rB4yEBV\n\tJnd0ehut95uEfUIJgc8/134H11uMyNo1zxrv7z8QnSexS9hqORNuop75h65AaVeeRPmP\n\tm1GUvl2BvZMYGNkoTtYSTkgOY6ZyEzGuwlyCnupUseLyOXOyUBp6KLSeEdkVTfNSc3uP\n\tMvW56/B+ehYh8jQDYnaqe+BpGZPbo6T8pX0Z6SErwZ++APXWf8qSHGl0J8OZfwwK+dcP\n\t7C0kWmzwXVFh4/lVvDhC3x5dalTSYHz+IYXOlNJbjWi4uf1JMM9xbEoQv5eu4d1ML8n8\n\tUBag=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=rothemail-net.20210112.gappssmtp.com\n\theader.i=@rothemail-net.20210112.gappssmtp.com header.b=\"I4exRzKN\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=iLko7KEHkkbAm3QKPWbnyccqXEwv1WV81+MXp7DKvFU=;\n\tb=5Df0i69hZ5SQqeiGOtgo55RkEFjtNwkR5tneHfxT+7ZIQm8pguox0GSgPHOUIN3Hdz\n\teHfSVnBJNGBfPUZU8EYxszuPOnNpvnVa0QWmru3gxSGy808mqJjMDdiTT5us19zl2VQd\n\tWIn8qny4NL1LQU/MJtKCtm8/5tHlOz6R1SjR24wqCHSa3IxmqqEyKYZSDIS5pomD9H5E\n\txiIjCqyhNtW+talr1p9XJgMposYr6S0vs9VqwSfOVdyeX83+JHwe1fQd7LwLbI0Bo0/f\n\tPa+vHDAc/6J32NsIlUOXhBUSlUcxWGVzf+yf9jRhvUxKptEcJSI5a1cMwnFTGbZxP22v\n\t2IfA==","X-Gm-Message-State":"ACrzQf1ivIgxcg3rb5sjA0utuEoOb2qpVwqu/nvXWG5aHMp7Y/MAkLCP\n\tUd8Y4BoBCChajf5ddYV4/YMVDbKtLUdYZhbtBVoLFY13yJUBWA==","X-Google-Smtp-Source":"AMsMyM5nh3RWafR9jLVZHOo2NBcw7JWkmDJrqNhr5NGI6B9RtcYk4ImaXyQtEf3DcNRwlOtBuqeqEiAhxk3Tz8qspDU=","X-Received":"by 2002:a05:6638:4184:b0:363:b99a:1447 with SMTP id\n\taz4-20020a056638418400b00363b99a1447mr1289723jab.225.1667963046326;\n\tTue, 08 Nov 2022 19:04:06 -0800 (PST)","MIME-Version":"1.0","References":"<20221030230500.74842-1-nicholas@rothemail.net>\n\t<20221030230500.74842-6-nicholas@rothemail.net>\n\t<166722470738.15948.4210033390569866566@Monstersaurus>\n\t<CAD2rFCp9UhiYO5N4URzw7VU+vLrGDVJcxmekr0MGNgVDHfQHsQ@mail.gmail.com>\n\t<166723607639.15953.2551627796079213260@Monstersaurus>\n\t<Y2EMNW4+Yc75/02U@paasikivi.fi.intel.com>","In-Reply-To":"<Y2EMNW4+Yc75/02U@paasikivi.fi.intel.com>","Date":"Tue, 8 Nov 2022 21:03:55 -0600","Message-ID":"<CAD2rFCqDqoU=gWbxtmb-YjG-pZqckLOA_pARJM+s0oPDyBmFMA@mail.gmail.com>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH v6 5/5] ipa: libcamera: add support\n\tfor ov8858 sensor","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>","From":"Nicholas Roth via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Nicholas Roth <nicholas@rothemail.net>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]