[{"id":12168,"web_url":"https://patchwork.libcamera.org/comment/12168/","msgid":"<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>","date":"2020-08-27T10:42:03","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Dan,\n\nOn 26/08/2020 17:05, Dan Scally wrote:\n> The setupLink function fails (ioctl returns EINVAL) when it passes the MEDIA_LNK_FL_ENABLE flag\n> to a link that is already flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE. Contrast\n> to media-ctl's equivalent media_setup_link() which ORs the new flags with the existing values.\n> This patch modifies the behaviour of setupLink() to behave the same as media_setup_link() in\n> media-ctl.\n> \n\nGit commit messages should aim to be wrapped at 72 chars, though it can\nbe longer when it makes sense. (the above goes to 96).\n\nWe can rewrap when applying though.\n\n\n> ref https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n> \n\nThis is missing a Signed-off-by tag from you.\n\nCan you confirm you are happy to add the following please?\n(as per the DCO: https://www.libcamera.org/contributing.html)\n\nSigned-off-by: Dan Scally <djrscally@protonmail.com>\n\nWith that,\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\nEeep, git-am had issue applying this mail, possibly due to utf\nformatting or such, but I've fixed up locally.\n\nWith confirmation from Dan on the SoB, and another RB tag, I'll handle\nintegration of this patch as I have it locally.\n\n--\nKieran\n\n\n> Changelog:\n> \n>     v2 - Simplified by removing the call to link() to fetch a link that's already passed as a parameter to the function.\n> \n> ---\n>  src/libcamera/media_device.cpp | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n> index de18d57..007a45b 100644\n> --- a/src/libcamera/media_device.cpp\n> +++ b/src/libcamera/media_device.cpp\n> @@ -794,7 +794,7 @@ int MediaDevice::setupLink(const MediaLink *link, unsigned int flags)\n>  \tlinkDesc.sink.index = sink->index();\n>  \tlinkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n>  \n> \n> -\tlinkDesc.flags = flags;\n> +\tlinkDesc.flags = flags | (link->flags() & MEDIA_LNK_FL_IMMUTABLE);\n>  \n> \n>  \tint ret = ioctl(fd_, MEDIA_IOC_SETUP_LINK, &linkDesc);\n>  \tif (ret) {\n> \n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel\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 5FE5ABDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 10:42:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E4E20628F9;\n\tThu, 27 Aug 2020 12:42:08 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9C8A46037A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 12:42:07 +0200 (CEST)","from [192.168.0.20]\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 00BB99B1;\n\tThu, 27 Aug 2020 12:42:06 +0200 (CEST)"],"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=\"pskp+brr\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1598524927;\n\tbh=hCJVc/EyQptv2olH/QqHf6hV7vmi9bYZDJZPBdKslHY=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=pskp+brrbeIK2QNtlm3YDYYFaTl5ao9N9mJX/gURH2ZV2lXOepK09Xy/I5WrUgLhA\n\tycR/qysGqbIB4SxwIffC0KXwow4A+bEFnTVLpxyK9WvBThdF68mJh+Ie/VnVCYc5Ok\n\tk9Dm+9ocO04srKYj7SY3VtRwSwWST2FmV7BGhliI=","To":"Dan Scally <djrscally@protonmail.com>,\n\t\"libcamera-devel@lists.libcamera.org\"\n\t<libcamera-devel@lists.libcamera.org>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>","Date":"Thu, 27 Aug 2020 11:42:03 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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>","Reply-To":"kieran.bingham@ideasonboard.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12174,"web_url":"https://patchwork.libcamera.org/comment/12174/","msgid":"<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>","date":"2020-08-27T11:48:11","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"+libcamera-devel\n\nOn 27/08/2020 12:11, Dan Scally wrote:\n> Hi Kieran\n> \n>> Git commit messages should aim to be wrapped at 72 chars, though it can\n>> be longer when it makes sense. (the above goes to 96).\n>>\n> \n>> We can rewrap when applying though.\n> \n> Mea culpa - I'll stick to the limit in future. Happy to do a V3 if you prefer, fixing that and the SoB.\n\nNo worries, I think it's ok.\n\nUnless there's any comments from anyone else I have it fixed up locally\nalready.\n\n\n> \n>> This is missing a Signed-off-by tag from you.\n>>\n> \n>> Can you confirm you are happy to add the following please?\n>> (as per the DCO: https://www.libcamera.org/contributing.html)\n>>\n> \n>> Signed-off-by: Dan Scally djrscally@protonmail.com\n> \n> Yes, absolutely. Sorry - first time patching anything, knew I'd forget something!\n\nno problem, Thank you for contributing!\n\nI'm still interested to know how you hit this?\nWhat platform are you testing on ?\n\n--\nKieran\n\n\n> \n> Thanks\n> Dan\n> \n> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐\n> On Thursday, 27 August 2020 11:42, Kieran Bingham <kieran.bingham@ideasonboard.com> wrote:\n> \n>> Hi Dan,\n>>\n> \n>> On 26/08/2020 17:05, Dan Scally wrote:\n>>\n> \n>>> The setupLink function fails (ioctl returns EINVAL) when it passes the MEDIA_LNK_FL_ENABLE flag\n>>> to a link that is already flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE. Contrast\n>>> to media-ctl's equivalent media_setup_link() which ORs the new flags with the existing values.\n>>> This patch modifies the behaviour of setupLink() to behave the same as media_setup_link() in\n>>> media-ctl.\n>>\n> \n>> Git commit messages should aim to be wrapped at 72 chars, though it can\n>> be longer when it makes sense. (the above goes to 96).\n>>\n> \n>> We can rewrap when applying though.\n>>\n> \n>>> ref https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n>>\n> \n>> This is missing a Signed-off-by tag from you.\n>>\n> \n>> Can you confirm you are happy to add the following please?\n>> (as per the DCO: https://www.libcamera.org/contributing.html)\n>>\n> \n>> Signed-off-by: Dan Scally djrscally@protonmail.com\n>>\n> \n>> With that,\n>>\n> \n>> Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n>>\n> \n>> Eeep, git-am had issue applying this mail, possibly due to utf\n>> formatting or such, but I've fixed up locally.\n>>\n> \n>> With confirmation from Dan on the SoB, and another RB tag, I'll handle\n>> integration of this patch as I have it locally.\n>>\n> \n>> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n>>\n> \n>> Kieran\n>>\n> \n>>> Changelog:\n>>>\n> \n>>>     v2 - Simplified by removing the call to link() to fetch a link that's already passed as a parameter to the function.\n>>>     \n> \n>>>\n> \n>>> src/libcamera/media_device.cpp | 2 +-\n>>> 1 file changed, 1 insertion(+), 1 deletion(-)\n>>> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n>>> index de18d57..007a45b 100644\n>>> --- a/src/libcamera/media_device.cpp\n>>> +++ b/src/libcamera/media_device.cpp\n>>> @@ -794,7 +794,7 @@ int MediaDevice::setupLink(const MediaLink *link, unsigned int flags)\n>>> linkDesc.sink.index = sink->index();\n>>> linkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n>>>\n> \n>>> -   linkDesc.flags = flags;\n>>>\n> \n>>> -   linkDesc.flags = flags | (link->flags() & MEDIA_LNK_FL_IMMUTABLE);\n>>>     int ret = ioctl(fd_, MEDIA_IOC_SETUP_LINK, &linkDesc);\n>>>     if (ret) {\n>>>     \n> \n>>>\n> \n>>> libcamera-devel mailing list\n>>> libcamera-devel@lists.libcamera.org\n>>> https://lists.libcamera.org/listinfo/libcamera-devel\n>>\n> \n>> --\n>>\n> \n>> Regards\n>>\n> \n>> --------\n>>\n> \n>> Kieran\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 BC91EBDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 11:48:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3EBD062901;\n\tThu, 27 Aug 2020 13:48:17 +0200 (CEST)","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 6E388628D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 13:48:15 +0200 (CEST)","from [192.168.0.20]\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 CFE501870;\n\tThu, 27 Aug 2020 13:48:13 +0200 (CEST)"],"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=\"XMo8JFHg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1598528894;\n\tbh=imQ8RvCGaYRmT217CvCnfXbJc4FWzReBLBhZe/iaf9A=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=XMo8JFHgd9yfOLaZ2YvMpBJDmyV1RUa1NGGE/bX390z6iKCoJVo6HEsKETh+HD/I5\n\tTQ3XlGoT96uSFoll0k3ZZJIq6O9pdSNR7GbHb7gCrCOIzhbvLccjc7zaPBMDPyYqlU\n\ta+IC+eNEzRNXvlVkNhjaAgJ8QxzbVPZPuQXsImM8=","To":"Dan Scally <djrscally@protonmail.com>,\n\tLibCamera Devel <libcamera-devel@lists.libcamera.org>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>\n\t<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>\n\t<c5RoKyakXYa6NMXzq9XNLVL49jIFZuicEc39RDj21EEAOdWo3DK0r6qXnXrdWmzZLpjQLoWKKrRC-dx4bdF5DG_hF4C4pOZxv_pR0xQBhME=@protonmail.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>","Date":"Thu, 27 Aug 2020 12:48:11 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<c5RoKyakXYa6NMXzq9XNLVL49jIFZuicEc39RDj21EEAOdWo3DK0r6qXnXrdWmzZLpjQLoWKKrRC-dx4bdF5DG_hF4C4pOZxv_pR0xQBhME=@protonmail.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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>","Reply-To":"kieran.bingham@ideasonboard.com","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":12176,"web_url":"https://patchwork.libcamera.org/comment/12176/","msgid":"<EqPZW_J82JSrXhMd9h95mLvOLwPabgRPvQ8tvFJCR9bVhPrK3fA9LCkDePSUsQkxL_J2OQCfaNCy8AUk2zAr3x0wilbeXtKJojhQXR0tLP0=@protonmail.com>","date":"2020-08-27T11:54:37","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":66,"url":"https://patchwork.libcamera.org/api/people/66/","name":"Dan Scally","email":"djrscally@protonmail.com"},"content":"> I'm still interested to know how you hit this?\n> What platform are you testing on ?\n\nx86, specifically a Lenovo Miix-510. I'm working with the surface-linux guys trying to get webcams working on Microsoft Surface and similar devices. We're either patching DSDT or using a bridge driver to connect the sensors to the cio2 infrastructure, but trying to take images using either cam or qcam threw the error that this clears (though media-ctl got past it).\n\nWith this patch in, my webcam's functional.\n\n\n\n\n‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐\nOn Thursday, 27 August 2020 12:48, Kieran Bingham <kieran.bingham@ideasonboard.com> wrote:\n\n> +libcamera-devel\n> \n\n> On 27/08/2020 12:11, Dan Scally wrote:\n> \n\n> > Hi Kieran\n> > \n\n> > > Git commit messages should aim to be wrapped at 72 chars, though it can\n> > > be longer when it makes sense. (the above goes to 96).\n> > \n\n> > > We can rewrap when applying though.\n> > \n\n> > Mea culpa - I'll stick to the limit in future. Happy to do a V3 if you prefer, fixing that and the SoB.\n> \n\n> No worries, I think it's ok.\n> \n\n> Unless there's any comments from anyone else I have it fixed up locally\n> already.\n> \n\n> > > This is missing a Signed-off-by tag from you.\n> > \n\n> > > Can you confirm you are happy to add the following please?\n> > > (as per the DCO: https://www.libcamera.org/contributing.html)\n> > \n\n> > > Signed-off-by: Dan Scally djrscally@protonmail.com\n> > \n\n> > Yes, absolutely. Sorry - first time patching anything, knew I'd forget something!\n> \n\n> no problem, Thank you for contributing!\n> \n\n> I'm still interested to know how you hit this?\n> What platform are you testing on ?\n> \n\n> -----------------------------------------------------------------------------------------------------------------------------\n> \n\n> Kieran\n> \n\n> > Thanks\n> > Dan\n> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐\n> > On Thursday, 27 August 2020 11:42, Kieran Bingham kieran.bingham@ideasonboard.com wrote:\n> > \n\n> > > Hi Dan,\n> > \n\n> > > On 26/08/2020 17:05, Dan Scally wrote:\n> > \n\n> > > > The setupLink function fails (ioctl returns EINVAL) when it passes the MEDIA_LNK_FL_ENABLE flag\n> > > > to a link that is already flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE. Contrast\n> > > > to media-ctl's equivalent media_setup_link() which ORs the new flags with the existing values.\n> > > > This patch modifies the behaviour of setupLink() to behave the same as media_setup_link() in\n> > > > media-ctl.\n> > \n\n> > > Git commit messages should aim to be wrapped at 72 chars, though it can\n> > > be longer when it makes sense. (the above goes to 96).\n> > \n\n> > > We can rewrap when applying though.\n> > \n\n> > > > ref https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n> > \n\n> > > This is missing a Signed-off-by tag from you.\n> > \n\n> > > Can you confirm you are happy to add the following please?\n> > > (as per the DCO: https://www.libcamera.org/contributing.html)\n> > \n\n> > > Signed-off-by: Dan Scally djrscally@protonmail.com\n> > \n\n> > > With that,\n> > \n\n> > > Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n> > \n\n> > > Eeep, git-am had issue applying this mail, possibly due to utf\n> > > formatting or such, but I've fixed up locally.\n> > \n\n> > > With confirmation from Dan on the SoB, and another RB tag, I'll handle\n> > > integration of this patch as I have it locally.\n> > \n\n> > > \n\n> > \n\n> > > Kieran\n> > \n\n> > > > Changelog:\n> > \n\n> > > >     v2 - Simplified by removing the call to link() to fetch a link that's already passed as a parameter to the function.\n> > > >     \n\n> > \n\n> > > > \n\n> > \n\n> > > > src/libcamera/media_device.cpp | 2 +-\n> > > > 1 file changed, 1 insertion(+), 1 deletion(-)\n> > > > diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n> > > > index de18d57..007a45b 100644\n> > > > --- a/src/libcamera/media_device.cpp\n> > > > +++ b/src/libcamera/media_device.cpp\n> > > > @@ -794,7 +794,7 @@ int MediaDevice::setupLink(const MediaLink *link, unsigned int flags)\n> > > > linkDesc.sink.index = sink->index();\n> > > > linkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n> > \n\n> > > > -   linkDesc.flags = flags;\n> > \n\n> > > > -   linkDesc.flags = flags | (link->flags() & MEDIA_LNK_FL_IMMUTABLE);\n> > > >     int ret = ioctl(fd_, MEDIA_IOC_SETUP_LINK, &linkDesc);\n> > > >     if (ret) {\n> > > >     \n\n> > \n\n> > > > \n\n> > \n\n> > > > libcamera-devel mailing list\n> > > > libcamera-devel@lists.libcamera.org\n> > > > https://lists.libcamera.org/listinfo/libcamera-devel\n> > \n\n> > > --\n> > \n\n> > > Regards\n> > \n\n> > > \n\n> > \n\n> > > Kieran\n> \n\n> --\n> \n\n> Regards\n> \n\n> --------\n> \n\n> Kieran","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 5D38CBF019\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 11:54:47 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DC3DD62901;\n\tThu, 27 Aug 2020 13:54:46 +0200 (CEST)","from mail-40140.protonmail.ch (mail-40140.protonmail.ch\n\t[185.70.40.140])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2A8B3628D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 13:54:45 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=protonmail.com header.i=@protonmail.com\n\theader.b=\"oWhYP9t0\"; dkim-atps=neutral","Date":"Thu, 27 Aug 2020 11:54:37 +0000","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;\n\ts=protonmail; t=1598529284;\n\tbh=CKXgsz78sPrE2PCc6wzK83lo1r/GxIHH13J4LDsNeVY=;\n\th=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From;\n\tb=oWhYP9t0/OzdexqTa4NioQxJVK8vo1CfXaEkFjXbeuKPL69p3HApSkyv90cHxo2yZ\n\tItCKw6zrRT/3TW9uguKMQ2dr8n5YpUmFgbmtGKQYxJFjVB1awvkgy1yysAXo1j585a\n\tGo41TGvfZ8zkWL4MQF/bLqwoYo6RXPhNt2FmgCdw=","To":"\"kieran.bingham@ideasonboard.com\" <kieran.bingham@ideasonboard.com>","From":"Dan Scally <djrscally@protonmail.com>","Message-ID":"<EqPZW_J82JSrXhMd9h95mLvOLwPabgRPvQ8tvFJCR9bVhPrK3fA9LCkDePSUsQkxL_J2OQCfaNCy8AUk2zAr3x0wilbeXtKJojhQXR0tLP0=@protonmail.com>","In-Reply-To":"<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>\n\t<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>\n\t<c5RoKyakXYa6NMXzq9XNLVL49jIFZuicEc39RDj21EEAOdWo3DK0r6qXnXrdWmzZLpjQLoWKKrRC-dx4bdF5DG_hF4C4pOZxv_pR0xQBhME=@protonmail.com>\n\t<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>","MIME-Version":"1.0","X-Spam-Status":"No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,\n\tDKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF,\n\tFREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4","X-Spam-Checker-Version":"SpamAssassin 3.4.4 (2020-01-24) on\n\tmailout.protonmail.ch","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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>","Reply-To":"Dan Scally <djrscally@protonmail.com>","Cc":"LibCamera Devel <libcamera-devel@lists.libcamera.org>","Content-Type":"multipart/mixed;\n\tboundary=\"===============5096834755155493905==\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12179,"web_url":"https://patchwork.libcamera.org/comment/12179/","msgid":"<172ca0ba-9265-311c-f1b9-5d579558ab10@ideasonboard.com>","date":"2020-08-27T11:59:02","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Dan,\n\nOn 27/08/2020 12:54, Dan Scally wrote:\n>> I'm still interested to know how you hit this? What platform are\n>> you testing on ?\n> \n> x86, specifically a Lenovo Miix-510. I'm working with the\n> surface-linux guys trying to get webcams working on Microsoft Surface\n> and similar devices. We're either patching DSDT or using a bridge\n> driver to connect the sensors to the cio2 infrastructure, but trying\n> to take images using either cam or qcam threw the error that this\n> clears (though media-ctl got past it).\n> \n> With this patch in, my webcam's functional.\n\nOh! That's fantastic news,\n\nAre you able to share some of the information on the work you guys have\ndone with the DSDT patching or bridge drivers?\n\nWe've had plenty of people asking about how to make use of the IPU3 on\nplatforms we can't otherwise support because of that. There's quite a\nfew Dell laptops that also use it from what I recall.\n\n--\nKieran\n\n\n> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 27 August 2020 12:48,\n> Kieran Bingham <kieran.bingham@ideasonboard.com> wrote:\n> \n>> +libcamera-devel\n>> \n> \n>> On 27/08/2020 12:11, Dan Scally wrote:\n>> \n> \n>>> Hi Kieran\n>>> \n> \n>>>> Git commit messages should aim to be wrapped at 72 chars,\n>>>> though it can be longer when it makes sense. (the above goes to\n>>>> 96).\n>>> \n> \n>>>> We can rewrap when applying though.\n>>> \n> \n>>> Mea culpa - I'll stick to the limit in future. Happy to do a V3\n>>> if you prefer, fixing that and the SoB.\n>> \n> \n>> No worries, I think it's ok.\n>> \n> \n>> Unless there's any comments from anyone else I have it fixed up\n>> locally already.\n>> \n> \n>>>> This is missing a Signed-off-by tag from you.\n>>> \n> \n>>>> Can you confirm you are happy to add the following please? (as\n>>>> per the DCO: https://www.libcamera.org/contributing.html)\n>>> \n> \n>>>> Signed-off-by: Dan Scally djrscally@protonmail.com\n>>> \n> \n>>> Yes, absolutely. Sorry - first time patching anything, knew I'd\n>>> forget something!\n>> \n> \n>> no problem, Thank you for contributing!\n>> \n> \n>> I'm still interested to know how you hit this? What platform are\n>> you testing on ?\n>> \n> \n>> -----------------------------------------------------------------------------------------------------------------------------\n>>\n>\n>>  Kieran\n>> \n> \n>>> Thanks Dan ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 27\n>>> August 2020 11:42, Kieran Bingham kieran.bingham@ideasonboard.com\n>>> wrote:\n>>> \n> \n>>>> Hi Dan,\n>>> \n> \n>>>> On 26/08/2020 17:05, Dan Scally wrote:\n>>> \n> \n>>>>> The setupLink function fails (ioctl returns EINVAL) when it\n>>>>> passes the MEDIA_LNK_FL_ENABLE flag to a link that is already\n>>>>> flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE.\n>>>>> Contrast to media-ctl's equivalent media_setup_link() which\n>>>>> ORs the new flags with the existing values. This patch\n>>>>> modifies the behaviour of setupLink() to behave the same as\n>>>>> media_setup_link() in media-ctl.\n>>> \n> \n>>>> Git commit messages should aim to be wrapped at 72 chars,\n>>>> though it can be longer when it makes sense. (the above goes to\n>>>> 96).\n>>> \n> \n>>>> We can rewrap when applying though.\n>>> \n> \n>>>>> ref\n>>>>> https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n>>>\n>\n>>>>> \n>>>> This is missing a Signed-off-by tag from you.\n>>> \n> \n>>>> Can you confirm you are happy to add the following please? (as\n>>>> per the DCO: https://www.libcamera.org/contributing.html)\n>>> \n> \n>>>> Signed-off-by: Dan Scally djrscally@protonmail.com\n>>> \n> \n>>>> With that,\n>>> \n> \n>>>> Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n>>> \n> \n>>>> Eeep, git-am had issue applying this mail, possibly due to utf \n>>>> formatting or such, but I've fixed up locally.\n>>> \n> \n>>>> With confirmation from Dan on the SoB, and another RB tag, I'll\n>>>> handle integration of this patch as I have it locally.\n>>> \n> \n>>>> \n> \n>>> \n> \n>>>> Kieran\n>>> \n> \n>>>>> Changelog:\n>>> \n> \n>>>>> v2 - Simplified by removing the call to link() to fetch a\n>>>>> link that's already passed as a parameter to the function.\n>>>>> \n> \n>>> \n> \n>>>>> \n> \n>>> \n> \n>>>>> src/libcamera/media_device.cpp | 2 +- 1 file changed, 1\n>>>>> insertion(+), 1 deletion(-) diff --git\n>>>>> a/src/libcamera/media_device.cpp\n>>>>> b/src/libcamera/media_device.cpp index de18d57..007a45b\n>>>>> 100644 --- a/src/libcamera/media_device.cpp +++\n>>>>> b/src/libcamera/media_device.cpp @@ -794,7 +794,7 @@ int\n>>>>> MediaDevice::setupLink(const MediaLink *link, unsigned int\n>>>>> flags) linkDesc.sink.index = sink->index(); \n>>>>> linkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n>>> \n> \n>>>>> -   linkDesc.flags = flags;\n>>> \n> \n>>>>> -   linkDesc.flags = flags | (link->flags() &\n>>>>> MEDIA_LNK_FL_IMMUTABLE); int ret = ioctl(fd_,\n>>>>> MEDIA_IOC_SETUP_LINK, &linkDesc); if (ret) {\n>>>>> \n> \n>>> \n> \n>>>>> \n> \n>>> \n> \n>>>>> libcamera-devel mailing list \n>>>>> libcamera-devel@lists.libcamera.org \n>>>>> https://lists.libcamera.org/listinfo/libcamera-devel\n>>> \n> \n>>>> --\n>>> \n> \n>>>> Regards\n>>> \n> \n>>>> \n> \n>>> \n> \n>>>> Kieran\n>> \n> \n>> --\n>> \n> \n>> Regards\n>> \n> \n>> --------\n>> \n> \n>> Kieran\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 9EC64BDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 11:59:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 20C8162901;\n\tThu, 27 Aug 2020 13:59:13 +0200 (CEST)","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 72D62628D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 13:59:11 +0200 (CEST)","from [192.168.0.20]\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 9DFB51870;\n\tThu, 27 Aug 2020 13:59:05 +0200 (CEST)"],"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=\"Wo95+ov5\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1598529551;\n\tbh=ic7gk3PLiLZ7ZPd4GtIGWyfUDo2xpIacsrGvWJCHdqY=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=Wo95+ov5lCFKbPafpp9qHFDOMAEQgTH5SEBOAQ/42Xin4h8+v+rqokuLmqCtO0kGi\n\tav6/1/jTCRe4gOiGKL9ZfZvnlqzIB5KYiv08iVvMSrya+c+Og62FXAhbL+m2Eo/tiQ\n\t4oo+gDxavPEC2CKFw92xDhYVx2P+EBio6vzfafns=","To":"Dan Scally <djrscally@protonmail.com>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>\n\t<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>\n\t<c5RoKyakXYa6NMXzq9XNLVL49jIFZuicEc39RDj21EEAOdWo3DK0r6qXnXrdWmzZLpjQLoWKKrRC-dx4bdF5DG_hF4C4pOZxv_pR0xQBhME=@protonmail.com>\n\t<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>\n\t<EqPZW_J82JSrXhMd9h95mLvOLwPabgRPvQ8tvFJCR9bVhPrK3fA9LCkDePSUsQkxL_J2OQCfaNCy8AUk2zAr3x0wilbeXtKJojhQXR0tLP0=@protonmail.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<172ca0ba-9265-311c-f1b9-5d579558ab10@ideasonboard.com>","Date":"Thu, 27 Aug 2020 12:59:02 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<EqPZW_J82JSrXhMd9h95mLvOLwPabgRPvQ8tvFJCR9bVhPrK3fA9LCkDePSUsQkxL_J2OQCfaNCy8AUk2zAr3x0wilbeXtKJojhQXR0tLP0=@protonmail.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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>","Reply-To":"kieran.bingham@ideasonboard.com","Cc":"LibCamera Devel <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":12180,"web_url":"https://patchwork.libcamera.org/comment/12180/","msgid":"<95wLRr5hT-N0QFSxIL9Qf1yMtnv3SJgSvDPmn70d9Qga4EUORVaCfiLp28C_AvOAu6125uynz3uAyrxfOBAQMupaQnftELzIu8wdONpDnFA=@protonmail.com>","date":"2020-08-27T12:10:07","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":66,"url":"https://patchwork.libcamera.org/api/people/66/","name":"Dan Scally","email":"djrscally@protonmail.com"},"content":"> Oh! That's fantastic news,\n> \n\n> Are you able to share some of the information on the work you guys have\n> done with the DSDT patching or bridge drivers?\n> \n\n> We've had plenty of people asking about how to make use of the IPU3 on\n> platforms we can't otherwise support because of that. There's quite a\n> few Dell laptops that also use it from what I recall.\n\nSure, although I wouldn't call any of it production-ready yet!\n\nThe DSDT and bridge driver are separate methods; myself and the one other person to successfully take an image with a Surface webcam are using the bridge driver, and that seems like the best approach. Repository here: https://github.com/jhand2/surface-camera. Patches 1-3 and 5 add all the connection functionality, though note that the surface_camera driver introduced by patch 5 hardcodes the connection values to a specific camera on that chap's device, and additionally it only connects a single device so some tweaking is needed if you want to try it at the moment.  I think the author is too busy to work on it at the moment, so I'm currently writing an update to that driver that will connect any number of supported devices by parsing the information we need from the SSDB buffers in the DSDT.\n\nDSDT modifications, best example probably this repo: https://github.com/kitakar5525/surface-ipu3-cameras. I tried and failed to get that working, although it definitely worked for him.\n\nMain development thread is here if you're interested: https://github.com/linux-surface/linux-surface/issues/91\n\nThere's still a decent amount of work to do, but it's looking quite promising.\n\nThanks\nDan\n\n‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐\nOn Thursday, 27 August 2020 12:59, Kieran Bingham <kieran.bingham@ideasonboard.com> wrote:\n\n> Hi Dan,\n> \n\n> On 27/08/2020 12:54, Dan Scally wrote:\n> \n\n> > > I'm still interested to know how you hit this? What platform are\n> > > you testing on ?\n> > \n\n> > x86, specifically a Lenovo Miix-510. I'm working with the\n> > surface-linux guys trying to get webcams working on Microsoft Surface\n> > and similar devices. We're either patching DSDT or using a bridge\n> > driver to connect the sensors to the cio2 infrastructure, but trying\n> > to take images using either cam or qcam threw the error that this\n> > clears (though media-ctl got past it).\n> > With this patch in, my webcam's functional.\n> \n\n> Oh! That's fantastic news,\n> \n\n> Are you able to share some of the information on the work you guys have\n> done with the DSDT patching or bridge drivers?\n> \n\n> We've had plenty of people asking about how to make use of the IPU3 on\n> platforms we can't otherwise support because of that. There's quite a\n> few Dell laptops that also use it from what I recall.\n> \n\n> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n> \n\n> Kieran\n> \n\n> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 27 August 2020 12:48,\n> > Kieran Bingham kieran.bingham@ideasonboard.com wrote:\n> > \n\n> > > +libcamera-devel\n> > \n\n> > > On 27/08/2020 12:11, Dan Scally wrote:\n> > \n\n> > > > Hi Kieran\n> > \n\n> > > > > Git commit messages should aim to be wrapped at 72 chars,\n> > > > > though it can be longer when it makes sense. (the above goes to\n> > > > > 96).\n> > \n\n> > > > > We can rewrap when applying though.\n> > \n\n> > > > Mea culpa - I'll stick to the limit in future. Happy to do a V3\n> > > > if you prefer, fixing that and the SoB.\n> > \n\n> > > No worries, I think it's ok.\n> > \n\n> > > Unless there's any comments from anyone else I have it fixed up\n> > > locally already.\n> > \n\n> > > > > This is missing a Signed-off-by tag from you.\n> > \n\n> > > > > Can you confirm you are happy to add the following please? (as\n> > > > > per the DCO: https://www.libcamera.org/contributing.html)\n> > \n\n> > > > > Signed-off-by: Dan Scally djrscally@protonmail.com\n> > \n\n> > > > Yes, absolutely. Sorry - first time patching anything, knew I'd\n> > > > forget something!\n> > \n\n> > > no problem, Thank you for contributing!\n> > \n\n> > > I'm still interested to know how you hit this? What platform are\n> > > you testing on ?\n> > \n\n> > > \n\n> > \n\n> > > Kieran\n> > \n\n> > > > Thanks Dan ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 27\n> > > > August 2020 11:42, Kieran Bingham kieran.bingham@ideasonboard.com\n> > > > wrote:\n> > \n\n> > > > > Hi Dan,\n> > \n\n> > > > > On 26/08/2020 17:05, Dan Scally wrote:\n> > \n\n> > > > > > The setupLink function fails (ioctl returns EINVAL) when it\n> > > > > > passes the MEDIA_LNK_FL_ENABLE flag to a link that is already\n> > > > > > flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE.\n> > > > > > Contrast to media-ctl's equivalent media_setup_link() which\n> > > > > > ORs the new flags with the existing values. This patch\n> > > > > > modifies the behaviour of setupLink() to behave the same as\n> > > > > > media_setup_link() in media-ctl.\n> > \n\n> > > > > Git commit messages should aim to be wrapped at 72 chars,\n> > > > > though it can be longer when it makes sense. (the above goes to\n> > > > > 96).\n> > \n\n> > > > > We can rewrap when applying though.\n> > \n\n> > > > > > ref\n> > > > > > https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n> > \n\n> > > > > > \n\n> > > > > \n\n> > > > > This is missing a Signed-off-by tag from you.\n> > \n\n> > > > > Can you confirm you are happy to add the following please? (as\n> > > > > per the DCO: https://www.libcamera.org/contributing.html)\n> > \n\n> > > > > Signed-off-by: Dan Scally djrscally@protonmail.com\n> > \n\n> > > > > With that,\n> > \n\n> > > > > Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n> > \n\n> > > > > Eeep, git-am had issue applying this mail, possibly due to utf\n> > > > > formatting or such, but I've fixed up locally.\n> > \n\n> > > > > With confirmation from Dan on the SoB, and another RB tag, I'll\n> > > > > handle integration of this patch as I have it locally.\n> > \n\n> > > > > \n\n> > \n\n> > > > \n\n> > \n\n> > > > > Kieran\n> > \n\n> > > > > > Changelog:\n> > \n\n> > > > > > v2 - Simplified by removing the call to link() to fetch a\n> > > > > > link that's already passed as a parameter to the function.\n> > \n\n> > > > \n\n> > \n\n> > > > > > \n\n> > \n\n> > > > \n\n> > \n\n> > > > > > src/libcamera/media_device.cpp | 2 +- 1 file changed, 1\n> > > > > > insertion(+), 1 deletion(-) diff --git\n> > > > > > a/src/libcamera/media_device.cpp\n> > > > > > b/src/libcamera/media_device.cpp index de18d57..007a45b\n> > > > > > 100644 --- a/src/libcamera/media_device.cpp +++\n> > > > > > b/src/libcamera/media_device.cpp @@ -794,7 +794,7 @@ int\n> > > > > > MediaDevice::setupLink(const MediaLink *link, unsigned int\n> > > > > > flags) linkDesc.sink.index = sink->index();\n> > > > > > linkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n> > \n\n> > > > > > -   linkDesc.flags = flags;\n> > \n\n> > > > > > -   linkDesc.flags = flags | (link->flags() &\n> > > > > >     MEDIA_LNK_FL_IMMUTABLE); int ret = ioctl(fd_,\n> > > > > >     MEDIA_IOC_SETUP_LINK, &linkDesc); if (ret) {\n> > > > > >     \n\n> > \n\n> > > > \n\n> > \n\n> > > > > > \n\n> > \n\n> > > > \n\n> > \n\n> > > > > > libcamera-devel mailing list\n> > > > > > libcamera-devel@lists.libcamera.org\n> > > > > > https://lists.libcamera.org/listinfo/libcamera-devel\n> > \n\n> > > > > --\n> > \n\n> > > > > Regards\n> > \n\n> > > > > \n\n> > \n\n> > > > \n\n> > \n\n> > > > > Kieran\n> > \n\n> > > --\n> > \n\n> > > Regards\n> > \n\n> > > \n\n> > \n\n> > > Kieran\n> \n\n> --\n> \n\n> Regards\n> \n\n> --------\n> \n\n> Kieran","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 37763BF019\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 12:10:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9A83162912;\n\tThu, 27 Aug 2020 14:10:14 +0200 (CEST)","from mail-40138.protonmail.ch (mail-40138.protonmail.ch\n\t[185.70.40.138])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 823B2628D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 14:10:13 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=protonmail.com header.i=@protonmail.com\n\theader.b=\"nMm9WrPx\"; dkim-atps=neutral","Date":"Thu, 27 Aug 2020 12:10:07 +0000","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;\n\ts=protonmail; t=1598530212;\n\tbh=scmfb+OvCwc7qgYQYw0qNpyr7iGyBkL3t5TEj8qtCAc=;\n\th=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From;\n\tb=nMm9WrPxLazMF6pfQkVtavu7mnHUF8yE9+6CtQSyiWNgIRRuH9pCm9/aMGUXTCA+o\n\tGgRLStX0OfagiY7g1Z6g8leCSv+qL8STMXe5eGgrCZ2XEqzHU33A1p450J4aQ198Ae\n\tNUxYzkS534bzJQLQUFSi65ArZKRTXH7Eh+s6GmA8=","To":"\"kieran.bingham@ideasonboard.com\" <kieran.bingham@ideasonboard.com>","From":"Dan Scally <djrscally@protonmail.com>","Message-ID":"<95wLRr5hT-N0QFSxIL9Qf1yMtnv3SJgSvDPmn70d9Qga4EUORVaCfiLp28C_AvOAu6125uynz3uAyrxfOBAQMupaQnftELzIu8wdONpDnFA=@protonmail.com>","In-Reply-To":"<172ca0ba-9265-311c-f1b9-5d579558ab10@ideasonboard.com>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>\n\t<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>\n\t<c5RoKyakXYa6NMXzq9XNLVL49jIFZuicEc39RDj21EEAOdWo3DK0r6qXnXrdWmzZLpjQLoWKKrRC-dx4bdF5DG_hF4C4pOZxv_pR0xQBhME=@protonmail.com>\n\t<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>\n\t<EqPZW_J82JSrXhMd9h95mLvOLwPabgRPvQ8tvFJCR9bVhPrK3fA9LCkDePSUsQkxL_J2OQCfaNCy8AUk2zAr3x0wilbeXtKJojhQXR0tLP0=@protonmail.com>\n\t<172ca0ba-9265-311c-f1b9-5d579558ab10@ideasonboard.com>","MIME-Version":"1.0","X-Spam-Status":"No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,\n\tDKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF,\n\tFREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4","X-Spam-Checker-Version":"SpamAssassin 3.4.4 (2020-01-24) on\n\tmailout.protonmail.ch","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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>","Reply-To":"Dan Scally <djrscally@protonmail.com>","Cc":"LibCamera Devel <libcamera-devel@lists.libcamera.org>","Content-Type":"multipart/mixed;\n\tboundary=\"===============7322368258499474928==\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12181,"web_url":"https://patchwork.libcamera.org/comment/12181/","msgid":"<20200827123830.GB6042@pendragon.ideasonboard.com>","date":"2020-08-27T12:38:30","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Dan,\n\nOn Thu, Aug 27, 2020 at 12:10:07PM +0000, Dan Scally wrote:\n> > Oh! That's fantastic news,\n> > \n> > Are you able to share some of the information on the work you guys have\n> > done with the DSDT patching or bridge drivers?\n> > \n> > We've had plenty of people asking about how to make use of the IPU3 on\n> > platforms we can't otherwise support because of that. There's quite a\n> > few Dell laptops that also use it from what I recall.\n> \n> Sure, although I wouldn't call any of it production-ready yet!\n> \n> The DSDT and bridge driver are separate methods; myself and the one\n> other person to successfully take an image with a Surface webcam are\n> using the bridge driver, and that seems like the best approach.\n> Repository here: https://github.com/jhand2/surface-camera. Patches 1-3\n> and 5 add all the connection functionality, though note that the\n> surface_camera driver introduced by patch 5 hardcodes the connection\n> values to a specific camera on that chap's device, and additionally it\n> only connects a single device so some tweaking is needed if you want\n> to try it at the moment.  I think the author is too busy to work on it\n> at the moment, so I'm currently writing an update to that driver that\n> will connect any number of supported devices by parsing the\n> information we need from the SSDB buffers in the DSDT.\n> \n> DSDT modifications, best example probably this repo:\n> https://github.com/kitakar5525/surface-ipu3-cameras. I tried and\n> failed to get that working, although it definitely worked for him.\n> \n> Main development thread is here if you're interested:\n> https://github.com/linux-surface/linux-surface/issues/91\n> \n> There's still a decent amount of work to do, but it's looking quite\n> promising.\n\nLet me join Kieran to thank you for your efforts. This is really nice\nnews !\n\nAs you may have noticed from the very green images, there's still plenty\nof work to do on IPU3 support in libcamera. This will open the door to\ndeveloping libcamera on more IPU3-based platforms, I'm excited about\nthat.\n\n> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐\n> On Thursday, 27 August 2020 12:59, Kieran Bingham <kieran.bingham@ideasonboard.com> wrote:\n> > On 27/08/2020 12:54, Dan Scally wrote:\n> > \n> >>> I'm still interested to know how you hit this? What platform are\n> >>> you testing on ?\n> >> \n> >> x86, specifically a Lenovo Miix-510. I'm working with the\n> >> surface-linux guys trying to get webcams working on Microsoft Surface\n> >> and similar devices. We're either patching DSDT or using a bridge\n> >> driver to connect the sensors to the cio2 infrastructure, but trying\n> >> to take images using either cam or qcam threw the error that this\n> >> clears (though media-ctl got past it).\n> >> With this patch in, my webcam's functional.\n> > \n> > Oh! That's fantastic news,\n> > \n> > Are you able to share some of the information on the work you guys have\n> > done with the DSDT patching or bridge drivers?\n> > \n> > We've had plenty of people asking about how to make use of the IPU3 on\n> > platforms we can't otherwise support because of that. There's quite a\n> > few Dell laptops that also use it from what I recall.\n> > \n> >> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 27 August 2020 12:48,\n> >> Kieran Bingham kieran.bingham@ideasonboard.com wrote:\n> >> \n> >>> +libcamera-devel\n> >> \n> >>> On 27/08/2020 12:11, Dan Scally wrote:\n> >> \n> >>>> Hi Kieran\n> >> \n> >>>>> Git commit messages should aim to be wrapped at 72 chars,\n> >>>>> though it can be longer when it makes sense. (the above goes to\n> >>>>> 96).\n> >>>>>\n> >>>>> We can rewrap when applying though.\n> >>>>\n> >>>> Mea culpa - I'll stick to the limit in future. Happy to do a V3\n> >>>> if you prefer, fixing that and the SoB.\n> >>>\n> >>> No worries, I think it's ok.\n> >>>\n> >>> Unless there's any comments from anyone else I have it fixed up\n> >>> locally already.\n> >>>\n> >>>>> This is missing a Signed-off-by tag from you.\n> >>>>>\n> >>>>> Can you confirm you are happy to add the following please? (as\n> >>>>> per the DCO: https://www.libcamera.org/contributing.html)\n> >>>>>\n> >>>>> Signed-off-by: Dan Scally djrscally@protonmail.com\n> >>>>\n> >>>> Yes, absolutely. Sorry - first time patching anything, knew I'd\n> >>>> forget something!\n> >>>\n> >>> no problem, Thank you for contributing!\n> >>>\n> >>> I'm still interested to know how you hit this? What platform are\n> >>> you testing on ?\n> >>>\n> >>>>> On 26/08/2020 17:05, Dan Scally wrote:\n> >>>>>\n> >>>>>> The setupLink function fails (ioctl returns EINVAL) when it\n> >>>>>> passes the MEDIA_LNK_FL_ENABLE flag to a link that is already\n> >>>>>> flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE.\n> >>>>>> Contrast to media-ctl's equivalent media_setup_link() which\n> >>>>>> ORs the new flags with the existing values. This patch\n> >>>>>> modifies the behaviour of setupLink() to behave the same as\n> >>>>>> media_setup_link() in media-ctl.\n> >>>>>\n> >>>>> Git commit messages should aim to be wrapped at 72 chars,\n> >>>>> though it can be longer when it makes sense. (the above goes to\n> >>>>> 96).\n> >>>>>\n> >>>>> We can rewrap when applying though.\n> >>>>>\n> >>>>>> ref\n> >>>>>> https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n> >>>>>> \n> >>>>> \n> >>>>> This is missing a Signed-off-by tag from you.\n> >>>>>\n> >>>>> Can you confirm you are happy to add the following please? (as\n> >>>>> per the DCO: https://www.libcamera.org/contributing.html)\n> >>>>>\n> >>>>> Signed-off-by: Dan Scally djrscally@protonmail.com\n> >>>>>\n> >>>>> With that,\n> >>>>>\n> >>>>> Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n> >>>>>\n> >>>>> Eeep, git-am had issue applying this mail, possibly due to utf\n> >>>>> formatting or such, but I've fixed up locally.\n> >>>>>\n> >>>>> With confirmation from Dan on the SoB, and another RB tag, I'll\n> >>>>> handle integration of this patch as I have it locally.\n> >>>>>\n> >>>>>> Changelog:\n> >>>>>>\n> >>>>>> v2 - Simplified by removing the call to link() to fetch a\n> >>>>>> link that's already passed as a parameter to the function.\n> >>>>>> \n> >>>>>> src/libcamera/media_device.cpp | 2 +-\n> >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)\n> >>>>>> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n> >>>>>> index de18d57..007a45b 100644\n> >>>>>> --- a/src/libcamera/media_device.cpp\n> >>>>>> +++ b/src/libcamera/media_device.cpp\n> >>>>>> @@ -794,7 +794,7 @@ int MediaDevice::setupLink(const MediaLink *link, unsigned intflags)\n> >>>>>>\n> >>>>>>  \tlinkDesc.sink.index = sink->index();\n> >>>>>>  \tlinkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n> >>>>>> -\tlinkDesc.flags = flags;\n> >>>>>> +\tlinkDesc.flags = flags | (link->flags() & MEDIA_LNK_FL_IMMUTABLE);\n> >>>>>>  \tint ret = ioctl(fd_, MEDIA_IOC_SETUP_LINK, &linkDesc);\n> >>>>>>  \tif (ret) {\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 EC5CFBDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 12:38:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8819862901;\n\tThu, 27 Aug 2020 14:38:51 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A11F5628D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 14:38:50 +0200 (CEST)","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 14EA31872;\n\tThu, 27 Aug 2020 14:38:50 +0200 (CEST)"],"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=\"J3R4v47m\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1598531930;\n\tbh=Uat2Fc04DfNm+xsp1SgP4Q65h+1ltOWC5YECjZhzEU0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=J3R4v47mLVjyvkpDmqsb/wca4QkzYyjwtgUJ72SNc14dq1K3CQEg9KF0ltIKbgvbg\n\trOerb4ttod1CFNsHdTKpu6guoYX9xM224sCt42243aOtEpA+QNeUG9fJh8Eh9Kk3+G\n\tn5C5AqG2pTqXKPkO8ptZfoGV+e3a8Urtha1V+xiE=","Date":"Thu, 27 Aug 2020 15:38:30 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Dan Scally <djrscally@protonmail.com>","Message-ID":"<20200827123830.GB6042@pendragon.ideasonboard.com>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>\n\t<4f2b2844-a8b9-41a8-aa59-e5231309d2b2@ideasonboard.com>\n\t<c5RoKyakXYa6NMXzq9XNLVL49jIFZuicEc39RDj21EEAOdWo3DK0r6qXnXrdWmzZLpjQLoWKKrRC-dx4bdF5DG_hF4C4pOZxv_pR0xQBhME=@protonmail.com>\n\t<bc3e91aa-e892-95c4-966c-8a524f062a14@ideasonboard.com>\n\t<EqPZW_J82JSrXhMd9h95mLvOLwPabgRPvQ8tvFJCR9bVhPrK3fA9LCkDePSUsQkxL_J2OQCfaNCy8AUk2zAr3x0wilbeXtKJojhQXR0tLP0=@protonmail.com>\n\t<172ca0ba-9265-311c-f1b9-5d579558ab10@ideasonboard.com>\n\t<95wLRr5hT-N0QFSxIL9Qf1yMtnv3SJgSvDPmn70d9Qga4EUORVaCfiLp28C_AvOAu6125uynz3uAyrxfOBAQMupaQnftELzIu8wdONpDnFA=@protonmail.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<95wLRr5hT-N0QFSxIL9Qf1yMtnv3SJgSvDPmn70d9Qga4EUORVaCfiLp28C_AvOAu6125uynz3uAyrxfOBAQMupaQnftELzIu8wdONpDnFA=@protonmail.com>","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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 <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":12182,"web_url":"https://patchwork.libcamera.org/comment/12182/","msgid":"<20200827125902.GC6042@pendragon.ideasonboard.com>","date":"2020-08-27T12:59:02","subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Dan,\n\nThank you for the patch.\n\nOn Wed, Aug 26, 2020 at 04:05:50PM +0000, Dan Scally wrote:\n> The setupLink function fails (ioctl returns EINVAL) when it passes the MEDIA_LNK_FL_ENABLE flag\n> to a link that is already flagged with MEDIA_LNK_FL_ENABLE and MEDIA_LNK_FL_IMMUTABLE. Contrast\n> to media-ctl's equivalent media_setup_link() which ORs the new flags with the existing values.\n> This patch modifies the behaviour of setupLink() to behave the same as media_setup_link() in\n> media-ctl.\n> \n> ref https://git.linuxtv.org/v4l-utils.git/tree/utils/media-ctl/libmediactl.c#n210\n> \n> Changelog:\n> \n>     v2 - Simplified by removing the call to link() to fetch a link that's already passed as a parameter to the function.\n> \n> ---\n>  src/libcamera/media_device.cpp | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n> index de18d57..007a45b 100644\n> --- a/src/libcamera/media_device.cpp\n> +++ b/src/libcamera/media_device.cpp\n> @@ -794,7 +794,7 @@ int MediaDevice::setupLink(const MediaLink *link, unsigned int flags)\n>  \tlinkDesc.sink.index = sink->index();\n>  \tlinkDesc.sink.flags = MEDIA_PAD_FL_SINK;\n>  \n> \n> -\tlinkDesc.flags = flags;\n> +\tlinkDesc.flags = flags | (link->flags() & MEDIA_LNK_FL_IMMUTABLE);\n\nI wonder if this shouldn't be done in MediaLink::setEnabled() instead.\nThe function reads as\n\nint MediaLink::setEnabled(bool enable)\n{\n\tunsigned int flags = enable ? MEDIA_LNK_FL_ENABLED : 0;\n\n\tint ret = dev_->setupLink(this, flags);\n\tif (ret)\n\t\treturn ret;\n\n\tflags_ = flags;\n\n\treturn 0;\n}\n\nand flags_ will lose MEDIA_LNK_FL_IMMUTABLE when setEnabled() is called.\nHow about\n\n-\tunsigned int flags = enable ? MEDIA_LNK_FL_ENABLED : 0;\n+\tunsigned int flags = (flags_ & ~MEDIA_LNK_FL_ENABLED)\n+\t\t\t   | (enable ? MEDIA_LNK_FL_ENABLED : 0);\n\n?\n\nOn a side note, I recommend using git-send-email to send patches, to\navoid them getting mangled by the mail user agent. For a patch as simple\nas this one Kieran fixed the issues by hand, but for more complex\npatches that wouldn't be an option.\n\n>  \n> \n>  \tint ret = ioctl(fd_, MEDIA_IOC_SETUP_LINK, &linkDesc);\n>  \tif (ret) {","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 E0F6EBF019\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Aug 2020 12:59:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5B07562901;\n\tThu, 27 Aug 2020 14:59:30 +0200 (CEST)","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 A9A26628D4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Aug 2020 14:59:28 +0200 (CEST)","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 9583C1872;\n\tThu, 27 Aug 2020 14:59:22 +0200 (CEST)"],"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=\"VgJ89pxS\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1598533162;\n\tbh=goQBPRcLyuEUHD1OSiTp9Sg3f+YXOaMksfFNLUB5Fh0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=VgJ89pxSJTXa6dgfDY6+1naiA6F+W7fVU4laxp6tq2iaNxpdD5XqpVsxAm6L0yAM1\n\ts7q5W+npbYC/rsxktysKkz6UN8fyopQHAiXSyG1Oesu7ss9hyyIRUKbyLfzd4xq3G8\n\tcweWtEydhDt80Gm1exdydWbUybvi5rHeaqz/kyNU=","Date":"Thu, 27 Aug 2020 15:59:02 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Dan Scally <djrscally@protonmail.com>","Message-ID":"<20200827125902.GC6042@pendragon.ideasonboard.com>","References":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<1PjHuckjnFWu-P_WVFjNhBem43Z22IbEVss8hepg7PwpuDCy1ZuXDSQ9Ju3lrMLaOWrjWpnFcGziK2_JaaoOP_H09ER37luwAqnPQqv4VMU=@protonmail.com>","Subject":"Re: [libcamera-devel] [PATCH V2] libcamera: MediaDevice: Make\n\tMediaDevice::setupLink account for existing link flags","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\"\n\t<libcamera-devel@lists.libcamera.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]