From patchwork Wed Jun 18 12:45:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antoine Bouyer X-Patchwork-Id: 23595 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 E0091BDE6B for ; Wed, 18 Jun 2025 12:44:43 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C7C5768DD9; Wed, 18 Jun 2025 14:44:42 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="Sl4XW9Ip"; dkim-atps=neutral Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazlp170100001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::1]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 206CB68DC1 for ; Wed, 18 Jun 2025 14:44:40 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FkopxttrQYVvGBr56gA9U2V6algdK3UvkLgXxMroFS+Msr87vvtX/QY9SidvhIvfQyvBrVonDx56YI6rqsu5Dx5F7ajpQA8Eob+/kWFrlMySicDg1UmkCwvgo2oMpxa4AgHeitNRWfetU1j4Muzf+k00dqV9p6QmhRP/jj/E6wzCm6NTp7CTexzPaxZIDMY+umPfgk6VORFOrtHZmaVxqjNXtUiEPjI2SYkP/TnVzGcwg0qVRI6mPWv/wi0l/mHuwlOhPKGtr6rAwPoTzHPMcs6Qh1hX9APsUbAx9XI+MibuNiRllMJymFc33XJRkvpcLu1g86/TPsL+C/wvx95HVw== 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=tRDIESfvQ4kUNhc+5T7zl3UWumTEv4zFQjtTcJuUD2Y=; b=bppeMWESgITFkjmHR3nltFJ4ScrL5cAjVdQ2xApH3r6vvj79bR/GssrEYdb/7AUQjsYZ2rwZ6AfC6H/l7FkDrlimWooN7qG/HjEM2SVbbcIACaE8FRbiycqrJG5uhyGjHtT7UyaONOJVH4NprkC+IpmFw+wruEf6VuFJNf2IZFeRdpBCONMzw7kxoVADK0V2VT5RVZjzN00S3QDw9fwhs0mPoRbjjKK9Pny6QxgCrhIh3kMFEJnIaSImFk0kzzbzkWMS9vaeO6OPiIkhXfga4SZogg3a0nU5bPVJ2qKpbYhTSn6mjp1FnKmp/y+qOTKb0r8T/Ky5FFXmx6jtrB7DoA== 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=tRDIESfvQ4kUNhc+5T7zl3UWumTEv4zFQjtTcJuUD2Y=; b=Sl4XW9Ip+4kUf1G+HgIYS6EISE4hY/rC/9IQZExV1a5IbW/cNlwPifhxn1VQy0IuDBTS/5EiZjrBl+BCWy3NfdxasxkcDEoac6DwiT14jrR2Yh+hTSrBplabnn2He8qmcyjybwoZmrZhVnQ9Bb6zei4xXT6h20Lh4yN5JqdYhvljsevl/4QgchXB/gn7ovC1VwIiwHB/blL3qU4HKQ/3zt5V7Bq3l+hdvh24YzOUl774wO9cnf3rZaXvXJIuFPUQ4kzheCaiu82SOla3ksbn3ktSeY9pAzA03OZ2ZMc0SXZCF+9pG4tNCo/ClzAmOLN8xV7Iwo8AofA3loLetc/aog== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB9PR04MB9817.eurprd04.prod.outlook.com (2603:10a6:10:4f0::16) by PAXPR04MB8272.eurprd04.prod.outlook.com (2603:10a6:102:1c1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.19; Wed, 18 Jun 2025 12:44:37 +0000 Received: from DB9PR04MB9817.eurprd04.prod.outlook.com ([fe80::144:cb06:336d:abb3]) by DB9PR04MB9817.eurprd04.prod.outlook.com ([fe80::144:cb06:336d:abb3%4]) with mapi id 15.20.8835.027; Wed, 18 Jun 2025 12:44:37 +0000 From: Antoine Bouyer To: libcamera-devel@lists.libcamera.org Cc: julien.vuillaumier@nxp.com, Antoine Bouyer Subject: [PATCH v2 0/2] pipeline: imx8-isi: Add multicamera support Date: Wed, 18 Jun 2025 14:45:39 +0200 Message-Id: <20250618124541.2340270-1-antoine.bouyer@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: AM0PR02CA0106.eurprd02.prod.outlook.com (2603:10a6:208:154::47) To DB9PR04MB9817.eurprd04.prod.outlook.com (2603:10a6:10:4f0::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR04MB9817:EE_|PAXPR04MB8272:EE_ X-MS-Office365-Filtering-Correlation-Id: e136dd23-5c91-46e5-8617-08ddae65e294 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: 3kwUzeBh4ZTX2UiczDWyVgMFd2LAFwf9FOBuIj47oqPxGQX9JPdMaEAlzZ9Kbo0aCtWN5IYLfadWrMAU+YvIoUEmkY0e73dlsOKkOXbT+Dv0WQg6b6qe7/q2xlUXtv5vl93je6FYFyn982S3TuWJWXUH59HX6bUbxwjZI/wospEamq9biwgKxtyZkt39rGnSn+K7MPkVyRA02M1lU9RYqPLfCvcitVUKtnH7Td9ZV2T0BQ/ttuc185Cmh8i0qGcmWwJQhsZylj2sqv1DqFa/4mcbGU+6euNSJFFu2PeJXlpRq1SE8nFlnM2rl3aojhAceEojY/Bvo6btN+i0aLgtHxCnAil3HYT/pNRULLuLyBIAhCWEC/4jFd3MEtV+lPhq8va9C4qgcetrjqslwjeCJLU6tNPzjySlFl5PDzi3/yklvPWWfNgpm08Xo4fiLJV4JOKh0x3nClbIIPJnRypnwBUFUMmXO9U1ML1cPNpWAC4K1c2jzgPLo51WQMxbCQFj7nJylOSTghn3eLMx4gP7Df9CgpexPhEcKC1s+IxqUD32yHa1NqLHe9XLQxttlosPLdSgIHsCu1kx0bNGa+7Weo7hhCe4mGRtR/fRe6CkXWAgQmBM7jRqy0+o7lW5ZKWBanCmPtp0nN5rDhXXrKXhdXMlxCX+MYSYcEc1t9Pqc9BOmNGVZLyzPxFyIKQPeqF0LfrIQW1qyBGa3dUIzaCkZ/tYVaTPisoM2gTyH45E8Z5Ntxo2n4Cdmx3bJFXwPHmnNi5bNi8XfNxhD8Ss9krpzssKeeJX729kMQhCAWrmr9i2P+CXbY7gLc9TCIf0yqisk7Y/BNv4wlZAAp/AqanDPC0wTMKtvJVAkSH9PXkcsk7/uQgDCjIwFOvDHqzHivAEDh/T+am0xG5W7cNSl01vnYivIkKwvoNu1C0a/64QFqVKzzcc7jalvzL/ZrWyBk3AKzweZZ7j2wioSOT5BhNxSi+qyUEQMSv/WuxYA7ZAQc5Ymdw8vlKLgZ20R0fN6doq4o3C9HZGrCIOQFNT53mC3QJXAD2mtApbSUjrMdN6O7mtv3bDElQ3QJkceft5EtMJffxhZgYLphCtWmEl6lWOqT7FNXctOqSpc4oS9gELiMILU69x6MMSdTGoIZ/jeECgR8VSkOBlRWvXOYJiUST+5HqhM34dK/OfMtVnsiSjGG0MbcE8XXfopJ7Adr/nak4u8GobUrt+hVaTxiTInqgD+HAzwmI/Ux/JehkL23ANsx4qlpWomkGRyWjX+DYobpEVPePGyp5tHw8RlUMdwRlIQfL3oPxBQO/7b5TQSDisXDAhMochhPu62nuyz6kq1hRBjJWEgICoMhf3F+5Yzca6M91++yJsugKdbRWOS/kxacX33hnlGfy+te0mFH9gz7Todl4iUW0MsaAhTcUPG5c/gUe/KEABhIe6CwTANIYkaNM7AwtkhyhGFaFLE3H1wuekBrFVR2roKZLyP649kMT3TA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR04MB9817.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GUQbCad6zUGFWIMWE3IDG5GYadESlpKqh3LxKYOHyCudWLgQRMgS1E1UgsfWhfthKpupAc/yst+7CwK8jacwDNj7LDi9sC3gyNOOIfRVeYjQGmpA0JlczgCZQss/JztA8oCAcseMvVacrRY+sqmciV+qnWI2LvrCVR4Oc+kl0NJJr3dFNqmk0maoDnVpaEJgHQ1dpecr2km5JlogNJ1M3sCPfK58QO6OCOPsGurCYNEFSr3NGjQmXZK1Q5wlseezVF+BSsTPFZpl+FI5MGZs58ifxzqvsxh67e4+TbMSi93Ov8fO9d0GoI0nbigObhsBQoE/N3uhoSpPSZpEL5Wcxhcp4VLnZj5K5ZE3OnxcKzQwWitciHGaGPuBbc57GpBMWCmDSL7+xBrKGSiRrHnRi+1yNtis4TvFRbAl61EHpiefXeYkVyTzrqTXtTD8xXrkAkaK5g0DTJNl8FFj1mrFgRCYKQzH+3MUuLBaGOHc/yOyRghUDZkUiixfakTzRqJhiXDdsaf3MrA+sBVAcaLPBWEWtySz0bfFeqS5fC22w/o4HSQJdkXi0dcJjobmBP5H98qsmWOkRzMFN2YfxFUEsbqeFrSAfKeDkQ+q3hxB1UPa9QsdEGhLNF9jBendbkyGXv0a+FSkOZZaBmFfofTz4tEvjWuh40tg1G5B98KYDCDrgJSS2C9sbIEMZ1+5Xs5nyvFl8iUPwN3ZJ/tW+cPn3JvGtCPFKiYMQYkeaiWoczrRcFn0sFNF9uDMLvwWwhwxEGyIkXc/p6PS7he4KG5OORKDaM97fynaq8qjR+llE0I14Fnkfl/5CdI0tverKHYEfjd+VNQHuYK7Frr2IWj36Lk1nZWaaojmGSB/5nlkMpOXjk4643nK4uncGzO4w8AI6nppf+ph9qaftXpRtODn1oSl8rB2EORSMSVLNhRAGEWjdSWm0+GBIwAAjPkLFZ7mrLPzjfhFPlgvHbdZq9zOIQ0TkyJ1jW+2RN2rpZZCJy36ngxjAD2CIq9Rf7GfSqTHUPzdwPRkkURcO+jYqS0PBIECamF3vWGhnYG7ahW0x69efQNajSMEeNJ3jniu8ILHtZlYAMryeN+09so5E3ueBl//TjR5SfT+PzToOJnavlaq5v2nWTZHYzQDeuhRTrjVbPiAX3U3cnMHjNYWvd/aSGGcaXzq0nVwIEnbH4Pq9ewBWOUj6qax2/XY225UR8r7/p+BA4JH1QymZeqsEMm8NbVDgy5V5/7AdJd3sSsq5tJ8z3TYyc3nygsffBqFwRHiRAGATilnXyzipO8YkfIh4W7IYy9m9Y0A+49h58BSIf2+FRdY9UqcO4Goz5aNGkfla6a12+IB4YTVHHgWUXg98qjctZqMjC4LdFvsLbxftUXr6YAM6l0DDYJ9LH0XHQzCRalchspTpPPO50nycJ+gpCjZJm4MFBjoAxrV4ga4QEUmmabca+EbXjZRiKTXa4b246oAj+Bl4azP6BCVJxPCLZYGRtEFO4q8sdFStLVX86Fbxi0dLevckI+d29ik83QVRMmngM8hVAuK1R/XCgDKv4qnB0/N7OUE+jY4AOf3AfUKPiwS45pau4UzkdnX/+WbFlOb8Fv5rfQPeRdYRkPT0Q== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e136dd23-5c91-46e5-8617-08ddae65e294 X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB9817.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2025 12:44:37.4707 (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: mQKOjlmah6lQabyyKOCO4hLDZK1ZD6qU8Ff1liZafZPhRfXH/jdc9NZDyMdAHD0+X4vP/uP6ILIclVYitXs5YQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8272 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" Hi This is second patchset for adding support of multicamera into imx8-isi pipeline handler. As with v1 version, ISI routing is moved from configure to match. Number of cameras is computed at beginning, so as number of pipes. Then same amount of pipes are assigned to each camera, with dedicated routes. This patchset integrates all comments from previous v1: - Rephrase some comments as suggested by Laurent. - Reflow text to 80 columns in comments. - Add error log when camera count is not as expected. - Move link-enable into match instead of configure. As agreed during previous review, I keep using same amount of pipes per camera instead of using all available pipes when division factor is not an integer value, and any misconfiguration keep returning error during match. Antoine Bouyer (2): pipeline: imx8-isi: Add constexpr for maximum pipeline and resize if needed pipeline: imx8-isi: Add multicamera support src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 121 +++++++++++++------ 1 file changed, 81 insertions(+), 40 deletions(-)