{"id":14415,"url":"https://patchwork.libcamera.org/api/patches/14415/?format=json","web_url":"https://patchwork.libcamera.org/patch/14415/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20211029115917.2467936-1-hanlinchen@chromium.org>","date":"2021-10-29T11:59:14","name":"[libcamera-devel,v2,1/4] ipa: ipu3: Extend ipu3 ipa interface for sensor and lens controls","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"c976a906a5d2be18fa271ccedd8c836e7552a64a","submitter":{"id":98,"url":"https://patchwork.libcamera.org/api/people/98/?format=json","name":"Hanlin Chen","email":"hanlinchen@chromium.org"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/14415/mbox/","series":[{"id":2680,"url":"https://patchwork.libcamera.org/api/series/2680/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2680","date":"2021-10-29T11:59:14","name":"[libcamera-devel,v2,1/4] ipa: ipu3: Extend ipu3 ipa interface for sensor and lens controls","version":2,"mbox":"https://patchwork.libcamera.org/series/2680/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/14415/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/14415/checks/","tags":{},"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 F17F5BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 29 Oct 2021 11:59:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4C5E5600BD;\n\tFri, 29 Oct 2021 13:59:26 +0200 (CEST)","from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com\n\t[IPv6:2607:f8b0:4864:20::62c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2BE1C600B8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 29 Oct 2021 13:59:25 +0200 (CEST)","by mail-pl1-x62c.google.com with SMTP id t21so6658189plr.6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 29 Oct 2021 04:59:25 -0700 (PDT)","from localhost ([2401:fa00:1:10:35fe:d53b:684:b538])\n\tby smtp.gmail.com with UTF8SMTPSA id\n\tt7sm6587333pfj.217.2021.10.29.04.59.20\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tFri, 29 Oct 2021 04:59:21 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"admSQWEF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; h=from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=2k99Vr8smPJ+QwrHYW4ovDxNd1eiIO/Iakp26gWl9Ac=;\n\tb=admSQWEFN4zJRuVpxDvD4iyiOAZ5FCyNQf5p35ZUYVcxIK8uyvSIIKNcZKmshHSc+N\n\tdKQQAaDnAEUK4MNy+LhkKvrW+jTtEJVa5cqSo3jyGgTFoNayzVGPAqbEbGwCmDZ4Y1CH\n\tv/sGgZxVRF7PpcZQDJjZuOV7SkXpDy9Roahv0=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=2k99Vr8smPJ+QwrHYW4ovDxNd1eiIO/Iakp26gWl9Ac=;\n\tb=useiUDzwR7qEtdC7fJ5TRY7S0dhz34hlewXcw675gRQ8Jzt/w4uk0VHIzEyaFXogTE\n\tL1ljs47HV/5/f7MAVZcFDHBd4RqhiJqj6dMg8tz03pfFZ2QyY2mewgkzeIJ924dXVcyV\n\t9u8pc0b6aUwLmTKRS9ynU3/h7HpPRdMR3JTl+DYYaSN0uzkQhkCbLLrwHwL7gh9q6TOl\n\tluBoQucN6s6J1nBnIveyJBiKYQmHopqosxlbQhE8ik5TfOeMqdwemLKdwV+rRKGG5cLp\n\tvO6XnuH8c/SHjA7do7wtk9Dc+j7mcRueDqA7tFLzyNoya0azNR7Qty36S/Ny/SGOX96p\n\tj7OA==","X-Gm-Message-State":"AOAM533rQSbt4UWjHGP/bEr8hLYeFmx14tRB6NdCDasICaQLa0d+xYv5\n\tlEn933kGwCcwkrALqwwbTmTZUdivxrjZ9ZKS","X-Google-Smtp-Source":"ABdhPJxNr3WCv5JQF64GbqtHJL3/X9RZEOQ3JLZ8A0UhBnDt8RSbXPcrYmE7mbQi2g2bo3pR07Smsw==","X-Received":"by 2002:a17:90b:1bcf:: with SMTP id\n\toa15mr3358139pjb.196.1635508761838; \n\tFri, 29 Oct 2021 04:59:21 -0700 (PDT)","From":"Han-Lin Chen <hanlinchen@chromium.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 29 Oct 2021 19:59:14 +0800","Message-Id":"<20211029115917.2467936-1-hanlinchen@chromium.org>","X-Mailer":"git-send-email 2.33.1.1089.g2158813163f-goog","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 1/4] ipa: ipu3: Extend ipu3 ipa\n\tinterface for sensor and lens controls","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"IPU3Event and IPU3Action use single ControlList for both libcamera and V4L2\ncontrols, and it's content could be either one based on the context.\nExtend IPU3Event and IPU3Action for sensor and lens V4L2 controls, and preserve\nthe original one for only libcamera Controls to make the content of an event\nmore specific.\n\nSigned-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n---\n include/libcamera/ipa/ipu3.mojom     | 4 ++++\n src/ipa/ipu3/ipu3.cpp                | 2 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp | 2 +-\n 3 files changed, 6 insertions(+), 2 deletions(-)","diff":"diff --git a/include/libcamera/ipa/ipu3.mojom b/include/libcamera/ipa/ipu3.mojom\nindex 2f254ed4..cc0d822f 100644\n--- a/include/libcamera/ipa/ipu3.mojom\n+++ b/include/libcamera/ipa/ipu3.mojom\n@@ -23,11 +23,15 @@ struct IPU3Event {\n \tint64 frameTimestamp;\n \tuint32 bufferId;\n \tlibcamera.ControlList controls;\n+\tlibcamera.ControlList sensorControls;\n+\tlibcamera.ControlList lensControls;\n };\n \n struct IPU3Action {\n \tIPU3Operations op;\n \tlibcamera.ControlList controls;\n+\tlibcamera.ControlList sensorControls;\n+\tlibcamera.ControlList lensControls;\n };\n \n struct IPAConfigInfo {\ndiff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp\nindex 5c51607d..6775570e 100644\n--- a/src/ipa/ipu3/ipu3.cpp\n+++ b/src/ipa/ipu3/ipu3.cpp\n@@ -646,7 +646,7 @@ void IPAIPU3::setControls(unsigned int frame)\n \tControlList ctrls(ctrls_);\n \tctrls.set(V4L2_CID_EXPOSURE, static_cast<int32_t>(exposure_));\n \tctrls.set(V4L2_CID_ANALOGUE_GAIN, static_cast<int32_t>(gain_));\n-\top.controls = ctrls;\n+\top.sensorControls = ctrls;\n \n \tqueueFrameAction.emit(frame, op);\n }\ndiff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex eb714aa6..8816efc5 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -1248,7 +1248,7 @@ void IPU3CameraData::queueFrameAction(unsigned int id,\n {\n \tswitch (action.op) {\n \tcase ipa::ipu3::ActionSetSensorControls: {\n-\t\tconst ControlList &controls = action.controls;\n+\t\tconst ControlList &controls = action.sensorControls;\n \t\tdelayedCtrls_->push(controls);\n \t\tbreak;\n \t}\n","prefixes":["libcamera-devel","v2","1/4"]}