From nobody Sat Jul 25 03:20:10 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011035.outbound.protection.outlook.com [52.101.70.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79B2C389455; Mon, 20 Jul 2026 03:30:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518253; cv=fail; b=aGmXHfGUDk+0BdPhzL9Lo/W43/YVIzF8oTJct6KbY0OQkkDTxmSaZDZst9abJJVO2FdFQSgrhqRk5ztfD4HD9OtoHoc4qwYoUtLMVpHW8ot8ZeK2bGIh6ggrV6yOcTyj9gaR932UP+R0SOV0PwTdWyUCjZmrpDjADfkYVLKtUEQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518253; c=relaxed/simple; bh=7LdACj5/lGKsIoxWOTOdpGddV95ttSQd0PgfXBxA818=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=i+vptw3wqEtF7VVKBpG5B4LmwlmULkUJohIIrQFEhO1WqO7dCEDjj4+D+6Bog1XQfm3l2cd2U5Mj5QEJ2IxryCUytkUL1WPCMWpw2joB6dSDFQHmXZcSQQkeTNKJpnkdin/HUpDtRAj9oG1Px+w8zaquF/nOy1usF5YJRe1efAM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=w9u0zXcm; arc=fail smtp.client-ip=52.101.70.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="w9u0zXcm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HOvgAFeAIbqHgeG9e9MuHtrwqM7Iuo0zkBjXFsmQMxR9qb+c1jx4+ZsB6QP1OfCIyW2xsDkPoetleMFp8fXKyECB9k8lCL7ta+195aBtBZnM2rCTv59KLzoLCGm2lVG2FoCSt4dyCjxGoQwwNx4xPXdLoBS0FsPw3T3OQg09ica1sILVicrnPjDSox54h6D8hcZFGjXAQlOcpdROoiB8Z/HY7W1ZTxUSR4HE986np2vsMp2jRF2MUBGo5jpOBdMZy14FpbuMGykF3TCsWfhd7CrbQ3IbM32/hGIEXdHwzWuEhRNs1QhEzL7imrWrfLyJKaWhDWGRBoqQHkFca2qocg== 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=EClAtv2h5kHEPJgSHYPfps/esVjFAZoWMporRerY9ls=; b=gRwDJH0/6tsK/gOxmPPm16qPDYXEm1dJUXB4MpXEQsLhgWJeApAKfz0xdXO3RCBPvJyVYcZf6PeM7CNKL9jVTcyhyZSmv318VTDiSUuF+jDTRPSXaJl+SVR4Go9OoIxmgGrhZictrUY3uTznsTzLttfxghASEjdnuHzqRwuVJ0nCdbTaHKW/YHu0tzrwi2PiYHu7/XDDz/WFwBPI041LoWWEYjLlT9oCLGYxZqFi9/rSVzoDxHnlRxDx+rL5LYUO9wFVQFnfBOwinzJNYPHvZ6wcpm1Pfyj8M2w57mpc+fU9N8PpSWlaFNk2Lsu6yJ/VwDYcBVyznnyB+r+8UzH+kA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EClAtv2h5kHEPJgSHYPfps/esVjFAZoWMporRerY9ls=; b=w9u0zXcmZ6aobE+/XD2k5DBPwd77BnGUAsUPZgNjp3b7CW6MiH26WZa6YkZUQuyJdJrNk6ta5why5Oa/uBnJq1AhfNi4uyu31nypQ+Z7AiUbbvPS9kSWIMMgcI7N85Q/+TkhTbmlh/VlxjQTqvf33Y8K/L0gwvvHQl36aurT+5j8YXI9coNgcXJjNPGycS6bgw2dTDwblU/bf9lJCrUATSCWhBJLB9fFBlO+v+mVORlrp9Lt1be/aDNS/Bj//wFx6cxqcr9QUltYjUcmKZuohQTxV4WAAWF4vZc/9shAbnLMqv+bld1+EoIittubv2dtFVaPwvNyS0lQNfpubTHfKw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) by GV1PR04MB10534.eurprd04.prod.outlook.com (2603:10a6:150:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.16; Mon, 20 Jul 2026 03:30:48 +0000 Received: from GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7]) by GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7%3]) with mapi id 15.21.0223.012; Mon, 20 Jul 2026 03:30:48 +0000 From: Guoniu Zhou Date: Mon, 20 Jul 2026 11:34:03 +0800 Subject: [PATCH v2 1/6] media: nxp: imx8-isi: Fix stream ID validation bypass in crossbar routing Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-isi-v2-1-45845bc5d4fa@oss.nxp.com> References: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> In-Reply-To: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Christian Hemp , Stefan Riedmueller , Jacopo Mondi , Loic Poulain , Bryan O'Donoghue Cc: Dong Aisheng , Guoniu Zhou , linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guoniu Zhou , stable@vger.kernel.org X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784518456; l=2001; i=guoniu.zhou@oss.nxp.com; s=20250815; h=from:subject:message-id; bh=7LdACj5/lGKsIoxWOTOdpGddV95ttSQd0PgfXBxA818=; b=ovwp1BlR323v7/rkvymxUUus71e/XsRFb0BlhVNwvpauQuc9dY0AhjggUYI2TK4B8MfXmShvh Fvxkggcb2bTAshh6PR58elKotnyXsyjXBXT2NeUE0OEb5qtYKu8uB6q X-Developer-Key: i=guoniu.zhou@oss.nxp.com; a=ed25519; pk=MM+/XICg5S78/gs+f9wtGP6yIvkyjTdZwfaxXeu5rlo= X-ClientProxiedBy: MA0PR01CA0096.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:af::12) To GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB11513:EE_|GV1PR04MB10534:EE_ X-MS-Office365-Filtering-Correlation-Id: abf1778f-2d25-4759-5a9f-08dee60f4a28 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|366016|23010399003|1800799024|921020|22082099003|18002099003|3023799007|6133799003|5023799004|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: zn35QKF70ET4Bjnp8+7jvx4b5/ituUE7JhPDpey+O4JC4e8Z9GP4GXdttJfRE28eImr8xig6Pfmxxj6JVmSvre+G0hlKa3h5PebzWLHZlpBFVT5VFWyin+yER5AOW83gTPCBr28y3UrmSkjfpA4i5WzETzCRE3afGz70Feo93c6qVBrBSmQmkYnZKD8vjwAXfy0T6laiTiF3mXTKc3R3Nl58Dm7pl35OjdqzJ/EqxXbPQUE4fjbumg6sxQFAPPDdbXXPUrttgIzh+dt3IVxOOEvIUGVF3DdeiRrfZlehQ7Zz5UuU53iG/p7+LVGiiSCqydO+RVj3W9Q9cASUmkrLc2w2acRnuoduPpR2QPUeQDhI9GwedR+eaI4uW5dIdgGID87tEzL0VbJJAEcSC5aR/6Xmp5xMrSxqtuW48Dt0pN3NryD11sYhfdHbbY1wZSb+aull6GdYP6eBawbAr6n5GzP3pX1nIJMkQ+muY2In3ZzK/fF9GFYbu5DcsuLrcngte8ekJsee3FqecrlKt7laxC0LdUUjdSv6wtS5+DG9FDHp+CpsXAu9ypfU7WO9FC9r4kkg/8xVTNnMr76/bm6Z0IhWm9RYbFcQJbwbYwKwR6ul6dpZJEeBCCH3V07svJoFSesXzJ1LNJXkRW8lftvgq4ruiCgZpbaeZc6nEU5aRLEZggKa0YO/4hpoR3LhWQc1LxpjBDqrklCQOmuCIRq/KA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB11513.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(366016)(23010399003)(1800799024)(921020)(22082099003)(18002099003)(3023799007)(6133799003)(5023799004)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eDcxYk5JUUlLaGJkaVZUL1Y0RG1tWTlUMDUvMGdIRU9qUnhkTmJDNzg5S2xY?= =?utf-8?B?bnl4ZDd4QVRWb1ZkeE5LeSt5cSt6cW1rd2kzVnRlT2prKzlwVWVrdDlhMFEr?= =?utf-8?B?T0N1UThGVWNqeVFPTnNXQlRkVzVrcmczRlR5alNTWkRqbStRYTZ5TmFMQmE3?= =?utf-8?B?Vll6VjF2ZmxiNkJvZzhGc3Yrbi9oUlJucXl2dFNveTBWUHhJVFNZTTd3T1JQ?= =?utf-8?B?d3lQRWE1Y2pZMitiVm5LQVdydkVpWGhJeXJKNzJiRE9FdlVSNGlLUmNMZDZz?= =?utf-8?B?OUhBek5JQXc1L0lIK2ZLMXJkRDV3ajF3WVRobVpQbmdSdEhDeHYxRThCV1lZ?= =?utf-8?B?SmRHcjhoMzNpamEyVVFjSzluTUpLRm9uR0pOWXJTeUpKa3R2b0g3d2VSeDZo?= =?utf-8?B?TnNOMk44L2FKMUtEdjFVRnZsODlzdEFqc2FqRDg3QWFhYkY3YmhpUlpEdkJv?= =?utf-8?B?Z1p6dThRSDZHVGZYU3VmT2p0TWFnREpWbDZxVnJIdk1TUk1ESjBNYnB2K0ZK?= =?utf-8?B?MWlaRDdZT3BSSDgxcmVhMWQrVW1tNVVaUzdtcU5zMEFFQnVPR3NDdXBjWC9w?= =?utf-8?B?NGVYQmx3ektYSTRRRFVGUHgvVHViSFpRKzlaOHBEck5pUVZGTlBVeUFaNHJ5?= =?utf-8?B?OTN1dXA1Y3ZtbmNrQ3k1bXhGdkNjTzhGaC9lVzZLWE8zemJMMlkrNDk2bTd6?= =?utf-8?B?WGdFQzNsWnpWSmxmcElvUGdEdkkwRERmZkN4cVNocnJkak85UVJTMFhTQ0NT?= =?utf-8?B?TnQzMmJobnpSMGZabFNMaWtCdWhETUVpWWdXeVBncjlRQ3UrbmZjNDRDekVX?= =?utf-8?B?RGdtekNsWENTKzU2WU1NeTVXd215eFJwVHdvQVgvTVpTZk9HSnErZUdhTXBG?= =?utf-8?B?ZFNKbVBleHdEOVZBbVBhcW5YSTUyUzdqbmpPdGhZSEhsQmdXZmY2a3VFOUNz?= =?utf-8?B?NVVUSUxHOVVkYXZiSlowaXlHeVRqOG0zdlhlakdYbE5GWC9rUFRnUmhvVFZh?= =?utf-8?B?ZlNVNzd3RUJWN29keXUycHNxSUtaT1hIcmlUdUR5ZGl6elo3VVBFNkpCK01J?= =?utf-8?B?eTNqc21nL3pteDFhZmRxdHFyb0NoSzJqSVpiSWVjSHJiYy9JWjV2RGNQa0Vo?= =?utf-8?B?SDJoWGc0cnUvOUlsZ3Iwcm9Wbk9WTkZVdEdJbXNjcGtnR1VoQklWSGlEMjVu?= =?utf-8?B?OTRnSjZZUVhZZExBNXE4YXJvTERra1dJMW0rSkNJOEZvOFhiTUVhaW42am5x?= =?utf-8?B?WmNycFlIS1M4QkM0TXRwRTBIaEwzci9LYllzVHlNelkxOWZwUVlXTUlWQjhi?= =?utf-8?B?WGtKZ2xBZ2pKSENmMEdWb1FEU1NheW1WU1BMVWtyNEdQcFlSME10U1NxaTFx?= =?utf-8?B?RHNnRjRqQ09pSHhVc1RSaEVKdFkxeVZjbU9CZEZDOXNOeEYzM2NrWDNNR3M2?= =?utf-8?B?alozSm15ODFqS1lsM3c2T3Z3UzZuN1JaODJmeEhtcnFzTTN6UlpNT1NLNlFk?= =?utf-8?B?c3prWld3Vkg0WDZIb3FHQUxJSzYvZGdhU0NPM0lzVU5Da0k1TTZEUUpsRnBq?= =?utf-8?B?SDlaMGRMM20wbW5VUVVLNmwvbHUxNld6Zk1CWWV1ajJ0Z0ZEWFZEaTJTN3dM?= =?utf-8?B?NTQ1OURPaW9jK3dpa3RtejhFUFhSYkpNR2lzMFhtTUg0ZTVXSWlnTjgvUHpm?= =?utf-8?B?QlJUcnhsT0ZrQlVLTlNLWTIwOVVHaWV3bWJ6TktMeTJwRmFNVXBzbGk1YUMw?= =?utf-8?B?UDlveVhnZ2NZRWxDY01OaklLN0dYeXNkMzlsUkU5ZUErMFgvQ3JEQ3BEWkxF?= =?utf-8?B?d2N1Y0xVRlc2dFQ3Mkp4eWdjNHFpdUVHQi83Y2tmeDZET3BJa09ZTDZuU2tx?= =?utf-8?B?RTF0MTFWbHA0R05TcE0yYkc1Zkk0MVdqN0FoMzlPUnV0eG9Oa3hCek9Pajk4?= =?utf-8?B?R2J2WXFJcjNZQ3dUR3VyYzJCNnZUK25jYjAwWWd1VlJlTDlqZDhqY1pUOTMr?= =?utf-8?B?U1NOZEFHR0Rydy9EMlhwbTlmck5WZDZDd0tTRzVwL2ozM3JyTzFEMFEyWm9y?= =?utf-8?B?elBpTDg3SkJ3SjE5NldjdVB4cjR3NndJYVZySUw4ZXRMeWJkbWNtQVhxUFlQ?= =?utf-8?B?d2JXUGY4czBoUkFzdkxHc21mUmMzSHFPcmZQWkZvT3RwZktDSFNnNW5DYXlK?= =?utf-8?B?YzJMSlQ5ZmdkNlltMjVXT3c3MldJT1M3RDJTU0NxK0U1UmlGTSt1cjJWYWM1?= =?utf-8?B?QTc0L1dOUEFjWnpjZzVwa0ZNUFZZc0J1T3MzYWJTYTJtdS9sVjhFNEhhdEVK?= =?utf-8?B?clc3SmY1b1NTTktTNFROL0d0UloyTzcvdVEzS0txMjJHeUxRL2ppbFFyYzRr?= =?utf-8?Q?PLh44u002IcmIIJGCxqmH3N4eWl97gnT8PvNf?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: abf1778f-2d25-4759-5a9f-08dee60f4a28 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB11513.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 03:30:47.9177 (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: ZqJrFXYe2Vy2V3VDZqyr9yQlp1oPwMwOZzUbRuzqVGWzk1Yb49YVu11OIVDs1Rpt0o/3sQMgy9GOOocisd5n0VN+jpAoveXlbBXUx9b8rBaMKMd6GoUIi9sqFRZW9Yj1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10534 The crossbar routing validation has a critical bug where it validates the wrong routing table, allowing userspace to bypass validation entirely. The __mxc_isi_crossbar_set_routing() function is called to validate and apply a new routing table from userspace. However, the validation loop iterates over state->routing (the currently active routing table) instead of the routing parameter (the new table being validated): for_each_active_route(&state->routing, route) { This means userspace can submit any invalid routing configuration and it will pass validation as long as the currently active routing is valid. This is a security issue as it allows userspace to configure routes that violate hardware constraints, potentially causing undefined hardware behavior. Fix by validating the routing table that will actually be applied. Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver") Cc: stable@vger.kernel.org Signed-off-by: Guoniu Zhou Reviewed-by: Frank Li Reviewed-by: Laurent Pinchart --- Changes in v2: - Split v1 patch 1/5 into two patches: this patch fixes the core for_each_active_route() bug, next patch adds additional stream validation (Frank Li) --- drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/driv= ers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c index c580c831972e..84871bceb31d 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c @@ -107,7 +107,7 @@ static int __mxc_isi_crossbar_set_routing(struct v4l2_s= ubdev *sd, return ret; =20 /* The memory input can be routed to the first pipeline only. */ - for_each_active_route(&state->routing, route) { + for_each_active_route(routing, route) { if (route->sink_pad =3D=3D xbar->num_sinks - 1 && route->source_pad !=3D xbar->num_sinks) { dev_dbg(xbar->isi->dev, --=20 2.34.1 From nobody Sat Jul 25 03:20:10 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013005.outbound.protection.outlook.com [40.107.159.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7555F395AC2; Mon, 20 Jul 2026 03:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.5 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518259; cv=fail; b=Vd7lrvzZ7/2lsXkB07sDRpEgSzLCUewhjIDfmoKJvfUL1AgUGuDauSlrwvVgU7O6W7SuFEFc6hYeVGG2OAhELMtb8gyGHJGeiEZB4r92qSdssIaQaZukmdw3L0y/78j1cgrrdz4U92cGlHb1eOTqM/MTlkzUzGTgSwxM2rUSG0I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518259; c=relaxed/simple; bh=vqoQTW3AsjK+jpRqCt4mKDvBNEmBeSojpmcuZWx9aKE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Yzy6lLIo62KyWHfnw8IV3ygC03DwwzPfYXySdCrT3Qod0ArcnaqE2ae9jyDC4h4+LLU8Ck4N9/WRum3pK1b1XlSWAAr8kgoOC3k4vXKu52eNp5hWjOlRKjb8X1+xZV1/Pd8cEdLfxUe+G/Kiz+WeS/MBj4i99j0lAQlF10lMmSE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=ZD+vp+DV; arc=fail smtp.client-ip=40.107.159.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="ZD+vp+DV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TjBfa9jas0V27armPdTL9Y6gob3e2r6JtJXayaA1moI8UAYueqyrIV0JqGVhAXiDDMZJ5nE6WujU452BigvLv5SBC0rnA5cdDPkeEfJZpkobDk5/TryXREFKP3I5muG587trVpyOvQYktIesIZ6nQfrzn3iwnxIUSdjoxwHbIhbsGtwjliKda/vl77Km537oKRBuLWJUhTWp35LULcGdmB4sI6kdVumUBQlx6OD927hc0KK5hNcdiy/NymUa+NWrv/zrhXBjdiIH5hQh3Rb4B/2cqGNAz8zm4RI1MGmEAUnCYSjQo/4mnxNxqU6PyInpYoNr34Fq8Xlbzw2dq/EeiA== 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=I/xEOc802GWkYRW/M6eaABDmmcOR+x5Rj8iVO+X9AVk=; b=tXzCjuOcockFomZPYkntvBs5lidaC0+VOmChXavmDvOMZBXlmb0CAG637Py1URP4E6VGw5Bo7x7YLxBqL1G652R7HfATcs0lZrIJ+XV4kbfmjOarIciplYQY+wwnRGgwjsPmc+17ZmLjRZS+r67kF9ePVrh2rqQKTM3rjZ9Y35ROAq5YJGjnqyjy/g7wyzepLjWalCYssU0TvFlkG2pJUT/pjvL6AQxxYmWCtVd7qGup045UCU3G6+p7KLELLQ0r3J6y6dYS567ZFRp+yJyAC2uvg6WOOXDrtN8haHLeTqQlD3euYhY4Fs/WH03pmatInzWeBIQQ9mWVsQfZASwmqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I/xEOc802GWkYRW/M6eaABDmmcOR+x5Rj8iVO+X9AVk=; b=ZD+vp+DVjgygrBVxIInRb7tS1MlYTDeo0AxRJP02VgCd7OlnQUwr5ZtlEZLaA27XeE0Ez4hMfIziUPRsY9VHy0g2VFLJd+wjR6uArXOK1caJFz1F7TUiXqHhOKqJYbTY9fRXBb9kRNF58I9cAj9LUmNNOGjdKZzDlgoEMN3jQxvbb9w9jIxstZYiwAbNCTCjvrCZ44lNnEDXVyOhVVAwnBbXMq/WeFW7pcmRJEmm5vixMK7gmYXYDg9jkoEERcwiJ9zmfTqct58lmKkkg6931tE2HAJEurEL30s0PAknsCw3mzlJirjYSi2n1sjISdNPL+6Iz1wLwZXP62rUqRRBGQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) by GV1PR04MB10534.eurprd04.prod.outlook.com (2603:10a6:150:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.16; Mon, 20 Jul 2026 03:30:54 +0000 Received: from GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7]) by GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7%3]) with mapi id 15.21.0223.012; Mon, 20 Jul 2026 03:30:54 +0000 From: Guoniu Zhou Date: Mon, 20 Jul 2026 11:34:04 +0800 Subject: [PATCH v2 2/6] media: nxp: imx8-isi: Add stream ID validation for crossbar routing Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-isi-v2-2-45845bc5d4fa@oss.nxp.com> References: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> In-Reply-To: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Christian Hemp , Stefan Riedmueller , Jacopo Mondi , Loic Poulain , Bryan O'Donoghue Cc: Dong Aisheng , Guoniu Zhou , linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guoniu Zhou X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784518456; l=1771; i=guoniu.zhou@oss.nxp.com; s=20250815; h=from:subject:message-id; bh=vqoQTW3AsjK+jpRqCt4mKDvBNEmBeSojpmcuZWx9aKE=; b=Sn2u/R/9MLJDV8AbSIO/n1fA00pju+yFMzF0qdolEIiaEu1yRMMGoDZ5VUy+NBtYBPuW6mAwb 0UzYVnXY+MgCQw8C/IY0gBbp5+gpSt76Ksu8TTyKuKwSisHiM6uMrt3 X-Developer-Key: i=guoniu.zhou@oss.nxp.com; a=ed25519; pk=MM+/XICg5S78/gs+f9wtGP6yIvkyjTdZwfaxXeu5rlo= X-ClientProxiedBy: MA5P287CA0029.INDP287.PROD.OUTLOOK.COM (2603:1096:a01:17a::13) To GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB11513:EE_|GV1PR04MB10534:EE_ X-MS-Office365-Filtering-Correlation-Id: ea84e07f-ac7a-4f8c-542a-08dee60f4dc7 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|366016|23010399003|1800799024|921020|22082099003|18002099003|3023799007|6133799003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: O0wOknKsOXUO6IAnB1AUEYW1ddSA3D08vROSc58SkxMNJgcTLmaMgsNMDXGRQmPhZqTySJqZQ8F+YeEyi7C/RMTUvqv3WgNl2Q5eGNhGOZe116aGe4YOLHdAhYmQYaQTYBrxUR9tAhn9jjnf+q8dsfOwOs6lILFveUDoIcV9JOgl2PWg4sEZjyng/mlSsWPHlULjZsQafCBS9bRJh9y7XLIQNhx9XXyzsgI+TrvbW54L1jIvn4GEo5I0u2fqQG9Q6hHTx6L61+nMi9sty84HyTD1RTHYF1A3nueQ8rYJmonpbS3M3yrOc0448KrtO3cZdW7+iIzHrh65VXEB1lwnAYwkk2vRqRLlpvjPo19gSkC5CHtiFsg3gaodluI/9K5qlGx/SjPSaXFtWou9m3IGhvlMN/6pOIFj9+du0xqBSX6FTkW+TW9fTImyf8a/w3xQOzdqLn3nJJFo2GQIyasJIrijAl8hFtciMtKGkupe+uAq1VsQfHJXNSDhqJ+YqnwLpS0GGRWh59Z/BAFWD+nwyhR5TxSLY7TY18puXOSuBgimwYL0O2apB/ij0Er1bAJ25pefHlNpsique+Z9N3jQ8oWApzVEyd8QKKSz2a+AEsw+mLmCQxU6VOaGXpvBDHuqQA+eb6sfGJ1dxysbKfd6zqfvSr9bliIA+RZ/nY4xWoyPYJVM1SwEVDZsr1kjzU837cyeEZCJZgr5za9nFDAf8Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB11513.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(366016)(23010399003)(1800799024)(921020)(22082099003)(18002099003)(3023799007)(6133799003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?THdNK3E3Q0pDL2Y4dzZlSmVmd2wxWWJqclJMVUFWVlRpU3ZySHkwSTRQbHk4?= =?utf-8?B?YS81STVlcDhLQUl3enNYd0VNVjMrVkx2aHcwQi9HK0dZSVRkWSt2ZkdvZkN6?= =?utf-8?B?WVc1bWlTT25DVEJiVFRaN0RwdGdTMm5vQnpXRGRuMDE0bmdPdGE1cFBkU2RD?= =?utf-8?B?Y1AxZkdwSnFVS3lTb251Y1pWa3ZvRHovY24xcXJBeVlQWmcvbkROTmxsNDBK?= =?utf-8?B?Sy9BV2FNclBvTTNDQ3dzWEIzV09iTWVEdHh4MkxiZTh2QWhqa0tpYVV0Uk9S?= =?utf-8?B?RTk0dFAzaTYvcE1jK2JuWUJmSE9LNW51K0lVandtZ1MxckxueFpITi9rRkpY?= =?utf-8?B?NVpJdnBZTmg1Vm8yQ3FRRWZMaUNCd3FlZ2gyWGlQa0JTN0NFTThFdHMvTTdF?= =?utf-8?B?LzhyTXJGbUtMOVZBcjloRng1RDBFMWZZalZqMHlsbW91RmNrQnMvTVBYS0Rl?= =?utf-8?B?elZ4VXJOQUtON0tRV3J6eEFCQzdIekF2YmExZDk3L09pSGlSUW50U2REMFpt?= =?utf-8?B?WnVFUU1UU3IwQm5MUHdKc1U4QWlDcVFFTUx0bHRUOHFsMEQ1ODQ0dytWbWVt?= =?utf-8?B?K1V3TzRocHN1R1dxQ2pPam9ZV3BpQW5qZy9IcmlTMkZxOGNFUTd0Ynkvb0tC?= =?utf-8?B?QmRLUEhWbG1pYlJZN3BFNmRnZDdVVm4waEcxTDB0SHdhVUxsSGVoQW9DRGtD?= =?utf-8?B?bnJSK0RqKy9HbnQvRDdUcTJRSU5sY0RITkZMNXRDT0o0TnBxNHZQd3VTWjc4?= =?utf-8?B?ZjJpUVcvOW9HajRVV1hNVGE4T0pXY1JFSDJOWlRKTkJ4M0sxQzUvVmlwb05F?= =?utf-8?B?N3UrM2M4RlJwcGhUY0NPK3pPYnFmb3d0anF3T2s2RGtFVTV5QThvblFrKzRZ?= =?utf-8?B?MWUxUGp6ZG9EVmZ1WFoveWI5VVFGVDU4L04ybDliLzVJbHo5K05RQW83bjBS?= =?utf-8?B?TnJYZmFhZ1d0NFc1RHNYRWNYaEN2c0MwK0FydC80TE4rb2tSOEl1K09YNDBY?= =?utf-8?B?MTlxMnJQNTNId3V5S1NPbTVzVnZvcU8vVDlIYjNRMktGNCtRcnltRlRySWsw?= =?utf-8?B?am5EL3BQUUJTN3pETGRkcVMrY0M1V3p1cDh1ZERmNTI2RUt1Skgvd204VzVn?= =?utf-8?B?Q0JvVW5iamMwbWpFZXFXTThvVm9pM0N0U1ZrRTl0L21uTlBTblRFSkNnZmIv?= =?utf-8?B?STZSSFg5RUhKTFJqd0t4SzBmOUVsRVhrZ3ZiRURmT3BxV1BIT1prOWJ6bFBF?= =?utf-8?B?Y2VJWjdid0ZIaHhOV3I2VnFTaWVxOXdrRXp3NVpheWRicW9VbC9jR1RkenNJ?= =?utf-8?B?OXloa3UvVjg0eEh5aFJzQnBYamJST3l6bW1NbUJteis5bW5LVko5aCs5ajRX?= =?utf-8?B?bWgxQ01TSzFaUmE2bnp0MXRhRUllQXhQRWpuVGtGRC9Zclo2YnRoM2o3dE8w?= =?utf-8?B?RmhCbmhrcmltUGYzeUw0TTZ0NnpRNS91ZGpyczhQSFVXZ096ZzdJZXZsV24x?= =?utf-8?B?aFBXdUVGbk1ydmNITmZXQmJ5bHEyNU5jdFBaaUZIMVFNNUVkUnR2Y0hCZFBq?= =?utf-8?B?dVV5eGl0MzBwQkw2TWtqSS84bWNrN2R1ZXMyN1dyZmF6a3hreEh4cjFtc2pE?= =?utf-8?B?ampqcjFNNlE2akxVK3lZR1BOUStlaDhSbnlXRThseTd4ak1KQkEwM1FrR1hW?= =?utf-8?B?M0lYdTNKK2dmemlFdXFXNWFBVzRVeVgwZXhJQTV1Q0xqeXVnZ1NVWFVaUEMx?= =?utf-8?B?UENuL3l2TFhkS25uSkw5cTNCT1dkQjYrZDB1cmlKY0FtUkpmZnlUS3pCZWo2?= =?utf-8?B?aUxhdk5lM2hPODdPV2phVEZ6Q3hLN01FUVhKK0Z2SHpia21OaUdVZ1pkTjA4?= =?utf-8?B?akdPRnBZdU0rRmpFSjlEYTE5Nlc5K1EyTlBLUjlldzNUSGo0aFFMakZETHdj?= =?utf-8?B?d3lYdkl2bnhwL213K0pTdit1bGhrOEtTRll0dEh2UGlJSEhmNTdWalVMT0tT?= =?utf-8?B?MldYUTVadGU3M1Q3dDFqVm5ieVI0Nkd4SS96TnEwUUkvbUcrVy9pWWFxZEpv?= =?utf-8?B?WGtGTENjam9TZE42UkdQcjluL0ZFNkZZSzYyRmhaaFI2cFdJbWtGQkN3b3J4?= =?utf-8?B?QXBKY0FqcXNva0NFMkFMWGJYbjdHME80VDhXK0dJMmxXT09rUjdYcTlTcyty?= =?utf-8?B?RnhxaEFWK2lWdDdYL08rQ0s0T0hVSHlDdjZRRzYzNk1SMzdaUGdtNGJab1BU?= =?utf-8?B?Vi9KNFQvSDBIS3hYMWNmMm5SdlVjWmt4NnpRYWFIcFJyTXdHdEZVb1lCU3Uz?= =?utf-8?B?RWw1QW1TZHNGblpab0hFRWNrR2JoVjNwVzVUa3NpZVF5OVdDMGJGL1FvQjJp?= =?utf-8?Q?4bMmsdhDj0f88wQ9/dnpCRc9n0/LK8rK8kEU/?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ea84e07f-ac7a-4f8c-542a-08dee60f4dc7 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB11513.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 03:30:53.9644 (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: ArgDeXSB8cnlFzGwltvHNQZIP50NSu0pCSp6ZjJx8jIrOJdsO+J4s3cEEZCXHeJUWcyqIwW7IDq0d0Sda18A6P0gnblj/CvKzVKz6CEoxCtB3ipo8JHFuDx1qln2jDIc X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10534 Add validation to enforce hardware constraints that were previously missing in the crossbar routing configuration: - SOURCE stream must be 0 (ISI pipes are hardcoded to stream 0) This check complements the existing memory input validation and ensures that all routing configurations respect hardware limitations. Signed-off-by: Guoniu Zhou Reviewed-by: Laurent Pinchart --- Changes in v2: - New patch split from v1 1/5: adds stream ID validation on top of for_each_active_route() fix (Frank Li) - Remove incorrect sink_stream validation --- drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/driv= ers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c index 84871bceb31d..328d08a278ea 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c @@ -106,8 +106,20 @@ static int __mxc_isi_crossbar_set_routing(struct v4l2_= subdev *sd, if (ret) return ret; =20 - /* The memory input can be routed to the first pipeline only. */ + /* + * Validate routes against hardware constraints: + * - SOURCE stream must be 0 (pipes are hardcoded to stream 0) + * - Memory input can only route to the first pipeline + */ for_each_active_route(routing, route) { + if (route->source_stream !=3D 0) { + dev_dbg(xbar->isi->dev, + "route to pipe %u must use source_stream=3D0, got %u\n", + route->source_pad - xbar->num_sinks, + route->source_stream); + return -ENXIO; + } + if (route->sink_pad =3D=3D xbar->num_sinks - 1 && route->source_pad !=3D xbar->num_sinks) { dev_dbg(xbar->isi->dev, --=20 2.34.1 From nobody Sat Jul 25 03:20:10 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011008.outbound.protection.outlook.com [52.101.70.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2AAE29DB6C; Mon, 20 Jul 2026 03:31:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518266; cv=fail; b=ZPkGaeF9mdyaKRO1lZJv0z69RRhRdt6z9vjJu4c/Y88TI9WhP0CgY8uYMweYAV83i6vnQPyUSlVQROby8WzFlnVTpnzALrCnbdSc9fjABdCCZFFpwu8xPlP73p5SPmmUJ/AXbrqvJSibHa0HcvfSMUuytdWjVLV1+izH3Ke6Z38= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518266; c=relaxed/simple; bh=SfOAuoTdcleZ0lgoqiMkCIRSEg0D79H6Mo+wNe4UHg4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=RCWhgbioHIXaDHNBhGArhRMmj9+h2dRc1nZqOTREH71Mz4dlpGuHyP0MjRw1GUaNqLfRFDPpSxYkNS8K2c/LBCrAKL4f9VFlZHJ3sDhC+DZ9IYOCmTAZETbsRhMP+wUwTtYR8gg+lFEM3a4Tfj14OixIVSZMdoNS4gP6svHHM/w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=RLRuCCny; arc=fail smtp.client-ip=52.101.70.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="RLRuCCny" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Cspj/SCuhVBe3/ChmdleBJm5VgvA6eJXhILA8cgnX69xINZ2T+rh+jG7W/7pPSH0UqNOfUGo5VkdxBHAAqNgMYzxAt/NjvNZKWGphwD8PiAYwDMJFarSaWK3N+bbegq8Osu4DeNnmcdwYh8OxS3RkCNu/N7HdaC9R/LuPHr6tTsjTfI6m7vuTXjDLSH1+TQ49Ugm6A/PN59TbuA4iUu2Z0hPES17P6nCy9rXHp/zcz7LqUcFpsC9ikaVs6K+UQB8G56kBW1Q6z2NLm1TC+pGaumSqoyMUmjOgsw0PhLE2yZyRhFC2xYToeAKVgh9MrDAj21SNLW+eJrsSbrd4/E4TQ== 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=ZEOfMUht/pHk/hwlK7qnyYGPXu5A8RD7A75JAA6Hnxw=; b=bHXyZfubnyDFi+givKhAosruXtZ2BcS39J1X3s/xYvv91u5aWdwIqeuU4IeDFyI4nRPoFSwC7ifWnvu2/5mZokf4X7JgkLJxGXElBNIi+ekp9H8Psumeqh+9xSK6RPYHsauI+nNV1xhUZ58e4UANgg4chK88/MVNFWkGjOcAmbaohWjOxEpiCjqqhlRcauvI4pEhOTtRcQdfXifSixic13pYbrQG99IC2X4FlauXP7vS6Oe8cJnSRv6lJFCrfuc3udS9Lmf0yY0klkuXU3I9pDtCZuaYIjrgSKGns4Boz8u5Ll30OcdIYxxUJ83m9NsNrZ1JmUNtrZj1EzgH4gGyHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZEOfMUht/pHk/hwlK7qnyYGPXu5A8RD7A75JAA6Hnxw=; b=RLRuCCnyM6eDF3qtFmFkBnL69XzsbtjSIQ2xQwbDJyXeNuCFJu5OHc3qVUPzwuGsh69x8/wDv7x9QI6nA/WaLs1fT30Ak5ojWbIGChM7wPSUrX59mpRJ1/D7KHEJDYbiCxgX4m+j4QRbqKm0vUwF6R2btaGhJTucgYsrJKxbq8kzZDJkd75HVMNf1VamKravmKecYykjEHREWvER5LdWuQzpypQzy+a/WEL7o6A0K+nNGONEfJdbM84PdD8d3Vpt7iXdIKUriKYThn1ud5biMriDVM4mZ6aIbhrG6lS40is5MsEPxQr7b54XLuMolK/cXn9lSRSlOd4NB0aSJz1Dyw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) by GV1PR04MB10534.eurprd04.prod.outlook.com (2603:10a6:150:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.16; Mon, 20 Jul 2026 03:31:01 +0000 Received: from GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7]) by GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7%3]) with mapi id 15.21.0223.012; Mon, 20 Jul 2026 03:31:01 +0000 From: Guoniu Zhou Date: Mon, 20 Jul 2026 11:34:05 +0800 Subject: [PATCH v2 3/6] media: nxp: imx8-isi: Fix per-stream reference counting for multiplexed streams Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-isi-v2-3-45845bc5d4fa@oss.nxp.com> References: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> In-Reply-To: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Christian Hemp , Stefan Riedmueller , Jacopo Mondi , Loic Poulain , Bryan O'Donoghue Cc: Dong Aisheng , Guoniu Zhou , linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guoniu Zhou , stable@vger.kernel.org X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784518456; l=6584; i=guoniu.zhou@oss.nxp.com; s=20250815; h=from:subject:message-id; bh=SfOAuoTdcleZ0lgoqiMkCIRSEg0D79H6Mo+wNe4UHg4=; b=zmwM+6WhW8ED6EPECI5WppM1WI4Dbz1rHJnT4aK0z4UGPovYKhZAmjs1Y05OaddkuhGVn6XCi 3q2aVIgZ5VaAEcTBjGr7JFFl4upF49/ZlHYkq/4nAORSB2F38Qgescr X-Developer-Key: i=guoniu.zhou@oss.nxp.com; a=ed25519; pk=MM+/XICg5S78/gs+f9wtGP6yIvkyjTdZwfaxXeu5rlo= X-ClientProxiedBy: MA5PR01CA0004.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:174::6) To GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB11513:EE_|GV1PR04MB10534:EE_ X-MS-Office365-Filtering-Correlation-Id: 63be8101-6a89-4edf-b033-08dee60f5211 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|366016|23010399003|1800799024|921020|22082099003|18002099003|6133799003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: OZuTzHHR8dBt9uWfHkLPQshvgzmMBanS9K5R42ti83v/+nQrLBZSGyGOCFvZolrY2gPG7wehf/otfhhLQNN7pFtOSglJwYxpo8/mHG2sRNGxxe4y7qB9bE+vrnCtRcyUJJCokjq9S4aDk4IDjW84ywlgB5lqmFRmLjqFSzhhCU9wWQ2XFxdJ585rBt9PSw2chfTXs1O5nyUrni2/59/qZGZdreNA6fR1EfOJ+d59VM10GVNactLjKRMvPyjmchEKQ0iiRUAM3vx9ew7oPADiTWe/vWyUGcLtzzf20mn6lIc4nNP9hLtkXcwjD2ISTWIzENgiFfL0L0pCdnAvaecO6Ff++e5DvDKbTare7UW74ubw/l9xokTlZeFNcwG0o4qxEY7b7xQ1HSL+R6M5E2Au5uC66Fo4WcB58qlUtJfeIrEmeHVKGCuJ0joc0rzIJFjK6ZzmWcBoUgyPvPAZH58WfXBWmbAQA9OfadvIm11Psh3VYV5OZW8XeL+GkVwBxXbPBb6Itv9fiBzMZMkUkSvxk518jGrSD9Goea2yefMs+6xRirkiLVtdQ63uwHnsgrJrNaVZhF1S1Mmbyq4zlUrx2k5U3aSTSdZLlA1sXdOJZP/FJU8i3BxKM31v2CdbmBTzaDMGq8y08xtnRyFBUvtQyktrvWpFLFcjtqtVVQMZgR45hFumRiwv7jZfDKiik2b64yQlCdNErhkKTUVX8R50Pg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB11513.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(366016)(23010399003)(1800799024)(921020)(22082099003)(18002099003)(6133799003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NlVTYS9VK1NLVFBBVyt3MHpZYS9WL01BbTE0K3dJemYxMDBmcXNDYnpuRG9F?= =?utf-8?B?VzJ4dXJhSWlIN3Q5RmYxbWN5dzkwUzZsdWFMTnpxbi84S0pMSHhJZXNuVkJF?= =?utf-8?B?UWtidEhrdkxjM2g2UUp4Ui9CQ0lURFdTSTJYN0hqT3FGQS9mY2NBOVNITE1x?= =?utf-8?B?cjV3cC9NemZsbXBsV2hqdlJRZStOejRZTlE0eTErVk12OVptZ2hBbjlKc1dv?= =?utf-8?B?UFpHVW9EVGlGOHJYdVlDMjJLMm56NWdrN0NtS2dVM3VwNjB2OHBEOTcvM0g4?= =?utf-8?B?eHA3cHRlcUJNeU9ZeEhmNzJ0V1NXMmRlTHpRM0NhQ0o5VGc0VkN3ZUhia0hq?= =?utf-8?B?SkUvUGtkVXBRamhqQVU0K0o4aHN1eEpuNGVRL1JxaENxdG9yTVQ0OW1yRUZI?= =?utf-8?B?WVNwa0ZnN01xZ3htYUw3Y2VlY2kzOWxPdWtCczFWd1Z4amZjbGMrSitYUm5B?= =?utf-8?B?VlREWWVLbmtoUHhpZmNINDdDb0tJWFUrQWQ2RnhteEQycjNWbmlQVzRSdjJN?= =?utf-8?B?bityRTI0dUhmTU9yUFI0TjJycTZUZ1NqSDZOMWxvYmtBWmZqMW16VTA2VnRs?= =?utf-8?B?b3JKNmRxZHExV2lBd0FNTlErOGd1RnRRNnFaZDh3aVJnV0JjN3JXQ3FPcjVV?= =?utf-8?B?SXZTdFd0SDNjcGJYNkRwclgrbkl1TkJISkNIdVo2eEI2dHUwMitOcDZzYjhL?= =?utf-8?B?ZFltQmhkUEpWWng1T0s5MzZJNVJxWUZXcHMwM0c1SkRQcUpjQi9xNFVMZGZF?= =?utf-8?B?TFd1WDNwNmx1aGJGUm0rQXBuVVlaYkRsZW9PdjczZ1Q4ZmNCeUxLL0VRb0FX?= =?utf-8?B?V0pkeHpJZGgrMnExYmtpclk0SUFkVHk2ZGNQUUNSSU0yOVhqVmdLcGV4UTdU?= =?utf-8?B?L2g4TldUWDUzRkdQM0h0elZKYWlQQ2FkWG80U04yNVhFRVFHU0hjWm5wcXFi?= =?utf-8?B?QTlaR1JvVkNtbFZoNmg4ZFMvelFHZUo4ZEpoV0gxYWQ4WTI4NTgrWHFsQUxU?= =?utf-8?B?VHFIdUg3ZkoyNHNPbnBLaDg2d1JxZkc5MDM2a3EyN0lBNEJ6RDhVRnNnMkdq?= =?utf-8?B?L2RITENPS1dQRytFTjdnbXZlZHhUdldjWW0zTndaaG9zVkFJN1l2WlBtaVJP?= =?utf-8?B?dldXdEdObzBKOFB6bjVhdnY5amVRaHlNNjROZ2dpM0wyejNjbHgwSThiMEZE?= =?utf-8?B?QXkvSUNIcVJlNmNRZEU5MVNxU1hUTFcyZWZsZEdwWkZKNytOL0RGOHo0L3NQ?= =?utf-8?B?VExqYlVsa2J5ZkRJRFdENjFKL0ZrN0YyRjN1WXlyRjBBUE5MK2tPZ2t2QjN1?= =?utf-8?B?bnNvUURkUU56SEwyR2NJY0M1UDh1SHBVYWRDSHI3WTlzQ0lRMU5MMFRvWGlN?= =?utf-8?B?T2JLOW1jd3lYR2tvWUY4Qk8wblJWeDZrTVJVcGQrZ1cvZjVKaWNhb21kVWUz?= =?utf-8?B?MytmR3Y0QTRNM1pGRjFjMjMveGNPN20zQ3B3dmxiVU56dFJ4dUxxTmxKY1Qv?= =?utf-8?B?SCtOTHJjZSs2bXRVNTAxa1ZGL3lHRHpxeVYva0s2S1h6by9VcWVOekFheHky?= =?utf-8?B?V01HTW8ra2I3Z2NFMUpmcVZRQms1UFNab1Q3djBjTWpmMnE4WlNjdzdBbWRF?= =?utf-8?B?cDkra3dublpFaFBsTmdqSWlka3hZTTE5RHJWUjdiZEYxR1JwQlNUZjFEVGpR?= =?utf-8?B?L1Y5a2hHc3F4dThuQzVHY29tUTRDRmUzQ2U5ZFRveWNsSFBhQ0xLY1Nkc2N5?= =?utf-8?B?TkNVVUp1Q0Y5OFF6RTdCZDJ2UEdBTWowc3RSUWhlK1h2Q3pKV0IveVhVbkNn?= =?utf-8?B?ekhLWkxOb3VJVlV4S1lFSmJwZDNnRFRtSnh4NlhpclEvVUJCdHhBdWcvRU53?= =?utf-8?B?TkJDWmk3U0tqZ2JlaTFQUHk4WVp5by9YbkM2SjladU1obDdCQVJNMTVUQkN5?= =?utf-8?B?OCswMTZ2N1RFejB5NTVUMjZKd1hZZVRwSi83M21aQnRLY1FpKzVKTitINlNs?= =?utf-8?B?SEhFKzlSMHV2YUZ6ZTNqUVF2cm1kL1FEMTlsMmUvanRTOXBwQ0tXdmVROVNT?= =?utf-8?B?RWt1WHZDY0JJVzJEMlFwR0xwSzRCUG8zTS9RaHBMYU1uZ21MbzdZRE5yUFBh?= =?utf-8?B?aEQ2ampGWHNTZitrZW5leFFOQ3Q3WGgvNCs5OHFmbHpiSnlZVC9Kc0RMM2NJ?= =?utf-8?B?ZmxQK3d0OUdKSUdVamRLckR2SFIxTmtlNWlyQ2VwSklsQXlXVWp4V1RZQi9Z?= =?utf-8?B?VzJSZXZsY2tHWkdpRVhUc2lERldTaDVFTWdnNy9wVnlOSU1Ba1NHN2lnK3N6?= =?utf-8?B?dHZUdjRkbmRSZzB6N2dqMTVScG9MU2RzazFjaUd0dzhORVVOSzdUaU5XVWQ1?= =?utf-8?Q?8rdAfxp3bDIMRyTrL55naekdqOKTIlOBB41to?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63be8101-6a89-4edf-b033-08dee60f5211 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB11513.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 03:31:01.2156 (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: gZYJDXEfb7DDm+qnlnBqoAzn9dTZKnmTLcBURLbwNNfuBsAiTPML9EePGxEB618Iw3ySn8PM6iKE14EDQdbIpgwFmSk/w1B1H7fM7VuVqKBkSSeQSE8g1wbiObl+wwsH X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10534 The ISI crossbar fails to properly enable multiple streams from different virtual channels on the same input pad. Only the first stream gets enabled in hardware, subsequent streams are silently ignored. The driver uses a single enable_count per input to track the input state. When enable_count is non-zero, the code assumes the input is already active and skips calling v4l2_subdev_enable_streams() for additional streams: Call 1: enable_streams(stream 0) -> enable_count =3D=3D 0, enable gasket and stream 0 in hardware -> enable_count =3D 1 Call 2: enable_streams(stream 1) -> enable_count =3D=3D 1, skip hardware enable (BUG!) -> enable_count =3D 2 -> stream 1 never gets enabled Similarly on disable, when enable_count reaches zero, ALL streams are disabled regardless of which streams are actually still active. Fix this by tracking per-stream state using: - enabled_streams (u64 bitmask): tracks which streams are currently enabled - enabled_count[] (array): per-stream reference counter to support the same stream being enabled/disabled multiple times Now each stream is independently enabled/disabled in hardware based on the enabled_streams bitmask, while enabled_count[] provides reference counting for scenarios where the same stream is enabled multiple times, such as duplicate cases in the ISI stream. Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver") Cc: stable@vger.kernel.org Signed-off-by: Guoniu Zhou --- Changes in v2: - Use fixed-size array for enabled_count instead of dynamic allocation - Use BIT_ULL() macro for u64 bitmask operations - Use MXC_ISI_MAX_STREAMS (64) as loop boundary instead of num_sources - Remove mxc_isi_stream_counters_alloc/free functions --- .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 7 +- .../platform/nxp/imx8-isi/imx8-isi-crossbar.c | 76 ++++++++++++++++--= ---- 2 files changed, 63 insertions(+), 20 deletions(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h b/drivers/= media/platform/nxp/imx8-isi/imx8-isi-core.h index 7547a6559d4c..9adbe2fe7cf8 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -184,8 +184,13 @@ struct mxc_isi_dma_buffer { dma_addr_t dma; }; =20 +/* V4L2 subdev max stream ID is 63, need 64 counters (0-63) */ +#define MXC_ISI_MAX_STREAMS 64 + struct mxc_isi_input { - unsigned int enable_count; + u64 enabled_streams; + /* Per-stream reference counter */ + unsigned int enabled_count[MXC_ISI_MAX_STREAMS]; }; =20 struct mxc_isi_crossbar { diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/driv= ers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c index 328d08a278ea..64576f6bd45c 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c @@ -337,6 +337,8 @@ static int mxc_isi_crossbar_enable_streams(struct v4l2_= subdev *sd, struct mxc_isi_crossbar *xbar =3D to_isi_crossbar(sd); struct v4l2_subdev *remote_sd; struct mxc_isi_input *input; + u64 streams_to_enable; + unsigned long stream; u64 sink_streams; u32 sink_pad; u32 remote_pad; @@ -350,30 +352,47 @@ static int mxc_isi_crossbar_enable_streams(struct v4l= 2_subdev *sd, =20 input =3D &xbar->inputs[sink_pad]; =20 - /* - * TODO: Track per-stream enable counts to support multiplexed - * streams. - */ - if (!input->enable_count) { + if (!input->enabled_streams) { ret =3D mxc_isi_crossbar_gasket_enable(xbar, state, remote_sd, remote_pad, sink_pad); if (ret) return ret; + } =20 + /* + * Track per-stream enable counts to support multiplexed streams. + * Only enable streams that are not already enabled. + */ + streams_to_enable =3D sink_streams & ~input->enabled_streams; + + if (streams_to_enable) { ret =3D v4l2_subdev_enable_streams(remote_sd, remote_pad, - sink_streams); + streams_to_enable); if (ret) { dev_err(xbar->isi->dev, "failed to enable streams 0x%llx on '%s':%u: %d\n", - sink_streams, remote_sd->name, remote_pad, ret); - mxc_isi_crossbar_gasket_disable(xbar, sink_pad); - return ret; + streams_to_enable, remote_sd->name, remote_pad, ret); + goto err_gasket_disable; } + + input->enabled_streams |=3D streams_to_enable; } =20 - input->enable_count++; + /* Increment reference count for all requested streams */ + for (stream =3D 0; stream < MXC_ISI_MAX_STREAMS; stream++) { + if (!(sink_streams & BIT_ULL(stream))) + continue; + + input->enabled_count[stream]++; + } =20 return 0; + +err_gasket_disable: + if (!input->enabled_streams) + mxc_isi_crossbar_gasket_disable(xbar, sink_pad); + + return ret; } =20 static int mxc_isi_crossbar_disable_streams(struct v4l2_subdev *sd, @@ -383,6 +402,8 @@ static int mxc_isi_crossbar_disable_streams(struct v4l2= _subdev *sd, struct mxc_isi_crossbar *xbar =3D to_isi_crossbar(sd); struct v4l2_subdev *remote_sd; struct mxc_isi_input *input; + u64 streams_to_disable =3D 0; + unsigned long stream; u64 sink_streams; u32 sink_pad; u32 remote_pad; @@ -396,19 +417,36 @@ static int mxc_isi_crossbar_disable_streams(struct v4= l2_subdev *sd, =20 input =3D &xbar->inputs[sink_pad]; =20 - input->enable_count--; + /* + * Decrease the enable count for each stream. Only disable streams + * whose count reaches zero. + */ + for (stream =3D 0; stream < MXC_ISI_MAX_STREAMS; stream++) { + if (!(sink_streams & BIT_ULL(stream))) + continue; =20 - if (!input->enable_count) { - ret =3D v4l2_subdev_disable_streams(remote_sd, remote_pad, - sink_streams); - if (ret) - dev_err(xbar->isi->dev, - "failed to disable streams 0x%llx on '%s':%u: %d\n", - sink_streams, remote_sd->name, remote_pad, ret); + if (!(input->enabled_streams & BIT_ULL(stream))) + continue; =20 - mxc_isi_crossbar_gasket_disable(xbar, sink_pad); + if (--input->enabled_count[stream] =3D=3D 0) + streams_to_disable |=3D BIT_ULL(stream); } =20 + if (!streams_to_disable) + return 0; + + ret =3D v4l2_subdev_disable_streams(remote_sd, remote_pad, + streams_to_disable); + if (ret) + dev_err(xbar->isi->dev, + "failed to disable streams 0x%llx on '%s':%u: %d\n", + streams_to_disable, remote_sd->name, remote_pad, ret); + + input->enabled_streams &=3D ~streams_to_disable; + + if (!input->enabled_streams) + mxc_isi_crossbar_gasket_disable(xbar, sink_pad); + return ret; } =20 --=20 2.34.1 From nobody Sat Jul 25 03:20:10 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010048.outbound.protection.outlook.com [52.101.69.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B1D729DB6C; Mon, 20 Jul 2026 03:31:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518273; cv=fail; b=OxOELHW0UwiZ3MDW1H9HFjbBuf53zRL9F0+YkM7js+b0VFSvq0B97TnrRMLMzBUB2gh2Hf34Xyj5viC6gE+1FJ3i687awD442hOLxa/pRMcM6n9vY5dAwN497smL893epVSSR6MKYSNefkTtn16nLeaoDjKCSKKoKmvlDsm2iTM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518273; c=relaxed/simple; bh=V2kOOBKSSwsqAg4QKdAEStllRxnnKkv/lZeGIBozPx4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=WZyOxYo6gqsBwbQ9Dla+lgbt2gjxfNPCi8KxMaffMxSExP5IxREa8Ifrg31MRZH7zYAJWJsyHfSMjDE/MIuuva92t7xPfCCUSPPK96s+IF0svklq0Oy1jlKor6NEdItJeWmhi+tEYEXaLhzJxFteJYETTsfAfgRmEMKSoylKp7c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=rENqYe3l; arc=fail smtp.client-ip=52.101.69.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="rENqYe3l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uPqwspeS1eMWgIzsZrQdiSCBeXdAk7lpw5qKXzEGJiWXAP2oZv5n6M01cYqiETgc2NG0Glh3O3mK4NqTavzkpuPnJE9pCKrXyQjbwOnjVa1H8twLokzMKYYkt3ulR5nqaSi0ZMN7kW9NS946HK4Np97MfhvyGeaqDipHkig94TeuBfj3l2AJS7g03mDCWeRAszerIO0W5NnhI0jhoFqySgacBD9oxxg2TjsFx0dsv4M5wPP9xJHgsU+37f9KKGvT5A82inZsQkvRciMP3YRo9EL9KthEzTZna9FGwMyZvo+icj0Uj3Iih61xEkWPLfKr9CPbrfQsbN3epuqSY6srLQ== 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=aOqWS8E6vYWORJsRdJjpn5oBTizF+ds2tSd3vYZdmlk=; b=GmlAchJJ6/+Y7SE4g0FplgvzoTtafgJ8Ida6fPl49k4KZ/dSuXRVGt3awr50jyyO3Mz8flIXx/a9ZUMrBUt/CeaS/PsBguFKqjX70ZOGt+IZCnBnLfnu+KuOjscpwdJgdgwMBxMub1e2KVajYJ1luv8CaoaApUebahTic3BOC/rImcBevoGDLaf+Hp42IhpiVh2VR+goUllBEl1j7Ng79F3XBCbh22W/o/4YGs+9TYqXVQ9O3ac6FVHwcZO0QW2glkPS6OFVTtpjQNUumS95bplAD60OH/+X4q0jVGjfXZyHX2m/tl8PlsrD6TmCjxtneSzcVUb8N0qh7NiwA5c2Ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aOqWS8E6vYWORJsRdJjpn5oBTizF+ds2tSd3vYZdmlk=; b=rENqYe3l7p+6Gct4q4/SH9l5zQr/QJsBU3r2Y3GJKAqtGlXN3cg7xeinI7X3lggu8b43VFxA1QNeslJzic3B2oFIFqoiNsXwHEYnpCBO+ZlbgzE718aj4HIQa8XX+cKzYRCN8j9/pDiMC10OYvr+bY00Y1Qka/8Ienb0joA/laf6ajvssJPT6LMk2ycCsYPW70/l8bAy7RfDCdhbF6qpIUHve/LwuTtXPQm8cXnQNYr0KIT3254ZOw7rAGQImDWyhWGFxFUdO5FLeNvACMWj9aPK4LRg8R+sLkono9M+b8o21aBQ6lospfWO51NfLgHwgtlWY+BuJad61DAKd9QVzQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) by GV1PR04MB10534.eurprd04.prod.outlook.com (2603:10a6:150:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.16; Mon, 20 Jul 2026 03:31:08 +0000 Received: from GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7]) by GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7%3]) with mapi id 15.21.0223.012; Mon, 20 Jul 2026 03:31:08 +0000 From: guoniu.zhou@oss.nxp.com Date: Mon, 20 Jul 2026 11:34:06 +0800 Subject: [PATCH v2 4/6] media: nxp: imx8-isi: Add 16-bit raw Bayer format support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-isi-v2-4-45845bc5d4fa@oss.nxp.com> References: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> In-Reply-To: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Christian Hemp , Stefan Riedmueller , Jacopo Mondi , Loic Poulain , Bryan O'Donoghue Cc: Dong Aisheng , Guoniu Zhou , linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guoniu Zhou , Laurentiu Palcu X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784518456; l=3627; i=guoniu.zhou@oss.nxp.com; s=20250815; h=from:subject:message-id; bh=yO6j+TM0RXS72VVLeGJYcZBoA9UZ822YLQ+mmMb9jgE=; b=ZwEfSZVim3oRRW47k30vlTXLWsLN4ewglITdZCSOX2rSKZguKnLYoNwjOmd+XQsMsZnJtJNnV iZKMHqm0HXqBqGPkVn2IgjimVhZOKG4m73s4LQC03sleVne6l5bms2w X-Developer-Key: i=guoniu.zhou@oss.nxp.com; a=ed25519; pk=MM+/XICg5S78/gs+f9wtGP6yIvkyjTdZwfaxXeu5rlo= X-ClientProxiedBy: MA5PR01CA0154.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1ac::15) To GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB11513:EE_|GV1PR04MB10534:EE_ X-MS-Office365-Filtering-Correlation-Id: aa08ffd2-1072-45db-0749-08dee60f5694 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|366016|23010399003|1800799024|921020|22082099003|18002099003|3023799007|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: rWYEjKcwHoCp9LinKNlIYA8+hY479RZXqO39Vfe5Potl9oYuP0KCvpo37k2B/PhuWJlVhyrl9KjIoQ2kktrrTpLSGWz+1Scjs2PBhT/CTSZHgI6X207Pvs4Rv6G/bGytxMsKyetLy265HLsrONPaI3c+Ri1apwyCecgTd7QWPItXNQbI4EP/FHycmr1NahciQywyCbODIM5sZsNlipMAewoIXz9wZbRcxBdVD5wVSGmVS4AEBIdIiSTftTxSO0LnfIcQC4bzIFu0H8mpjIiTsLvb05yJ39UnAftbm//s9Ctlm2GtE062IM4PPfeUYwygiioSQuD+yJpwHLhyk2Gbe/a8Atc3N43PFM7GrS1kID4dgnrPuwc0sbRVduX1iHUrYtOrA5NhmwPLvQBu7hCpFJNeoDqHcdMwRmnF6yrKNLTbzpxgXFQNb20EQ5IaF4V6tDWLNJkgasgSsWcxsB2IQbiY4yilS71mhUNMnrcjOflUU1F6qPOP+eyMvxIe7HNkgmfjk93FF9+xA4PBvIwqj/C7yoEEsdu21kPszR5BiT/WkfSC7hX67xfqnNrs89GUksJnBsg/r+yAgA4UnHBuIB4mjWIAJ6ZGKetRZQZz4zAnvjDNncHVl84XNmoc0oAK/iHxgStPIQagUA+QjzXfkrWmJQXnsXA6f/S3vi9k4DWmJn5yJykCWUv4DDTk1Cdk6JOM4RaLRENlEZ+kUgb0Cg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB11513.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(366016)(23010399003)(1800799024)(921020)(22082099003)(18002099003)(3023799007)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a2M3eWlYeEFQeHRFMjJZQXVkRWtnTW43QVFQVFMxSFErMFJ1NVIycUxOd0dM?= =?utf-8?B?eXAzU0Vqek5FbDB1SS8vVlhyREplREt3MjFOQWdhNEhLVFQ5bTlFQ05qYjd4?= =?utf-8?B?WXhmYUFQSUdGaVJtcHJFbVVQMUVKUzUrQWoyMXdMdEIvRDZ3ZmFXWUFqbWdv?= =?utf-8?B?OUVrTk5Od1QyRDE1V3JNZUtUT3Y0VlMraWkwV1hORGZYYU01NjhNaWc5eE54?= =?utf-8?B?cUs4NW93WEpRVXZ2dm02ck1wV2thb25NMGRrUld3R0FUanFGZnh5YUpEWkc0?= =?utf-8?B?VGJQUDdxaDg1K05KQWJhWncyOXE4Z081K3U5WHdwZ3RTcms2a242STViOVdi?= =?utf-8?B?aG8zRVJjUjNHaFRvN3VrQzJYSS9HZGR5TTVYWWh6V0JYcDlwMDdVQk5iOW93?= =?utf-8?B?bk1VMHl1cURCcDVrdUIyQW5kZEU2dnFyaVN1OWN0c01MNlRONnBXNDRHbjFw?= =?utf-8?B?WmI4Q3hlQlM4YmtheWMxemZYSUdqbVdmL0lPUjNSUTV1S0VKbFB4cHdPVHVX?= =?utf-8?B?c3NzZUZpWUx4VW05UUdjKzFlRkw1Z3VHbG5pT2w2clFkOWgyOWlBSGd4c25j?= =?utf-8?B?bWVmL3pncnJ2N2trNTUxK1hIUWhFMWpScmYraTAyRFlhbXN2dU0zZ0lzbVpP?= =?utf-8?B?N2pObTdPOHc2cENNOHBoMTR0OVhDb0lsY242OWpuWmwwNUsybi83RzVxTWJW?= =?utf-8?B?amp5eWF6TTFTcS8zVzdMOVVaNWZPVmZVaXZtL29YRjJra0xoOFdsQWpwSHBr?= =?utf-8?B?eFQzVE52enFISHl1ZnArNkxYUnJocHVhMnFFN1FVS08xRmFwRFFqMnRuUFgx?= =?utf-8?B?c255Yk5jWVlTZzBKRnNUTnIyWTBDSHhVZTl2TjIyemxScStTaG5oNzFIRUMw?= =?utf-8?B?aXRXbDNLRDlic3hEY0dDZ1JCbXpQMUFMQjRaeEZnbzRneGxnNW1DSjBrVUZ5?= =?utf-8?B?UjZ1RWI1WVp4cTlyZjhVdGF3NGNkTVFCTHVzTnBsZm5SdU9hdnc2QVVDUk9q?= =?utf-8?B?U2hmbGxpVWlweEVveWN3RzRreEJjRWlVOFBma29GeVMycmxoUzBSSnJmcVI4?= =?utf-8?B?RndCOUIrcjZLTytLTmVjZENaYVBOZDNSalRRUzd0QmlSaitneEFKTXZYK0xq?= =?utf-8?B?OEkyaWR2aFFTbWlvRjBkZzk1ZTRWVU1qa1pFMXc4ckdqdlk4MmlpeDhGMm5y?= =?utf-8?B?MEFnR2Q4ZS9MdnJmdUVoWmIvZy9ZNGUyR200OUVramRkZWpjNzU5WkFSRDVQ?= =?utf-8?B?VmMzWFFFdGdLdWFsWmtWR1I5Zk4zNGErdjFweG9pRXBWaWNEZUhpelFFdlVs?= =?utf-8?B?diswUmRSV3E2QnI2cWZGTzNMSkdzY291WDRrck5QQ3FISER1cFRPR0RITEtJ?= =?utf-8?B?emladWpSa0ZZVG5JRzhxNnFROCt1UmVJK1Q2ZnhzL3dLVVE4dEcrRFB5clBt?= =?utf-8?B?UDh6RWFxdVhYMllHcGkrZHZId0ovMzg0TjhFM0Q3MmpJQU1lZ2hhL0VMOGRW?= =?utf-8?B?MkIvWlEzYjhNU0lua1NKdXZsSnAxZGJjdVBBR3NCT1E0bXRmWmlhU05OZ0U0?= =?utf-8?B?Ym52YmpiK2ZCKzI0blhBZDVoaDdDOFVmRGZFUW5qNHFQeWh5bzFYZEl2WFFj?= =?utf-8?B?MFlMRFhRcmhGM2w2WTdtUXNBcnFweDJiSjVEWDJLa2E3bWlVRlptbFhLZndX?= =?utf-8?B?UTdsZlBMOCs2dWtmVE95VnQ0bStkU3laazliWnBTajBaWEpxTWdJek1jeW1t?= =?utf-8?B?bG1yVHRjaHhZSWptbjNFM0ZOcE40QTc4WE54enRQZWdJemtuZEdidWE2YlVS?= =?utf-8?B?U1lMY1NLdzBVN3pKajZMNkJYWXFndzZXaXo2K2pFRUU1Z0Q4ajYxbTlLWXhC?= =?utf-8?B?VEd2NkE2bVRuQmMrMGZyZEU3amtBVkxNN3ZNTmdjVjI5MmdRalpKcUZwblVI?= =?utf-8?B?MDJrSTkxWGl6eXVnc3BsQ3FXcWQ2L3NkUmQyeXRLY2tyRjJXK2xwMkxJUmlz?= =?utf-8?B?MEQxNW0rSTAraHBrTWVKV0pXU2RGOUpVTnY1ZjF4TmtFNVpXREx1Q2lpeExv?= =?utf-8?B?S3hDbmdDcXRyU25OazBWanlwTW41SThjby9xdEFTTzB1aWJrTS9xd3dHb285?= =?utf-8?B?TjVMejZxSUxGWUVVUUVBOFhiUUZNWDlWdlFoVlJiMXI5RloyT3BtZUtwb0J0?= =?utf-8?B?Z0RBemNMMXl4RVpSRFZRdmhxU1RxakhUQ0E3NUNIS3hTbThBMFBsRWhwOGNW?= =?utf-8?B?bHpia3pNbnNTbjFNSmhHaC94S0VtQlMwUTl2NE1ybUVCejJydUU5UVI1VHBN?= =?utf-8?B?enE3ZXR3bHVvSklRakdKdVRTYVo5akxkaXVtMUdCNEJKbU5EOVFLbUxmTUxU?= =?utf-8?Q?w5c6VdY/8TBC80a7i3dOBBypk15i8g7Sa9rz/?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa08ffd2-1072-45db-0749-08dee60f5694 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB11513.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 03:31:08.6110 (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: K5KFmajMOuiwxOMKfAM+diUz4INHD3+8VXSgBP0USOhrZAjzVo0p64lKS54W3PSEbEUExy7WrgkmprCsLR+Oy6r71wakpzu9wF/ze8cEBPwRCii2ndoDvbFjIdICIXXH X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10534 From: Laurentiu Palcu Add support for 16-bit raw Bayer formats (SBGGR16, SGBRG16, SGRBG16, SRGGB16) to both the pipeline subdev and video capture interface. These formats are commonly used by high-end image sensors that output 16-bit raw data, enabling the ISI to process and capture full dynamic range from such sensors. Signed-off-by: Laurentiu Palcu Reviewed-by: Frank Li Signed-off-by: Guoniu Zhou Reviewed-by: Laurent Pinchart --- Changes in v2: - Add Reviewed-by tag from Frank Li --- .../media/platform/nxp/imx8-isi/imx8-isi-pipe.c | 24 +++++++++++++++ .../media/platform/nxp/imx8-isi/imx8-isi-video.c | 36 ++++++++++++++++++= ++++ 2 files changed, 60 insertions(+) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c b/drivers/= media/platform/nxp/imx8-isi/imx8-isi-pipe.c index 2d0843c86534..e58925d71164 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c @@ -179,6 +179,30 @@ static const struct mxc_isi_bus_format_info mxc_isi_bu= s_formats[] =3D { .pads =3D BIT(MXC_ISI_PIPE_PAD_SINK) | BIT(MXC_ISI_PIPE_PAD_SOURCE), .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SBGGR16_1X16, + .output =3D MEDIA_BUS_FMT_SBGGR16_1X16, + .pads =3D BIT(MXC_ISI_PIPE_PAD_SINK) + | BIT(MXC_ISI_PIPE_PAD_SOURCE), + .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SGBRG16_1X16, + .output =3D MEDIA_BUS_FMT_SGBRG16_1X16, + .pads =3D BIT(MXC_ISI_PIPE_PAD_SINK) + | BIT(MXC_ISI_PIPE_PAD_SOURCE), + .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SGRBG16_1X16, + .output =3D MEDIA_BUS_FMT_SGRBG16_1X16, + .pads =3D BIT(MXC_ISI_PIPE_PAD_SINK) + | BIT(MXC_ISI_PIPE_PAD_SOURCE), + .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SRGGB16_1X16, + .output =3D MEDIA_BUS_FMT_SRGGB16_1X16, + .pads =3D BIT(MXC_ISI_PIPE_PAD_SINK) + | BIT(MXC_ISI_PIPE_PAD_SOURCE), + .encoding =3D MXC_ISI_ENC_RAW, }, /* JPEG */ { diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c b/drivers= /media/platform/nxp/imx8-isi/imx8-isi-video.c index fe4adfa3a1f0..5eb448f4c26f 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c @@ -356,6 +356,42 @@ static const struct mxc_isi_format_info mxc_isi_format= s[] =3D { .color_planes =3D 1, .depth =3D { 16 }, .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SBGGR16_1X16, + .fourcc =3D V4L2_PIX_FMT_SBGGR16, + .type =3D MXC_ISI_VIDEO_CAP, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_RAW16, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 16 }, + .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SGBRG16_1X16, + .fourcc =3D V4L2_PIX_FMT_SGBRG16, + .type =3D MXC_ISI_VIDEO_CAP, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_RAW16, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 16 }, + .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SGRBG16_1X16, + .fourcc =3D V4L2_PIX_FMT_SGRBG16, + .type =3D MXC_ISI_VIDEO_CAP, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_RAW16, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 16 }, + .encoding =3D MXC_ISI_ENC_RAW, + }, { + .mbus_code =3D MEDIA_BUS_FMT_SRGGB16_1X16, + .fourcc =3D V4L2_PIX_FMT_SRGGB16, + .type =3D MXC_ISI_VIDEO_CAP, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_RAW16, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 16 }, + .encoding =3D MXC_ISI_ENC_RAW, }, /* JPEG */ { --=20 2.34.1 From nobody Sat Jul 25 03:20:10 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011000.outbound.protection.outlook.com [52.101.70.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6359314A9E; Mon, 20 Jul 2026 03:31:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.0 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518283; cv=fail; b=YCNLIpFnC/rQSaD2lV4hTCy6dNmwJ9ZwRQWngdhV6vi07EgsfejLL3X/wpzijns8ZF0edrqtwh3TwpfCBkV+voGDIV9Tj0qvK2ndb6TWjYGx3qB3WL/O7oxyIiEu6Q5m72xxRv6R3s9MEAGRxq3NPusRJPq25+mrZYuSiaMWApY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518283; c=relaxed/simple; bh=i7WHHxRj3fzDg8MB3SPMFe6cZ73NFRSoBJ9HgYUj/vg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=fX4+8010ngK0pebRtAawrrfGAkAp4CaKud1A5W6d85nv4bB9Evn2bbVHBvuSqTBExO7IJmBjADI/IwgAbGgWiNW5cjyp2I+AbaXHFDr2ebHrrzvsrLe6vRtEHqrgQoWxhJSryKZdvaNKJfRiwurlCVAdxtXa/IZ72b5bRhERGTQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=GXQHyuiP; arc=fail smtp.client-ip=52.101.70.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="GXQHyuiP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IB+UaQGcwoT+Mezlht+p4HsHB2vqvT71xA7jCY6QNwsf/PNnTTJNkz6RucYPmejx7PgmHDNEwPWdDdjgbs6OAkT5ukERsXYzUNf/UAtUZiTSgsvdsgtRm5p+Fa6ETV0AZemyG53UKz0QPuSJsZX6YuQLK4M6qD3xGfJKqwfaDIAFcmq+B/qlEKm5Fm+lafeCtvAtYE/hOchB7hZ/151wAEj+Bt2/FY+VuEK2AFQeT2p2sWVMkoLPd3m2ugtejzgGt3fccvCGhDC9qhtEyodiCuNbv8fm+GhTzn4QL3jA9oBex9rgiW7d/v5i2YRxsJP4pUWEpsjwqY8/jtO1xY+M4Q== 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=CpCqGUfnaGE0z79FO6ju1UlO4eUJXMnL5J6ihAnp2qs=; b=FhAdxIM0L+D6/o9XDRnAdRBX4E6ovwr6MUdOLGkKGKVY6fmyTl1qhdMvEuupSbW0jZhKgTuD65tF1gvvHh+HfmntsEZLZ9bGg16HlN3ZNC2YfwOBDF6DNw4qesCBidibKm5piA4WmxHuX05Z07V74P0+tG4QYIQ2wPagT8bSoK1QJUJgsPCrF7Lr8WJyHfdAZZ8mM32ggkfeXxAQaU/59Xku7wSt9fkaYE4WZwfcPEBxf13cg6y4hUADFjLZ6kkeOxVQrtfSOfByuZPQfR0Vr1tFmt24vx6wiQLj7GITEJunlNO+k+sFgXJr0iwyfi81uD/mV9xphUbnYzW4fBz0Lw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CpCqGUfnaGE0z79FO6ju1UlO4eUJXMnL5J6ihAnp2qs=; b=GXQHyuiPg/IZTXmunGAaexxIZe2RRUTa7a/6ih7k2MB5OWB8ci6RvBiMBpAoPieN3q5DcnQ4asi4rSqZHF7xjPesyVCwGvGDiwqEs3DwgpCRnlHpEJAbXZJ5x0/7ayZwlfpW3DHvfy62WxJFcNHs0XIkA5rR2qhXP3+s2nFXgYNgKnuMUFxClt1RVrMG2tU7h0Svd5hSzTReegu4koKglZ0u6CRcvJYkVYBq2a1vXRQqpjfhLJ/1E+6KNNslJeNOZLP/i3IEkthkcSD9DbJu55kQyjF8sZiLXsNnrEaqw1VJuzfr4UWvbwHXJMeODESRChgxspi1MV7dBT16LKpkww== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) by GV1PR04MB10534.eurprd04.prod.outlook.com (2603:10a6:150:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.16; Mon, 20 Jul 2026 03:31:15 +0000 Received: from GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7]) by GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7%3]) with mapi id 15.21.0223.012; Mon, 20 Jul 2026 03:31:15 +0000 From: Guoniu Zhou Date: Mon, 20 Jul 2026 11:34:07 +0800 Subject: [PATCH v2 5/6] media: nxp: imx8-isi: Correct color map between V4L2 and ISI Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-isi-v2-5-45845bc5d4fa@oss.nxp.com> References: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> In-Reply-To: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Christian Hemp , Stefan Riedmueller , Jacopo Mondi , Loic Poulain , Bryan O'Donoghue Cc: Dong Aisheng , Guoniu Zhou , linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guoniu Zhou , stable@vger.kernel.org X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784518456; l=1130; i=guoniu.zhou@oss.nxp.com; s=20250815; h=from:subject:message-id; bh=i7WHHxRj3fzDg8MB3SPMFe6cZ73NFRSoBJ9HgYUj/vg=; b=KzNq2ezC56qktsurBXJacO/XXJNHuLf3fgFh8vNZ62AT1sZjbbEdbK+SLpFSrpUYTIz5hnDzn r4oJUlyAaz5CEaIELrooTQPeGJl8D1dMTDVl17d9mN5Bon8JDMND4Yl X-Developer-Key: i=guoniu.zhou@oss.nxp.com; a=ed25519; pk=MM+/XICg5S78/gs+f9wtGP6yIvkyjTdZwfaxXeu5rlo= X-ClientProxiedBy: MA5PR01CA0250.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:223::11) To GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB11513:EE_|GV1PR04MB10534:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b33a2cc-003f-4470-a11c-08dee60f5a87 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|366016|23010399003|1800799024|921020|22082099003|18002099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: yTE5CVOVNfgk5YXvtH4Gj6Gtb3T7LBFaHHzaQ25r1lXbv7KFAZV+42R/9KMPqPnkVLC8go9o8zDNp4IvHZqc9ctUkGzmhMrZjPasPIXNLl7yxZUzkhYsLxja7h8TmbcTcZpFWf91b6um94LEqDMDJtum87J1XzBV79EArpegh8ZLLAplwWq1m6ya5DN6JqQlwWejnEdFUFYgVS7hG3CN/82wSOhQctZFjvdWZYn3kHLX8Mzv2JQaJV+5UltlSZOU2vn/GZNIf6gct6MwZ3PVDCwiIfd5KFmMrfcJzc4UBdylxHQuAGN7dBGPk5MoMFovl4dBTgStdIi9XX7hwQ1PaMl7nfG5t7mRgHI2e4vXrANKYJ8t10sguedvzbZQz/8V1WF+d5A/mp5nlgYz/zF8/QmYcnG1BJosP9PR1LmPxLftgECnl2p9yrRS+gsJeYNDQFtCDyK6n0zgdmllbn19KucLRi7yNy5vkGTTHYk9BkERBQdQ72IJUiL2DSrmphKkLGMMCmcNyUVfbMfGmlkfUw7bvgE0DEP2DE5W2NQDnUjezaHOIy+xs+ruPuzSdvMaIl79ueX9DIX9lSyeAUa1IBoTkDtww2PjDStF6H5cICfBbMSM/CB3Rv+TYfSFemjBiqcOpZggvXKKMUyW44p/aWt8GQgquxhqTZNKidgGyCW3vHRv9ZSIUPlxY0TOvTpHRjA9V2kLvwrTLyevRAGEVQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB11513.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(366016)(23010399003)(1800799024)(921020)(22082099003)(18002099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SGUrWXNwdHUvS3dkczNYNnFmVnlDWC9CN0FOSVd5OHBkZFBCV1phNUFodEtS?= =?utf-8?B?M1VjeWJrRVN4K3VaenRqYVNGMlJYend6UVNZVUZHQjdUcXVVaUQ1SmxMZ1Y5?= =?utf-8?B?dEV6eGZEN2I0a0o2d0txWkdxSlNEUDRka2lycjgzK3lPeUlhd3V2UTZyZHd0?= =?utf-8?B?ZXhjcWMyazZXUFQxeFJCNTZxM3N5V2dzaVN5Y1lRL3R5eUFxeVZHRE4rMlU5?= =?utf-8?B?S0Q2OVhGdjlGci9WMmFWZU81blZpaFNBM3VXcFBnMHFUbDd4UGlhZ3l3TVRl?= =?utf-8?B?ek01N3A2YmxQTUp0L2VVdkVGMmxuMFQyaWQ5RWxCSm5FYjQ0TEJzdmlzaXBs?= =?utf-8?B?ckppUmpaWDJFZGh3anYzbjgzaW1KTUJGYlhvR2pHMWYyRFE3Zzh4ZWVkQnNB?= =?utf-8?B?TDVwSzMrV2xwWGdSMDFUK1FMWmNtMkVMY3UwRzQ2ZWY0cGVjTWdpb1I3NENy?= =?utf-8?B?RWQ4b1IrbFAwb0J5aVpkVjlGVU0ybVJ1b20yNCtkdytlejJHbkEvV3lKckVk?= =?utf-8?B?aHVvWnQzK2tFNE9YS3lScCtkVnNKMjArWWptTjBqZnRrbXh3TEMvNTVBM0o4?= =?utf-8?B?YzNBdFgzWjR4V2FqbVo3U2g0Q1EvRjFDYlM0Sng0Tm9ta0FDYjh5WlZUZ2JM?= =?utf-8?B?UVBGbXJObHRUaCtDdkcyUWdjZXBEbFpnbmpkMzI1bHRlQTdWb0RyQ3REaUVa?= =?utf-8?B?RW9kN09xWGFnZFZlay9oYzNXTngyR3JmamJ0V3FSN3VQT2ZaQTdXK3RUVUZv?= =?utf-8?B?dGZ3TDFReGJEUTR1VUVnU0FvcTN4WGFRUUYzTTN1K0FNN2FzUVVmSmF4VXg4?= =?utf-8?B?MmlwYTFReksxWjJOb0lXakVtTHdVa2RhdEFhRkVXREgrUkZpd3BaOUo3UVhv?= =?utf-8?B?N2JKa1pzaFE2eVZrWUFqc05UZVZhMlNFTHFja1NKUjE0UFcxTTlvNmdud1Vt?= =?utf-8?B?U2MvS2FCM3llclhwclB1QmxhNDdHMi9ZdGRhMmIyOVp5TDQrZXJUSVFHYWVE?= =?utf-8?B?SWMxRHdjQmpVeDRidktXYitIUlUxUlJDNURpNHV1dEdGMDBLNTZldnQ4NHNC?= =?utf-8?B?Uy9YekNLNFByWWpSM1BaTnpOcWNWclJ3aEw3RS9PY1RJZWI0bmFHM1hKdnp3?= =?utf-8?B?UEtXM3phMXlmN2FrTUxDcUk5QTBOZmhaYTJXaGFrZ1pSVHg1bHJVTW9OZ015?= =?utf-8?B?VnFLZFBUaTdFRktJcEhpNmo5ZG1xQUlpU3dtZmdkYmZYMnQ4WVVLelhsd3Jl?= =?utf-8?B?VE10TjRSamwyM0k5eEM2cjlYVzJlaEZlRUlueTRiSk0xVy8yVmhYOHJNVW0y?= =?utf-8?B?QTF5Q2w0Y2Z4Tm1uZlhQS1I5c1lmcGt2VVR4cUZTTWtMQjcxa3c5ZEtDeFBq?= =?utf-8?B?MnVDS0g1WE0venlHa05rdmFQYVE3RGs4UU5XRXh4WlgvSGxzWjNVMndmcHpv?= =?utf-8?B?M0tHRUlNTWE1N01HYVBDSWcwQmdqdU13M2hBTUl3RVNQZ2thVDUvK1dHZXMx?= =?utf-8?B?M05yNGVtT0hna2lJeVBQdmZhQ2dtaTZLcDdwZVdzVzN5NlpJNUpoTjgvaHJZ?= =?utf-8?B?dnYwRTZScnBCVGM2MUI3WG1CMWxoOXFkTEx1Rzg5Sm5vRVBlaFUzTVdiK1Vv?= =?utf-8?B?bDMxUXN1Q3RPSjcwcmdRTExzRUhCeHdNU01RSDY1dGRXdjUySml6RW1zWnlw?= =?utf-8?B?MXdoK3NvMHptTHRwMFpDNmVEYzFxN2s0OHU2QkxCYTlBSDg2Y1d0b1pmSGI0?= =?utf-8?B?bS83L1Ava3VMU0l5Ykg4aEJEaHhKZCtxejQ4d1AzRXg1TzZqRVdxb3V0dHAz?= =?utf-8?B?UlQycHdIalNBL3dCZytYeHBNVEpxamRUL2x2Q3N2bE0wdGo2NGNyRURYUEFZ?= =?utf-8?B?czUwdDhkOEdNQ3FjMkdqSFhWclVucWJ4MDgvVGlGZUhEeUJiL3ZnVkx4aDIr?= =?utf-8?B?UzdNS0lCalZiN2NFVzc5bXQvWjVCTXNPRlI4TERlTGNXS2tQRnhSV2RoQ3BG?= =?utf-8?B?dDVqRUoyNUlrVEVrdklkbHhVcXFycWU2dmd1Sm5UUnYrS0VrSGxQelREelY1?= =?utf-8?B?MG5jMGoraEhoZ05qRjA1VURZY2pmcVpOSnJYbUxUZCtXZWFRYVhmR0djMTU1?= =?utf-8?B?Ny9NbDFuT1lIMWJZUG1EQ2wvV3Z4c2x2Zm01THVGRHd6aGVCSllSa2QvWm9z?= =?utf-8?B?c0w3czE0VlF4M0tCczhmRUZLNmxhS3M1V0FseVl0RDVkZi9LTGEyV2FXREVT?= =?utf-8?B?dnlpMnZoVWpWZVNrdHFRL0RMMFU0WXVudCtTS01GVE4wL2JyUGN5eWR2b3VB?= =?utf-8?B?NWVtbUdPQ3IwQ1orVmxucmRnWVIwbHp2akhDM3JEcG1BeHpvM0xXSWFlMGRk?= =?utf-8?Q?Csd/z5qc9dyIKMJgvdDOfbZIsprEjI+CYBoQd?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b33a2cc-003f-4470-a11c-08dee60f5a87 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB11513.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 03:31:15.3779 (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: /jHri+FfQ77PTUnKgXBeWwwOE7ZTJWQqYhDYjtJKHf9SepKg3HfZPEm256NBi+FPOWeDcY+bEah3JnU7H9o6ZPOb1DdjylQEhj2AiYZESrwoaUoecVw8ihKCzSgX7VOE X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10534 Fix the ISI input format for the color map V4L2_PIX_FMT_XBGR32 in memory-to-memory mode. Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver") Cc: stable@vger.kernel.org Signed-off-by: Guoniu Zhou Reviewed-by: Frank Li Reviewed-by: Laurent Pinchart Tested-by: Laurent Pinchart --- Changes in v2: - Reword commit description for clarity (Frank Li) --- drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c b/drivers= /media/platform/nxp/imx8-isi/imx8-isi-video.c index 5eb448f4c26f..05b51b98344b 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c @@ -151,7 +151,7 @@ static const struct mxc_isi_format_info mxc_isi_formats= [] =3D { .fourcc =3D V4L2_PIX_FMT_XBGR32, .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT | MXC_ISI_VIDEO_M2M_CAP, - .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_XBGR8, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_XRGB8, .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_XRGB888, .mem_planes =3D 1, .color_planes =3D 1, --=20 2.34.1 From nobody Sat Jul 25 03:20:10 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011000.outbound.protection.outlook.com [52.101.70.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7DBB03955E3; Mon, 20 Jul 2026 03:31:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.0 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518285; cv=fail; b=r/YAJLzzTmN5ZrvWoZJYEqOSXidlNr6Kom+yUVr0LB10XLoWhxq+gfwm2CV6QLS1L42GLm+iJMUCeTOa4lUJ9wxNWwYjH6S5/9XYEJlqkymyLc2maOdhTPBh8ozcs7Fba/+H2F3elJaHIPZP5O5A9HN8yvPiYsJGkfTgedkEjq8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784518285; c=relaxed/simple; bh=gQ84FhidFxOrMQlGZqdpL26VQTTR7PRmXdT31fsLHkI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=OcV288odO7/cKdRdDmsW8x7xU+cUTSXp3/amMinuUMSpHFi7OHIKx90YW3C+kq+hgnCmQtS4ad+BXsQYWF5CDob/GnHCso/ay5gdVlR4/ieM/hcvWJLW4iQ7P91xDCqo8blgWNgdtyQK/fd+SC3mD2mmcCu/S5pXdfAVOg95o0A= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=xU2pYoHg; arc=fail smtp.client-ip=52.101.70.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="xU2pYoHg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n6BKyMpVYGTM8+hg5uw8FCNkStOdEzoRcrGKuIpv8EDZ0SeJL9Q2SUooWcYFVYWQfUECJsrTA3/1Zy4Va9Bu56qML3QHJBGv+sUWUEW6U3sZ7vn5aagpFRKZFxt/y0dgrv9Ib2SJm4rglWOQ1ul0pRCht2FYqzCLAJd01wrJuUyjjn9K0O0FyHZ7Y+nz0dRQ9zEr194tMe+hYZnjP2g8bnnkPaMo1YpOFFrVv0q9C3gjupVQYzmLpuHAteqOTk3XlB58obf7phCsKQ5ACX7/5eXXXhLupY1F0nEtm6cnRVCwxYXB+nuneaHZqrhIN+OJBc9L/5FQNyBaSbEwYL3jRw== 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=Uc4Nulb9p9hc+eMM5m5OIXTvCXPBrbT+CMETT720AFg=; b=BZp6TvNf3qJLpMOg5bVkkRDcjx/Ik7yAAqt15t5uLr73KjHtvCoFr+2FI1qUzLvpykpEGyWwhIHlFvbAXBdOOnK2m/8+/KVgPcQL24cIjufogaTOIaouT4ARq44p81nA9mMjNPAf3kPl66Zqad4m1jMzq53ZKDGY5vqVHq1lAmpuOHcRfccrjRXDXNUMY3jVjpTTVeHptw7i+c38o7GV7lUuwvU3gYiSwTJktC1o2zBOIhxAqTi/XFjxd6FJzpnX65LjY5bO771LcCMZVLEuTA46pPkMbXlch95vzmL2w6WGRUVSwgWZ79wLI4BrZGBhswPKQWcP+zO7wXO8QPjMcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Uc4Nulb9p9hc+eMM5m5OIXTvCXPBrbT+CMETT720AFg=; b=xU2pYoHgNbFijvsgLLK0nvr7M880zzA1h9HkuURLqQAdyAddSrpAYE5Mosn68Lsd+8wRwqrd4HS3UB6W/Rke0qGowJsrpaFkHI4llGVlaSzebW1JZtG/Hic+yfRevCS/qL10Ybc0hSwkta3cnvFrcPteC7JWPOxOg/JtTRa4K5d/HdeNCErVprRDCz5YsFptuLk1p6137mEIlhzOhwXmTZ4jqTcyKqkCeP+hcoLFHK1mNWbzCSVkjk5AjRptXAPcV/rUy6vZLLBuNb/LoGO405yX01O96nrSuPNI8jkd2cqStmz5Vu3P6gtbuhd9L9/J4RG8nT9v6GxA9zGde6WfnA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) by GV1PR04MB10534.eurprd04.prod.outlook.com (2603:10a6:150:205::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.16; Mon, 20 Jul 2026 03:31:21 +0000 Received: from GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7]) by GV1PR04MB11513.eurprd04.prod.outlook.com ([fe80::29e0:98a1:4577:2cc7%3]) with mapi id 15.21.0223.012; Mon, 20 Jul 2026 03:31:21 +0000 From: Guoniu Zhou Date: Mon, 20 Jul 2026 11:34:08 +0800 Subject: [PATCH v2 6/6] media: nxp: imx8-isi: Add additional 32-bit RGB format support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-isi-v2-6-45845bc5d4fa@oss.nxp.com> References: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> In-Reply-To: <20260720-isi-v2-0-45845bc5d4fa@oss.nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Christian Hemp , Stefan Riedmueller , Jacopo Mondi , Loic Poulain , Bryan O'Donoghue Cc: Dong Aisheng , Guoniu Zhou , linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Guoniu Zhou , Robert Chiras X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784518456; l=3424; i=guoniu.zhou@oss.nxp.com; s=20250815; h=from:subject:message-id; bh=gQ84FhidFxOrMQlGZqdpL26VQTTR7PRmXdT31fsLHkI=; b=4TUsZBN5Zv3s5V0a9Rs+VZ9xKCxSc7vA5Q918WzLEN9SiuK4kPExLWbc3vRFl2C4Tw40ZVSl3 wORoYvyceaMAeSJ4GYbApIrM53poQMtH8O5gIje0/klhnQ2l0Zwx75W X-Developer-Key: i=guoniu.zhou@oss.nxp.com; a=ed25519; pk=MM+/XICg5S78/gs+f9wtGP6yIvkyjTdZwfaxXeu5rlo= X-ClientProxiedBy: SG2PR02CA0136.apcprd02.prod.outlook.com (2603:1096:4:188::16) To GV1PR04MB11513.eurprd04.prod.outlook.com (2603:10a6:150:284::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB11513:EE_|GV1PR04MB10534:EE_ X-MS-Office365-Filtering-Correlation-Id: 53352083-fc69-47f3-543d-08dee60f5e52 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|366016|23010399003|1800799024|921020|22082099003|18002099003|3023799007|6133799003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: dpwhEi0F01+nDsTO3gytMMl5w6xEcg0a7SUmU44hCqxHfUy0io+niWgpArRzgwYw3tDctfKGRCPzQAEgZ5UFuXN8jH5tqtX+KZHfcIATnfRcudURcMPvoqRqef5TiwwL183jKH/sAuaEBMrV+24RoswV85okgObfGB6L0I7jwJK0YldoUD78257ETXy6ATyN5qJnVBYcwApyLzrk0UlEPpEG266kl5icz63ujWqhKV3S9N6Gn30qhmZb50s+Sw/f/NB9S7iFJYD4y/xcicL0W11P4Su6yCbb/4/WPAfLHAIcvDmnfIJ1SsnpiMXBYtLflQcpXnGI0vL82ziexSMNXodBoeshcnw8gLpwe91KJuV9PcVrXdSXEgA23dO5k9MrcBHmGJlUv6nWKYmH3iSdkb1JJlKEedSvm5yojDthJCdsJzJi9Ni40DzsHdqMsmNrJdxHpRmsOw1V/j8nl/18c2yba/FbHinCHcOgoyN5tCvPbqgW2yeIgp51rT/RUqrcjJVg0nZvcRePQYOsyVIXYW1NT2uRsDojN7Aq+HPu+o+5gFnO2uugC41uMNAPq2Vqe/fWicMVMPhc8t6eD6ui1KtizilFut6XapsfdT9LJl15TBD3gHpS3/A4+GQ2ORzatzQ0WTzWllP3ia6KF50lD8MRxvoT4dyoovkg584939RD08hyKcILq8XdRmBuDro9wHv6p+MmUmoOHJb0Z6hw0g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB11513.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(366016)(23010399003)(1800799024)(921020)(22082099003)(18002099003)(3023799007)(6133799003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b1JxaGxhZ2FVbjN3OVc5V1lGaGtrMHhkcjBxdm9DZU1aNWRYTkw1bmJLaU5q?= =?utf-8?B?SnZCVnVNcVc5TkxucVRtRTlzcG5xTVRTdkFUNlFkS1dmZS9ZMDJVeEhLaGJD?= =?utf-8?B?SDN2emZMalFXK2tNbDNUdGJNWGlsb2hQN3Z6OTFDN2pKNTlSZlY0UUNFeGY4?= =?utf-8?B?Ync5MGZsVzFnT3FOdFVabFFiRUV3QzNwZnlYTFRteWdrZXBzR3g1cG0rMTd5?= =?utf-8?B?MGtKaEdua3ZocUpDWVc2S2lLQm1iWVNrMys2UXQwS0hTUnFGd0dkTXVBbUZ3?= =?utf-8?B?RW9CNEtYTFFwZHBsYlpVOXlJUjB2TE12MER5MWtzTUdtUlUxVC8vUE5wWGR4?= =?utf-8?B?Vk9rb2F3MDllaERJOFMrTE5nKzZ2SkhldUNubi8yblFiYVI3QWFOUTA0a3Uw?= =?utf-8?B?TWVST1kwRndFY2NYRTdVWkZTQjdtODROS0daeFpxemg4dkdQYVFSWnZzUmdW?= =?utf-8?B?Skx6TjBiU3l4L2NLTXNIMUhLT3lyOHdQKzhZajNzWXpnZXU2SUJNTm8yQ0Jk?= =?utf-8?B?QWV2UHdnMnI4a0VKVWdoaVFianc4V1Fxb2hJUlRXL3gzUys1TFNjNlYzN2dI?= =?utf-8?B?WGNpeFAvRWpPZlhSK2RDZHQwbEJHWHUzRVN2U0k3aHQxc0lpaWtUVVlVUWNz?= =?utf-8?B?bzRIbmRYQ0lhbWFGcG5XanRxam5DUWhQc3lWQk5hUWdQSVVVeGJEK3NYR1BI?= =?utf-8?B?Y0d2ZDdxYTRrT2ZWTDFPeDYyVmRKZEZnZnVWVHhHMU9hNXNGTmYxQjdUOG1u?= =?utf-8?B?ZXpDYlc2RmJTbUVxZng3WDVocUpRWk0raEZUWEcxaWtVcVZ5VmJjRkZpTzVk?= =?utf-8?B?UGp5UnQ0dzk5RlpvMHFWd2huYVFKZ29DczdCOW1iR0dsVnBqMDJBa3lnWnhs?= =?utf-8?B?ejRpMjk2bjk4VndPMHBhWC9PMTFZSFZlWHFWcUl3SlRaRVlzZHF5cW5vRlN1?= =?utf-8?B?ckFiTXZJRm1tNTN4UlJKR05neE8xUEM4NnB1S0pNKzROU2JOWm4zVHEvazdy?= =?utf-8?B?WUpGNmdmZmZtdW9maFVmWEFsTHNXbXg5TG9SUEZ5Um1pSU5FMnlua1crUjY0?= =?utf-8?B?UkdDekxWSHUrckI0TTV0RmFEYnppWjFlWUg2VHI4WW8yblA3a2tZZGpVYUZ3?= =?utf-8?B?N0FyUmdiRS80T2ZIT2FERmRVQ2Rla3gzRmFjRjd6WUxCZlgzaWFWSUFyUFFr?= =?utf-8?B?VUFZb3RPd1h1K2VYWlNFOEx6MDJveWNyWUh6RWRNUVZEMzM3L1JnamRhTHkr?= =?utf-8?B?ZHg4N1lVNTBNNi9hT1hhNWYycWpsSWUzcXBhNmtScHlLNE1RUGs1VEpHNWwr?= =?utf-8?B?d3M3bXE1cWk0bXVieGJsa0VNNDJvTVM5aUsxOHZjajFzbHc5K29DT0dZWmk5?= =?utf-8?B?aU9Zc01oMlZvR3dHYjYzR0NjamIvbDdkT1JVSWV3SUtYVjgzQzYvQmtESG5U?= =?utf-8?B?K0dqZkdCdzRzeVpnYXRPYTg0V1J3b21yNlVHZWFOYzVCMHFLeTJYYmFhbVNQ?= =?utf-8?B?RWI1aGV6VEFGemwzaUJ4R2w1dy9kRkxtT1BpNCs5NVgrdEduN1VpQ0JnWE93?= =?utf-8?B?TzB2cHdURmh2T2hKVFpGOUNiOG9CWElXU0w5NkljYlk5RC9xd0hVWTloYStI?= =?utf-8?B?R3d6RzlKZ2pXdTgrRm9kNDVrV3RtQWhyZk50MS9RbzgxVDhja0c5Sk5EQ3Ir?= =?utf-8?B?QXJsVkw3cW9qMVdwMm5JenpOdkZJYnBWYm9zSkhFTm9TM092UlB0TVoxQnZh?= =?utf-8?B?dWszNUdZNEpoeXhXakEzVGp2WVB4aGlyc1BiL3o5dWVXeDVkcUlubzdBVmsx?= =?utf-8?B?V1I3VVZOdncxR1lGblFlaml4bVJlNFJRS0wvUkZISTFRdkZLbzBDNFlhRWpk?= =?utf-8?B?K1lER3daSFV5QWs4NVRENCs3MGRTcDNTUVdTK21KMGlaTnhKaUZOYTZJYmts?= =?utf-8?B?KzhSdXlOTlRsS0lSUTFVbkk1eVF6L0gwR0hmUUpNanBsVjJ1VHVVZ0ZaeTdG?= =?utf-8?B?Z1M0Um1yQUpaSGFZNGhrdUxOTkZKSCtrd05FcHZzN3o1Wjl0WVBlelFBVEhL?= =?utf-8?B?aGhKNUdjWXVlZWgybk1hMnJXdW9hdmVzWG40WjB4Y2ZEb2c4UHBtbXVQMFgz?= =?utf-8?B?YXpMS0dHdGdHbnAyb1lNRU5MSklEeEFEOTAwcXplc21jRXQ5bE93eEd1UWZz?= =?utf-8?B?RWtEYTJybUZGS2tQOFMyeGljQkZkbEU4cDlrbU1TblI1SG5hMXhKYkVnRHZt?= =?utf-8?B?b2g1eFVOUW5IVHRFK3JUQ3dRaXpwN3hieE9WK0hwcnJMN01ETGdRckxOenBN?= =?utf-8?B?OFNEVkRndzZJZXlMWmx4UHFLOG1EVzFqelB5R2Y5VnNraE80K1JJanNUcmkx?= =?utf-8?Q?EWmQmCqQHO8zK0lrI6DtQGn4jRV9M6dYksKWd?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 53352083-fc69-47f3-543d-08dee60f5e52 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB11513.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2026 03:31:21.6018 (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: ewmAO6TjVNqzjZj+Gwq2qbd3IJhXeFWFZlvshtGLiDaQWeLgveB6AOTIFuYKQRvanBr85kXTMDT5N/VFPHyHNcy5uQhBTGOYiwdTc42kHaO1YKQX82Wud11D+lxlyUIo X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10534 Add support for additional 32-bit RGB pixel formats (BGRA32, RGBA32, BGRX32, RGBX32, ARGB2101010) and extend existing ABGR32 format with full memory-to-memory capabilities to meet Android requirements. All formats support capture, M2M input, and M2M output operations, enabling complete format conversion pipelines. Signed-off-by: Robert Chiras Reviewed-by: Frank Li Signed-off-by: Guoniu Zhou Tested-by: Laurent Pinchart --- Changes in v2: - Add Reviewed-by tag from Frank Li --- .../media/platform/nxp/imx8-isi/imx8-isi-video.c | 59 ++++++++++++++++++= +++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c b/drivers= /media/platform/nxp/imx8-isi/imx8-isi-video.c index 05b51b98344b..ef638af350fe 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c @@ -160,12 +160,69 @@ static const struct mxc_isi_format_info mxc_isi_forma= ts[] =3D { }, { .mbus_code =3D MEDIA_BUS_FMT_RGB888_1X24, .fourcc =3D V4L2_PIX_FMT_ABGR32, - .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_CAP, + .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT + | MXC_ISI_VIDEO_M2M_CAP, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_XRGB8, .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_ARGB8888, .mem_planes =3D 1, .color_planes =3D 1, .depth =3D { 32 }, .encoding =3D MXC_ISI_ENC_RGB, + }, { + .mbus_code =3D MEDIA_BUS_FMT_RGB888_1X24, + .fourcc =3D V4L2_PIX_FMT_BGRA32, + .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT + | MXC_ISI_VIDEO_M2M_CAP, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_RGBX8, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_RGBA8888, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 32 }, + .encoding =3D MXC_ISI_ENC_RGB, + }, { + .mbus_code =3D MEDIA_BUS_FMT_RGB888_1X24, + .fourcc =3D V4L2_PIX_FMT_RGBA32, + .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT + | MXC_ISI_VIDEO_M2M_CAP, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_XBGR8, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_ABGR8888, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 32 }, + .encoding =3D MXC_ISI_ENC_RGB, + }, { + .mbus_code =3D MEDIA_BUS_FMT_RGB888_1X24, + .fourcc =3D V4L2_PIX_FMT_BGRX32, + .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT + | MXC_ISI_VIDEO_M2M_CAP, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_RGBX8, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_RGBX888, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 32 }, + .encoding =3D MXC_ISI_ENC_RGB, + }, { + .mbus_code =3D MEDIA_BUS_FMT_RGB888_1X24, + .fourcc =3D V4L2_PIX_FMT_RGBX32, + .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT + | MXC_ISI_VIDEO_M2M_CAP, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_XBGR8, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_XBGR888, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 32 }, + .encoding =3D MXC_ISI_ENC_RGB, + }, { + .mbus_code =3D MEDIA_BUS_FMT_RGB888_1X24, + .fourcc =3D V4L2_PIX_FMT_ARGB2101010, + .type =3D MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT + | MXC_ISI_VIDEO_M2M_CAP, + .isi_in_format =3D CHNL_MEM_RD_CTRL_IMG_TYPE_A2RGB10, + .isi_out_format =3D CHNL_IMG_CTRL_FORMAT_A2RGB10, + .mem_planes =3D 1, + .color_planes =3D 1, + .depth =3D { 32 }, + .encoding =3D MXC_ISI_ENC_RGB, }, /* * RAW formats --=20 2.34.1