From patchwork Tue Nov 4 07:56:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Antoine Bouyer X-Patchwork-Id: 24962 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 82FBEC3241 for ; Tue, 4 Nov 2025 07:54:50 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8C1F760A80; Tue, 4 Nov 2025 08:54:49 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="NB0t0ufU"; dkim-atps=neutral Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::3]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B10B7606E6 for ; Tue, 4 Nov 2025 08:54:48 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rahGKuPKjPIl/h73HM7KedRLM/j/7L1CUE6FjCxBygBLbuo9RYMASINAc+86hKnX8O+XIea+YAsfRhNwG560dD9Hr0vY15Y8i9COuwZN55M4vmqQcFlGcD3vW93rUUHAXQAeTCv5hedYmYMKH+p4p8CaAw4CvUSVYk63Iql3c4vv67w0QwSaNUwPIVm1N3yKsJDYidmGVPOaZ6bIMclAGTF3WLSoM1dmE4JaR00qAiKGKq6V7mjOI4/cKq52Q0e1B+Mk/U1zfi5AWkD2FHkzPG2S3meT31KyT8K9bNxpn5fD41Qnw/FYonwCToQnybj5PuOIDbD1mPDNnKxt5XPBdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XvrfBUFlVMYOaxtAUKh4/35r3PfyDj+z0hFtACzC5+4=; b=HLr60SNiLhRoW9+CxyqxUfFn3y4Oh1ToDdcsErdljtngopoumOEkK2iftxnE/pTpTKpcD1shN8ASkp1yoXufhhvmYP7iuGo6hJK7C2kFRY406lSPfhLX915saFEIsKxtp4Vp3Uqdhp9nFZs2TDeNuXxvjZZtVSTX1oWWJDA05Nh50s6IEP/XjG6R3VPEiQpjrqvUOW8vUM5wOd2GxzIP30q4Ey0+k2Ktrwys+wuwuEW5bdOYcpqwLdjfVjOR3sL11b05OAdd747CiSxIMcj8xlPVKicauyVMXCM7Cf8uTpebedJJr04kdKEzreSmEl+2dilXPq946p51d161PBPSag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XvrfBUFlVMYOaxtAUKh4/35r3PfyDj+z0hFtACzC5+4=; b=NB0t0ufUhldYxxoQcHcCRlyyl+WeQu+En/NJzVJ6j07YdGTOLi3OYqOxy8bbcomaOiP5RTHByHc3WI9q0jtq6L+att3aQqQSm10oQWYdDN9CqA3wPkHO8/F93HoYwovzI5CVb6niGwpGcVl0pa1NYnqPdTqIb2dzDrNlqkUXTjEZkRdDeZK5DUSYiJx2DFtsuewYSGrkOPSt8YknAl54uTBxf9QJ7Ec8P8ayYg8SsRKij1NjGLOtd5WDHL7BYtpoA6IZQv4uEoB1rp46XAR0qXYV6r2oV2pwx3VxDBfTNoSnyoRudxJTtcgxHBXZh4x0037YNT0LsLd20AaSQF1QZw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8) by DBAPR04MB7448.eurprd04.prod.outlook.com (2603:10a6:10:1a6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.16; Tue, 4 Nov 2025 07:54:47 +0000 Received: from GVXPR04MB9831.eurprd04.prod.outlook.com ([fe80::4634:3d9c:c4a:641a]) by GVXPR04MB9831.eurprd04.prod.outlook.com ([fe80::4634:3d9c:c4a:641a%6]) with mapi id 15.20.9298.006; Tue, 4 Nov 2025 07:54:47 +0000 From: Antoine Bouyer To: libcamera-devel@lists.libcamera.org Cc: julien.vuillaumier@nxp.com, Antoine Bouyer Subject: [PATCH v5 0/2] imx8-isi: Move isi routing into acquireDevice Date: Tue, 4 Nov 2025 08:56:07 +0100 Message-Id: <20251104075609.94310-1-antoine.bouyer@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: CH5PR02CA0015.namprd02.prod.outlook.com (2603:10b6:610:1ed::9) To GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GVXPR04MB9831:EE_|DBAPR04MB7448:EE_ X-MS-Office365-Filtering-Correlation-Id: ae15b58a-1795-4518-533e-08de1b776c4e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|19092799006|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?KZiJJpePDuX/xMMzq/DI84xLiwSs?= =?utf-8?q?dfowwWwJUdPDA9RUN160966DAzhli/UN8+lOXZ4dULSyv9s3G3hoGvdP?= =?utf-8?q?lMfBuK7nqLTrMYnlQ4pBgnNtH9aIOSgvL3LNsPMxvIXiAwyjaiDU5JMy?= =?utf-8?q?c4aCw7i4fQimUNec1blTeguBsIwKho2DnOuHtL/ZMK1AZ75vGUlMq1Em?= =?utf-8?q?5BzvC2rN00Js53xvK9vRv2+qfBZW0+d7Cb5tTADRpqjThZELUyOrRaBK?= =?utf-8?q?MYlk2RPcKYIYO2v+UfmGFZ9Sj9ZJ1pLpEzcM2U5fYnj1Mj6vSo2bMyGg?= =?utf-8?q?HVd8/kjtobc07gatfL7VTlhfpgkTJoOlzDSkr3nkcIN72it8T1kniN43?= =?utf-8?q?k+/z8CXrmKlF3ema57ksKEtWSdrUaAkgBhyYLrVkUjNizfh2dmv88hIs?= =?utf-8?q?/QIo+1P/t5i6zBEthd2dfaf+nTux8w7spwxX0d4YpFmgEfLlDizTJO0R?= =?utf-8?q?xtdbEUD39cGarhZfDIOT4WlDMVSQqvvJ5267GD5fM25DtBMz9ZvKRiaX?= =?utf-8?q?zPv9WZn/nnZ6EX5y0eanjKRt4fTdqCC5jFE+/8GZFWoIFKlrI5h/MWE6?= =?utf-8?q?fqsfqiQXs8ia2dj8+OLQjzQycj1fqIlNSJg+atNTie3Wo3jcSH2tl0/5?= =?utf-8?q?BTYIgFPHz+N3W/MthzxHG9YzqBD9XvNVveoM42D5LFPS+Rih4YMr7p3l?= =?utf-8?q?VXZeK11LvoLZaRz+ma2nqRLpQf+nSGGSoTbRA160DrRrwh5dqwKIv5k4?= =?utf-8?q?erPwD4dSS4GGGT0ON2Cj8dYKR/aSqCA7tdUuCze8+rGl+WMGAqsC94nU?= =?utf-8?q?JpR6RhBIosaUaa2U6/2mQAaZEYIPhOiuPP4o7pobUthKbUP96zmXNhS2?= =?utf-8?q?/huht3cQDUUBjLhqDBJa7bCdsWBjCepKtoznxrxCFA91uUyyqK78l++W?= =?utf-8?q?LEI1kdEGixG2q/Cz81imSkhrZI1NnF5Mh7P1hmxYzDGX/W91XZa1Y4Hc?= =?utf-8?q?rGyOYoziPpCurHHYwbE4OT3/vPM0L/kAmOgA/oMlhLBVOSM25RPwU/jX?= =?utf-8?q?4ozNCRI2rgndUkOj9bE+Yya1WN1bmh2SQW5MTjfgX94PGFP6eoLGSuFY?= =?utf-8?q?tUvFARmpjrLA+BOEKKk0AYCwd9zMtftM7Enz/wEzZCKrpZiclPX3wIFy?= =?utf-8?q?ZPLeENHApOMgb6VcjFe0pBSoB3SXWXklhhXj0BzlaX1FAWvDHbpZnQ0k?= =?utf-8?q?UjqGSz4MlWTr0DMPGGhZ8hdwPubwllfaoYstgIQFzNdcFC1e7flIEatH?= =?utf-8?q?kBEMbAWnP6oNyZPveM1tS3Vn/GCwgLSxbGVj+BfXaNbyKZclWcSC54dZ?= =?utf-8?q?bkalKZIYDy81wev4fPQdF5ft9n65oBvB78vAxRaJtH16Wca6TDcna0kt?= =?utf-8?q?kfYQ6SP4h6rbhDyHLEzgVLzSQqtsinzQHVr12Mm8b9su95AyYuDvjHJb?= =?utf-8?q?zjkUXsh4EBsU0eROYvZxOLNnWp5HlR9En2rqgh5bm3NuWO7Z0w1AIWNQ?= =?utf-8?q?yVZk44vGvg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GVXPR04MB9831.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(52116014)(366016)(1800799024)(19092799006)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?QC1rq7Y7bihemOG4n5KUcbt6G?= =?utf-8?q?98ZXtgyhPKBFDo5xx8mFooeBiS2rDswdpuiqQNvwBdc3Td8aYVZWDJyU?= =?utf-8?q?kawvnBmP8RjKupEC9+UKpjT96TsXEva4sRW0WELPatbFspf21gCvudva?= =?utf-8?q?OXHQBCah9nfcEarCo5axpe9/4tyEOhiXFHqjPzYHtHsSz341zV5PfGsg?= =?utf-8?q?W2FQbL4V85rkF+xdmXjw38anbT+FkKGk8KP6wUFyGCqqjXrLzcxAWarc?= =?utf-8?q?UfcnGCYW+CAhizbuDasP65k/qAXK3AoPbTY8H5QIGLlJ405T54tUFXHf?= =?utf-8?q?8YQnexc4g52lrqsnRzJXEzo9gxKOfGU04zJmmTKp+S7GAKYahvafFIUZ?= =?utf-8?q?Pl47l3O0cx4M4v7RRAAJiqYXtjLJgkwodR7VtrGd4yhpA+bYWj5q/HP7?= =?utf-8?q?6kDaKOsqwHl7QC+EpA6tzZ/FE6qiB4GyMmH5HgsRzqqREbOydYdXvROS?= =?utf-8?q?KZfGmTxw3Rt700pYWcv0dKH+8WcbkuoOml+35CW7yAo4RoDITFuLWpQG?= =?utf-8?q?XVyLZuAHovm+4BNU0upcbY3ZqjQ0yhhAyXnw2CwMaRtBrbI8uJMxidEd?= =?utf-8?q?sp8E532r2cNlNs5nkN5fhfMHfXh16KQ+o42s+wDrUztNVgOAQ9Mw68Gu?= =?utf-8?q?teU6sk51uz0rkdKp8ZvHQA61edrwNf0ofv2iy2Ar0jfX+bN0K032nswt?= =?utf-8?q?Ku9p3nFB0jqsORmlt0L3liUSSaQe+ybTsOAx4WO9wcp14UrSLhm32TLG?= =?utf-8?q?Sq3sn/DFFg48ArlAaE0lb30IAaBFAlHlwzF3RWoUy9uJ0PeHjl/qfeCr?= =?utf-8?q?fK6lf98h3D2TmeaQeo2OMgXxvYVQeb+w7BulGgALuSeJ99hj5ZsornnA?= =?utf-8?q?IXL8J7bTTUCf+eQwpcNM/GFU+AK6aSpt3zD/9bRkzOOWu/EpfLmj7NR0?= =?utf-8?q?A5JGxhCu7GLG9+mzlnpgv0IpxKZL9ZVhK3Knoq9g6+U04bkthe+XrfcU?= =?utf-8?q?U8whGKdFJnWOWKxijNRCej8J3O3zwOHHEDpC51hagMCvPGaj9jGMBj0n?= =?utf-8?q?szzUceC5wUAjsbFS9i0ZhO+QYwoij2io2HfkagopZ1Y1ezv9ifNY5/Ur?= =?utf-8?q?KbyugqJqKrQeYZ0QwY3oiSHGy4XM6+MdymPz7rjdEkwkZKhILrDJ3EX6?= =?utf-8?q?p8L8OnDXWqxHajC3Ec+n8NWoqkd1bV3pkLeNaQJG+u1ZRjLU+Dl152kt?= =?utf-8?q?cF7IC4yZ2pjHjqw9KnX6InCDdFEQLDEqyAAoh5XFCyFwfgXzH6z7VhyS?= =?utf-8?q?764Myp3KudyTo/DWIiH1YJ7NaSC/8g44jGZuf2DDkrkMaBwDBfgK+/T4?= =?utf-8?q?M3A7p+0nrnfbnvsg27f/IQ9HmMYlJCFXZQL2TBx9sbZFIDRIb5WogXBn?= =?utf-8?q?G+D2LMhVKOPi4fFjkCM5Svw15w5m6zdx/SuGbuV74OK7YRC8sFkBIL/O?= =?utf-8?q?6spZctfhqvkmpcz7GUdrr15dXPvZRXuoo+w3QlMnmouEOd1a4t2TQ3QU?= =?utf-8?q?r9SNKFnyjpbpOCscvIG9a4R4cdygeRLQ+hzm5d39Rl4IOm7cbrs8xXSw?= =?utf-8?q?C5R9U9rWzycDAXA8UNWmsdcCZHgx4rkWE5S5ZziE3JkzWjVmKRXjAdMv?= =?utf-8?q?S5w9tsTL9SsXCXpsTX5qii3fvk6lA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae15b58a-1795-4518-533e-08de1b776c4e X-MS-Exchange-CrossTenant-AuthSource: GVXPR04MB9831.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2025 07:54:46.9236 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: icG5qohoa6OtmitLqlRwDmWYAeznGY0wsPSyfFWn/UsVRD/YLTM1xjfSqejPtiUAfOWuZRoEo4uFJFDx8szGhg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7448 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Submit imx8-isi fix on behalf of Andrei. As stated in the commit message, this patch fixes an issue introduced by the imx8-isi multicamera support patch, merged in v0.5.2. Issue is about running multiple processes trying to list cameras while one process is already using one (or more) camera(s). Tested on i.MX8MP evk. --- Changes in v5: - Move debug log into PipelineHandler acquire() and release() instead of PipelineHandlerISI. - Add 'const' after accessor function to mark it as non-mutating, like other accessors. - Rephrase accessor description as suggested by Barnabás. - Fix coding style issue in comments paragraph. - Add 'maybe_unused' flag in PipelineHandlerISI::acquireDevice camera parameter as it is not used anymore. link to v4: https://patchwork.libcamera.org/cover/24950/ Changes in v4: - Add an accessor for PipelineHandler::useCount_, and move back the variable into private to avoid documentation build issue. link to v3: https://patchwork.libcamera.org/cover/24850/ Changes in v3: - Move PipelineHandler::useCount_ variable to protected instead of private. - Use PipelineHandler::useCount_ variable instead of local acquireCount_. - Remove useless PipelineHandlerISI::releaseDevice(). link to v2: https://patchwork.libcamera.org/patch/24720/ Changes in v2: - Return boolean instead of int if an error is returned by setRouting in acquireDevice. - Check acquireCount_ is higher than 0 instead of 1, and increase counter only when setRouting is successful, or if counter is already non null. link to v1: https://patchwork.libcamera.org/patch/24706/ --- Andrei Gansari (1): pipeline: imx8-isi: Delay ISI routes config to acquire() time Antoine Bouyer (1): libcamera: pipeline_handler: Add accessor for useCount_ include/libcamera/internal/pipeline_handler.h | 1 + src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 26 ++++++++++++++----- src/libcamera/pipeline_handler.cpp | 14 ++++++++++ 3 files changed, 35 insertions(+), 6 deletions(-)