From patchwork Thu Feb 2 11:12:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Fend X-Patchwork-Id: 18231 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 34557C323E for ; Thu, 2 Feb 2023 11:13:08 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 73106625DD; Thu, 2 Feb 2023 12:13:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1675336386; bh=x9zKuY85f+MSA/WV8hlaY6W4lcG/2BIOCArLQIxJBqA=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=rmYrIFwAKrTUNwbGcH/n1B5UM+zYUmacXHASKZ4AapP6bAerjMudcDQVA4hZxGkiJ ZvxcRwmhdELT5KVzaGV8khHOnQ14Du+p8YAL8XuSv1Du6cIAMClm0qhMnZcQHiMD05 tunW7vBJTjBiQCKU2mFPjFktsl81nWsg7GJXnI3f9U0GLSsIumShqvwKfROTwd52iT CW0pov4SHwdI9LvtAnOPwHhTnDIkX0rVtMJFSnbUyM2OxSz5TB3pP9T3LYfDdeNrnS S5zEF7t1EJntul74PRm978p780UymiMjGsXBb/u0OKmSTH2Szg174RDT5KAdrNCNQo R1Ly+9fhtH3Nw== Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 67AA3625DD for ; Thu, 2 Feb 2023 12:13:03 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=emfend.at header.i=@emfend.at header.b="YpLa0fK2"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=SdbSshu4kv/MXr1ASzNqa+xRbnLNFNWqqO+mPH27ygA=; b=YpLa0fK28f4aAiBFJ+NoVSQq2b sC9RmCd+itBNxgb17EwWhx/OagKxU3sNFxESU3yCR+sd6pGrwHE1BHEZJaNYum2Yic64F1cknlcNa +qAxpxE+ODhOtubI7VA3E8KbollOq2YU8V5Vt8OmJe4fQGFbQs2k1TdL+9+cdKH49vVo=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:51050 helo=localhost.localdomain) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1pNXWY-008Uhs-L6; Thu, 02 Feb 2023 12:13:02 +0100 To: libcamera-devel@lists.libcamera.org Date: Thu, 2 Feb 2023 12:12:47 +0100 Message-Id: <20230202111252.3366729-3-matthias.fend@emfend.at> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230202111252.3366729-1-matthias.fend@emfend.at> References: <20230202111252.3366729-1-matthias.fend@emfend.at> MIME-Version: 1.0 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Adding basic support for lenses, as has been done similarly in other pipeline handlers. Parts of it will be changed later in the series, but the intended changes are more recognizable. Signed-off-by: Matthias Fend --- include/libcamera/ipa/rkisp1.mojom | 4 +++- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 21 +++++++++++++++++++-- 2 files changed, 22 insertion [...] Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment Subject: [libcamera-devel] [RFC PATCH 2/7] libcamera: camera_lens: add method to set controls on subdev X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Matthias Fend via libcamera-devel From: Matthias Fend Reply-To: Matthias Fend Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This method allows v4l2 controls to be set directly on the underlying v4l2 subdevice. Signed-off-by: Matthias Fend --- include/libcamera/internal/camera_lens.h | 1 + src/libcamera/camera_lens.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/libcamera/internal/camera_lens.h b/include/libcamera/internal/camera_lens.h index 277417da..66c32a46 100644 --- a/include/libcamera/internal/camera_lens.h +++ b/include/libcamera/internal/camera_lens.h @@ -27,6 +27,7 @@ public: int init(); int setFocusPosition(int32_t position); + int setSubdevControls(const ControlList &controls); const std::string &model() const { return model_; } diff --git a/src/libcamera/camera_lens.cpp b/src/libcamera/camera_lens.cpp index b3d48199..c8fadda5 100644 --- a/src/libcamera/camera_lens.cpp +++ b/src/libcamera/camera_lens.cpp @@ -95,6 +95,16 @@ int CameraLens::setFocusPosition(int32_t position) return 0; } +int CameraLens::setSubdevControls(const ControlList &controls) +{ + ControlList lensCtrls(controls); + + if (subdev_->setControls(&lensCtrls)) + return -EINVAL; + + return 0; +} + int CameraLens::validateLensDriver() { int ret = 0;