From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011007.outbound.protection.outlook.com [40.107.74.7]) (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 DF48221D3E7; Wed, 26 Feb 2025 15:25:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.7 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583526; cv=fail; b=tIMupLBDOmor0E+R38hklcvQZpmngigw+jJEm+wUDNl+r6wucij2x311llPYXJWp23UIynjU8hBHPniI+vcRRZZVUhdSCYwgoTEYvLP6zYPj+KHVEgcqAs+rp3qly/WlTkzg5gFWtpviF1GGhlu1qGPbY1ZAq22A/uVeUr7EMVg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583526; c=relaxed/simple; bh=dO8wJXyxuJjrbj/VsoL/Aj52CkSGklGdjMOzLN26zCA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GFLvw2X/KB9UqYIn2rt5VP0Sw6tvO7EwSMnnaV4E4fEDyEg8faTFNHEmGt6plFuHupDkyDLmxJVM/HyJaEeSMERA3c9bYWP4P5DeTcWLz7zc5JIJSyk9pmBvYsuhd2R4+HPfuBtLuBRRJmxNYhbz7WR91Se6VCNlx6PLyzxN4e0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=DcjvRCM2; arc=fail smtp.client-ip=40.107.74.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="DcjvRCM2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o/NrvQrjhbQYUehjbNOrF9UkO1Xf/Xd9jESRwARKvDNhzeHDyVdkaSiLUoDO0GuEujOgxdLICCPInoPV2eqDTf5xMwgeM4bktovbiRzX+turc3mQ3fJBtMCC7N5/Hecyi4JuLnNXsnCkETMfKJcDYh6p1/4O3ZZHQQLNKSaK3KuRtDnaQtzDhLa3IVkgogxtepxyQPdz3Ik7cXNQGIxaY+xxgjy+8RVQISmHcbmW7xdlQe/fyCT/v8IYZNxHVLsrjBVS/n4Fz9GgQvvSnk5XFDh4opQGwi1h2bdXRw961B350rNoNJ90i6I7I04ErFtPMEbgSx7oyMPXQzMVkgcMUg== 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=IC7ZTZXhR1ZCtvs4E7WEo/lx4IYGsVXWRPr359WfHmU=; b=x4QKaZ+KKBneuMkizYptt7LEpR62fN3+hx2cUR+ZRPvVrrRbBK1ncjDDxheAAVkrznsDcn1rCX3wLqrZH2Qsa8QbXn726+aZsGlwfEFH/et9jaAkvXjf/bsyU2KddAO9xErz3hYzTBUOMetU90MVnzsYHzFAn/lQEJfTI/P3tfs8+k64cfBriWTurdd5/sp5pim/VUTY9UmjlBEcysG0Dfw3iJCcNEuYe6iAjw2dqvBTGxtfdw+aVJqY5yTtKCF/1EFSsdjQWj0xizNvV/J0NI2Mpuc0Bo6YNkqaS6/wG5imzJ+33CDgcJHR9Rt/vt2MAcbI6HjFd6gq/BeHUEFFAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IC7ZTZXhR1ZCtvs4E7WEo/lx4IYGsVXWRPr359WfHmU=; b=DcjvRCM2vqM5kwGlNw1YDwg0n8mAUqTkRnOC5m3KlyptUqZYgJXa8SuvNPfFOfuLHyU/SJHuAomXq0+hIqUT6PW+AC+akNx4XjOOGS7GiINcvz9vZXBrJTtF0rR7oFOWPNb7wHe5kdpqX1EsFIIJ3DJn0Tom8Tdd9t2sMQGl1YE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:21 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:21 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Rob Herring , Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 01/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/V2H(P) SoC Date: Wed, 26 Feb 2025 16:23:25 +0100 Message-ID: <20250226152418.1132337-2-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e953801-3f80-451f-ebc8-08dd5679c873 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?94QW+wdjYkFrGiH2hlfFn+AHwFanXohKd4PQe8TCkoHAzmBeSrehrH8wFPq0?= =?us-ascii?Q?cOr+2x7WZiLZEZ9HswTHAOBEpG6gvvcdy0y6iYuySAr6XLVLNFpLuRK2SI4N?= =?us-ascii?Q?9VQGmoCMu0MIM1fCFv5eCSNFCDgDGfK7Hj6Ix5BynHrN3L/ViboRDlvZyxkY?= =?us-ascii?Q?m+dj+G6s33kqtiTRPLoPjHnV809AVk7ranhBSk1LJ59cd+FtXP/ZR0ZHasD9?= =?us-ascii?Q?kbyTYBufX+Oe9cUlXc/LTS3hSsB1tOHaTKPXdnsWQEPxZkXYO36D7Ny/1md6?= =?us-ascii?Q?ateeWOQrkn8rrKXaI5GQBDXOOA7o5BUCJbifllwIdT0vcN5G+xZLfTJRQums?= =?us-ascii?Q?epN62Ud2GAIK32Kk0bhUTlcWE+Vm+Y0drpereATHr8a2QNMZ0Ni16B+SknJA?= =?us-ascii?Q?iYDvTVKCEJrZheyVGJ9jQ2cWh7aCLCwBq6QjCQg89VIYOpcP7vlCTB4coUzD?= =?us-ascii?Q?zjoaJpFzz38ZCNyNLXA3gcvlr0/EWR5uazlaH5q3TXrCdiMNDuIfvVIezg8C?= =?us-ascii?Q?Mne33qoI73o2Me93zlekec5OOfx9gWpcMFyJR3WwVi5a/raJUZ/OVk7RIGPG?= =?us-ascii?Q?7d6yADHjoWH17+cBkmV+opAA+GUetqaJ2axV8Ta4HlU4ftq6C5mQVsfa6O/p?= =?us-ascii?Q?I20s2nt4sec8YCbfRrq8z+hZJM8zLxISXGDQygw6W5sMYnLHNFKWui5oj5Zz?= =?us-ascii?Q?kEx5ZM9weMjR5jaBGJHJI8Es/XFOEzFxTblAMAqjZRqKcHKPKIBqpF75QzdI?= =?us-ascii?Q?BdsNEJKxZB4TQSnQu03PJyXPN1I7pE5aqjStfydIX4WAHn7v+EMfobj/UQ8x?= =?us-ascii?Q?KKWqtMSuOn/NrRmJBcL/b70sQ3xfvrcmMLQfpmyVnaDRPvTjY+jY/yyj66i8?= =?us-ascii?Q?UKGKTWZ5aYSm8jnHL76P+o9PnLUu5D6B4ps7RlptX6njEPv52tyxfeq49bY5?= =?us-ascii?Q?wLWlBxEXrmcgtFGn2ax92rd4wYLyWXmTeKVgac2luftmwOtb4p5QBLlR0Xld?= =?us-ascii?Q?V/AL+P/We3H97crtBxqAspkkaScD59JP3rniSayEV4cmZQLzoDlniw+vHNwi?= =?us-ascii?Q?DexVcsU1nE2Uq/y8if7uDHa/agpdiTOrx0mWO50yejaly6CTEeU2k5zZDXuo?= =?us-ascii?Q?4+2uTOSvv3IwCSEGNNdkwpuYXzlC68MMf1rNXYqg3vQe2poyxUpd3HptSnk0?= =?us-ascii?Q?hSyft1EyLy7E+t6Vuf9PNKM79qwNKKVYbIbt155nbtetfLL0RWlPNa5acceZ?= =?us-ascii?Q?vMGDy/XsKb8JDwgEwxAVUmlgnnlXxkhgCWjdtgqid0DeqNnMcUn71AplEmhq?= =?us-ascii?Q?09rgUxXCAI4P+EmUVQqhfT9Mk6MgKqAa5cGFIR5hSz2JSfjhIYdy+95hc8Oa?= =?us-ascii?Q?SIT9waVrfqbPltbI1lMypYJfefqQO3+5BxeKp/eShmVlSpK4VJCthn0fluoe?= =?us-ascii?Q?VN7lpY88W5e1GX3pOcdfCy8IkdMJtAZl?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?k5/uH2vVpxBzSc8mSJcnkINtiQ3jTQkDT4n0qexs5h30SsfkHZiM5o3fIVto?= =?us-ascii?Q?OtPUFIELufX+L4kgluBoTsEonQf6ipMcWNmi86/LQaQmVv4RqREZ4cw/N2Ac?= =?us-ascii?Q?c+t8Xaf2v5VWcie39T/AuxG4wMk/mUM2drkaz6FEdtQxtVIhbUcZHz0Te8x9?= =?us-ascii?Q?CnkDlf583lad+GjpY9HtyYaNgqTbGUmcepmN2cuYFnIMEH3Wm429HOCfUzV8?= =?us-ascii?Q?HvcztLftmYhSY0RTQ79vmr8ofZ179VgzqQOuhzoifdu6c6yScmdJbaqHr9VS?= =?us-ascii?Q?kg4GUSs/mjZaMHeKlq8gV2EARLkh+q/WvMgwOHFyul5ZehLhGw2o2p9PeIik?= =?us-ascii?Q?QOuVTRdQZHptV0wz5hJxS/sN3UMthwC+GNUGBP1oEny5ZfEhBxlxnWcOyyRX?= =?us-ascii?Q?RyqoUlm6GO9paYBVrKHsMuwrAhACCXDFv9VWqk+Q81FxlWVYy0RhAtaPPFHH?= =?us-ascii?Q?HHC4Rn0Pj0I5OR1+DIOmAP7IquyVebo05hjy1qQZktBwQA+rbxtWbPfsTLtk?= =?us-ascii?Q?sb60dug6fsjT04JztJKBqBu05/vw3Fl3qy8mP9byf5KR1J/POT4O1bVmPfJe?= =?us-ascii?Q?VCT9V/Ri75X+RJCIxV3rQG+KUrb07gm93Ocvc5Cl5L0roVN1D8sErmW9g0yd?= =?us-ascii?Q?IRdB/a2+41MimJCtYlY3Pqr2nXAFxETv5VoyyT88zKp/lvcsg0El2MtiXHyB?= =?us-ascii?Q?/QeXFkwfTBnFD2PR79E2FNUKalrczXIJYj86Dxr+8zMennY+TvsiKX8mM2Of?= =?us-ascii?Q?sG8o4IZZ1Y1XX6xMelLZjpUAfHHkBQc9XMER6NCdog+U0AkvouQ9Ab30cKR9?= =?us-ascii?Q?UQwOttpOtnHOE7LaYwt5SE+enPcIUpbKwbBkNCaOxxBxJIsC2YzeWB+mvpOG?= =?us-ascii?Q?GWpmaNiDxtkUGXRcRoXGsrB3ceSdEe2qkHuTY5y1hu6V0jspr1xT8E0tF/AQ?= =?us-ascii?Q?pokvaLlozWnQ7Q/iBZq8k1kUicg/A337dKIWaX/zfwFpu+WqmZo1t53FbeSA?= =?us-ascii?Q?IE0OvQFBvJQt86sLcvJoP6kptROhLa4VKu3l3XoJ51ym/Yx35/F5vd+GNpbO?= =?us-ascii?Q?z7gqCpGUSuTCosSpNh9G0pg8rAESCLlbJMUpbnuJHp02cbbC5FhImECKRJRL?= =?us-ascii?Q?axtIfo3GZPQzfUqi8hDxz0tzILXQrG4GqyHXug8nd3m8BVD4NpoiSVtzxTms?= =?us-ascii?Q?MW0PFc1bgO/ek7djWavpHputRioibQTAN3yxYOvPVJcsBcZWEPY2lEWS5J2o?= =?us-ascii?Q?s4sRrIAFqVoh9ri9X4ibMBIrPYlg8K5r1lGOy/udTtmOuHF0DrWMMRfsDfsW?= =?us-ascii?Q?bFF+5LuhupVc5VFe2en8BX32zRg0FbHf4YqGCsv05vs62Bu7bn0wdBNzkzwB?= =?us-ascii?Q?giQ4YE4bHB0cY1NF4lqpLMnxP3cX0FgT6gxoSGi4YWIaKloEZf6wCesYb2nK?= =?us-ascii?Q?2T3nAiNgRm+2AXwR8yS0G/eIR+sK324K4VgKVRWOORQZEKdTnFvDNrcHnYEr?= =?us-ascii?Q?FwG2FqM0G9oHR8eH7so8E66Vam+4xEdUfNjpWI71vwDCj274JZnL9Q2DpbYF?= =?us-ascii?Q?2toxV3t30Oz6TJawdr0nk0Z7T0R3iqNMwFVQ/I8gqGLyKeptHCH8LlZWPVHj?= =?us-ascii?Q?1aDObMrOf1p635ZJfSkbs74=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e953801-3f80-451f-ebc8-08dd5679c873 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:21.3765 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5Hm9qHvRi/wN2unpAFgOZxYHB/gVPQTSY+ZsWr0CRvB+qWkZ5IZZ2yTLTLA715MVgd6AZH8rDsRMkloaSY1TI+4l6VCySqhEDhBENWjmXhSJi5LCbBAlfM7aE8AQ58Fl X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar The MIPI CSI-2 block on the Renesas RZ/V2H(P) SoC is similar to the one found on the Renesas RZ/G2L SoC, with the following differences: - A different D-PHY - Additional registers for the MIPI CSI-2 link - Only two clocks Add a new compatible string, `renesas,r9a09g057-csi2`, for the RZ/V2H(P) SoC. Reviewed-by: Rob Herring (Arm) Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v1: - Dropped empty line as suggested by LPinchart - Fixed minItems into else conditional block as suggested by RHerring Changes since v2: - Collected tags - Fixed CRU_CMN_RSTB description as suggested by LPinchart .../bindings/media/renesas,rzg2l-csi2.yaml | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yam= l b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml index 7faa12fecd5b..784ba88c9b8f 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml @@ -17,12 +17,14 @@ description: =20 properties: compatible: - items: - - enum: - - renesas,r9a07g043-csi2 # RZ/G2UL - - renesas,r9a07g044-csi2 # RZ/G2{L,LC} - - renesas,r9a07g054-csi2 # RZ/V2L - - const: renesas,rzg2l-csi2 + oneOf: + - items: + - enum: + - renesas,r9a07g043-csi2 # RZ/G2UL + - renesas,r9a07g044-csi2 # RZ/G2{L,LC} + - renesas,r9a07g054-csi2 # RZ/V2L + - const: renesas,rzg2l-csi2 + - const: renesas,r9a09g057-csi2 # RZ/V2H(P) =20 reg: maxItems: 1 @@ -31,16 +33,24 @@ properties: maxItems: 1 =20 clocks: - items: - - description: Internal clock for connecting CRU and MIPI - - description: CRU Main clock - - description: CRU Register access clock + oneOf: + - items: + - description: Internal clock for connecting CRU and MIPI + - description: CRU Main clock + - description: CRU Register access clock + - items: + - description: CRU Main clock + - description: CRU Register access clock =20 clock-names: - items: - - const: system - - const: video - - const: apb + oneOf: + - items: + - const: system + - const: video + - const: apb + - items: + - const: video + - const: apb =20 power-domains: maxItems: 1 @@ -48,7 +58,8 @@ properties: resets: items: - description: CRU_PRESETN reset terminal - - description: CRU_CMN_RSTB reset terminal + - description: + CRU_CMN_RSTB reset terminal (all but RZ/V2H(P)) or D-PHY reset (= RZ/V2H(P)) =20 reset-names: items: @@ -101,6 +112,25 @@ required: - reset-names - ports =20 +allOf: + - if: + properties: + compatible: + contains: + const: renesas,r9a09g057-csi2 + then: + properties: + clocks: + maxItems: 2 + clock-names: + maxItems: 2 + else: + properties: + clocks: + minItems: 3 + clock-names: + minItems: 3 + additionalProperties: false =20 examples: --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010060.outbound.protection.outlook.com [52.101.229.60]) (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 D14E3227E8C; Wed, 26 Feb 2025 15:25:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583532; cv=fail; b=Sbg0gFfOWOhdFL68nJiVe8WX3VdkyJ7YGyxepMWWoziTsZaOpCUPFjT4KDenAZ2T9X4eMGFNEU2roGUzourH9rhn9kwAGzJ0tBIRmCNq/OPA0/jsLZklSqAGHilHUOkthKEDP7rinUQ62xMvvSwV+w9DcyLWlmcuB2PPqPzHWxE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583532; c=relaxed/simple; bh=PZtVuZgD0emfI/MeiU7kj8XJcg/h1dCcpCgIwdrV4ew=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=nHAwyttx2I5EUWfuy8Z0u2XUrv+E2Ea7H0+Q0oVLcS2L+xLdwaxT18iim1AQlP/ndo1+R1+XI9Or0PPwbBvibXplyWTs2AaYPIVnlmgUuq1c0Pt2oXXzkMvjeQOhtZAm2gWI2pkyVxsnx6fVQ9/KjY1Wa/bQFlVCT/WBQM28jVw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=AgjAx2n2; arc=fail smtp.client-ip=52.101.229.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="AgjAx2n2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t2aFkVGXK+YA0v1Vam0q5zbWwqe2ZjjaT4OXxbDuLHTPlw4R0Fa1TZdKu7/btSapoETlCXf3Z0z2ePSBUzsxuNatAgUYz/NMhDUBWMwsEqcSBzFpvceHs4AlaIIEvVodK0Bh4so6aHbCkxrwypilxZalmXCUGRIFQRC1XpFqZYI97F3BTo8tnQNZZXirjuN6PNdQlvljUBm/nlmQ43u1NGFECpBrFfeG7RpLywdE0pjVWA/CrE+XBfMfBSYCVp/ZD97vSSpprDqrDAVV39AtS9iXNHOfWer7Smk5/h9TmsaUYjR57t+ZmHQnr3hzlaU8IExe33U6/Sch06w2ulu0CA== 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=csEGu3K8RSPvn/cNhtYuZmSgd2SAWhqhRDaSl2VQfJA=; b=aT4PkEjiiIcqvgpQ2Z89Q1Vd5hZE0VI2rqUg1ZMweIVzwAZcE0mkvS/8m4qcDXmRD7TPi6bWVaBlSB5L6hzxhfeyQgo+2fBc82UiMhT2BZ+eqFoCEGfcGuYOyiGRqU9BmzMP9liLGKGLNV6VfmMWlEFq2WQ0TO2CQrYaGzMT3THmhRPZQKb+7JwaKxYuwwo1tk5DwC3CFV9hD7g3QVr+MSFOKxf2GYo+vmA1ZUeqj9JeRX22qwTNxYhpJPcF6K1J3NZMF/QiKzB3ITEsnoSBTGD6v0pEWDarXVohmL6+4MCNCsVMCxOv1ni/7cEVhIBJtjujHyrBQ86YOwzpzKNHBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=csEGu3K8RSPvn/cNhtYuZmSgd2SAWhqhRDaSl2VQfJA=; b=AgjAx2n2WpT9d7+12b2GdEDI0C1T6Ghp63+A1b4aHyt0t3CJhD2IMPmvaSPTFQVGiyICo5uoawa/F2Qrh2/JLqPiSqQp6EE478O5ecu43wE1lB2WuDPGo27U1K8rQUfypxJC/Y0hvXF49W/PDuUPrrCAg/pjMu+GAApwCiiJRWw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:27 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:27 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 02/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/G3E CSI-2 block Date: Wed, 26 Feb 2025 16:23:26 +0100 Message-ID: <20250226152418.1132337-3-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 84b08753-74cf-46a2-d90e-08dd5679cc2c X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?z0ROyQxOEcUbSHNyAgnIBAXKF1sot4Fjoy+zARqqgL9DVWp/Kmw4r0/EQjPH?= =?us-ascii?Q?obLs0EKtlzBPBpAfVpuSAaepAsr9ZWztQFgUYebDViu7m2TWWzGG9FMC/HiL?= =?us-ascii?Q?uhDDVgHVTAWkscC1wxGWsDRa2/JUa/PqIlfw799oePRraRypXLJ3YIkutIgq?= =?us-ascii?Q?+0AmckF5vcCKWaHKKRzHez2i9XY5UI6v4PVyw77EWFGTql9Y9YGMtY57lXIv?= =?us-ascii?Q?ngHaz+mWphCrVyLu04CRsMoExPZhLXBu17foVJJrg/mM1Ll5WqEGPNR/h9/a?= =?us-ascii?Q?RODxMWbhzPOLN3Z/eLoOrE9Pn/HH+2ro/fx58lX/UPvE7BnkgXGXVx5dla/9?= =?us-ascii?Q?QvNC0KbIjJUNhYDrPWjgWmD18yIesmWlfrL5YH5OjNrn3M+2DFE8zpEHFAjd?= =?us-ascii?Q?o+Qe8RjdOU/no4UjjXU2GK4BKdSNQI+d22s1HEljsNAqDMKnVAP1eERNjx8N?= =?us-ascii?Q?ShwaNTMaCZjSXzn8FDWgROyYFycVNhLbz+/iQTzPUwjpRnNbULH2OCCchoXl?= =?us-ascii?Q?zm7LtwF49Ivrb2CDKfYtPep67XFS5/Qkb+fXSWr+/nxeLBkOdMFt1w5CbnY3?= =?us-ascii?Q?7r5BU4+Z/0oxyzFFQFSsTsC6brTfn0FnL7oBT0q0ivdLnSXNLLNd/mDdZC/Z?= =?us-ascii?Q?bCW8nYX25glJMWRPQdI2e4MdEC+zDXqDyXfbLMTS9U7TbDrLBoIO5sVx7uid?= =?us-ascii?Q?cMVS8r3x1nMlWk1VZvreaBM0Fer6mBadX8AsRcfQkYXvD0yW3SaftLqh+9Tv?= =?us-ascii?Q?TyCC9fhnZKXthzd1GNa1orwzgh9CuKWPeltYPCiVeOFf87tv7QYNEkj8DNGf?= =?us-ascii?Q?SzlmmOwv0msx2NRtx/01tliIPkwMMqWoDjp2Ezqv1VAH1+fvV8Kgnbt6Ys40?= =?us-ascii?Q?n2hMfm1WcpO54VnmF8lQw8XoM7bBNIVNu1Mp7BNPhwKGvejZ0Z4HRWqc/YcI?= =?us-ascii?Q?eptEV54sxM+Nlixi/O/C2azRWEf1DRcQXAS5kDkN5HocH60BRo5kQ/tmIiIC?= =?us-ascii?Q?fievkxntl1NRCQ7kKHgtTEKYHoWvVSlk6kvmVTw3u+MiiLQE0fB7qYW8yph8?= =?us-ascii?Q?ko4lduhDOQ90FwMjwHsCf5DQM2qaRXjVkVgZzKTJCyfrmzVLjhQPDVs2QATN?= =?us-ascii?Q?6QZI923NTKmT4hvpSMNH1nzfajbmXKq48E+ZI+sKJrYoj79AWcFKzVWe/11g?= =?us-ascii?Q?y+rmFFHFCDgCyhRprCJg4eeZiqQwHigX3XW5fZmyUmsjAQ7KbFALJKpKEF6t?= =?us-ascii?Q?5zBVn0SNcFLGo/t0SeY3XLnXH/dgJ/Uba3lhkdW4lSRGbuk78WqtYK2+PxhN?= =?us-ascii?Q?zy27O3RPTEPpAboEXK2t5H39vo9aT06+cxCxCjgu26S/Wyo1FD9q4pr5Xgl1?= =?us-ascii?Q?j/L1tOAViCoAACkeey7dBo75blmPSSlQPE2FeHseEd9VUcZf2T3fciBTqSDG?= =?us-ascii?Q?JrBqSvXXA6cB4sXdR3m5M0NhL7QXKkXT?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?In8H+4J0m6HYbwMIQdVBtVv93fESOkn7H0Z68VCVxbg9MxzwNRleCdNItZg3?= =?us-ascii?Q?6NBiy/VCk0cTYEQaSKk3PIgrP7O4ZJmlpI4OHsC2kAI8eWWeBxcq1BcVGYUh?= =?us-ascii?Q?XCBzTEqAVEvoZEyP+oZIPoM9h8tgw7tZ/9paYgyIb1z0JxyAjTeuzE4UCzZg?= =?us-ascii?Q?l4yJXLwvYccgE8gN1XIYc2LiIcMLCzDxSSU8nV9vn60e218d0SJTv9O0cG1O?= =?us-ascii?Q?jHGYU4LhQNu62j3j5+/mVz74WtZplySd46CGvwBvhLqLm0DfbmavqvAbRTAD?= =?us-ascii?Q?tiiMs1X02iiVvl6u+NPJTXl84gb3ngwlWI7CF37GlNeZiCiiwK9TS/ruK3QU?= =?us-ascii?Q?K+N3hkXnzq24TxIKp42B0mXZhING3FeSqaYgcsWNEebZEgt4Q3e1MJ8Gv56k?= =?us-ascii?Q?+QIoVmavgJ7DtNG8VKszWPbxaD76WE8TjIWGllhcYJgARJ1ARawwpnZ/cQ+O?= =?us-ascii?Q?Mr/YmyU3RSEeBii07PKlN0poKAY9v794K40DNcliKOfRrzEsjf8v9DosATGA?= =?us-ascii?Q?L1msKIAlsJvYIje48gHrHjqrnnvXGGzWckf5lelvLS0/YUw8m8AEGfLXBis4?= =?us-ascii?Q?SwRcQyKfU1RdcYyNEauHyCIaTHH6cqbR9CrJoaQiOKXPQ+lgb3U1d9Ao6uC4?= =?us-ascii?Q?Tao8/6GzFXoNF20N71d1F/YhaIM4OmrMcOREbvLrl2HrnkNW+/eAboGmHjpq?= =?us-ascii?Q?CaESXBfIGYN1FeM2Wx9wIz4m5m+Ot9B+4lIHDPJx0ZM/eKZVBilRGi3qfMTf?= =?us-ascii?Q?Nu2uTOwzT5VMRrca/7bP7Y2pAs2yzGXV3FmJqBh15ELIDxpaEH+mk5eFnjpi?= =?us-ascii?Q?XVzQv2ec1s6G8aTu0Y0OBjYSe44AFEBCAaAInGndSFDperO1sfQiBySjdyKU?= =?us-ascii?Q?ZHtefc1Oaqip5WgLrOj4T6yxKfxQkcWLdtByK+AUp/KuRqLBKFUE7b3/z/D/?= =?us-ascii?Q?PpGx/eBGyitmrl2GvREppfxek4uho3LeJvc/1vpLMdmz2lWBl3SmKXLWRULz?= =?us-ascii?Q?Iykz2fqOQJDCB3g7gQQ3FwIBJqAXTImt8l5GUKuOabLBRAnS79StXGK6eqfl?= =?us-ascii?Q?oT/ut2PcEaGyS1AdAjK0DivgEOlfySktWCYwsU/ZVvoEDED13LQWnzpRuB+j?= =?us-ascii?Q?8f5XndJTPbeY/2cR5Bh3o2ONKAsw2WDjQpsvyEDhmRFxE8ZxWnDO6lrevlpo?= =?us-ascii?Q?/XjUO8R2CQ5LJAVCtx/f1/1Z04pfMGP3TKtV133nH4TZIFG8dlZLM3Jdwwt+?= =?us-ascii?Q?Hx7wxmQhP4g6qjgaWMpJ3WUqNfKAzqr6BEVgFHn+Qujs8JCymzPUkLw5inqR?= =?us-ascii?Q?V+lisc9EPSMoqOoGl66ZZy/Y999yPxwlvfKacpqNh1pbAc27Nr4oGFLHt26s?= =?us-ascii?Q?5QVC+okUpEzj56OQA3pZT/BEqTM3dfHnG9x2kn2N0DxCS9hxhTu4xbkMZy6F?= =?us-ascii?Q?j6TeHZWbz2cmsfHNoqRd+U6JCENa1RMnpOcqNMNq1FZEvozmTCZYUxW61XQM?= =?us-ascii?Q?B5ltbvuhxVTXuKQN51VRCfuRtJbMgZlSipQkcuSXPHrXrh1948rAHHGOwToT?= =?us-ascii?Q?nL87+j/Z2M26VPtvS50lIb4cFRFmXNbmrZeHpsCHmq9T6loJhAfFzV5Uht98?= =?us-ascii?Q?aSXhxnXbwrk/pW6YKejuEX4=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84b08753-74cf-46a2-d90e-08dd5679cc2c X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:27.3903 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bED4QPfndob/uw2LlJn1ObaSbl2xvbj1PbeHNxEUNrvl/b+Z9WHpLPf4CnEIkujxursLvxJZCMHwvkHH0A0QfApAVzUG4a2UjCu8y4CgYPq2Pvatxzl5GF2wmtP6l7Js X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" Document the CSI-2 block which is part of CRU found in Renesas RZ/G3E SoC. The CSI-2 block on the RZ/G3E SoC is identical to one found on the RZ/V2H(P) SoC. Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Signed-off-by: Tommaso Merciai Acked-by: Rob Herring (Arm) --- Changes since v2: - Fixed CRU_CMN_RSTB as suggested by LPinchart - Collected tags. .../devicetree/bindings/media/renesas,rzg2l-csi2.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yam= l b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml index 784ba88c9b8f..02297509a48e 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml @@ -24,6 +24,9 @@ properties: - renesas,r9a07g044-csi2 # RZ/G2{L,LC} - renesas,r9a07g054-csi2 # RZ/V2L - const: renesas,rzg2l-csi2 + - items: + - const: renesas,r9a09g047-csi2 # RZ/G3E + - const: renesas,r9a09g057-csi2 - const: renesas,r9a09g057-csi2 # RZ/V2H(P) =20 reg: @@ -59,8 +62,8 @@ properties: items: - description: CRU_PRESETN reset terminal - description: - CRU_CMN_RSTB reset terminal (all but RZ/V2H(P)) or D-PHY reset (= RZ/V2H(P)) - + CRU_CMN_RSTB reset terminal (except for RZ/V2H(P) and RZ/G3E) or + D-PHY reset (for RZ/V2H(P) and RZ/G3E). reset-names: items: - const: presetn --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011037.outbound.protection.outlook.com [40.107.74.37]) (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 9F5B4227EB1; Wed, 26 Feb 2025 15:25:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583538; cv=fail; b=HRZVtksHmz6N10ecmPMyfutaCL2Ojr5tF2OTEDcM2HsjsX3Vv7+Q4Nf+SEt0eJujtCbWXi7ijaHZUtP48dJyPxx/uSymrZwxVZbuf5+EuBe6RXrt6v+8IegOWtNBL/dODePioGa6SbEPiK2VPA9Rl/Wwxgsxy8s4vQe4XxWL24s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583538; c=relaxed/simple; bh=cF9wpA8XAhmDShSXhU2RlgzRnvv3u+SXE4OSiXkNLPc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=uSWKS5U7BPtm+6GvrS0JH4cARHNvmNfA91WBcuWSaiPAEVHYqMNPPakgRdPzR62OIQjTWx3WTMY17TnY0AkW6SQ3Zc0Jc68+g2vhA0cALXOK68UaRqIqp65by8qaf2l7MilWukwN6CKbQvgqRggNYRtIX2tViUTeYqmE8OtsrK8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=TD3+XV4k; arc=fail smtp.client-ip=40.107.74.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="TD3+XV4k" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WG3qDud/0z9XEHjGiCYmXHIvFyj0GrRhB54oSlgFpFWWya5wtvDf4bCO6JE67birjyZ95OpzgskolxsqzidELeLmaFhOcQNXlckONvNBsQded9osNAUhUeq/SuRhdskadcelFCnv/v9M2EGsnR3LVSVpso1DWKIlyLCfP063mCwBGdPSWxyo05fPMYP36Sla5+BtJKvzWG0EqQ6Mjw9GKJXVxGDo1LZW8Hlit8BB8MqmQuniN5Vdv2fdzWEc/pkHrtgQVrBypYmotQUTKk7CoSMWefvpE96TX/7wIqaxs472EeqswvEbztLKkiU2vJ48kQuyVyBlxytjpO6Co7IZPA== 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=nUdNFuf+p+rt8Ez7EJQNxigIcs88ficfH2BK/x1Kdm8=; b=L4xzmWqTTBMX7wVLly/TPKOBXMT8pHr0zf2qD5S3wvxvEoBDz8BUA/ejWqVLm6vcfoevQDakMgHDrKim0Xx8h0yzT22ZWCKrTsDTLpbflSj1wsSSv9VIVKkRm7Hvm0/sSTfljeRxjrGiGd21ObqjkkQFAir0dohA17cuODqrCMUD/Km9dvDkmV1B8Un9sKandIoPCOPWjwuZzgKVFQfo2i9KzS+kSK73ddDEID3FnTL602I8MwMGombHfCGTHHDPRp8aVWHkFimLWnAiJPFgIU2EKyBEeUD2bBhTVj672jJD2TAqpjJnO+OhryYlcv0RDX0yEVhf9/HX3DE/aABVtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nUdNFuf+p+rt8Ez7EJQNxigIcs88ficfH2BK/x1Kdm8=; b=TD3+XV4kVDY8vLgkahokPat5Dx5zB25u+W0NV/wq2oHXD0HejE4kgwf83QRERVlYVBDTsqHoRK4CWgi25eu6iQXG+OfigopDIZcFhMUPGNm/+FlAmJkdXQS7h43P+x2iymEVFueief8A5CzMNDWIiJnOU4OVrdgB5DSI/mL2qdo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:33 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:33 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Rob Herring , Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 03/17] media: dt-bindings: renesas,rzg2l-cru: Document Renesas RZ/G3E SoC Date: Wed, 26 Feb 2025 16:23:27 +0100 Message-ID: <20250226152418.1132337-4-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 44eb811d-4e84-4805-e23f-08dd5679cfa8 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?iOmhy0JBNQiOMuQ3KIbkSfIdywXPGaLFNvKu8VT6jjM7q6/ilyBeaiq12w7l?= =?us-ascii?Q?qSKNbQSu67fhBqWTU+CGH1pQ3+y5m8fIdbZaqQ5Tb7ehQcymc0GOEHAFxrnr?= =?us-ascii?Q?Uz08x20dCRwQ6YdCpydoUGafj/4kUYc8EWq6gZswy609imLPii3TxcIVgA+r?= =?us-ascii?Q?JU7XbCPkW4CAlooaMufIHL5mVJjBZVKXbqQ4C5PH711TmyqtUUqh8mXmE0kA?= =?us-ascii?Q?YSRLSlQW06v2HGLMcYNsb+wBVREorh4opXMNT7Yc0M8fipdozuebNOYbvAmo?= =?us-ascii?Q?CN5c5P20KrprNAyqzxVHbFvr/B3vTzbhXPYdYmRz4lFiBVaKQpot+Y3gI9on?= =?us-ascii?Q?dOL6tjewS/XUnkD0/Z83HFGSQ6BUlOYq3uA+HFPwwKrvp3ax9Ik9L4IQ2lJP?= =?us-ascii?Q?brws9WTZbKXi4DoNXFkbKURY+L3GtCd7HK3t+FcarxUs/e2MRXQXAzTAsnZP?= =?us-ascii?Q?j1J6RvyeRObbPV0XcgnyJYV/ahmNsXrE1BQMoIMyJ7EZOQ8mLxzSgSiBYIwm?= =?us-ascii?Q?f/BHRYbXZmJ5tL3ol0qP0mUuF8jEjw7DJPfz32FglISxJPyaxCEMRduiygct?= =?us-ascii?Q?djoMT2c705SxunyQFIDmRyO6N5+BCAC0kEO2AKUeaAlJr8Ze9DcBa5d9lNmq?= =?us-ascii?Q?kT4oN9GlKl1/V+ULtnVuJAMo90OEBwhCn+XwX/xEH3QPrasfBBuCi0pK1KXM?= =?us-ascii?Q?yoNg4hll6Ko1tEPLOh0zKbi0lWTLQZ0H1s0Vo7BOoGAojRGQ1Qiol6muQdm8?= =?us-ascii?Q?9a6DUd9zxqNd7Tpn2SWLqbOpnTYTmVyw5KrOpr/vOM1CZ7mJNNTjmEmuLevJ?= =?us-ascii?Q?UA99/LdKcCzCKCZtiFm7PJooRn/yUHbSKJ7PJjjhaAR4qyxFm0TmD/3ITBll?= =?us-ascii?Q?CEhZGNTOCKPpHbLQAVzYnvme6Vl+iBYl+xBng7XStZutyILhnm1X6VDjjBKv?= =?us-ascii?Q?aJo3QfYB86m7B7s8EEF0Up9dlplCWfbNOJmDBO7QzN4ZPRYyq5YRhH5eUMr4?= =?us-ascii?Q?OcT+HQX/O62GjOh/86d+OFd2j6rzD+u1x0ilQGeL4r28F6gRuZzjK3qbojLs?= =?us-ascii?Q?G/j7ZYOqJp6G9Gc2lb5pHLO46wiW8TLa+iATMWqBkrmGu24F8ezXaBW94CK0?= =?us-ascii?Q?PYVG5YB6XvAHzK/o2PxIPQk6v28DTAnLIpnr6Xz5GXP9bV/dcl0outp50pqe?= =?us-ascii?Q?ox8VJzApajKrAWkJBGdXg5ugpvH2T+rB+T3MUVR4Vd2RhBBpHFCqsa7yyeAx?= =?us-ascii?Q?ETJ726PmP8fR/5QAkRYzQ6rVtfURvw1grXXgCb3XRrMMTHVAZ18BdUHZNJ+j?= =?us-ascii?Q?oZS3a0v9y6z26QiWltY4Acl75hMYjvegPf2eOlbwfs5NhA3rnvNABixh5Pz5?= =?us-ascii?Q?vC2MSBUz3DSvk0+IgE+k/RTefw02sIWiy1UdTWrfMY6U7oRCImiqzTiHs4p0?= =?us-ascii?Q?QYMgrgeEJM3twescwTHiIGTzYEv1u9B1?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dgBfwTNelmg9t5Bc8OR4SqONiceRyAyZwY9dEZNkLmZL1sTz/ozZVc8+xM2k?= =?us-ascii?Q?meqhWgfHExmMkYHjACUes/QQ5J/JY4jmPL5Y2ucW7l9tmGVevAWTBq/pJhgO?= =?us-ascii?Q?v/44hKXFsx5qQI0kv3WIkkvzEFfywdMMA2+U9nGAr1sAkzt8V+J+BA0iFaJg?= =?us-ascii?Q?SZpn31EI7vttU7XLSioRy3ztPYjVF4t9PJfdQIZwTj6L02oP6UJDKW627Z9o?= =?us-ascii?Q?058PM1epN+rHsdjhkG8pa6bu7r4L3WvpD81Vb8PRtqjJXYh4FR8ulYs807lg?= =?us-ascii?Q?U6FV8awUu5jrvkbHa/TUJ2l2Xg8LleACMvOB+E3HzRVVsJXtxayRlNYXH+Ec?= =?us-ascii?Q?7bsqA2tb/TEaWrXwHczOTdb+k/wyYkPp4O4cuc4Ul9FV/mHRKGCTOhk0QxDM?= =?us-ascii?Q?idFW9BVNspwY2FBXOZq+EAnKPVn2WSzv6JtBdfO82BahCQLxmWYWbneVqusj?= =?us-ascii?Q?ExDGeoCB8h71WRE+x8s1B0NxE4Xsnh14PZwuAfMTgTN9eX5EjkFeT51m2XM2?= =?us-ascii?Q?UT8MQquHofaeGJSVDkivBiUaQfPRJDQXvuMuAoRhLsPAGKPJE7Tm6pyOwvr2?= =?us-ascii?Q?/7QIyBCv0TClgF54D/Z4VfqLeGmQ736tgY88pbvN037jg1kIxmSDeo25YOlc?= =?us-ascii?Q?Vy/CGxgo8sVGrqVJpCzW5f/RPKI5UX2huDqRirjp1xVlKeQ/7MmHvBeaZTMa?= =?us-ascii?Q?EvvJg0BtThDOVc8UToY3pJw4aCQyljMmYwJX+e6nen1UkR8GkKErNt2VTwXQ?= =?us-ascii?Q?4p61lPDRrf8cfG+HAHRH8UzAwO9C+qNmvUOTbHGCenqROtHTLfYhEUq8LzzM?= =?us-ascii?Q?8LImm3PnFuJZOUbO3uqWX+KCc10CyDYURi4DR/HHBom3zn5v9BE48jBH57vU?= =?us-ascii?Q?fziJIavtYgGJu5Oewvjj+hcOQhQyAv7JWQ8tT3eS7yaT5qcpuKmT6fAQbTj/?= =?us-ascii?Q?dQUYKHGze1g9QqLCZEfxCGfIpwz6fZhYLUTUrEQBoKe2lSlPHuCjW/2FccmE?= =?us-ascii?Q?DV40ddz60MbjvJTQ16T7wRmOjJaXiQoFoF0OmP2Uw++H5r5Swl21M2beUVBK?= =?us-ascii?Q?s7NppLZ3Mn8PL6Q7/u8wnz39qh5ETWIqdP96d3VlmiuQAFkrOswOGbJVE1Ko?= =?us-ascii?Q?pRl5CYv/P4YV5HnTGL/vsFadyKmkAztO9WKKDSKS3VXK6wY4FR/ns37Lkk/r?= =?us-ascii?Q?xDcbeipd1uN2WgrRBZhygl4U5M2SAoR/1DYZccXh3PHVXmBIqUnldp368atj?= =?us-ascii?Q?gyRiMJQhSzUM3euWCnrWb5ii6ksqGRpIX6YrbSph0A6BfCdRJ4hF7F2ANWfX?= =?us-ascii?Q?asZmr4eENXGF1IfhGk8jFudCQWMaPCK5vR5UGq+AgCdv7KJIGsSXKcIyUCx9?= =?us-ascii?Q?Jfsc6sy3GgaN3PQTFp9j99oT0ONyLAok9FvgpsWmArDwLkm6VxCzIKXuDIyK?= =?us-ascii?Q?CdKbo9W9ghBvaIxo9wgHClww/TqAuwdBdkpp95O0wqGlgCyPZQIjZO9hIKsD?= =?us-ascii?Q?W8jbnbp+JP8WtuVNY6izVRU7OjSCkAYKn6WWzN28m8GaZZvlm33jY5tzuc+g?= =?us-ascii?Q?//yGJjPM4o+yLRbbHrdlo4luIyLA+G9kvqVC2ziopHbAqI3lKm98QAoCDcbi?= =?us-ascii?Q?5LOKW24h0rq9HBLVywOyXm8=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44eb811d-4e84-4805-e23f-08dd5679cfa8 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:33.4606 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WQ6PXCG44bxeOLyBr/i0BiJzKljFBEUOY5GzZCJex9f/tqRgi4gZe1gsNJhZXsOuw3Qk4FfQ1xhvYxZjr8xRfgHUe5COAjbCyLI/9oL4LARnDf5ZQGyg80P5oxx3msLX X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" The CRU block found on the Renesas RZ/G3E ("R9A09G047") SoC has five interrupts: - image_conv: image_conv irq - axi_mst_err: AXI master error level irq - vd_addr_wend: Video data AXI master addr 0 write end irq - sd_addr_wend: Statistics data AXI master addr 0 write end irq - vsd_addr_wend: Video statistics data AXI master addr 0 write end irq This IP has only one input port 'port@1' similar to the RZ/G2UL CRU. Document the CRU block found on the Renesas RZ/G3E ("R9A09G047") SoC. Reviewed-by: Rob Herring (Arm) Signed-off-by: Tommaso Merciai --- Changes since v1: - Use oneOf for interrupts and interrupt-names - Handle interrupts and interrupt names base on soc variants Changes since v2: - Collected tag. .../bindings/media/renesas,rzg2l-cru.yaml | 65 +++++++++++++++---- 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml= b/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml index bc1245127025..47e18690fa57 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml @@ -17,24 +17,43 @@ description: =20 properties: compatible: - items: - - enum: - - renesas,r9a07g043-cru # RZ/G2UL - - renesas,r9a07g044-cru # RZ/G2{L,LC} - - renesas,r9a07g054-cru # RZ/V2L - - const: renesas,rzg2l-cru + oneOf: + - items: + - enum: + - renesas,r9a07g043-cru # RZ/G2UL + - renesas,r9a07g044-cru # RZ/G2{L,LC} + - renesas,r9a07g054-cru # RZ/V2L + - const: renesas,rzg2l-cru + - const: renesas,r9a09g047-cru # RZ/G3E =20 reg: maxItems: 1 =20 interrupts: - maxItems: 3 + oneOf: + - items: + - description: CRU Interrupt for image_conv + - description: CRU Interrupt for image_conv_err + - description: CRU AXI master error interrupt + - items: + - description: CRU Interrupt for image_conv + - description: CRU AXI master error interrupt + - description: CRU Video Data AXI Master Address 0 Write End int= errupt + - description: CRU Statistics data AXI master addr 0 write end i= nterrupt + - description: CRU Video statistics data AXI master addr 0 write= end interrupt =20 interrupt-names: - items: - - const: image_conv - - const: image_conv_err - - const: axi_mst_err + oneOf: + - items: + - const: image_conv + - const: image_conv_err + - const: axi_mst_err + - items: + - const: image_conv + - const: axi_mst_err + - const: vd_addr_wend + - const: sd_addr_wend + - const: vsd_addr_wend =20 clocks: items: @@ -109,6 +128,10 @@ allOf: - renesas,r9a07g054-cru then: properties: + interrupts: + maxItems: 3 + interrupt-names: + maxItems: 3 ports: required: - port@0 @@ -122,10 +145,30 @@ allOf: - renesas,r9a07g043-cru then: properties: + interrupts: + maxItems: 3 + interrupt-names: + maxItems: 3 ports: properties: port@0: false + required: + - port@1 =20 + - if: + properties: + compatible: + contains: + const: renesas,r9a09g047-cru + then: + properties: + interrupts: + minItems: 5 + interrupt-names: + minItems: 5 + ports: + properties: + port@0: false required: - port@1 =20 --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011068.outbound.protection.outlook.com [40.107.74.68]) (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 99DBD225A59; Wed, 26 Feb 2025 15:25:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583545; cv=fail; b=BYUh52YyZ6v96laPaevmrUoHRO/pnWBxPaotfDFpcpXB6sWRg2lbdIUdVsqK04ltqoj8sJ42tXUOgYHybBSfOOBuH671Q0OOUVwRYtkRzC6pImskpAyynHyrMA1R7TBYrig7FxOd7cxfdM3VzTvG0XgpdLciyqX6VqPl6pSKfIM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583545; c=relaxed/simple; bh=OImP8N868sA9svr2gZKEzGmfQNaho8sk6AxuzXYzlMY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=W4i7P56MSkNfHYWqJGLtg28YhRQuHzJDZYJ7xfqbwjZaTR5V8txeClTt0SH7/+4PENglLyWPOIl/V0bQoSGsTSwsdOmWgtTWrdBb3uGOSOHQWvkBSIlZnRENsJ6IYf+69HWgEjmQjp5q0BYGPYdF6TkXogD45Sj2/puU5lfvuMo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=CwualKRi; arc=fail smtp.client-ip=40.107.74.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="CwualKRi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u3ckYOnHnEUXyJIu37Bam4gaTcI8sOXIATPQ9d2jIjr7pu87DmlFFLe8O0sIHf98jV/fVwOPKZVL8QTqn0cUEQp3AU+8QManwXlh/9W8iqaYCbo3i2kiIn5wvLudOTWw3Gc7M3NNQIxYY4L7f/SyuZ6wROv8lINpdYE6oohzJbEDs6fVe8wKk+bGNnmW7B+Oq924I1Gz8qa97JOLwmp2y2JSQX1B9OiWZXQzZC2QLvNWCt7JOVz7UvplCugt0Z9cWb2Jew5T1RhVAQ5J1i1y1VxauTqidvQBqEPr5Hd9e6fk1P3b+WJLTanamlCAlXfxZhv91lrhyGo9PhMVX1Gvyg== 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=PePgfD4GrURJ0pUGRT4e7YSpUFXsAzxMurwfw5TYoNE=; b=tt9/tQcbXyetxL61IwLAPhQysc54dBUmHebmUmRgfL2LjSI9UfdC24tab1en6o/TGxTe9vlObHa26Dm4qeaFUzejHGFU/JAV6tIoM1HNtEEhcAiHB5LGPDzo4ryWUcxIRFRlyUrMwTjr3d4Xe9yqwFOXO2vBQJnRDzx9ytutR8e/tohtiUb4N0ju+EQfCyD9ri5M/xsmNq4yz2xVfi2NiodMuChG7ntYW1t9dwpkmvHJlM111A8CHA/xGubZFzeGNb95oWy8h7UOOHQPtteTkbbIUTF+EVpQbZqBNp9uY1rlYKyTpN6bihoQvaf7T4on650bGNy0PUHzeC6aNU8lZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PePgfD4GrURJ0pUGRT4e7YSpUFXsAzxMurwfw5TYoNE=; b=CwualKRibUM6ItPobijCGp54FzSs9SoZf0l+AuvV14YUJhStSWOTX7jmMWvzHNg9bzKtzb7YWvM1w3WcjmigrZNenZvxcqXRzWzoGXLXdkYkCbFOYoOAq+NjrsZLEiV5zUPsH3GvdWt/mEzigho3QMstpKrjBcHPFwLeLWqFV90= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:41 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:41 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 04/17] media: rzg2l-cru: csi2: Use local variable for struct device in rzg2l_csi2_probe() Date: Wed, 26 Feb 2025 16:23:28 +0100 Message-ID: <20250226152418.1132337-5-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d1ac6e3-0e96-402a-bcce-08dd5679d478 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?chWlmsA/oDiGWLUWqI/tLuesIERh65o4DEObnnsWQ203Ww6P4IUvMqA1+EMi?= =?us-ascii?Q?gmH5ktKYX46G95H931qqeMvywlxG7Aei9gYnRYPoMHbPIImOGS/G1609ilvH?= =?us-ascii?Q?MaMg4mQaE73mNqSFdiXbLrjDHYohIX7p4OrQ2h0tfA07GdLDHIA2C4ucSymC?= =?us-ascii?Q?SjmtbtQ0jiFXLrUPP8sDWN7tNS/Er+uGrxL9sT0KiheZXCtAZfgH5FCLwrwk?= =?us-ascii?Q?KzhdZuy/GzD7UkvhV52rps8Miw6Bz1+tRvxCSEvpsvWQphWcJ0X7tkhVxpAj?= =?us-ascii?Q?mkmckDdN86jfTKO+mdxAGn+bIfipGs6D4TJ42kxNfc3kUdooQalboOAc1Yed?= =?us-ascii?Q?pZtU00lJkCWr/+II517tbIh32PMRtFpUBMTQ3S72s1dKR5MIomA0LBj4fjMx?= =?us-ascii?Q?GZxHR2NrCAAifbvAE0OYzQQfseNf2eyAbl7BweTXFuXhMpRSDflFjZEI+60r?= =?us-ascii?Q?HbAzPfWCL7QBxP6wweIVx0msKcaggFubSBg/jrIzh42f7WDyz0On94ZJbhXd?= =?us-ascii?Q?L9Mw5+Iva+Nw0sIWkcXE/jRObwH//U1xeqwfTmtLvcu1NPhNgLFkXryEf6R0?= =?us-ascii?Q?LighgpxCvHb/UkSqKv6KESzXU5QUdK0NrVboqr0szQTfMBkYvkvOg33r/2j8?= =?us-ascii?Q?fP5O0tnVT6lor85DLXKFZQm/ZhTf9rPZsex1sWBfiBWMVpXivq7eXh49ANWK?= =?us-ascii?Q?irqQdZCzW1BT29oVSLCbrufJb1Pa7SteGjMuoM3AUVfVbYMkVZUnMBltJz76?= =?us-ascii?Q?+Np/n03l9LmNl3hRysQUBkHyS+9zp0tEzZTN6vpEHa4rPtAxYPMRL3vNOrf+?= =?us-ascii?Q?1xv9O73BVvge/83+nFmHodxTg8If6U2mD3QL3sv/1b7aJ/IQKvoWdDWT/ci7?= =?us-ascii?Q?FZB1F2ETkbNdjBl2ulwR3qIEAMY0xM0U6eQXpilYSG+g2IwMXcxIPRrDzCdZ?= =?us-ascii?Q?8bvSJ42/MmO0iLrjNpF2J3DY6mPPVwfJcVufYx7RA8IYMFGTrmGOQfFwr7p/?= =?us-ascii?Q?vM6TToZcTJJGApI5N9vSUkjFFtO4KI9MUsPLi8RElrI57hEdTDXQjEvO/gdr?= =?us-ascii?Q?uzWgrVmW39N5oirNr83RUkCtStnfZSSKqhJiNLRtbJTS1Tx5B5ohVCBI8Woz?= =?us-ascii?Q?FSPhbmtXO9Wng0KVJ0b8X8765NuhJbN0el4KLrzPTFFMkjqaZ9VKTvWE8Bmf?= =?us-ascii?Q?KhgEaV4kST0LVpjFCCVSugFdswNttp8Kr8Dw0zFwY812HYt0UFKWCqyOulMc?= =?us-ascii?Q?6Tdv/ig+hIqqnqSeIJuVJQCC9kRP12J7nko3pfs+RfqmLa0tIyP7Tx684SU0?= =?us-ascii?Q?j0pczX9qzDhcmg+iFMuaCa4HV1BRIkcRWM/njjOqsc7b1fZdZ0fw8SdmCwSm?= =?us-ascii?Q?9aoGwWESJtR/PjHc1NTl8RpQ3+GseW5DHmMyew6MCHt0bUjxs9cJF76PwAD/?= =?us-ascii?Q?AFmFPO9tnL/nLlcFa5+fbQkKWHIb4WlJ?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QztOnmlHZk9Ak3AdY4/4Nj6Vpf0K7CRteOeePpknSwblCl4usLOYINrH7WDq?= =?us-ascii?Q?tmCbFGI7p4edGqEUKFVwrMYYTh8hRa7xZL3xzQcg81vu21rkM7tSgDG+g4V1?= =?us-ascii?Q?UfQ/ifzCFFzTPz2CZF1yJYS9D1Hx/oZVhSI2OdTIZ4tfEzr6bYbViEsRp5+l?= =?us-ascii?Q?jB6Br4Ubj+ZtJ61qTcdnxnsr1HymbwZJr6cljCNTLg4gRYyXu6STbfyQF1s8?= =?us-ascii?Q?8EC50lGqzfrDNDBlkCZ85hCLyj8epnKqWMDLpWKgMcaPwiTzwWua0fvrh7vd?= =?us-ascii?Q?Vzmn0+ORrMAfxWsr7ojzSMmiikJWeUyRwOR7qi+UqMLn5gs7kBGsZweYzSi5?= =?us-ascii?Q?eR4CSY2dSp7P+6ZkUhvQtqsI4ZFQHrhOMUpaRRmlbbPsGRwQn1BZENF0UxjO?= =?us-ascii?Q?jyjogqsEj6LaLAueohhvQ7Rjsw81gPMvBZaYNNpUQbfVQtEPUjFLcR02yLE1?= =?us-ascii?Q?k1HQc/qdQegJ0pqT/H87frwFCyjkiEKlyUOCawM6T7n6kFoH+0+ywsB9duI5?= =?us-ascii?Q?pYsaJBDRXpd57rX4vS83amTlZNKOjnCAiktZ/ns0/D4/Z89UF1a3SHB3hUYl?= =?us-ascii?Q?qy0zJk4NPTb81d8qLriNwDapharTsZiAcQXyoAeUq2XTydb9W0pVbQbSyxzO?= =?us-ascii?Q?JMdPbOYYcgiSrSut3Wx0lL2uk0V7ps7U5RC5k0o7RMUDztSADyEcvwV7oeoZ?= =?us-ascii?Q?g3eRwGbheuf8bJoz7SKbKEh1tLw+lPjDaFXlpGwwO9/z2V/Tb0ZEc9ltp1Ol?= =?us-ascii?Q?kWy3D1YFa9EF0zYwQrdWb8s2jZ2hQyA7WJZIbOdLIe9rMSE7JtlWWKQn8sgx?= =?us-ascii?Q?oVEhp4904apD7kQ2C1aPByw1+GOCGFw0SqsnBVYYtfuX0MlIjlqXhj3sLWjV?= =?us-ascii?Q?CdL2/x+Q5wVbn+yOhpukJP8B4Dua90QzsOQYqOM9+dorj4jrDU8je6laD3bO?= =?us-ascii?Q?lOKjj50Cso5rm/lIiuVr4RBNrMyaKWULQ+rOuX3zi7npx/qO3AgK6tPZjApi?= =?us-ascii?Q?Dt2SjqKomy5bkuYjnT1Of8SDfVnx+QihjzEWZnEwecm2NoUDlCDcqqRBMnUE?= =?us-ascii?Q?jlhJfhefBqtm7+kGiv3WJclR9s82AVXSfJBGwOBaqxVZ3dRpCh4Cgrh+YZLR?= =?us-ascii?Q?gGDhu+5HQA/YiR2IeSgYV6vZhhbpqqqYbVZynks4CLXOAd4SCZEla26yYHYD?= =?us-ascii?Q?udRzNymCvEf2ghGQQ1+3ro7UulCbCVnaYUHf5+WCaXl/YqdnbYx5s1sOcshd?= =?us-ascii?Q?vxsqFD/Nfhl21cVMVty6T73uFG5gANX2MYSC6gQk0EmzjUKG8tXECxquU+NW?= =?us-ascii?Q?Zd21R3Cg3rDeyTtRmsXJ1PyViBULDZ9VYhwdW3rHbMH/c2o2I/qllTauZ6hv?= =?us-ascii?Q?P60Ph4ja++Kasj9M/2xvtqULRIp6M941oiEEsI5FwvBQyS3CnbPuEYceeAcb?= =?us-ascii?Q?wkdQRn7FxMNfHCL6E74aEQlrsGqAVOdf0oDBta5D6+RYSoHulVDZitSviPEw?= =?us-ascii?Q?qjbPtS0KeZmSjZ8mF4ROfaXta6NvH7fORkDlwj1kxWOkAcCUHWdElYu5Nytv?= =?us-ascii?Q?lrIJRzyUPI+yjNDd38XkHd8Z6UnYKJal6pEg9LnhKasLoDGHnGbSggnSx6yW?= =?us-ascii?Q?6RgU78LNlKxYe7s/d6RRktY=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d1ac6e3-0e96-402a-bcce-08dd5679d478 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:41.3296 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lEm4kvQuOF5yzPtU3dsGxeDHRFR98as1WiYyCEDOaVco9wtgM4D3LBa7rL0o9rVGZkKHoc6ye49zksjSvLYaEgl18eyOP0UmYfB2sr21BsDKO9Fh5X2u6nny7P8Fxd4a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Use a local variable for the struct device pointers. This increases code readability with shortened lines. Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v1: - Fixed commit msg and commit body as suggested by LPinchart - Collected tags .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 881e910dce02..948f1917b830 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -764,10 +764,11 @@ static const struct media_entity_operations rzg2l_csi= 2_entity_ops =3D { =20 static int rzg2l_csi2_probe(struct platform_device *pdev) { + struct device *dev =3D &pdev->dev; struct rzg2l_csi2 *csi2; int ret; =20 - csi2 =3D devm_kzalloc(&pdev->dev, sizeof(*csi2), GFP_KERNEL); + csi2 =3D devm_kzalloc(dev, sizeof(*csi2), GFP_KERNEL); if (!csi2) return -ENOMEM; =20 @@ -775,28 +776,28 @@ static int rzg2l_csi2_probe(struct platform_device *p= dev) if (IS_ERR(csi2->base)) return PTR_ERR(csi2->base); =20 - csi2->cmn_rstb =3D devm_reset_control_get_exclusive(&pdev->dev, "cmn-rstb= "); + csi2->cmn_rstb =3D devm_reset_control_get_exclusive(dev, "cmn-rstb"); if (IS_ERR(csi2->cmn_rstb)) - return dev_err_probe(&pdev->dev, PTR_ERR(csi2->cmn_rstb), + return dev_err_probe(dev, PTR_ERR(csi2->cmn_rstb), "Failed to get cpg cmn-rstb\n"); =20 - csi2->presetn =3D devm_reset_control_get_shared(&pdev->dev, "presetn"); + csi2->presetn =3D devm_reset_control_get_shared(dev, "presetn"); if (IS_ERR(csi2->presetn)) - return dev_err_probe(&pdev->dev, PTR_ERR(csi2->presetn), + return dev_err_probe(dev, PTR_ERR(csi2->presetn), "Failed to get cpg presetn\n"); =20 - csi2->sysclk =3D devm_clk_get(&pdev->dev, "system"); + csi2->sysclk =3D devm_clk_get(dev, "system"); if (IS_ERR(csi2->sysclk)) - return dev_err_probe(&pdev->dev, PTR_ERR(csi2->sysclk), + return dev_err_probe(dev, PTR_ERR(csi2->sysclk), "Failed to get system clk\n"); =20 - csi2->vclk =3D devm_clk_get(&pdev->dev, "video"); + csi2->vclk =3D devm_clk_get(dev, "video"); if (IS_ERR(csi2->vclk)) - return dev_err_probe(&pdev->dev, PTR_ERR(csi2->vclk), + return dev_err_probe(dev, PTR_ERR(csi2->vclk), "Failed to get video clock\n"); csi2->vclk_rate =3D clk_get_rate(csi2->vclk); =20 - csi2->dev =3D &pdev->dev; + csi2->dev =3D dev; =20 platform_set_drvdata(pdev, csi2); =20 @@ -804,18 +805,18 @@ static int rzg2l_csi2_probe(struct platform_device *p= dev) if (ret) return ret; =20 - pm_runtime_enable(&pdev->dev); + pm_runtime_enable(dev); =20 ret =3D rzg2l_validate_csi2_lanes(csi2); if (ret) goto error_pm; =20 - csi2->subdev.dev =3D &pdev->dev; + csi2->subdev.dev =3D dev; v4l2_subdev_init(&csi2->subdev, &rzg2l_csi2_subdev_ops); csi2->subdev.internal_ops =3D &rzg2l_csi2_internal_ops; - v4l2_set_subdevdata(&csi2->subdev, &pdev->dev); + v4l2_set_subdevdata(&csi2->subdev, dev); snprintf(csi2->subdev.name, sizeof(csi2->subdev.name), - "csi-%s", dev_name(&pdev->dev)); + "csi-%s", dev_name(dev)); csi2->subdev.flags =3D V4L2_SUBDEV_FL_HAS_DEVNODE; =20 csi2->subdev.entity.function =3D MEDIA_ENT_F_VID_IF_BRIDGE; @@ -852,7 +853,7 @@ static int rzg2l_csi2_probe(struct platform_device *pde= v) v4l2_async_nf_cleanup(&csi2->notifier); media_entity_cleanup(&csi2->subdev.entity); error_pm: - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); =20 return ret; } --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011071.outbound.protection.outlook.com [40.107.74.71]) (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 5CB3C22A4E6; Wed, 26 Feb 2025 15:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583553; cv=fail; b=BOYG5fzsG7DDBgJ1Gz5JvABzWDrnDHQni4W3hta36i2QEkkBcrRQbeRNJzchMhxHmpL7679vZheRZ+w62DNygFzvOA0miUko/Y9Hxwk2/E506jwaD5FCNuzvCoIfIiwz/7+PscKr36d8sLQBLS1rbcvmCYR6k/nFGXEGWNMd6FA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583553; c=relaxed/simple; bh=9j4nPijH4a1+cIb9R/wA4gjImTTmMrJZfHI4NuQOBVM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=WVT8xn18qTBytTh//WuFrHZ5D73BB7s1e2SI/Zf4OZZyDqKOhx3VeJOHYJu0ICWmIyCYgjThC7Jj7cw8bf+WQOQQuovPhlWWh5fWvTFYOXrkBwM5CKx9wH3XjzZqinLCFrMc1EOTd+56M3g4MYvFWGz1Ce/U6XDVVhRttnx1ayo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=Q0KsTCoJ; arc=fail smtp.client-ip=40.107.74.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="Q0KsTCoJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S5MXbkgfd94997NXP2j4JjnkBUwOiD3+SjGaioxiPST3pkhl7OAxVvQKOXo6fnQrZghPe+YEqzt4uzxnGTLCkoqki/gpJTBjk/0T7EhaMKZy+GAvsKhmbvhfm67gb4qX1jj3LziAtWkc3fZre8bihucL5OpaEB8VGxvEhriYpdm5B1WxqmPCWazQ0gug2OHugH6f/NOyiDfq7+6ZSK6C1ldpQgXFOmRIz5oyiR2W83u5YbkUkRkSUIIeA2O4OLhW42AVdKzgi7We1XycVGmzKCTnsNh6/wHV+scG2LBeOnZuOmD21z5K3pb4jzVHkLkjFl0YggSUJhuHHUyBivjSJA== 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=4QqV2NgZjXgYjDJN6Evb6jvF0zTwv9S7UT5OmB6zxDc=; b=AYfV0G/LLpioJRckld7OBh20HhvLeb9b3bmaVIqdB+4N9S8aGu2AWRMDxFAMWwsOI+D7yuffF4LgnMQYbbqeyj4L/bRrjcuDW5klst9QFdWIhEwxeRlXl6X2NV/aR7PgfLTZzf9v7BMAIK1/n0YDW9G/efgjxiQTZ0TMrU+w8PxRArcbMRG3fgnOAZD5qmUvxcgbqP2r8I6/pKSiHeiTtCI4AcU+uxKku+MPQ80t49rsGuDRErTwx/zMhAHjKgLHEIy0GAtLIn+WC/oejO2YLCMLGVvaGNwWyGywD5LKgcE9EPUICnMZbldbBnfgrGIVtJ9mZx2gxzqYIqc0KPMZgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4QqV2NgZjXgYjDJN6Evb6jvF0zTwv9S7UT5OmB6zxDc=; b=Q0KsTCoJpnuWvXxrA9eKpzlBR22V1X8mMn7GsGhCPZzHXYopH8udNyUzvgivRxpRk03XUNPvIdLxHaYD0dpJsDesEXAy1cQd0dppPRySYpgewSA9ebhk6ETs42hH9SEK7/v0kas0XDEAqsX6SsXAxMesuiWypegQ+Vrxz6cuA0g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:49 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:49 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 05/17] media: rzg2l-cru: csi2: Use devm_pm_runtime_enable() Date: Wed, 26 Feb 2025 16:23:29 +0100 Message-ID: <20250226152418.1132337-6-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 12a63815-a949-4e8d-0473-08dd5679d8eb X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QcoPoDZn9DuTpzbcFGUn2pWoCnTLYzXCRGVNgqFV6AjXgfUb8N6CWRmYVMVB?= =?us-ascii?Q?eEz72J3/QlMtnH/vDqVUh9Ep1oTSfHOPAO0w6AMfHqlbXPugZgtD7tjGFMd2?= =?us-ascii?Q?mFNtC0c4ZkubDD3d62TsrvZMBAm3xP6SDv6sHm9XxcFBCpMng0iuZKskjBlb?= =?us-ascii?Q?4sRR2mumowxfzNfOFkMtV3cOBs2qX9Ko5XYCFh/NnlJ4JI62h+YiTydt7u6y?= =?us-ascii?Q?MXoxqpEw4DC0IJiMQMnx7MxuQP6QeHK6MXbCQpHZDogKQoLvsTFYdvxQkYyv?= =?us-ascii?Q?VFmCAs/DYk3iXjZWEcVXl7TbW5lodFUNXNesiMdLKp5VXztT4dqhCAuPW+sh?= =?us-ascii?Q?Pi7nNxlbOrwGfQ346apps5cS6J5Yz/QU0uOf5tAWvo6iVfa9jST6lkNgmwtk?= =?us-ascii?Q?nXmz7mNn4eTO9ZvY0RLLLgDgcLPwodwfg06N1bpjcRRixd/Pf3j0S09a47Hy?= =?us-ascii?Q?ssqS4nE9ySt7Ijsgoa2l9SReG3r6nLHgzlJNCNTFBRR5dQxeqsm+v383vPW3?= =?us-ascii?Q?dwztUq5MNGZ6qW+OCO4Ryzi7DerXOZ3sn4RifZmM42vptu2sepNqwSzfIw3R?= =?us-ascii?Q?3wm7jY9Fm+0fBAXSybs4nXbUI0XKWLpLJ97j/lJ/JvAH6f2djtazDFr7toa1?= =?us-ascii?Q?NMCVVvXbDsAN73tzljRquiz7z6eZwpzRK2HRsepBZhA8toFkTHTZjhqLT8LH?= =?us-ascii?Q?/nx4LPvaSSgRl7QL3ss5zBJQcxv/Vk27Xjv7lklVyRMaRhq2ZhwJdX64qP6v?= =?us-ascii?Q?h9lO+L1N7tb72snOeHe6b9YjRW67le/3mrqfoEWOXXgvabXJo+gcTmek1luk?= =?us-ascii?Q?VHdthApwGsuZ0TyvunKg37tY5hyOuFElciriI7lwG7J54qJRROu7JP4vdWev?= =?us-ascii?Q?np/sfpjcNK/C2gY7f0B0wAnBf8c6x6nyWPN3/EgSGjWxcti5CGV+LwHsuXI4?= =?us-ascii?Q?YtPUB1MyeC15g/3mNJWYFsKfAy+WZexioo5+V35AtHDktX9Z5pE/hWky1A+T?= =?us-ascii?Q?nzEmxzDoMNkruzgN97BVcS1JZsCIRbDCEHMVkgtr3FeHDTrEKn/Rp/8fVwf3?= =?us-ascii?Q?UFb40Vr0zlant8lqUltruep9MCjix1ORDtc1bORUqApsCq27poipxDCuyAJo?= =?us-ascii?Q?eLAHh2HBCj7pvvM1DaBRS9YHWQwW30iYJqmF416dbuj/wsBaFbUmLxbJVMdG?= =?us-ascii?Q?WQQz17mQZMeSYQXxCPoT/ePFofrQfu+jy0UvBgcVWJo/sWz9krxbM97icVdk?= =?us-ascii?Q?GDfbzoNIBrQMLkuErDI+Bf3SoSdlGXrCvPiJ9D7DV6QcD8rC3EIpeC8pBncF?= =?us-ascii?Q?OE0oxdONVYBfutN4NZvv1PRMSqIcvF9DoSK2tMoLLnqsxPtr63aLuDxKh85u?= =?us-ascii?Q?DT5mlXrvBv8zSHLfEp5rNGhKlKZW0/x6O3fVcEjrcp3F9TG0US7u8h98UOYu?= =?us-ascii?Q?3S7gvo8eHh6fVvKxfqeHgbK86Qd9NZJB?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BAx9XoP0/4B3wzheCnS3kBkZzo8xDjZZUvdlxDqKgcZF/rnMesRi17ka3m4g?= =?us-ascii?Q?VoVoh7jnokm2TocqL6lMuB2IYatP7q4smS0Z+e8geazULipkDQU6aUDJpTte?= =?us-ascii?Q?PeXefGu02Fq1+pkXeHqj0z8qKviOAgKFn7sXSK89y1a8wt/a8xESDTy5EODq?= =?us-ascii?Q?+O7tOfhpaOZPNiaeIhlVSRPJhWlr9BWtoSEAkRtlku+X2QjZ7Sv6hfw8ym+p?= =?us-ascii?Q?0V7lv6Xt0RX8B7fA2vy7k5iMsk/x3/b+h9tJ/u9nVSb14LHh75yWKyD0iyB6?= =?us-ascii?Q?+DETP7+J8nN379MFV/ddU8CXChFqBIEygKucrhL6ZQ1cPqRvFqL3pEipVzGn?= =?us-ascii?Q?HOwmrzDYEn16QdGuMDUBikSkTQPPEnmQPv3VCxVuW5E5LK8tXoycyKZv8XVK?= =?us-ascii?Q?FMVJSiOlMT5Q+eqolZkeYnHEpKQOr2HLFDLfVNRl/qTXsAZn2elI8IkA+7SG?= =?us-ascii?Q?9cIOLfN6dwqZ/fqTq3ON3O6JB4iAhDJIJImiXGrkZUR7scCpTKDGhU7KSzgF?= =?us-ascii?Q?YDWZhuJzanqigygpJwLfldTSgX4neOXWTrY9lgGDyUWamRMm5jZQkvKDTOn6?= =?us-ascii?Q?Q4AjoKjzyySDc0EXDaCI7MwqFMclapEeYqOo3l5OVOkmmSO/LDrQN10YaVxO?= =?us-ascii?Q?UrgnKJaTLo4bGBkExbGroWbVRzOUYI/FSAT6pJ/AlpEAEG6MOCfBspj0bsty?= =?us-ascii?Q?O7idYVjV/HT42ARMBK2VsUZvIlnYuBt15+7RH3j7duTlIweMiY8wCsUDDI9O?= =?us-ascii?Q?gQN9vLDmUiMEKYwNHiHTQgOH8mHTbNEyeggAr2vEpcmGD38Qt4LTcR3ssp7o?= =?us-ascii?Q?j5FlUwSdmSK1jyc/zNsMlCqtCm5LoQRfKdnx6fIZsSGmCNuHC/dvFANk1YM2?= =?us-ascii?Q?aDebskp8hrlnVgZN1IjCcl0ggK054AFMQXNt83kKTPnqTgkVPHaent8pzdOQ?= =?us-ascii?Q?erEA1nWAiaag9T5rcJE98nooYui3FmHIz8RGMT4lKv19QFKyqAPAf0dIF+hQ?= =?us-ascii?Q?fLcPadouWaX5m9TIb+aOb8g9z1lgX52m63trZEd4TJxy39kbN3waMXEO8BWJ?= =?us-ascii?Q?DQSxaUalDHkJGJaw7lpyNJlutD5V8azlQW9Jpulr75vJ9IwVhtFEJEVueDaN?= =?us-ascii?Q?ITssSXW/JdTnDR7/yCsjhFdVWOabA7HOA3OC2nRXdDelwL01bSfEstZSoqL/?= =?us-ascii?Q?GpNtWkvdXPB30ida5FiNithDXlu+DMeXFbiv9Oi177wpJmxI+6p5W1nZONzW?= =?us-ascii?Q?F2AzhiOwVosLdY+j4YkOIpwIGYh+nEhM6v/erVI575pjovl+IFJQCZLufwHR?= =?us-ascii?Q?Z+3psdtvrhH8gdgB3mblYIZlcP2ScQeLem7PAwIxVIjmVQ0//7c8lDgOeCrJ?= =?us-ascii?Q?wwA/aYs8sygimWu95dEh9/a1+iStgZQ7jXiWsjoTaR8Qm6J8PN7v10y9Pqv5?= =?us-ascii?Q?cDlZCtNC0FdB6M9Eklh4iisgJuY7TyhvhBuF82gUn+E7xs4+gJFi5KcSIjyC?= =?us-ascii?Q?9INjdzSPPBVHDLTlKfGsliAqYwEvQBPJoR8cZJpCsfvkaEef8bbgYTNyLEFL?= =?us-ascii?Q?5M6XxM+Os9Wo6kBRcq1Q6tcdVIjjkrVhxKBdZ4YlDR6YVWNdrPeC0IMRy/1u?= =?us-ascii?Q?JN9eXtKiySWPnTQCvmre9oo=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12a63815-a949-4e8d-0473-08dd5679d8eb X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:49.0016 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ULf22aMYqkVbr40Kz3SDSYflse6GnDlLGMY8J/nyz7zRzfKIY9X+285x4VdKJHqrhJZLoIQzAhxRSkYRsct6H1asvFUVCgYPt3rT+mFJvWfuWJE+9949TW/jDtyFJfZp X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" Use newly added devm_pm_runtime_enable() into rzg2l_csi2_probe() and drop error path accordingly. Drop also unnecessary pm_runtime_disable() from rzg2l_csi2_remove(). Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Tommaso Merciai --- Changes since v1: - Collected tags Changes since v2: - Collected tags drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 948f1917b830..4ccf7c5ea58b 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -805,11 +805,13 @@ static int rzg2l_csi2_probe(struct platform_device *p= dev) if (ret) return ret; =20 - pm_runtime_enable(dev); + ret =3D devm_pm_runtime_enable(dev); + if (ret) + return ret; =20 ret =3D rzg2l_validate_csi2_lanes(csi2); if (ret) - goto error_pm; + return ret; =20 csi2->subdev.dev =3D dev; v4l2_subdev_init(&csi2->subdev, &rzg2l_csi2_subdev_ops); @@ -834,7 +836,7 @@ static int rzg2l_csi2_probe(struct platform_device *pde= v) ret =3D media_entity_pads_init(&csi2->subdev.entity, ARRAY_SIZE(csi2->pad= s), csi2->pads); if (ret) - goto error_pm; + return ret; =20 ret =3D v4l2_subdev_init_finalize(&csi2->subdev); if (ret < 0) @@ -852,8 +854,6 @@ static int rzg2l_csi2_probe(struct platform_device *pde= v) v4l2_async_nf_unregister(&csi2->notifier); v4l2_async_nf_cleanup(&csi2->notifier); media_entity_cleanup(&csi2->subdev.entity); -error_pm: - pm_runtime_disable(dev); =20 return ret; } @@ -867,7 +867,6 @@ static void rzg2l_csi2_remove(struct platform_device *p= dev) v4l2_async_unregister_subdev(&csi2->subdev); v4l2_subdev_cleanup(&csi2->subdev); media_entity_cleanup(&csi2->subdev.entity); - pm_runtime_disable(&pdev->dev); } =20 static int rzg2l_csi2_pm_runtime_suspend(struct device *dev) --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011008.outbound.protection.outlook.com [40.107.74.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 0DE83227B83; Wed, 26 Feb 2025 15:25:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583561; cv=fail; b=Lg5FFGul0/5EtHtDyb61As8HhIU53ujLcmk/V8/x8DuHrEgOzpA7ckYL5ddbB7I377SEfPlpei216AUIcUThAWsAjOqlARxQQ+6Q7eb1rZv+LGORFJdHlOpJHqf356eDz8FeI84JK6vgyDgxH2tM0IqyBsxhUJuuhduK56T90Wo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583561; c=relaxed/simple; bh=LqfLMzDRg+QEn35zV+3oPZfAc+VImK8JMpyKyCgmZ6Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=dckdF7jAzTKl7IJUvJ0roGff+OMbEsf8z7chWTiQ9nL/GIoL9fD2sMwJV0i+PurEx6tM4Jvq0R1v/pweu+E+cxBNPd9vnrZ9rRnU4BPaGwhIzoSNprI72zJYuLhZpWFveRmEgo9MJqggMgklI9z75oXXtkhMAhIcwwN6x2MDwV4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=b0G0gsFn; arc=fail smtp.client-ip=40.107.74.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="b0G0gsFn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PcZehTdtqt3CuPKPQBVw7KUnZkJuR4yPaH3lqgixpFo8k8rTdy3EKFMvVGsJXDMFXfACwsUx17lOAHUVo7n47Ip5U5zGBsDDqH6x6daP3el0Nj7EbA44Y+OtrPDGEIneEAsIehy7f2ziuhlSUDDXeYqCwZONp+10fTSgzSVhKFx6k0aeiWx9pqiXKgxtamgU2OQA5FVU3IrF+ymy+JDovbGrEN36Bs8NUvVlamqPsA0XNqYw1z1Lnzn48dvLhV0yCFly5ha9dWBQ2NH3SV/yCSJFOYkDbmU5Cvva0MaiexYKVZWWGWF7JK+4BvTr+peKhEZhbuPmU4XgUbiYjCK04g== 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=bjun3rYJFbgHoj2Fxbo7XX+LDOGEbWMW0HgfswOEADg=; b=JgqGQuSjxSaDtlSyDEKGcvCo8jg+eqb+aivVvmCLg5Q3Df7A7qInrO0vQPLXBMjX60x6Lt40e2Y2IS9WrvNRYkpUhD/DwEXF5Yv0h3kVzy23STveYJtomlKOFmoQYqsui/bSJks9xaGc8+bczFjoN533pnOlPv+p+egVSIH4IfIRBxLZXQHn/gf8ILkplntPdYkacZOusZ1N6GjHIdhpEKNgl3fI8ijkBvorMR3/ELSuQe9h7cY1Qom37y0JN+qqzU8XIpLBXaC848TcpCslkP5ZT5FdORn8pkc5Hf3ZSvOF90w48eDJvMGiEjCnHUjXgJ/0cP86T0fpYBZ2DI/kgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bjun3rYJFbgHoj2Fxbo7XX+LDOGEbWMW0HgfswOEADg=; b=b0G0gsFnNU2BHXNppZYuQK/YccGdnAb/9ONwY/5niybYOWqEiyjZwDhboklw6ByoPzafYMD28eiqfaeftNFZigsoR/BSAd/cX6ufNhJ0pa2Unu1X0s+W7cUoLreRwYNqMBqs7CdxZ+LaHcZtYXv713vAfGTVEX4FYReV0gWKpsg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:57 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:57 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 06/17] media: rzg2l-cru: rzg2l-core: Use local variable for struct device in rzg2l_cru_probe() Date: Wed, 26 Feb 2025 16:23:30 +0100 Message-ID: <20250226152418.1132337-7-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: d123e49f-81c1-4439-0a89-08dd5679ddc0 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?D2l7joOc0cwbbGjaUn6NSJG87b3EDwHZHFdMY+iIaBTaHkiaiHCIomFG/ZYc?= =?us-ascii?Q?dmxZvGEAP349aLW1SUlMnMmaYCHJBnYE/QCKoZf9kJA6zGnSFtQw+rC/q4Fe?= =?us-ascii?Q?JGlgidGWx7woj7lyxabHXwalOgMnoe77vAf9LDNLGquluiYqyxKXb+//sRlu?= =?us-ascii?Q?KZubwYV4t2CDdwpJ98n68PdzNhENUeIdBIiPak+Sz876Pxag/1BGjmOBRMNK?= =?us-ascii?Q?J0dM8yV5q+6OhV5/Q/6WeCbdmG0Ka+qfOb/wsADoLYz2oD9GxjFMA+UgP85X?= =?us-ascii?Q?sZoewQeTvpPu0Bqof0Yv+w0dHMDGz6BHAK4Hir+e3Ey3Ro5LQvM24n3QHe0y?= =?us-ascii?Q?9BXW8MdvYbcbdev1ylXkmLc6yDc1GjpHps3PUu2TSiWeYhW/0AuKsOBrtqJZ?= =?us-ascii?Q?R7jW14Ou3xsAPhw3Sp1i3lvxtXjNOu4b024rZz5MlryLVOYXIiKiIgrtFPl7?= =?us-ascii?Q?N6pgnlXMsVnwlZyL+USRJMa/6mufFwXjcUrQps7gQGmUDGD39iXFx3sPRUBC?= =?us-ascii?Q?/GJEXM3hewyJ0Tg0VGmN5WpBWdRmJ36r1/y4eIqe0OJNE2eZGH4CUahw5Ov7?= =?us-ascii?Q?Z6VnnFHfhYEVgxIbJN4WAq1H36Our4xTuGtm6nEMODSKo8afJk4GTTlgPe53?= =?us-ascii?Q?tjEX5K4VLLfgfLbGamzt1yZZHMajVfpIGqAd8U/tImZa+8F/Ahc/sVXJQl/t?= =?us-ascii?Q?zeafrWbV4RImn79ugnZmNOIXaBvh6ZgHyEdddB+G3+WfLLCbCuEbg27Nv38S?= =?us-ascii?Q?5qVs670cJScIwmIz+JPslg6T4UOxfQ/dndna3DTu79W1UjPetE2grHDxfZt0?= =?us-ascii?Q?PWUuu/g+XvODZUYhVZDD8FMAPrePdkM4NKyH76T7fAKl4crIq1rjJmQrC1IQ?= =?us-ascii?Q?oKaI6gik8qrB+yCij2tZs7RgZjTvpua2jyfH4w1QYdKDodBWXjba8oVReBgt?= =?us-ascii?Q?EEIP6WU4uZJ+h2dLyp0rVYr4rSdP6epcjzij1RZKi5pX81aWnUvIBKC6CSeE?= =?us-ascii?Q?qIDRv28QAX1aQy8WZV6kkSlNloMK0qFVzXc+KoQZ5QHrRmhF1kFBc9zkv0mr?= =?us-ascii?Q?3oOjS89QOpWxbTBPe+Lk8rOVa5OOpRPxi4n4wZHVvvJXbheMZ7rzjB/TaSDP?= =?us-ascii?Q?6cbZAkebXYpWLNpoHj+6pbqf7jE8VTjfYUSLPtQIpzdYsKe9gO7RPQ0FBewb?= =?us-ascii?Q?KvxWV4WOiKLshKNub5ng7d2TIUItnhE40SYaK8cv7ZO1XTLpdU1lHdpV8gTF?= =?us-ascii?Q?G5wFlJGnHAJevwEjHkBi+A6pfxyhaWmr8e8Af+ZSZgrV2KXM1FWxkBvTbMKj?= =?us-ascii?Q?NupUuqEtvLg+bqBBUUqHU+6ppPozG1nTgr5z6pcqSDEIDse1RqwqCoF4q0F7?= =?us-ascii?Q?inw1hBqAmBH4Kvf16HfhmCAPFKpmC4Z9opaTrVR90agrHSlapUAhQxYIQhZH?= =?us-ascii?Q?V7cAovBUGukQmsB/7xVtCfkHzKUeqJYa?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GraazQWPplW5vfsM9ZcnMQfpo+bPPO+UI0KWpjjOhiPChhTGj2Wu/PPy7h/a?= =?us-ascii?Q?lNpHVjHTaj5rPkNBjPYgO223WVnTcpwtNugUjjW/hMqe7U/1+fq0f5+sP8yQ?= =?us-ascii?Q?JBJ3OivHyurPI1KwnrS+uOb7hqwegn0ssW7nyGtaXuKCZiebsnida2RWvY4A?= =?us-ascii?Q?EAIKQPm7ESd+bbgiiZjoo2GDD6pujOAtKwBmvaT330kcMIT1p5TM1nCWNe/T?= =?us-ascii?Q?dniJoSX1aMJu+5D+9G7e7tZdVDPRcTgmXD1ytLhQ17TfOUFLkaTjsDqgFxuy?= =?us-ascii?Q?xA/hibXTmwkBe0sGaB42VF48JqZKXGbuqVJeNz2sBO6M/JlZRyr0uVO+lenL?= =?us-ascii?Q?0OWlLk1ULiiD1Zbi530EfdD5v+zDLQwmColP8TpocY7koCT3ti9XEhO4ofCx?= =?us-ascii?Q?s4ZD0a/LYvdCmLIv0W9ZtyZit8lmEoicXTOYCKapw3l0jf3++Hu23HsFP0D4?= =?us-ascii?Q?oB/DN74kFmBrC1zPCr5TC22fZrmKJcUlcoV12JtbC5ADI9f2AVoyjQcd5ubM?= =?us-ascii?Q?xV5a7VS3+F0l1Eewo62Iz6UmCGdfvN8oNeay0ei9y0o/CPsNSKgOtB4B7fmt?= =?us-ascii?Q?2IrkE7y9gN3I3XWTZNUoiXmSdPtiZo0+IdWpaEdTa7Xm6iD1AfML6THPim9E?= =?us-ascii?Q?mp/PpBbxGOpVivFEpOIqa160rkdTUuR/XgYl0IQnEU4xUAbQsuQ6+ZNXSZ5t?= =?us-ascii?Q?lb8A1BvmBlmWCziBUDVUIcI0I/EUu9fubAfGlyOjQ3JLYBFX/T0AZlb89Clr?= =?us-ascii?Q?44HMdkOcr8VkFDW6Mx30MnLgs3cLIxtqAW8DtQIuzo6CJfr6inDrDU4zRSv3?= =?us-ascii?Q?P3XDDJKo3WtPWSL5+BPjb1uvycwSNISlJePFECt05ziaIjofWBn3InwlWWvI?= =?us-ascii?Q?nEu2dft0x1N2u1pFAkTBuTdddbwtDLjmZep/TLNnU90HVTPMXykaJWp9DXzU?= =?us-ascii?Q?Ua9ssSROI6Ch1PqWH6rBcX5Z7YoLOnl6rjPyGDGIAG/KtUYivB6TGupqUWt5?= =?us-ascii?Q?ZIfqckoOd6C8zIp2/uEQbihJr1DgTgR5lDi5aV0fj/DxQP6QtVrScO0EglKE?= =?us-ascii?Q?bgfWnCTlnyw55V+0ZUJIVWgCZbbGbQTGqRV4xH/+UWAMGokL9UZDD8P85Kx2?= =?us-ascii?Q?ZnjOsf3Oun7Q/WgFIqrOsnqCxueD9WyrObKKRpcLvnNI9CkhMThA6u9MLw/i?= =?us-ascii?Q?ZmbYohXxJtUFmOFF3WiI0eC8CYdmajphuFLRVl/Rrm/pGeIzGPwJ+wO8AVet?= =?us-ascii?Q?vYbMBJVYbRhk1CLipv/UaVx/UlPoLx+Yum+DMDGlu2dlfD0IRaqCOHHnYKkp?= =?us-ascii?Q?OfBxoz/RtJscGhAAnOi1lYIbwbiNPH8+wadYJ1koaw1XDpQ6zzdRRH9xKwxk?= =?us-ascii?Q?PtMGovLUz9ecv7bKurhyZBhkl4UUlJzETe/8JzC2nEdSDAXUXf1fqhWJKEmi?= =?us-ascii?Q?TrEMRTPV2TSe2LCEH2qW6gObT40OKdyPlgXg825qsN85v2xbosDziBmo5y4W?= =?us-ascii?Q?Fc6/06qhXZzkLWzCgIQ3lcLLI8QMypf7oRg8e5hevOvVpSIsZyM4fEofadWx?= =?us-ascii?Q?qOkHd/PFXny8Ouzym8NQLRIMDdxlSx/UvuiEYR3i3wPvu5YCqnRsTNYuNlVx?= =?us-ascii?Q?7hzOtEH87nm9UC62WnQoANk=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: d123e49f-81c1-4439-0a89-08dd5679ddc0 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:56.9094 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hJxxMMkRLD4rI4cgEGH7yuVCdJB5/74lO4mmgj09ioYEgqS1Zc4nDeBF8pZsUpyg8KqkdrrVnIpFy4Ui0DI0tYsGIXr9kXEMLE0oC4d3vy7EiDsSNeT+X01fNIyP8BmJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Use a local variable for the struct device pointers. This increases code readability with shortened lines. Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v1: - Fixed commit msg and commit body as suggested by LPinchart - Collected tags .../platform/renesas/rzg2l-cru/rzg2l-core.c | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 89be584a4988..70fed0ce45ea 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -240,10 +240,11 @@ static int rzg2l_cru_media_init(struct rzg2l_cru_dev = *cru) =20 static int rzg2l_cru_probe(struct platform_device *pdev) { + struct device *dev =3D &pdev->dev; struct rzg2l_cru_dev *cru; int irq, ret; =20 - cru =3D devm_kzalloc(&pdev->dev, sizeof(*cru), GFP_KERNEL); + cru =3D devm_kzalloc(dev, sizeof(*cru), GFP_KERNEL); if (!cru) return -ENOMEM; =20 @@ -251,32 +252,32 @@ static int rzg2l_cru_probe(struct platform_device *pd= ev) if (IS_ERR(cru->base)) return PTR_ERR(cru->base); =20 - cru->presetn =3D devm_reset_control_get_shared(&pdev->dev, "presetn"); + cru->presetn =3D devm_reset_control_get_shared(dev, "presetn"); if (IS_ERR(cru->presetn)) - return dev_err_probe(&pdev->dev, PTR_ERR(cru->presetn), + return dev_err_probe(dev, PTR_ERR(cru->presetn), "Failed to get cpg presetn\n"); =20 - cru->aresetn =3D devm_reset_control_get_exclusive(&pdev->dev, "aresetn"); + cru->aresetn =3D devm_reset_control_get_exclusive(dev, "aresetn"); if (IS_ERR(cru->aresetn)) - return dev_err_probe(&pdev->dev, PTR_ERR(cru->aresetn), + return dev_err_probe(dev, PTR_ERR(cru->aresetn), "Failed to get cpg aresetn\n"); =20 - cru->vclk =3D devm_clk_get(&pdev->dev, "video"); + cru->vclk =3D devm_clk_get(dev, "video"); if (IS_ERR(cru->vclk)) - return dev_err_probe(&pdev->dev, PTR_ERR(cru->vclk), + return dev_err_probe(dev, PTR_ERR(cru->vclk), "Failed to get video clock\n"); =20 - cru->dev =3D &pdev->dev; - cru->info =3D of_device_get_match_data(&pdev->dev); + cru->dev =3D dev; + cru->info =3D of_device_get_match_data(dev); =20 irq =3D platform_get_irq(pdev, 0); if (irq < 0) return irq; =20 - ret =3D devm_request_irq(&pdev->dev, irq, rzg2l_cru_irq, 0, + ret =3D devm_request_irq(dev, irq, rzg2l_cru_irq, 0, KBUILD_MODNAME, cru); if (ret) - return dev_err_probe(&pdev->dev, ret, "failed to request irq\n"); + return dev_err_probe(dev, ret, "failed to request irq\n"); =20 platform_set_drvdata(pdev, cru); =20 @@ -285,8 +286,8 @@ static int rzg2l_cru_probe(struct platform_device *pdev) return ret; =20 cru->num_buf =3D RZG2L_CRU_HW_BUFFER_DEFAULT; - pm_suspend_ignore_children(&pdev->dev, true); - pm_runtime_enable(&pdev->dev); + pm_suspend_ignore_children(dev, true); + pm_runtime_enable(dev); =20 ret =3D rzg2l_cru_media_init(cru); if (ret) @@ -296,7 +297,7 @@ static int rzg2l_cru_probe(struct platform_device *pdev) =20 error_dma_unregister: rzg2l_cru_dma_unregister(cru); - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); =20 return ret; } --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011053.outbound.protection.outlook.com [52.101.125.53]) (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 58014227EA3; Wed, 26 Feb 2025 15:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583569; cv=fail; b=sEBS5Q1+yqEDZRvEn00rWcc/Ckn0c0PMbUrg/tAPePphC/JZuhCwc0GNHDejQt0D5fUn8dxMUaFhlDnast0M/9UguGMgbSQViTFfLGfJYPh+hbB+CuEqwqndlMqbf0lSLjoCe5uxQo0xwddFoD2wjPTYnkjUIudGzDNL90+o3eQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583569; c=relaxed/simple; bh=HsfbftITW5fd4UAh+3xyB67wD6ITcjCaKdzsXSBD5XY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=lUCmCbwnJZPeFBfQ58YmPJpCORy1aL/Vu58iPPUc9o6pc/VvGcVwxJtyEJSS4ktSrcdu1CJMFwFEdFsd0jDCQetTEmSe//kns9j1wai4/IF70M62++x1tufQItEEYYHZJZwTtYnm9lMVQFtuSlpyC1FJDKBVITPJGrR1B5B/Mz0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=lPdZaAoZ; arc=fail smtp.client-ip=52.101.125.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="lPdZaAoZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mZngfQBUhPXcWZuQzBkHgnVqvqbs2Xgr91sKHuLOEGWmxgkLmw82o16AHDN9xk0WpgBlkZFcjU3trrGtAv0TiwtS+LKGkLmKnTHUfjKtcxvQDFuJ8dBVxOrho85JQVH5qBzI1kSle6p2poryvR610eh9NSPXyH2hVvgcHlNJ6fR6PvrhZs54jmTPHeU0pATjTS5Z+a5f9dO8VZEfsZZYcTkNH7fY8aoQfrUPMLjHa07dgQI9N1rdV9QbBV0O17mO2+VkF9B6D5TcS5YIFOOikaw6ntkKEVU+5B6LeAk0aLevgbWZjOhtLd2MymiiqFL3vP60tX98rbndkAjtof9GVQ== 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=pxD99Mokwvg6veNRRvfJy1z0QYpISgAvXyQloHsmRL4=; b=Mp9DHIKGj6/pY+YObKSBVT2dg1gMwSddQJVzMfTUUeLJB+pajOl7Lux2xQgXUMKc78kdaoNMFHdO3Uc4Blbq2QqRiCrGDuDTyPcJYOp2nXDHCAGSXHLy6Vw0OnFzFc1ESid7n0lQrOMzf77t/I9+6VMpCkndRBACVyrGn9+7bTYeU8MKn9eSWePafdZwPpHJg4qfGCMtnBQOPE4tp8iLlVx6JztKssvHVDAD9r7YPjiiwl/h3kGw1U4LVl9zLW1dBuQWJiI4fkAuFOUYa2katlpaIqkCj++ukD3F8lr8PiW+n0KqcYX3hvTIlDQJ+paTWrJY5o/5rQTgMwkYdQBMoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pxD99Mokwvg6veNRRvfJy1z0QYpISgAvXyQloHsmRL4=; b=lPdZaAoZEjmIhfcfdWuQYTRw2mUUoave6Arn+cTNao8SSRPcKQBu2BKfFP2/Miif0alYJl+pBJ+/3gi5iW14nvCG25fekTKbVDVRP9a3WNQnf3kzBjFMtCwIgGBwPtBwIq6HXVxK8IcU6Pyq9slfvWELMiVwju14zov7VHgdPpQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:04 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:04 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 07/17] media: rzg2l-cru: rzg2l-core: Use devm_pm_runtime_enable() Date: Wed, 26 Feb 2025 16:23:31 +0100 Message-ID: <20250226152418.1132337-8-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: e8d7e8fa-5eee-428d-f5d8-08dd5679e260 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wC5bDpfDtbxqYImO7H6jzdEIyN6cm3XPqpgk+VX6DjF/Q/ZWdBSWJtEHIeB5?= =?us-ascii?Q?PxezG4guvMP8lDzRTfj+N1R8cFyxi2R2t8ExQm8uxrx4Evq9bcJvo5MTBiGU?= =?us-ascii?Q?GD/TckCzYJHP8YDPsG7mUG1xJlCnUXe65M8RRzZ1/sHI9Z2+8v6pTh4pmFQo?= =?us-ascii?Q?MhUv6kM/eJsqlsgwvYI3L8iFKvLXa70q/7gke8CAzk1Y/Jjodl9QMxdundPm?= =?us-ascii?Q?ETxT49LgXKqF1DKQPKULaSdyBIWcM9Da9nfwcivgD7k3zT/ImYOTqbUcsUkK?= =?us-ascii?Q?O1uQta+XsTj1S3Yz/575n4cnhzz2F3R7lep6kHANkLaPFHV3ltVyMG11l7mI?= =?us-ascii?Q?ChqH+UEYzBQCgJmVAmwGVlkCFbyQTzOW8gwFG/zDKP3Tyd+rExJ4PHkS1b7o?= =?us-ascii?Q?nbPbCiAV90m1pSfWd4oq5M4fliTkcKBz5Zz+/gtUWvBx/gabv5JpFu2pGLzi?= =?us-ascii?Q?O4Bt2aqC4BLZgoIAYEUZU6DHMBXOrTgiHLPzaaJl9ugC0yItp1vAN2gjcnNq?= =?us-ascii?Q?RXF1KCLyB712Uy71aDSp5+ZVaWUHwl7clw1GTcK7ywplUaydd5bijaS6QGwq?= =?us-ascii?Q?xFgZtSZP4KzKywE1VOIrBXEIIBqSOEL9TBGP3mPETLAjahrDGhCPKSTIaGoh?= =?us-ascii?Q?PIDg3p8oOKLOFShP/Lr8gGv/Q2gs2I7ZMxWlXsDAAXycZcT1XrCbbt3Jrw3p?= =?us-ascii?Q?01cu/xwIhGs+8/kGOCQkxhSinLnbpjfgkJDjhpqDCsKGxjPC1/qJfp7nFKtm?= =?us-ascii?Q?em6q2TYeoN4CoCFA2KkqBUkEM4OG1u4GPTAfdMz8C9M+zs7oaz9VpcdVbBR0?= =?us-ascii?Q?rNQivUSwjTVJYqGuAzg+WBhK83BqikYeJ/OY9071wLMHLA7RmvKZqVO28wCu?= =?us-ascii?Q?/7LObS/e9sX1Dy64fmIph210GpnJD0t62phI9mnBxEAmDV579reOtwLNqWqH?= =?us-ascii?Q?Qh21Eg1WZyMspSZ2vA4c4cHRix6CxnyGRTpZAOXjYqMpQ4vrv5n9NXWoor8J?= =?us-ascii?Q?Z7v52gLDUcVtIllxNAXrCauy8tOzCDttTXMz4IypGRkmGjHBn4EERsS/sQHs?= =?us-ascii?Q?CzUJnx50g//TWhMWtu8kHNitK5SPz/sfIjodu8IJNUFKydQr9X4FecfA2GLP?= =?us-ascii?Q?cihpaQn2EdaA4bj6qbkIeVgB7yrIqye2F4kphzwJ7wO/9DoH9oBVSeos6OXF?= =?us-ascii?Q?dMPnGducTbE22cJH3YLVLXalNVodyeKaxG2jHTnxjOimpFCIevMSDFv2qdrp?= =?us-ascii?Q?S7ISHS/7I60tktco1ScUptO4BX4bBXJ98ESCCoFDHMuV0ErvgDCCMwlJMF9J?= =?us-ascii?Q?+D8fplmSXtTulohvJrdttNElAfTw9PsF/p5syqE4Aw6snH0RM721aPWQ3K1O?= =?us-ascii?Q?1XwsDjqFDzSdG/vdv8aCKFwgfXQ28BIRh06Sp6+xS8+Ma3EQKQYs2CNo7Fm0?= =?us-ascii?Q?msCyXcqY+ShqrrVrIaURU++G/8nTvVV5?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LRweLsyGdGHA6v/sMtM1g+rhFoDVS6UHtIer5vQll/YliGVcCOqZUgZcmZAp?= =?us-ascii?Q?Of3hlUxEhYK5Mw0yNwpqCif/EGUcZ8VvutFzrhCXExpvijwpHFoP/zNYUcVK?= =?us-ascii?Q?1WOK3/q5aPdSh9th3TSOpFV13W7fr7j54BeTgAbShDSa3ffOTtGXhQgYB3SH?= =?us-ascii?Q?Btu+E8jmEHM8OPKTaNx6YYAxPHApicw1zst+4S4KyJ6mQxh5QTWAWdNMosPe?= =?us-ascii?Q?IEX8g/QPDQ2Id+hobfoULBzXiIWbkNVkG0n6sdrdhIQsNuHQRmbv0y2Nf3BF?= =?us-ascii?Q?s9htf49nOu5KnT5sOLXrqyE/ddm8zQ+p1b5HBKnNkcLXJfhFPCwbxqhMx5bV?= =?us-ascii?Q?o6ORaDS5PiWh8mA6PE+2Ppu+gLyTD45hmJeVAHCxohQJko+eu7z4lxB5+p35?= =?us-ascii?Q?De+tWC4VdT42u1ljrPkFazhJYjOY3paE+bPdG+hXo8Cl6A8XmBgukl9HwYGO?= =?us-ascii?Q?pOAmlTt0hTp7D548SwnQma8xilFUCP6e5XtsZ0HcVfPOWbIM2uvYdVhwM2YC?= =?us-ascii?Q?y5YKifxKPfctzafAQ6yN8pQ8tW1b9Jrs+xeV+ptWFYNrxEW9C/qnPUimFIbE?= =?us-ascii?Q?/P7yGYEZZk02H04dizW+M8WSc/Qy1AIZ4/gRMlhVvYsTm6mc2Hr1quX4EFK7?= =?us-ascii?Q?6YlL0q4s5HaYCmj9f8TOzA/wXkUzAhwZzliaNYrilzwf9jhUcrvAxCSawd2b?= =?us-ascii?Q?qP+OEwBUwGbT64ZBJKvQzvMdZJ/TV+FpykyG7LARHgjIBDEQLm2JkXOuQmse?= =?us-ascii?Q?xRV5/IdjHanaYiBdIMhPoXh/0KVdeAn/Az3qf1jp93rvwkhNVcQTE4TNAczs?= =?us-ascii?Q?jao3z0v9++cOfV7j1Ru5jkGK62q1mxYXsRdF9VDivPQ6K4LUrewa9qsIJg7S?= =?us-ascii?Q?+AiOD4WqiTuc6I5K9a8ditcbIGrXV3zUqqXzGkrHhRrPt+beHzW/hGxrAXHX?= =?us-ascii?Q?XFQHpu0El345yfT8tsU0ykXbaH19zHzlDruXrRnEEvirpYwsauOHapnShfO3?= =?us-ascii?Q?yISFz5ZlYVOeOBOpio9pr6W6TLShVrXwbt+o9qytyeKoyhVZrLhmvtVpgHDc?= =?us-ascii?Q?DRLeSOasD79Cbvjd945/hTl8Jt0sxDS0hqpeQ/Ao100terneZmOFWB3KWvjB?= =?us-ascii?Q?x0Nx9amElDzf0T+9FKcT3O9eDmMVlJZTCUaYKlkK+pKzB1z6FEYCooXBFeIR?= =?us-ascii?Q?D2uZ7nXR/jaGay+6W1IsizvAnAjhyMvdX/kLSRSbkqIpWncBZuZEVuolUUYK?= =?us-ascii?Q?paTKGxJaAsohj3J69nqkXl9Exddh/YEyaIA4Ulww8TO7Zqfi00N7NNxv1tst?= =?us-ascii?Q?4/IiwgMRholcUZRYsrJy9Rkma6bgXVgndL1uToMTFnI/ETTF/oLjxL930JrR?= =?us-ascii?Q?Shy2sJnmNmQlp4/Oo3okCx2u0xeyJdEbYzhGFPU56Y9iUAJhWztXnf7Vrj/Y?= =?us-ascii?Q?A7+6AXL1348ejLstC/Remso4aVfk9OHoNuMS2K22HrjjK+y0F5ucfYyfTqqb?= =?us-ascii?Q?5FXgCiTRTe21o2/XuxuCNsRr159mVjx8qx6GReNiO8IxoBtVzS91kARxbb4z?= =?us-ascii?Q?+4xShsGF8IOef4LPwWMOkAFd6baHROiwhPkz1v7+afLLBb+qFMfnL/EudUIl?= =?us-ascii?Q?zE9o5OYbTUaiUS5t9cRXp5I=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8d7e8fa-5eee-428d-f5d8-08dd5679e260 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:04.8713 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AltB/LGvmiSVZ6Vv0ytTFoSpnGYmn+3+XWu0xO5iG30QCuUVKaM0Pu2GpjxwYgBycz7hPMvtxMeXfuc+eNuuBZH7YbKQpYwhXtPJRDSY7C/WKwlNBLzBQTMX7AePqDYU X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" Use newly added devm_pm_runtime_enable() into rzg2l_cru_probe() and drop unnecessary pm_runtime_disable() from rzg2l_cru_probe() and rzg2l_csi2_remove(). Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Tommaso Merciai --- Changes since v1: - Fixed DMA leak as suggested by LPinchart - Collected tags Changes since v2: - Collected tags drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 70fed0ce45ea..eed9d2bd0841 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -287,7 +287,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) =20 cru->num_buf =3D RZG2L_CRU_HW_BUFFER_DEFAULT; pm_suspend_ignore_children(dev, true); - pm_runtime_enable(dev); + ret =3D devm_pm_runtime_enable(dev); + if (ret) + goto error_dma_unregister; =20 ret =3D rzg2l_cru_media_init(cru); if (ret) @@ -297,7 +299,6 @@ static int rzg2l_cru_probe(struct platform_device *pdev) =20 error_dma_unregister: rzg2l_cru_dma_unregister(cru); - pm_runtime_disable(dev); =20 return ret; } @@ -306,8 +307,6 @@ static void rzg2l_cru_remove(struct platform_device *pd= ev) { struct rzg2l_cru_dev *cru =3D platform_get_drvdata(pdev); =20 - pm_runtime_disable(&pdev->dev); - v4l2_async_nf_unregister(&cru->notifier); v4l2_async_nf_cleanup(&cru->notifier); =20 --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011048.outbound.protection.outlook.com [40.107.74.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 B511E227EAC; Wed, 26 Feb 2025 15:26:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583576; cv=fail; b=TY5Mefo4iBnOrr78/81o+fTG50Kvg7q2neptGfsFI4goKs0VDMtafHaMbTS8WJK0a7B4Pm+AOV3u5gKj+p0JNpPtm5vLDrQJWH2bn8EnSlPhAplexAOmZak87VB2w+fUwdm6EMMR+xrnwh9MPC6WBsiDaC5XcHI8Js7xSlfxTdI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583576; c=relaxed/simple; bh=Wxv2NR4SPtkJtjm2fNJJtWbbSLqgBpIGMVvzd44aQhg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ahv8ZApQKKMvQaxV1G/CAeyRqTMmpXdBMjRJ51hXnb6yIUJ2wzAWfmEuorz41OZ4rsmVneA98RhEgCSysKQSdj9+BR4V3oImvrNLRZ/j/7MOD9I4aYU6Db65klJK0+ynCy/caTnku+7J2VzLHrRL8zsC40DnP4GsilTToc7tzmU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=FaY6kTb3; arc=fail smtp.client-ip=40.107.74.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="FaY6kTb3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o0n1Gne7gkMW2h7c7XuxuwQ0xtc7yhxhsGqQZZYtiFijs6rXcwY0zUbw0Z32TkyHRJYIsgUejXUz2YcRn8UQyoIImI6Hmi0veIKXORYKVaW11aTuMRvuyqkrOximI79eKkturZn9+Q9RJ17HlvFljzFUOwbOq2XhQBRZXWCKIDBtixO+Z/6SqduFM5Wk4IbEWTrh4JgkKOvnxJg3PsDPT0dg7ld9nIao653e2RNJ9d1ybEGjRTRigT1ShwFnYhbJXmdY4qgHUx6pz2EXP9J+ek6lWSWT9w/yn2gu7xP3hgNLvgc3hjHxdsAWfWlfme4L9/38+2Rob9nrxeZncsDM/Q== 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=wAL8gQrgsvYymQ2b+dNwJ33LYhY2L+OhBRxp3zEx8Qo=; b=t4OGuX6eoQ9G0VUwufc17ESz2fH7Ziz+oq3Lh05mopvljmxWg5UZQ3xsgtU7ZpPFgiiNKyqp6dcGQWoKXFaCNTrSH75dAXiyd/KEmnawn3vPCkCoj6O0qy2JYRnH5c245R6KeOwKuSe74thZBvOxvJHi73EFJjgaeMY5lNd8J9HdD9rD1/7IYF/fguxVOCeNBsXt20gU+kAFDLDrwVrZ4dvR5sL1ubjV87AUkq545DeAdYcLi5xX6pfj3hUIstK4rtCSGzCtpUXicv3zPAb+AzQe3Z7PDAkKgFBjLtNcVr0JAOl/ww5xcEI9+pCoPtx69a/+4FuUEO1w/P7DcPdlzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wAL8gQrgsvYymQ2b+dNwJ33LYhY2L+OhBRxp3zEx8Qo=; b=FaY6kTb3un6DOJwN5uiCmt4ASP3lfTrgI4SdxdOUmIC/2VYGyPW1+uMkvJfFPDxZBXq2JrTrcT63btwuQz/oYmH6U3XQulFP4jW/8ftr83ELA9UY2haEKly4t9g1BvGgteYNsdvcM5r+kP2Icq/xqFZOjZCPQoQM26X5IKiKb1U= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:12 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:12 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 08/17] media: rzg2l-cru: csi2: Introduce SoC-specific D-PHY handling Date: Wed, 26 Feb 2025 16:23:32 +0100 Message-ID: <20250226152418.1132337-9-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b8ea24f-0c55-4cbf-c38b-08dd5679e72a X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TVrLlN5lj9yBgXTNiTVIxjTPzEPmGNENdmEWNUjBCndyzOKfhQ1MdazG4xwx?= =?us-ascii?Q?f93zGFJrhg4ExNop42ZS+4pla7LVODxn0rQqWYwfivhtahnuc8Uur73DaIRu?= =?us-ascii?Q?SM4u+I4HjgU6SouuXNW9JHMnANxrtcTG9LwIGuMORX/2jfNj6OX58r0jgSfH?= =?us-ascii?Q?kl375G3Yq5De5KZWYdccif0BDprNpDWD9c6EecDiHt7eIUzNJ1TUR9y3ofgZ?= =?us-ascii?Q?RDYE8BK5iXWELmOIH/nBO86ggLhfVaxpS/6+AGQsUrdSHJarW1ENHiCrGy0l?= =?us-ascii?Q?8ajOwIhklyIRv4RB2tzmuS4P08CKHpVk90+tR8DGecjiA3kdlTbGFcniobmu?= =?us-ascii?Q?8y7fF/LAYWutdpiyOexIaS7/rUs7iMX7rDo0np/tY2RL+PWzQ8a7ljwrPUsH?= =?us-ascii?Q?2Ps8toDVWCeLyP8O8xIKWaa0zWEwBF/RvBR2PfqKmT3NAELJ1tR3oQ3ldv2Z?= =?us-ascii?Q?qV63Vqt2pCudti+hjncTbK7SKHCtWvg5TR7V3vaa/42f2BV+0ICeInnT/1uQ?= =?us-ascii?Q?jK5Isda8UchTOmGoRmXKa6udg8NNtEyS57FBe83xXQczNUWcrwQDYHDUT6Fd?= =?us-ascii?Q?3CLt5/Cax9xAXftPuQYXuR8Frb4yeLQnPJiH8zf0TkoUEcLynxwCf0O5dLGp?= =?us-ascii?Q?ocZ5osVOMvi5ImNMeSuYPhMNN7gUwWXiOeU7cSbPm2uqI7VEZ88t3HwthxmK?= =?us-ascii?Q?nvIBT3J0DZTRRCXCgmkVerT9bB4ohDCmALPSkPeubTT7APt1cKzcrjwtrFcP?= =?us-ascii?Q?zbUeMfdKp1HlUdTfLWPOWbs2zJjo/FR2xdEntMNUfTITpLBRjyHXooQBzVlE?= =?us-ascii?Q?ut9IVH5he+RLaFt83+xCRdWRC9nZwgG50Yh2uoUe5mtxW5arJX8IaH2g2cle?= =?us-ascii?Q?JYA/slfx+uo0JiQrZFUVcSqiaLMlfWY/pylrzjAOnvy0jbql5vTq6bupvmX0?= =?us-ascii?Q?qVxq8GLGzvxwxyCzkpCa5d5s4Ff0gCGV4nKyDdpgrypR/Wb6GfRaGqPVX+xd?= =?us-ascii?Q?TfgLC56BviFl/JREPScM4X4nETJ3POboG9crq3SwW7ThGW5LD3rjVSc39z3B?= =?us-ascii?Q?0f65S5vlnzIstmm347d56a4z0ttm2jwnyWHXrjRkLC65T1mRPYvqs0i5Hxjz?= =?us-ascii?Q?KIyZuJWUJoqKns3VV4fu6adnuOOqRVbnvbzYKcuw5KVAD8riSZj4G4g5Xr53?= =?us-ascii?Q?faMOTNqkPDffMY5NgHjEzq8420ijo2HAoSjMi5kHU1Tn624ID6u3wV2OYDPj?= =?us-ascii?Q?usB7EDFEnEJT45n2rGE9Q6gzgfyH1QzYrMwANeneNBiwRAnFr+5POcLw+Z3L?= =?us-ascii?Q?EwPAqKgYQ7sL2pj9x/iL6P386Y5j6zW2+Wgpiow4mz3PuUxH3QmPXJM3qxrd?= =?us-ascii?Q?ZqjYovKQM7/IvtgdM9KfM378e5kOUJ+X9AK6gFOMW4MymGdA27CA7pM4GxUo?= =?us-ascii?Q?NPydIEyD0qqU1RXGkxWIsWkmBk/21aWw?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BtEx7DjTb9cRC4FM3Av+K/nO5cK2yoRgD+rXDPJ07suGic4erij38kktqEyW?= =?us-ascii?Q?dhrPhhy6J8il264kkrbtg03lE+lwhp5qO0dwOErW4edbjaWqd+B0QIhFxoQ9?= =?us-ascii?Q?lQTysFvauzlRyX2MoY1Atly0hGvNYtHVBJ4cV/UFmnVsr2+v7o1o04lNAUvN?= =?us-ascii?Q?aGfaHUJ4sGtsw32HZPJKwsH+6OWAMDP98S6KEjQ79/Qf0DhsCstJ+D33p5e8?= =?us-ascii?Q?WQ0jctzdGz4Is9Z4tSTukXBhAuW6v0Mt1rBbXR8wyZk4hcRN+a7WalkykLlI?= =?us-ascii?Q?7SYQbS2QrSnp4oVtKB25oKlbk4CTxXmtZ+tCmGYCZqA42y8DKxFZFV2ypDS+?= =?us-ascii?Q?ggHCHZ3cCUt3FThE8ZPg9zdc+4m3c7bVDgQ+qySabiA0im14dRIFDFfhfO5Q?= =?us-ascii?Q?3Y6tmhAYPwDyjuOHpTXTIBrXyDBfZV8blCuqASLy9hE9xwCx1SLk9zjYA5Ja?= =?us-ascii?Q?bfGlkd9b+u4WwSCK4XeQPI2SoqF5etqLcgSuSRSq+J6ak9UFBatOye47UmuW?= =?us-ascii?Q?2MXY/oyNCOXjdLB3II4x/VtrU6C879VyYwUsuBWhhjRTcBWU9RsNuqp9Bj7g?= =?us-ascii?Q?D/pTufFiytLz2vcJ8Y1168oxadgSgzNBzkKuiSC3K6QfRkZNVM/C7BaE8oAm?= =?us-ascii?Q?7oPBHKdIg1uFctpx9GXZmFeFcjuVBrbudhYQpZGiNBTkSZtCzlHfKVxq6TUk?= =?us-ascii?Q?UxHcTZY8KkxDgvJ5PyT2wodQpt5YZDLe1myy3Oi7mOHH2io6zvA6RR8xtwg/?= =?us-ascii?Q?+vNLUy4TltF4uc0GaCo/iRPCRGWQTAVlNRGhn4BL+I1Am5OdV/g1ho0ZHFGQ?= =?us-ascii?Q?EnWHlHzveAT3aN5a4tKwJJYmvcG9n11TMpBurOLUz+K6NT/8/2qNbp5UxkMy?= =?us-ascii?Q?4mIItm++MJopWVDqF/n1hZa+RBuC1AcnKrj83pwCQ2den/9Hq6jWdMMOb6+j?= =?us-ascii?Q?6nTkrSZ88tNbj/51KoRtzXTFv/75dLvV7wtG7JaXHQ4cgIfc7oqcYyWmDbag?= =?us-ascii?Q?0j7n3TMKCh7NbPbFRX5h2TSPiokmSVO0obJ2dEFoPH4roI8+WCN/vRitugNm?= =?us-ascii?Q?g33BXvTF1pnHSXcBrHLystQHCZHhKiIuLqLezm/xAwrrSXIGuqeg6i6eiz6b?= =?us-ascii?Q?v+LQWz5iv/co6aiP+DbNVQt8RlayA+Hx6QmPHg765tS0QWU/IcCfwJqwSCDx?= =?us-ascii?Q?rmikdGguWSzOUlAynFQhG//uVkvK7NRXDAHkDqSv/AD5+DeBRz5cekknmX8Q?= =?us-ascii?Q?x5XNs6erlCuLJGfE/UItGABSK241oKcGJc0Bia7WPf2yBFsmi1vktFEA7+/4?= =?us-ascii?Q?lPde9nli7CdKaFoI80uPRD73B9lV++wfGvDmBokEuufAHWvTwxKM3UDVTyES?= =?us-ascii?Q?1JcKUaCgY8YQxZ27s7Mfn7F4wclwGEU8BBxurYFYrpOIRCOrRd1alY5Fmvcf?= =?us-ascii?Q?jskW4399M1lPELy9kzmQwoULF81t0LA0UEYtqyWwJfJ7EBPqBNGj7Ig4iLCn?= =?us-ascii?Q?xr/3eR1MwZXRfkePiVjWStPpywu7dvMDJdVVpLaPSx5uqeG7cEto62ThM7tE?= =?us-ascii?Q?S3+ttq7OpYTMUu5xeO/3leFM4fNPfdYOFTgB3S80wlPI2vEeGGBuc0flynIQ?= =?us-ascii?Q?7pV/Z63JCdQ+5GOEOl/+M7U=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8ea24f-0c55-4cbf-c38b-08dd5679e72a X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:12.6757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RRiq+4YERGMwiqKIqrNYobkj3frjbQpJDpzrbutSgxl+ANG3pOX2bQQrWnDFnP/zGZqBBVr3OJCutQexbeMCrTxAMPuJXZykOZ5ypToBtswRwLShv0mee0TZ9msVVqI5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar In preparation for adding support for the RZ/V2H(P) SoC, where the D-PHY differs from the existing RZ/G2L implementation, introduce a new rzg2l_csi2_info structure. This structure provides function pointers for SoC-specific D-PHY enable and disable operations. Modify rzg2l_csi2_dphy_setting() to use these function pointers instead of calling rzg2l_csi2_dphy_enable() and rzg2l_csi2_dphy_disable() directly. Update the device match table to store the appropriate function pointers for each compatible SoC. This change prepares the driver for future extensions without affecting the current functionality for RZ/G2L. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Moved rzg2l_csi2_info below the definition of the rzg2l_csi2_dphy_enable= () function as suggested by LPinchart - Collected tags .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 4ccf7c5ea58b..4aa5d58dde5b 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -107,6 +107,7 @@ struct rzg2l_csi2 { void __iomem *base; struct reset_control *presetn; struct reset_control *cmn_rstb; + const struct rzg2l_csi2_info *info; struct clk *sysclk; struct clk *vclk; unsigned long vclk_rate; @@ -123,6 +124,11 @@ struct rzg2l_csi2 { bool dphy_enabled; }; =20 +struct rzg2l_csi2_info { + int (*dphy_enable)(struct rzg2l_csi2 *csi2); + int (*dphy_disable)(struct rzg2l_csi2 *csi2); +}; + struct rzg2l_csi2_timings { u32 t_init; u32 tclk_miss; @@ -355,14 +361,19 @@ static int rzg2l_csi2_dphy_enable(struct rzg2l_csi2 *= csi2) return ret; } =20 +static const struct rzg2l_csi2_info rzg2l_csi2_info =3D { + .dphy_enable =3D rzg2l_csi2_dphy_enable, + .dphy_disable =3D rzg2l_csi2_dphy_disable, +}; + static int rzg2l_csi2_dphy_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 =3D sd_to_csi2(sd); =20 if (on) - return rzg2l_csi2_dphy_enable(csi2); + return csi2->info->dphy_enable(csi2); =20 - return rzg2l_csi2_dphy_disable(csi2); + return csi2->info->dphy_disable(csi2); } =20 static int rzg2l_csi2_mipi_link_enable(struct rzg2l_csi2 *csi2) @@ -772,6 +783,10 @@ static int rzg2l_csi2_probe(struct platform_device *pd= ev) if (!csi2) return -ENOMEM; =20 + csi2->info =3D of_device_get_match_data(dev); + if (!csi2->info) + return dev_err_probe(dev, -EINVAL, "Failed to get OF match data\n"); + csi2->base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(csi2->base)) return PTR_ERR(csi2->base); @@ -891,7 +906,10 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops =3D { }; =20 static const struct of_device_id rzg2l_csi2_of_table[] =3D { - { .compatible =3D "renesas,rzg2l-csi2", }, + { + .compatible =3D "renesas,rzg2l-csi2", + .data =3D &rzg2l_csi2_info, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rzg2l_csi2_of_table); --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011036.outbound.protection.outlook.com [40.107.74.36]) (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 F318722157E; Wed, 26 Feb 2025 15:26:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583584; cv=fail; b=Ritn1JPEt2RyC42MCgCbq8X8Ga8donk+MSJU7WXtNbQfmd4XdAWPl+S0SYel8y2N06cyOLoPmcep5TB02v1jBVs1MCp3oDja5utq/Djy+rN8hqJxyKWtzvO9sichsaZS9UpEYQ8VgJd7gxGM7Aw3kCBSwoAC9GKy+nxdYJ0p10w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583584; c=relaxed/simple; bh=64UM6fkOuHAU7eNNKixZni2Q8U8k9E1uHxCnW7dmHTU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=DupRsLt7Xd5rtCUqLRLXScf0c8oxgng2FrR0fj3MCx+i8W0AuCEq9XuxBCrAoPFQ5/+JiJfut1gQBWoQhIVB6DT+p3/Cr/BKLbJv//h+UV82Nq+UxGIALjqZcjjYY2S6FmHZ+Jbud+Ne9kon7euzc3xI/vmNcBzKqjeJTIlOxc4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=EYeyCd+H; arc=fail smtp.client-ip=40.107.74.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="EYeyCd+H" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X2xWpweifgIsguF/fiIFHPH+rL8qNr/CJHF3r+X+9el225qOHeBI9rYINjGdOLXk7qZu8L0nts+b+4uzhKq0FrutizOZLp+DjRtVOpK841MaSGBXxW1SBaO7vCoLHqTY0AakUkBFJzDMWJDWK4LRG9nNOxv3z4EaWyy6q6t7+/hthAXe3Qw37YwKaChQopy+oRPTVXQhXS1eWKehfg61V5h8rCjiuO81j8QOA6E2HGbjDWyFsxYW61ynlN8O/ZddwL9MxpMSz8/YcgV2tV4GjG7PwTOfZECLjq3LpQZpyYLNJtA+aqrsZiwR7XkcSoAEKsoLFzneKS6ri5dV5hYDOA== 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=fy7n4PKBO6cWSpSVqQV7RaACCwuH//pMEbcPtRekwd4=; b=rsKf5kHcu+LlH+9rqlxUwMHmMcGr/cwiSWI/nJVa1A8YG+lr1TDg0IpzbFkLTWgrNM+CttOuObzY6hSqureu55TQ6o2Q46bDvgwhaGcJ7Lp4Xmw3J8RuDCMGQINT4E3lviOO69d473qlhmUYBwwgXtsXI8WKiP0CXCo1oOpqUS1Y+soq41VdZce39jDgEQuFmWbIokUmfRko3vBx0zWVO0yF6jEGRFehZAmRSLvY+XcwT+0opealbAi7iYIjYUx1vWRghCiNmw0iyxa6ETgy3oOCEhS6WCBpPEagrm+uz4v/dEHGTUtWypIBg0ijjMwRPsMzEilK6UCgx9pKYWp4wA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fy7n4PKBO6cWSpSVqQV7RaACCwuH//pMEbcPtRekwd4=; b=EYeyCd+HjmZE2+dwK4MozKuy1ZEqVviiibXoWkIbHE9O0qeTTIFXS7FkZPtuxlJ+BJ6pOX0jlBtLbgJ7oOHybi63YVLqQEUjP5P9KbMwY8eZ2xtCwmHJ51nN0bBWyyy1Y7Kybc2PLMrzcLu/Yvhbxahkel3juUdgLLnJ3Tc3pDo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:20 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:20 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 09/17] media: rzg2l-cru: csi2: Skip system clock for RZ/V2H(P) SoC Date: Wed, 26 Feb 2025 16:23:33 +0100 Message-ID: <20250226152418.1132337-10-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 244b874d-a5dd-4beb-666a-08dd5679ebb0 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QgPX2giBjI9N3IIgyW4G9HITv7Y6G5VPHhGFy6Vp8nGKIkv9R//wwnx12aVc?= =?us-ascii?Q?KZPPcULQChFN3L4PFsjEr8B2milcdv0oCapHe0v4+UKPNI3FCTLh1s80rL0h?= =?us-ascii?Q?1ZhkclCzBYu83n7qS2+ACfIBPvZq74f3yopsrZA6ybWaSUayUBrO7qWnFcdf?= =?us-ascii?Q?1yNdtDGrWhRtlw7x0p7SdMMfQ5aM2yscDUEyWFKZQaex9PHJ0V81AlVahRu+?= =?us-ascii?Q?/ZLzDH5EHEQP+sry4rfjiVaoFcStO0bE4vv+G3YshjtY+KTBKDOUpbKcl4d6?= =?us-ascii?Q?GDoEbcdQu0XEcTXWXBuwdue5uVuEC6E4zpv2IrFudDhwLCQrSQLxbbTwKAF/?= =?us-ascii?Q?tYYLhCAoSC2s7G6N5qF2XreEci4KrsNDX3bN37tobUz8E8iT107F2tecYQKK?= =?us-ascii?Q?xrmKOJx94miYjlgl2ILqZrAQLKYYqVo3nxLRQHpkgkeJI99FaWgqqZkDUkf1?= =?us-ascii?Q?fG9lJz4dv/nYS9AxwH2Ziogfz+MrZML5VfO6V216YD7A9Co5Vy7Wc7RaEAIq?= =?us-ascii?Q?zK6YB0+ElSB6YfabYHOWCDW5r2dMWSk+RP0Vf20Ti5MUSIXmYVrdNKvJaRhM?= =?us-ascii?Q?iQrp2QiHT/DoHQT2azF7yiG7GV/w8hTml/d4O1aQYh9Nwwyu3c8iavJ6T+7R?= =?us-ascii?Q?OMCZzI75KuvPOaz2T1OVpalX07m53ZB4aOfjgj3ghEHHsrQPTpDqSRbOlDh4?= =?us-ascii?Q?eFgN3OTIvdfPRct0dFWoDtaOlLbYJVd0+NzedNzEHkiOGJ1d4ieNiuMbZ94E?= =?us-ascii?Q?wx+JBtwBa37fx7HxeIb2SgitFHr3kLOM0O6Z13OQrCEwLFA/AVRcaKq0w+u4?= =?us-ascii?Q?Szlhf569BHdtlw/A/xPMQF9M0AP3o7TAif4DpK6R3e8eUYMKnyb1xZJuK36y?= =?us-ascii?Q?xeO2UeZVpHOo1tyfL5WccD/WIvLq+6hak9dFA2MyxZ0mNCVuQ4xcuSs4dn9a?= =?us-ascii?Q?DQav2EuhZ1M4Sd0vJx0od31p+ydHp9t4NxmB2Ca5A7cHG6sGYhClPBj8JurK?= =?us-ascii?Q?FH0onASY/KMYew7xQ7OnL7eOuvFwJBIjLzY4nPJyhyY9c8h326TIBt/YMVZz?= =?us-ascii?Q?a5s3pDSplllGbTUPFu+Zu48STo00zpAFdK8NzwyZyKO/nu5z3y5QsQPbiICY?= =?us-ascii?Q?Z1gpizQD5JbTiq1/xbAhnm92v7nFr8sYCzySkJj3GiTagOP2R4hbgpMCEAhb?= =?us-ascii?Q?3cShJ5FygOT/e45BAI3FsMZPGzJNjeLQum3E6vOIzqcr6X5ogCjniuyT2uC2?= =?us-ascii?Q?012cUIms0a1oI8YZUWJpCIQzWIPHOkeui3PY1rJcr08uvA9Uop1zTlQF275E?= =?us-ascii?Q?ITuFLPKMfuGdE4pSdxgB2n/XoQ+4DBpJUS4ZKBVtBafX0Q9HqNo8IbOyYyHu?= =?us-ascii?Q?6zby9Uz+MGaSPu4eFrxfVIKiv/OZ747WCItWL6hL7vG4BnJpZhlSuw4x0Kd9?= =?us-ascii?Q?RWebN1qRka6TxU0PTiXhjZ9VKyhw7uu2?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?H92LdeRIH5mXvmEE9kb0zGq+CmcWF6iG5PZviCFbbjCzHiHoIvmMgyrW/2YY?= =?us-ascii?Q?EscLl6CfaVrgZFw+9Y06VrpOq+RSDT5NYBY2IEaMkV3zulzn5qmqQjrMhN+Q?= =?us-ascii?Q?3z+U7oqknMEk/rkTCuSEz3uUUQuDhIT0qSqZVK2kaM2pz8RGZHwrw0GbCdwr?= =?us-ascii?Q?VMvkF9S+Rw8lOAzHrzI/K+O2xDCoyaN+NJe+zaaX7uUZ4hZwAVcOUee/OzoQ?= =?us-ascii?Q?n8MACXgKGgzaQakSX0RSMpfRoUijWiO7VXoCbrEk+OBjZcb0QWlgGCOGCps5?= =?us-ascii?Q?mneNGr8Hii0xPBNuGXVH9fg+8TZLsQ+yEhZucZ1MddMC7bh2Ns9BuYOgg069?= =?us-ascii?Q?E1/XKDdTMAwJIjHwTbEYxh9PQ+4d76eeQ9vbBZn5z0uGAYK+60pCrS4Vh1wM?= =?us-ascii?Q?U41M0bp2KEQiIVKHkQOdYt7ZFnil/XBVG29+iYVxsokS7QNCMk71x3FMjDAB?= =?us-ascii?Q?OEYGjs5SrLrn55+2m9nquDDDESvNBMDLfSOfvvxyY5yNLCTFobU9M+i7hQTh?= =?us-ascii?Q?Pfvoq/N+gwFpJYlF+vPtS2HhvXu9UtCmPzCD1ff/UcJuE7JOfBjhekX7hB1L?= =?us-ascii?Q?bZemZGNVSgVq2nyJm/pJ91BYyoHFesO6v/SwzEGf+qI1x3m1ro0LkqDNr1je?= =?us-ascii?Q?ojLWmXia6IVpbgfEh/oW2whRIWixUyIzACtp6Eu55hWjTKsXU8S5FqDPZLov?= =?us-ascii?Q?enDD/6cB1DIQMTbzzDwK2cjMwtl0lwGtR9qCaBdHMUnnYYcLhWPw+0ubiWYR?= =?us-ascii?Q?dxZtMes8xGHrDmGySCPlQBiL9qEouYIeOl0A5UDGbi1Tm9vlpTcVKo+gHOew?= =?us-ascii?Q?3AL7HOe20bHDcfjZucv47gf0j4Ca3ABqTtTyPjLhZwCLOPIHQfRdnMyyRTP6?= =?us-ascii?Q?ZDnXYa11p74yiRo24aS2mEDGBe1XjXjBeLVyk34Ek7Q9N8XnLMXRTSyeoSpM?= =?us-ascii?Q?19kcZ+lGI2f0AFIvstLOOT0VgP6urzwsTkRK+jmF7FG/B2qt6/+FSdu3P/TP?= =?us-ascii?Q?tzNXveH5Z9oYNGeH8Q3102xAj5hK6GeTgrABf2Q9bW/px5M4G7l7UaiBm88f?= =?us-ascii?Q?NgNrGvJ7TlnZa8DTd0cTbNZYztSUwWEesqoyxuX6MhdQh+qEXoIElqkzvgYc?= =?us-ascii?Q?6mSD5R4wZeAd1kLzQ5l7cqfznuU3+KRRFZ2Ma7JcTYGKgAvhovCvSEDNv5WU?= =?us-ascii?Q?N/tb5mqlJoBK1Ho00woiZzCvYq0a6SGGygwBWID+V3lrpj4hvBBD5LhhUmyb?= =?us-ascii?Q?/mx03InZ+1NDmLj9LkXANmHR7LkhlRbGSNR2HxxlDGDogr1JpoHvLJfFgCzQ?= =?us-ascii?Q?0y0R40ck2Tth4vjYCm3ZBixW6rFfdxl+1ZGtnG1mWAIVzqv19OD4CsRAg3mV?= =?us-ascii?Q?K1kpo7SmRZLJbzluqcYrLzJ4EnBuYtaHRpz4F+SPYkIfJ+5byY20gcJ/2d7d?= =?us-ascii?Q?yDB27FRMYxbHpV7u1gZLU6RCm9feMYzjOZIBogFpUNzrJeZMUMaKjJpOtB77?= =?us-ascii?Q?+E2ezqfmh3W/jh4Q7F1mfH9Om4+0zv+PRAITOoBa39vnOklCvRm8O5sOALX1?= =?us-ascii?Q?0er1aGL8LKOVMnb1GaPHtGaBxsb0/CzfDxZawh0nwqK150ccCYYV2VmbRpGk?= =?us-ascii?Q?G8bHXg2fnLMYxxgB0htObf0=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 244b874d-a5dd-4beb-666a-08dd5679ebb0 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:20.5009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qF1SeyMOn1ZRqik/MB8yDlAne7N10Y0mh77KK1+WUsBWQGRr52lvjiURLBrJGHG7NyEfie6aPIt+cmp2Cq8AaQOsXpaCQINgKAusnKk17Co5OtUe4Fppokbic3KfwhqJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" The RZ/V2H(P) SoC does not require a `system` clock for the CSI-2 interface. To accommodate this, introduce a `has_system_clk` bool flag in the `rzg2l_csi2_info` structure and update the rzg2l_csi2_probe() to conditionally request the clock only when needed. This patch is in preparation for adding support for RZ/V2H(P) SoC. Signed-off-by: Tommaso Merciai --- Changes since v2: - Added has_system_clk bool flag to the rzg2l_csi2_info structure to handle case where system clock is not required as suggested by LPinchart. - Fixed commit body and msg .../media/platform/renesas/rzg2l-cru/rzg2l-csi2.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 4aa5d58dde5b..e4781105eadc 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -127,6 +127,7 @@ struct rzg2l_csi2 { struct rzg2l_csi2_info { int (*dphy_enable)(struct rzg2l_csi2 *csi2); int (*dphy_disable)(struct rzg2l_csi2 *csi2); + bool has_system_clk; }; =20 struct rzg2l_csi2_timings { @@ -364,6 +365,7 @@ static int rzg2l_csi2_dphy_enable(struct rzg2l_csi2 *cs= i2) static const struct rzg2l_csi2_info rzg2l_csi2_info =3D { .dphy_enable =3D rzg2l_csi2_dphy_enable, .dphy_disable =3D rzg2l_csi2_dphy_disable, + .has_system_clk =3D true, }; =20 static int rzg2l_csi2_dphy_setting(struct v4l2_subdev *sd, bool on) @@ -801,10 +803,12 @@ static int rzg2l_csi2_probe(struct platform_device *p= dev) return dev_err_probe(dev, PTR_ERR(csi2->presetn), "Failed to get cpg presetn\n"); =20 - csi2->sysclk =3D devm_clk_get(dev, "system"); - if (IS_ERR(csi2->sysclk)) - return dev_err_probe(dev, PTR_ERR(csi2->sysclk), - "Failed to get system clk\n"); + if (csi2->info->has_system_clk) { + csi2->sysclk =3D devm_clk_get(dev, "system"); + if (IS_ERR(csi2->sysclk)) + return dev_err_probe(dev, PTR_ERR(csi2->sysclk), + "Failed to get system clk\n"); + } =20 csi2->vclk =3D devm_clk_get(dev, "video"); if (IS_ERR(csi2->vclk)) --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011018.outbound.protection.outlook.com [40.107.74.18]) (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 A014A22157E; Wed, 26 Feb 2025 15:26:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583592; cv=fail; b=mNTF3rucmRcoZbzicE8XBzFkEHXN0vbjHgQDxx5ecRefjLrLLveLimVzzga489j9y5uTjARCrJ3TrvVA+/Y1XtMgCpKUBrmA0FSkXYT6mDQIZfvxTiv/+mmHb2JxS3lxZDiA5Z+hbtrYkRBC35CC9LG4Jxo0aJFvxiDt0D0PCs8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583592; c=relaxed/simple; bh=s0LbwMd+yNOrDuaI69BkfWNoj6IZMmF36hfugARTaZw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BwEC6qI1e2yXiPd83zBxbO7LltTXJU94gRJ4vgKTRZHSWcMGBr8cXEiDpq6kqxM16KtsokzpZpAuoU49+Uak9wCiSv/taUyW2YAgT8AqjQ7s8IwGL8OGOuvYBrF0/7kuCcOiSpgBvxsx7CtNZtqswnfK9Yif2tYFTVO1goyXWRE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=cxagoxV9; arc=fail smtp.client-ip=40.107.74.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="cxagoxV9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Hnzq6pBDSlMxZKBDtOdKqJ4m7Ww9DHSKGB5tFuD7MIYz3ezk6XKLcmisKk3/FRRpQ2aPdxWWcwjeFwrk1myv2OG5lUtQ8YbwEqQY2lJV5JHLRdlzHJBcm+eX0X18gvSU+eLrDNS+zg9sgPn/dxLFeoJCZxSP60A2yf85CL1dDuFcGLiZ+qGD1NlNlqWsGaCSoS7KISQAaf1wFsdqw6mnZscJ7zJacW7bMTMBU+22AV9J+qZBaQwLVzcFcekgZzr4EUVtfKq359EPq4T3TIvjxQOPhffqIO6tJ1E17oh+kFjkahW0nD+US6/DfHGjNlReAFzt3GoNqNKEa8ULln0W/Q== 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=hlfJa5bXaEV/JpIyOlesXVZosJEKUGMLaFI88fiQ4fw=; b=rkTb58u5UxZpfgTl5Vv8tk6VT6Wc1mfI7y3O3db24FfoXcdBw0anQKN+N834AKO08jK06Xuc6xamRznZiElkCwIHMpGigacEOHXqeSouJ7jG9DPZRMIqdExS5V3gDp+rZgPg58pyO9y0uIPGdw+6ebKl8ujRiD2fxTo0LxWxhvP6QUCKh1GSy1SkrPCiOmb2N0bEMn67CRKqdYICZ8LiPzFp8QDDjI3ZCq7Ue2UZeA91T8rLSmg0s92QxiAF0f8hWRfB8y/L2Ri2FwqDNBqvc6pxwXRzyHwQbfaBgA2GxGe60yOWBgiJvbvha7wBOel0uxdaGnHzEpIbulXz/WPGkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hlfJa5bXaEV/JpIyOlesXVZosJEKUGMLaFI88fiQ4fw=; b=cxagoxV98jfWT7yE6z1OztgPFCPd+OnE/s5H0QuEdM3HvQ5Pv+BGn2Jxe/mKGafIgZ3AyJrHvuhso2CEpNjNoupjGkATsHIq/eqSK6rI3JuOUDH0cS4WCdrzjPU7Jy/fcoAn2IIVJdLs8QfEjzB6cC0eKW8sniWJxmxA+N8/UOo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:28 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:28 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 10/17] media: rzg2l-cru: csi2: Add support for RZ/V2H(P) SoC Date: Wed, 26 Feb 2025 16:23:34 +0100 Message-ID: <20250226152418.1132337-11-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e904416-9cd9-4b93-2b0c-08dd5679f09d X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?28HxLzqac9GKwDrnXxIA3DMddAuuPiW+t+DL/bCSeQuJIh0+YKQtwjGw0hZX?= =?us-ascii?Q?0NzEIKw/ul7fh7UZ9Jk1/zIalP5Ih5wMrDQGgiQx7sYrrE7rRjDKE3vjQF3E?= =?us-ascii?Q?8VqowV9rb3Wit3IvKeGZzHPI+/GSDujxWeYZZLDY/mDNMKoBH9shGP2HL/h8?= =?us-ascii?Q?dO/msnhrwBBpQ7g8NCbhAjJd0FgH3MNNZjEIONXSLMXFFRIgVjjfik80WPRj?= =?us-ascii?Q?Bsbl4KAZhMJcFoHYXNnBz8oV5gTPLPLCgkcL0Qgcbj35LUwcFWFdaThSvPRL?= =?us-ascii?Q?thF0wTLdED4MIi3CVhrTs/MGAleT8Wb/Gmpa3ffeS/YRnwbpHpVo+fBK97ww?= =?us-ascii?Q?4Kk1hK5D0zxy3Y6vZgzLSZZAICZqvRE92QSUoFjOyV3p8gEMgjr01lk+Lwm8?= =?us-ascii?Q?jJNVHIwGymC4rBISlToOP17DJ+iQ1RUNIkrfhEl5W6FqzHy9sTI7mplyfkz/?= =?us-ascii?Q?IyMKm3fL/D/2GG4DKRqCOffomYd8rVV5rm0tEneW4zPMDaEdDS4qd+Nqw5x0?= =?us-ascii?Q?3YQo1AMjRTMWlw9cL4MBMjw6bLm+qFG/e4kH/3Tg7g1tu8jJzjaIuyjpLcUs?= =?us-ascii?Q?4mmWWubC2I1pQtBR785If0ou3pICFNN6HT0OOc0MUKdAU2x+8dsX3Lt/bEZo?= =?us-ascii?Q?piKGtwnGVGhM3Tmez25RhwKZYKMFqckuOXR3rFMUxz27sVGosZBd7nsI7BhJ?= =?us-ascii?Q?pdfdfoj4bO/slgufPYTR2koYOYLdJNO+4Kqv0QPrFi9tnSfqUeo0QKsO2v1+?= =?us-ascii?Q?2P2QtU0nZ5qkmqKix7IEnUIjL5QahMuQzBC9ihdNVibDBtM1tsMvGuJd8nnb?= =?us-ascii?Q?SECWPguMCO8E/uFUBqDurv3Kg6mDCJaognV+/h/pGsOAwuEQSHwJSL0Mxnus?= =?us-ascii?Q?5e5PuziwUHlA5bfeeIpnBgGXg07xAWJANYaG08p7ckSxENX96FxzcoJAQgOt?= =?us-ascii?Q?mjeGQsnuZKL5FohTtIAz5vkXE4vDLVagQFUrQbbc9+D3V5NoqRdm57YHQ94S?= =?us-ascii?Q?ar6/u1QF4svAxifq5NAIb4IbedLaTq5ZL5/56wQELoqFyAfZsDicIvDGoe5P?= =?us-ascii?Q?uheb71ZNkgSaJi8NdnLEVNG4+13ZwoQmcllHFwrJg2nTMdq0eye0IbzeyscI?= =?us-ascii?Q?RStdyJpix/V61c+KE0DGlVGAawCpH8LBNZ4iS8Qa87lnZxIBBHhhbEezv7Y2?= =?us-ascii?Q?UERY8C3MUrd9xuWkzgwe/MdQPhuqR92HAurBHJklHHPiPMyIDH0NiNTZcg0r?= =?us-ascii?Q?e32+5+4VfTXlfbkQbsw/UbrF5lU2FoVnc+JuBooK8eGJ6YF0EogR23fbFKIL?= =?us-ascii?Q?XdcZhRnvvO52LY6holIfsxXR2lTo68TIpx0+lw1V0Ya4DqGCUYhmXMNfXfwZ?= =?us-ascii?Q?RdZb3TNbvuNNDIpJPz9JNkEb4hppRuVjL8swOMhJLIN6GTIneQSS7sMFim5z?= =?us-ascii?Q?JF11SlmGmPjRo8bhEPLOrdM/uNqM4h3E?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lRt/p3u9wd1W+vWPOy9/7LGaL6erjv1Ii597oZ04Av/2TqFNjXSqPdtCXvI4?= =?us-ascii?Q?7achFzkziM4zETIKcX0ZezpHotmnqZ5IUKSgXDg6YXj+Gq1Tda0Y4O6Y13u4?= =?us-ascii?Q?p5oucIOAraCv26+Lr0o7qbpMHqp/6iZTKVPUtzP5ebbP5q+olLrkQM6j/r8n?= =?us-ascii?Q?kJS/0sn8sk1tMwpIrGHA/odEk4UyrzGSaOVKvg/f/OwWjOtzuREFau8pxEDn?= =?us-ascii?Q?yTl1AhBeWQIzDyC0BdWvCUadT53VzDpM/n0FAdHIVELzxmQa8vQ3ahrELG62?= =?us-ascii?Q?sFK7u+Ow+LVsvys1lvyb2Gch7bsI9WI5KQBhp4mZeHOoP6FafevABvLEakP4?= =?us-ascii?Q?orTTeUlJ5xKHmXpfJKn1eeutfED6207tQ1xVcOL3Rk0GoIsCJ+GuJ0GlI8kH?= =?us-ascii?Q?5TomhswGybd9yrR3D5+8Bm/zOAeEdSKi71KkaWCGDn459ghDRpHQJ6TT6CJ2?= =?us-ascii?Q?PGI2u5ZPZZd5gEyuMnC+c7LCM/GTZUvIBlNC8x0TfBFVn+j19l6dZGxiUTpp?= =?us-ascii?Q?iFzU5vrhFYyEqUHR+rOsZXbuyuhS3ir8/oO28OvaSeExbdS9gycvLP8Ao2nl?= =?us-ascii?Q?3pTtRhS149RlotbRr4kQtw/CfFYICy6s7gsly5HE5brWs71ZggO7Vqf1TGwF?= =?us-ascii?Q?3uhwtsO98j8M+jRmhBpTNUUpdosb+NqU2MVnurV/4sPd4QLCDRzAREGH61zk?= =?us-ascii?Q?5BCneL9ub8Xv/7WMlth58AYFrA/VXxB3BWZzKqrYvs9yfmDVZNbB+CdN+nkR?= =?us-ascii?Q?Ng/bQSjS97PyEu9Hc+rBH1PJagfEu8l5uE7OJDI5qGDlwlRix1uenxJf9pFd?= =?us-ascii?Q?vfEFvGMh78jX1ZMMvNV6owMJhfcmEif5Y+FPdXm2zNmDqzPv9/H3geKrmke7?= =?us-ascii?Q?D0IIBtdFXPE/SROjzK/mzf7y4rdCqJTxLPTe6s6ZQlJX8luzupdPsfr1VnhS?= =?us-ascii?Q?YUqeQWcvjZHF/98Bu5LCbGpWkoZCSSCbjtK3Po0r6JVgIR5vh/XSrJRkXnTM?= =?us-ascii?Q?o1ZZp1uVyCDPw2dXDxa3j3LvmZlPw+R2umfnZxcyFWQUEjYVflaQqm9MGrgq?= =?us-ascii?Q?vsI87VcQ3v2xdteHcbekrdkXXLmshAwfBWCT3gys6wT8CA3rsh53dR6NdRyb?= =?us-ascii?Q?LdUSWviTK0cYMvIc3ApAlGZ9I6u05AHfq50CCKPry83qYGibdVtbVRrwyV6u?= =?us-ascii?Q?nqPB1FL8IKe3TY46x56x/GMr2Jxgc5yzPWcCpdQUlARaHVxK8G7DJS+iJMX8?= =?us-ascii?Q?1Q1Ph+WmrCHLL6ynvPiwPVVvHWP7WA35i1yHD98HqEUCDWRFUrL3wo5czDni?= =?us-ascii?Q?bvOL5Wc6O+crC4FjAi/rLadVBSeCeMYMDKLP/DCTKggKaCyJlCdgCpyGYZp1?= =?us-ascii?Q?ugK47FMUXI/lv6PnRYhSJoIoMwtI6EaBmHU5QOKo2sZUI12UBG8nIoUG6wNs?= =?us-ascii?Q?9T7qFIGTaW2KHB7yKmNFz9ZJcZANFBdXvEXzljyJ6NB3KHWZ1jngoNyGLVO+?= =?us-ascii?Q?gSuS96u6ToLZtqpmPX3e4BEIhBkIkN6osVfc3/I4nnwno544FKjvoseIatNC?= =?us-ascii?Q?CmVvu//lIi/SKhFtJZu4llXEQkTA7QUsW6sH1AhVvgK3XVcMPrDvMVQrHnmE?= =?us-ascii?Q?5CBjSLFbkisDwvoIu2kR36I=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e904416-9cd9-4b93-2b0c-08dd5679f09d X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:28.7613 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: V3GgfXbKeQYDtzSu3ZAhAEoORNAv4+Bkwe8nZatHD3YmTmasnCZQW5BIz6w3+guFwAQO1MkGvIwErNBf7N/nclPL6TjUzQPGXMIWfmks+i/LdcMBgScT0Es99EqFoKvP X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar The D-PHY on the RZ/V2H(P) SoC is different from the D-PHY on the RZ/G2L SoC. To handle this difference, function pointers for D-PHY enable/disable have been added, and the `struct rzg2l_csi2_info` pointer is passed as OF data. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Moved CRUm_SWAPCTL write of rzv2h_csi2_dphy_enable function under the er= ror check as suggested by LPinchart. - Moved rzv2h_csi2_info after rzv2h_csi2_dphy_enable() as suggested by LPi= nchart - Collected tag. .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index e4781105eadc..9243306e2aa9 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -85,6 +85,15 @@ CSIDPHYSKW0_UTIL_DL2_SKW_ADJ(1) | \ CSIDPHYSKW0_UTIL_DL3_SKW_ADJ(1)) =20 +/* DPHY registers on RZ/V2H(P) SoC */ +#define CRUm_S_TIMCTL 0x41c +#define CRUm_S_TIMCTL_S_HSSETTLECTL(x) ((x) << 8) + +#define CRUm_S_DPHYCTL_MSB 0x434 +#define CRUm_S_DPHYCTL_MSB_DESKEW BIT(1) + +#define CRUm_SWAPCTL 0x438 + #define VSRSTS_RETRIES 20 =20 #define RZG2L_CSI2_MIN_WIDTH 320 @@ -140,6 +149,30 @@ struct rzg2l_csi2_timings { u32 max_hsfreq; }; =20 +struct rzv2h_csi2_s_hssettlectl { + unsigned int hsfreq; + u16 s_hssettlectl; +}; + +static const struct rzv2h_csi2_s_hssettlectl rzv2h_s_hssettlectl[] =3D { + { 90, 1 }, { 130, 2 }, { 180, 3 }, + { 220, 4 }, { 270, 5 }, { 310, 6 }, + { 360, 7 }, { 400, 8 }, { 450, 9 }, + { 490, 10 }, { 540, 11 }, { 580, 12 }, + { 630, 13 }, { 670, 14 }, { 720, 15 }, + { 760, 16 }, { 810, 17 }, { 850, 18 }, + { 900, 19 }, { 940, 20 }, { 990, 21 }, + { 1030, 22 }, { 1080, 23 }, { 1120, 24 }, + { 1170, 25 }, { 1220, 26 }, { 1260, 27 }, + { 1310, 28 }, { 1350, 29 }, { 1400, 30 }, + { 1440, 31 }, { 1490, 32 }, { 1530, 33 }, + { 1580, 34 }, { 1620, 35 }, { 1670, 36 }, + { 1710, 37 }, { 1760, 38 }, { 1800, 39 }, + { 1850, 40 }, { 1890, 41 }, { 1940, 42 }, + { 1980, 43 }, { 2030, 44 }, { 2070, 45 }, + { 2100, 46 }, +}; + static const struct rzg2l_csi2_timings rzg2l_csi2_global_timings[] =3D { { .max_hsfreq =3D 80, @@ -434,6 +467,64 @@ static int rzg2l_csi2_mipi_link_disable(struct rzg2l_c= si2 *csi2) return 0; } =20 +static int rzv2h_csi2_dphy_disable(struct rzg2l_csi2 *csi2) +{ + int ret; + + /* Reset the CRU (D-PHY) */ + ret =3D reset_control_assert(csi2->cmn_rstb); + if (ret) + return ret; + + csi2->dphy_enabled =3D false; + + return 0; +} + +static int rzv2h_csi2_dphy_enable(struct rzg2l_csi2 *csi2) +{ + unsigned int i; + u16 hssettle; + int mbps; + + mbps =3D rzg2l_csi2_calc_mbps(csi2); + if (mbps < 0) + return mbps; + + csi2->hsfreq =3D mbps; + + for (i =3D 0; i < ARRAY_SIZE(rzv2h_s_hssettlectl); i++) { + if (csi2->hsfreq <=3D rzv2h_s_hssettlectl[i].hsfreq) + break; + } + + if (i =3D=3D ARRAY_SIZE(rzv2h_s_hssettlectl)) + return -EINVAL; + + rzg2l_csi2_write(csi2, CRUm_SWAPCTL, 0); + + hssettle =3D rzv2h_s_hssettlectl[i].s_hssettlectl; + rzg2l_csi2_write(csi2, CRUm_S_TIMCTL, + CRUm_S_TIMCTL_S_HSSETTLECTL(hssettle)); + + if (csi2->hsfreq > 1500) + rzg2l_csi2_set(csi2, CRUm_S_DPHYCTL_MSB, + CRUm_S_DPHYCTL_MSB_DESKEW); + else + rzg2l_csi2_clr(csi2, CRUm_S_DPHYCTL_MSB, + CRUm_S_DPHYCTL_MSB_DESKEW); + + csi2->dphy_enabled =3D true; + + return 0; +} + +static const struct rzg2l_csi2_info rzv2h_csi2_info =3D { + .dphy_enable =3D rzv2h_csi2_dphy_enable, + .dphy_disable =3D rzv2h_csi2_dphy_disable, + .has_system_clk =3D false, +}; + static int rzg2l_csi2_mipi_link_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 =3D sd_to_csi2(sd); @@ -910,6 +1001,10 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops =3D { }; =20 static const struct of_device_id rzg2l_csi2_of_table[] =3D { + { + .compatible =3D "renesas,r9a09g057-csi2", + .data =3D &rzv2h_csi2_info, + }, { .compatible =3D "renesas,rzg2l-csi2", .data =3D &rzg2l_csi2_info, --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011051.outbound.protection.outlook.com [40.107.74.51]) (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 362E922F151; Wed, 26 Feb 2025 15:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583605; cv=fail; b=kqHzgOgx0YewMTv0nYfba4IEkMB2Fq1BC5kXNCD/H+s3dX8oO9wz3rpb0tYYSIEGC1TGezOCw3tn2ZYdGcm2xqwe1TU13bEKox+qZ9AOYmn34OYQUCifl0OYp27pOu2kDW+RXcn5Vv1PKZcP01NH0886RfXkNQMLm8HZvA5alGc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583605; c=relaxed/simple; bh=RF13DkM6Q9CQ/7QlEkmWIR4ZREIFuwHvU3wNJOpyi+Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=juCkanefgfnKjtUoKeZ16/vkXR2hPaHuFQpzhU39oh5zU0cetAdouDELg7r2hBPRFYVDSnfKoMFJUPa5mEfL6BtYul+sunwYCW+KqPygU1+Oygmdi5eu7+u/MD7tMXo2cuBPsKznXk7km/AT/LNqH3h80gBI8JkgSHxZBKHkbfQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=dktQMrsC; arc=fail smtp.client-ip=40.107.74.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="dktQMrsC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MI71DpNgiJMapW/G8Upuji4mqoGLTmu8HyyhZKSboiveINLO3M7Ol1tsxcMYY2oII0fMjEf2qM1iIRZ89Cm7wJ9uyKLAHXu8QXZ2rfKqqb5/SLAER48c3uI6tJgDecw9jm3hq/gOarhj40MdLI0Up00tJKp2HSJ6h8VQfx0k7weUnebCN0cjztWPTkkPhaIn/t6o+y88AfD8KC070yJgatm+pUfJWwatCJqljdvvD1ve0epOPxtDw9glcFtsRFeldmqzr+Ey4xuiar9nh/aG7QzWirwK3cT4CQxrIRKFMYB/YBVhdUHjmc4q8tZf+tsf7BKlQ1OiQGncZcyNy7kQKA== 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=XLKpxNsBF5xTXAIuDGy5THwATi5YWhLTwHjytEbsHYE=; b=kqxwnpyGYQGtkoepSsEf7ul3yZGXGm2/gd6Y3GZrUtcrwhWyLo9WsxmHnZ1Fc9+UrOi1OgB4AjUDMV0VwDDUPeDBkp6+iD3QjtMB7pooppiT1eWiF/WvzoZ9QL51Xk+Bg51a4K1/JncQhFSfr4WxiIY+8DWgieKPKO/BzQypAROmvWYFBlaFr4IF6IRc8hRVMpAwmJYmnLFwZXdAAqGYUnuE9X4/ppR05HomHL4XxD1nhg6ArRX9BC6ncGjSyAjwEOcypGO7q91Y6c3E47hIDkljQXs+kJs2cyDqCZO0KDk5e3jWW/U51pxSNzNYD2ZHG3QfUDtxNFyFzALYN0Qydw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XLKpxNsBF5xTXAIuDGy5THwATi5YWhLTwHjytEbsHYE=; b=dktQMrsC8vr7LxB4KSBhCXH/NJElmuC6vd6ug/Twk5huJM1ZvVM4gLY+yWQ8JxZDo79T4oZv6hikg+OkV5s0iLgxIzFIqplcyyT4Za/C78wnRWoB8k3Wzn9BT3A5P4BR8T/YK24yYI/ytwFoN3z5KlLm5/2clSAtruvIHdGu8lU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:41 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:41 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 11/17] media: rzg2l-cru: Add register mapping support Date: Wed, 26 Feb 2025 16:23:35 +0100 Message-ID: <20250226152418.1132337-12-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: bd337df9-ca19-4366-a8d6-08dd5679f7ff X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qdHbrnnJ7yNVOBnhTis/V8+QUpKpDFAdpMhFnicquEEkNbhTmaoZk1yCA7T1?= =?us-ascii?Q?I6o4JSojThr3GWf2peOqxi+3/ujfCCPgYnAB7FuAPF9v33+uxfmRiL951Xx8?= =?us-ascii?Q?j7gbEJGOXMwDFV1d7Ywf7xIMHOWpWhDIO9MCDX1iTCG3KH4JQTS/el2+SJZN?= =?us-ascii?Q?uaYdfJhLrSEHSfrk3f+4Nf+CYri+GavJ8FZIhZEUu3Wg6Dc9tTNHBl5bHQeo?= =?us-ascii?Q?QZrpr4RW7/Z8lHpNnC23rsFOcb1T80ZtU0SQlwdnYYUEpInf2VcwR06yzZMM?= =?us-ascii?Q?PDkZwnGespp4/XKolzcdKI92MgYvLu3Y38RZfQQno2vH45zxgTUURK8Pl/rv?= =?us-ascii?Q?M4hjPgexSqfnhxacoHy/J3euoD9IbuaUaBbiYy3jgJIPpFQzewMDPT2gdfw2?= =?us-ascii?Q?Hte2FAXbJH3FfPyXBP7yzibmwJrbWdGAH7YPd1ly4RUhBcpxdSWNkdQoKrcb?= =?us-ascii?Q?fgY7q2sKe22qNf4KzXEbsCAjgzEkiahkvpgqO/Zv3JBJSxpgttijdJ4NtbNO?= =?us-ascii?Q?6eGlIyOYpcKvLboWxWleh8bahWgqYFPNdLvo4C/H87shprXoWOVvbPHKI8v7?= =?us-ascii?Q?NzWd3mVYFaXHbA824tBZyJ8udOjcxDFPKx+j5NbVGIHTCj2oF3pvGQh+/Unq?= =?us-ascii?Q?vuKsMusaHWe984IsivjnaSjDXLaNtG5eFi5P5Ss/fVb7srGw0OyiB8lScOZl?= =?us-ascii?Q?kUQ0Np2GwCXBupDnexTowgdB3HXLLzv6Wkll76sinkGjupb9ZO6LJf21g6IA?= =?us-ascii?Q?0BjMPdgNkxJJpfaVG75rtG4eW/drergFHRYY5AMY6KvQIBf7pFWqPIaAud88?= =?us-ascii?Q?Aj/wG6t7/z7yiM4wLDx4zrs7FANjyslxYC4rdhemZ6KDo+zfW5AOOOxwFdBH?= =?us-ascii?Q?G5J4zbP6JNdThKXJH29GthwKPafpF7iRX0P8jNOgIwVPOFTHNibVlW7UnX9o?= =?us-ascii?Q?tG3lojDozg0DveKRkHUDQ7CK0zlx98Tsbj2hE2tSAZ8E03IjXH5wPw6YjbB+?= =?us-ascii?Q?nnfL2rJTuRp/VTEz+AnPJBjW0QV7V3BoJoDA40RNkDq79gSZtt43G4UgFWBl?= =?us-ascii?Q?njwKkbcQ+iBU09vW5HrTHHblmXXPeY57o5iSNh2Ok4a21aVtkPG/6MRpVkhI?= =?us-ascii?Q?7X+AFSxFkh9nficAdtmI6N36FjWERJ2QIjPye/VE4B+z1hBVbFe2/fVVbBeH?= =?us-ascii?Q?O5f7Bs2zBHxRfr4RfIH67IbBikSCSEBuv/7GGc1EPXw6rNBQbY+nLb4GKqTg?= =?us-ascii?Q?VaKBp5z86Og/hImE3A2zYK22nxOpwaC/xt3/s3wMxm0wVrZAmbNZ65HoGnL1?= =?us-ascii?Q?fLiPfXw+h8PsKG6bx/Tr1rRweQGKqU9x8Cbg3n/bYrf3NulqJQe866OR4XT5?= =?us-ascii?Q?8IYx7qpZQZlfT9L1xNueu32yEulFEPEd1keOkQ/gC3ncRcJNGth9BkUIkPzT?= =?us-ascii?Q?xxLBg94+XdYXcRfeKMXxH9tStcEZu3EL?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?toQE/AE4WyZdFXO8ZA7pURSMhfSb1huhZalcnFMvdPhESTm9hJbMxWcsPm0v?= =?us-ascii?Q?OR7FWmIBmoDwfMfOv3ZM3VFlRsIMCS+1YXpAoHO/21JAGQVYyPIVTxW5CHhv?= =?us-ascii?Q?brsFsRf8m3k4t16EB44kTkWFbtPO4zrLavfUQRUNQwb26015KdXrBnA9Kp0y?= =?us-ascii?Q?tX2bi+/cjEVaRJcaosk3lVuZJtz4X7z1oU/zL2h/Yg1Ezu0NLI77aWNjdoJL?= =?us-ascii?Q?CRfDx5eA7raj25wyFIetGMvUtzgRzV0j5ev5ptlVblrK9DIY7rWRhTmcYWVm?= =?us-ascii?Q?qXwLnqVuKcIpCtLP0QV+jyMegk7KDdsWtN6Wldl1HWVDgO5JYqP8iG/zFAAl?= =?us-ascii?Q?6lRJBJ9u+UFZJ90VlhiR5BrWryJD2TNuEncT83ElKwTOs+IEQ5ma+1+TvDyx?= =?us-ascii?Q?RAsl3Iqe32B+Gx7BPvzDWyXrFXdHYQ2MbNekEj2b2SlPuBGP2wnbAzAuCZUe?= =?us-ascii?Q?Szyym66stj0ubICp4gCLMwZD//aYtwy/1X6hbmP1U5o2PqsdtyBd6sxOuPjM?= =?us-ascii?Q?UG4S3n8dEJp1kEAEFvNonYz/CzpHkOn9MBO/8aP9at7UWx6Ph3U/F+TXF3bU?= =?us-ascii?Q?fij9NMrZR2wbgtL66KJLBsNdN4HEUgBhj1O0jl6ez8nCyNE3rmkMTV1Yh9Ci?= =?us-ascii?Q?osUGkxrDCXgi2r2LRwxKQsXg21zmdxKpCt5VxDyeAF0pvEWPgkIL1LyQkbXk?= =?us-ascii?Q?Z8Np3c/f4+PUqRea3//LNxWNM2MpGarMRhr2EaFql6R1hsuFnTz9vK3IaLWc?= =?us-ascii?Q?41hSmGktX08KmGPDoKqHF3IrSJZhdworfiZE1WAk5qJU3ZQmuYigR6YYqkbs?= =?us-ascii?Q?rUBl2LVKUgFQpRu2P8D/2RrqrXi1ScXZVH71bxdxZ0emlNg31ICEY6CXqbix?= =?us-ascii?Q?n3+Fco3VTCbFZPTgM1OecKPj4n1wA2ccpsx1WFFJiJkHBSijR8N7rjqihzXA?= =?us-ascii?Q?ca6kCju8eGi/kjsPytv7gLojNZobi3N19q8xwf8VPbU/qPvNiesyd9PYKwYE?= =?us-ascii?Q?mbPAIubyAbwcHFQt6q9wat2nYxxZeO6Tv2VWSKGu89IHXuQgu/wuwFHAeIkK?= =?us-ascii?Q?hUeE9AsI9W/PmbQtOWKKbgcUpEXeeAEn7FXxnf+5exmce+f9Hwv0V7HNStRN?= =?us-ascii?Q?C65o3ygPU9himtaVS6stucEcqEhBueaFynq6cjKPjm0csFDTl0B8nueozLH/?= =?us-ascii?Q?YLOBG1JTE+TvKMslZrxjVhFRXJrp7SqeFvmTqHHpHIAfNMEMw0njjg7iDzOD?= =?us-ascii?Q?OUBW11cnOfjLi1wANJoumaWAYMPMzULvt2QFGfyA0F+qH3UwLkytS+pxWKeN?= =?us-ascii?Q?m7r1eBP9B6Xj4E1A1kEgIgWCPIaLW/GCR8ePTW81kk44sZiCh3oJnHtfRmxt?= =?us-ascii?Q?SIvGL8oThBCRDeDI0mazydNgEFsla0r6cgB5M67c5ucf6lpkvkd8JRQxxxZF?= =?us-ascii?Q?MFvmFO1gM2AGnyYxmBjJO8lv4bTV56wl5SYHpf6U5vOBkSUbgV+Ki/o6Hh9S?= =?us-ascii?Q?6aHE5T6atBpNRTR7qLh1bUZU1ydRTCb/Q9cmppOsPGL6V+gb4ED4Vhczh7cv?= =?us-ascii?Q?RBk6iWdO0d/EGEGyNaKZRVY6ivByaHL3gK92clcVgi23l2sOmYlOoetxvKJd?= =?us-ascii?Q?OkQsHx5R7U4yzJjljLaBC8Q=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd337df9-ca19-4366-a8d6-08dd5679f7ff X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:40.9429 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r7tZGqQMx/7Ris3C8x1l8BxcqxhVCzcUBOeaKYr0SM3z5qP/x/TEBbUbNOHYpL3VFEGpv9Ot1R5rX1ZQE1Gpg3iWzq1+vKppy2HvPKAvOa8zvVWDExrsjY9ZvCDFHPo3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Prepare for adding support for RZ/G3E and RZ/V2HP SoCs, which have a CRU-IP that is mostly identical to RZ/G2L but with different register offsets and additional registers. Introduce a flexible register mapping mechanism to handle these variations. Define the `rzg2l_cru_info` structure to store register mappings and pass it as part of the OF match data. Update the read/write functions to check out-of-bound accesses and use indexed register offsets from `rzg2l_cru_info`, ensuring compatibility across different SoC variants. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Implemented new rzg2l_cru_write/read() that now are checking out-of-bound accesses as suggested by LPinchart. - Fixed AMnMBxADDRL() and AMnMBxADDRH() as suggested by LPinchart. - Update commit body .../platform/renesas/rzg2l-cru/rzg2l-core.c | 46 ++++++++++++- .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 66 ++++++++++--------- .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 4 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 58 ++++++++++++++-- 4 files changed, 139 insertions(+), 35 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index eed9d2bd0841..abc2a979833a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -22,6 +22,7 @@ #include =20 #include "rzg2l-cru.h" +#include "rzg2l-cru-regs.h" =20 static inline struct rzg2l_cru_dev *notifier_to_cru(struct v4l2_async_noti= fier *n) { @@ -269,6 +270,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) =20 cru->dev =3D dev; cru->info =3D of_device_get_match_data(dev); + if (!cru->info) + return dev_err_probe(dev, -EINVAL, + "Failed to get OF match data\n"); =20 irq =3D platform_get_irq(pdev, 0); if (irq < 0) @@ -317,8 +321,48 @@ static void rzg2l_cru_remove(struct platform_device *p= dev) rzg2l_cru_dma_unregister(cru); } =20 +static const u16 rzg2l_cru_regs[] =3D { + [CRUnCTRL] =3D 0x0, + [CRUnIE] =3D 0x4, + [CRUnINTS] =3D 0x8, + [CRUnRST] =3D 0xc, + [AMnMB1ADDRL] =3D 0x100, + [AMnMB1ADDRH] =3D 0x104, + [AMnMB2ADDRL] =3D 0x108, + [AMnMB2ADDRH] =3D 0x10c, + [AMnMB3ADDRL] =3D 0x110, + [AMnMB3ADDRH] =3D 0x114, + [AMnMB4ADDRL] =3D 0x118, + [AMnMB4ADDRH] =3D 0x11c, + [AMnMB5ADDRL] =3D 0x120, + [AMnMB5ADDRH] =3D 0x124, + [AMnMB6ADDRL] =3D 0x128, + [AMnMB6ADDRH] =3D 0x12c, + [AMnMB7ADDRL] =3D 0x130, + [AMnMB7ADDRH] =3D 0x134, + [AMnMB8ADDRL] =3D 0x138, + [AMnMB8ADDRH] =3D 0x13c, + [AMnMBVALID] =3D 0x148, + [AMnMBS] =3D 0x14c, + [AMnAXIATTR] =3D 0x158, + [AMnFIFOPNTR] =3D 0x168, + [AMnAXISTP] =3D 0x174, + [AMnAXISTPACK] =3D 0x178, + [ICnEN] =3D 0x200, + [ICnMC] =3D 0x208, + [ICnMS] =3D 0x254, + [ICnDMR] =3D 0x26c, +}; + +static const struct rzg2l_cru_info rzgl2_cru_info =3D { + .regs =3D rzg2l_cru_regs, +}; + static const struct of_device_id rzg2l_cru_of_id_table[] =3D { - { .compatible =3D "renesas,rzg2l-cru", }, + { + .compatible =3D "renesas,rzg2l-cru", + .data =3D &rzgl2_cru_info, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rzg2l_cru_of_id_table); diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h b/dr= ivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h index 1c9f22118a5d..86c320286246 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h @@ -10,71 +10,77 @@ =20 /* HW CRU Registers Definition */ =20 -/* CRU Control Register */ -#define CRUnCTRL 0x0 #define CRUnCTRL_VINSEL(x) ((x) << 0) =20 -/* CRU Interrupt Enable Register */ -#define CRUnIE 0x4 #define CRUnIE_EFE BIT(17) =20 -/* CRU Interrupt Status Register */ -#define CRUnINTS 0x8 #define CRUnINTS_SFS BIT(16) =20 -/* CRU Reset Register */ -#define CRUnRST 0xc #define CRUnRST_VRESETN BIT(0) =20 /* Memory Bank Base Address (Lower) Register for CRU Image Data */ -#define AMnMBxADDRL(x) (0x100 + ((x) * 8)) +#define AMnMBxADDRL(x) (AMnMB1ADDRL + (x) * 2) =20 /* Memory Bank Base Address (Higher) Register for CRU Image Data */ -#define AMnMBxADDRH(x) (0x104 + ((x) * 8)) +#define AMnMBxADDRH(x) (AMnMB1ADDRH + (x) * 2) =20 -/* Memory Bank Enable Register for CRU Image Data */ -#define AMnMBVALID 0x148 #define AMnMBVALID_MBVALID(x) GENMASK(x, 0) =20 -/* Memory Bank Status Register for CRU Image Data */ -#define AMnMBS 0x14c #define AMnMBS_MBSTS 0x7 =20 -/* AXI Master Transfer Setting Register for CRU Image Data */ -#define AMnAXIATTR 0x158 #define AMnAXIATTR_AXILEN_MASK GENMASK(3, 0) #define AMnAXIATTR_AXILEN (0xf) =20 -/* AXI Master FIFO Pointer Register for CRU Image Data */ -#define AMnFIFOPNTR 0x168 #define AMnFIFOPNTR_FIFOWPNTR GENMASK(7, 0) #define AMnFIFOPNTR_FIFORPNTR_Y GENMASK(23, 16) =20 -/* AXI Master Transfer Stop Register for CRU Image Data */ -#define AMnAXISTP 0x174 #define AMnAXISTP_AXI_STOP BIT(0) =20 -/* AXI Master Transfer Stop Status Register for CRU Image Data */ -#define AMnAXISTPACK 0x178 #define AMnAXISTPACK_AXI_STOP_ACK BIT(0) =20 -/* CRU Image Processing Enable Register */ -#define ICnEN 0x200 #define ICnEN_ICEN BIT(0) =20 -/* CRU Image Processing Main Control Register */ -#define ICnMC 0x208 #define ICnMC_CSCTHR BIT(5) #define ICnMC_INF(x) ((x) << 16) #define ICnMC_VCSEL(x) ((x) << 22) #define ICnMC_INF_MASK GENMASK(21, 16) =20 -/* CRU Module Status Register */ -#define ICnMS 0x254 #define ICnMS_IA BIT(2) =20 -/* CRU Data Output Mode Register */ -#define ICnDMR 0x26c #define ICnDMR_YCMODE_UYVY (1 << 4) =20 +enum rzg2l_cru_common_regs { + CRUnCTRL, /* CRU Control */ + CRUnIE, /* CRU Interrupt Enable */ + CRUnINTS, /* CRU Interrupt Status */ + CRUnRST, /* CRU Reset */ + AMnMB1ADDRL, /* Bank 1 Address (Lower) for CRU Image Data */ + AMnMB1ADDRH, /* Bank 1 Address (Higher) for CRU Image Data */ + AMnMB2ADDRL, /* Bank 2 Address (Lower) for CRU Image Data */ + AMnMB2ADDRH, /* Bank 2 Address (Higher) for CRU Image Data */ + AMnMB3ADDRL, /* Bank 3 Address (Lower) for CRU Image Data */ + AMnMB3ADDRH, /* Bank 3 Address (Higher) for CRU Image Data */ + AMnMB4ADDRL, /* Bank 4 Address (Lower) for CRU Image Data */ + AMnMB4ADDRH, /* Bank 4 Address (Higher) for CRU Image Data */ + AMnMB5ADDRL, /* Bank 5 Address (Lower) for CRU Image Data */ + AMnMB5ADDRH, /* Bank 5 Address (Higher) for CRU Image Data */ + AMnMB6ADDRL, /* Bank 6 Address (Lower) for CRU Image Data */ + AMnMB6ADDRH, /* Bank 6 Address (Higher) for CRU Image Data */ + AMnMB7ADDRL, /* Bank 7 Address (Lower) for CRU Image Data */ + AMnMB7ADDRH, /* Bank 7 Address (Higher) for CRU Image Data */ + AMnMB8ADDRL, /* Bank 8 Address (Lower) for CRU Image Data */ + AMnMB8ADDRH, /* Bank 8 Address (Higher) for CRU Image Data */ + AMnMBVALID, /* Memory Bank Enable for CRU Image Data */ + AMnMBS, /* Memory Bank Status for CRU Image Data */ + AMnAXIATTR, /* AXI Master Transfer Setting Register for CRU Image Data */ + AMnFIFOPNTR, /* AXI Master FIFO Pointer for CRU Image Data */ + AMnAXISTP, /* AXI Master Transfer Stop for CRU Image Data */ + AMnAXISTPACK, /* AXI Master Transfer Stop Status for CRU Image Data */ + ICnEN, /* CRU Image Processing Enable */ + ICnMC, /* CRU Image Processing Main Control */ + ICnMS, /* CRU Module Status */ + ICnDMR, /* CRU Data Output Mode */ + RZG2L_CRU_MAX_REG, +}; + #endif /* __RZG2L_CRU_REGS_H__ */ diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 8b898ce05b84..00c3f7458e20 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -80,6 +80,10 @@ struct rzg2l_cru_ip_format { bool yuv; }; =20 +struct rzg2l_cru_info { + const u16 *regs; +}; + /** * struct rzg2l_cru_dev - Renesas CRU device structure * @dev: (OF) device diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index cd69c8a686d3..792f0df51a4b 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -42,16 +42,66 @@ struct rzg2l_cru_buffer { /* -----------------------------------------------------------------------= ------ * DMA operations */ -static void rzg2l_cru_write(struct rzg2l_cru_dev *cru, u32 offset, u32 val= ue) +static void __rzg2l_cru_write(struct rzg2l_cru_dev *cru, u32 offset, u32 v= alue) { - iowrite32(value, cru->base + offset); + const u16 *regs =3D cru->info->regs; + + /* + * CRUnCTRL is a first register on all CRU supported SoCs so validate + * rest of the registers have valid offset being set in cru->info->regs. + */ + if (WARN_ON(offset >=3D RZG2L_CRU_MAX_REG) || + WARN_ON(offset !=3D CRUnCTRL && regs[offset] =3D=3D 0)) + return; + + iowrite32(value, cru->base + regs[offset]); +} + +static u32 __rzg2l_cru_read(struct rzg2l_cru_dev *cru, u32 offset) +{ + const u16 *regs =3D cru->info->regs; + + /* + * CRUnCTRL is a first register on all CRU supported SoCs so validate + * rest of the registers have valid offset being set in cru->info->regs. + */ + if (WARN_ON(offset >=3D RZG2L_CRU_MAX_REG) || + WARN_ON(offset !=3D CRUnCTRL && regs[offset] =3D=3D 0)) + return 0; + + return ioread32(cru->base + regs[offset]); } =20 -static u32 rzg2l_cru_read(struct rzg2l_cru_dev *cru, u32 offset) +static inline void +__rzg2l_cru_write_constant(struct rzg2l_cru_dev *cru, u32 offset, u32 valu= e) { - return ioread32(cru->base + offset); + const u16 *regs =3D cru->info->regs; + + BUILD_BUG_ON(offset >=3D RZG2L_CRU_MAX_REG); + + iowrite32(value, cru->base + regs[offset]); } =20 +static inline u32 +__rzg2l_cru_read_constant(struct rzg2l_cru_dev *cru, u32 offset) +{ + const u16 *regs =3D cru->info->regs; + + BUILD_BUG_ON(offset >=3D RZG2L_CRU_MAX_REG); + + return ioread32(cru->base + regs[offset]); +} + +#define rzg2l_cru_write(cru, offset, value) \ + (__builtin_constant_p(offset) ? \ + __rzg2l_cru_write_constant(cru, offset, value) : \ + __rzg2l_cru_write(cru, offset, value)) + +#define rzg2l_cru_read(cru, offset) \ + (__builtin_constant_p(offset) ? \ + __rzg2l_cru_read_constant(cru, offset) : \ + __rzg2l_cru_read(cru, offset)) + /* Need to hold qlock before calling */ static void return_unused_buffers(struct rzg2l_cru_dev *cru, enum vb2_buffer_state state) --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011018.outbound.protection.outlook.com [40.107.74.18]) (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 CF0FA22A4C5; Wed, 26 Feb 2025 15:26:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583615; cv=fail; b=g/+JfUhrv04y0TEySMeOcQic/NZ+PcugRD4vU0wzdAo0qrO2geEuL5ak6J2pqJlOqBfWeG0Wi4bOjRaMnnG5EaKR0mpbQd5xxw0qcCbEqXkTt6MtYxgQC5X/BUbhVEG4Fvf6Q+ulJRc9S9tsopGLA0Xh8XQQHftJ9VbINVqxiG0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583615; c=relaxed/simple; bh=R7e8sBeHKiF4O4mbOmtYo6FhJ/lbF58edsaRTia8At4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ttM98ToxxvzqtWfM9OhkLe72rhGra/1VOnlDJcSRLvNI1n+uCZ2RdxjbJrEblQ9pRjX7I6EBgmEzgt/+st2tyaVPYmvciBIcAr4c1jWmA1bq1qQwL8jp7YoEsxvj7rDJmJznEb7jDfpGyXKkeLoA1UzLTfGXLvuPGWnh4aLxDKs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=DbSdvn2G; arc=fail smtp.client-ip=40.107.74.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="DbSdvn2G" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Sp4hQHbG3M4LSDFR6lYmAPksXwjL1VH/SKg4uC64bChOJMGRlacE9kKOdarzkKigaZ9wOCFfjIdoIiKkJrxgkeejLtMQIk+4FWO/fWgZKXTFrqL4zZWpoQf0i2leBiCIEPIeJrGv6Yc/lZV7CqqMQZgckn08RhHxGO0LOAjWvYyQ1fzFrzlfQSgIL38l6/IMh7PNKyTvyoiws8p6K+IqiPlJ8x6M0XBmBRd+uky1pVy6YY9xZjO2k0zrBPLwU7OIgs85vXgQiHx2QZAndPaH3T1UcErBhBQ0ZXQT54F07jLXKCF2iKn8Iv6cz+OHIXQQea7cxvMWM/nelVTUgZPqFQ== 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=15/v3wlFz+7cQaYOHIKZDPeGhO6EtfNUagjuSLzJYj4=; b=HxzvNYglFBTPRjkqX91zNqX9f4sttOXtS7gQdFMvWXX0ot01SaoZsxOzrDH5fYDdJxmy/1AwAM9+zGwEfu9TW3VPA/0ldKHzOiKc1Kub2MP+rgs8eZ5PMmLR4jqpvJNedkPnzFN+XhdVaTfdrhuHn3GsfLqKulCo3EyxuM0X8bEAko5Xh2wZdpj0HQDYFH6dLQZMahs33+z8f5nh/vx5Xbr+Uh4Q+zakdK7GNJrYM3qajXR7U0VHm4A0N3FiUJUrD4bf0vLackkn2o9+SEZLB+fCZzwltgvBR8/ogMr4eYsQLwUqR4L587DtLqIsxZxsRBF2by+hqidBDgt2hPV+DA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=15/v3wlFz+7cQaYOHIKZDPeGhO6EtfNUagjuSLzJYj4=; b=DbSdvn2GYddPAJxKIqhNHylepnf6lUxEJs8oKqil7s6OgdPZvghdoluyUc1nArrq4qxVY0MhSX8d8oW6taI3k4WpwspiWTGm2bigEOhzoemJAydoNMYk3v04spjG06EdqzFpIA0eDyaVZOvyJjJq1VIaImrOIvI3Z/WQN4ExXHA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:51 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:51 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 12/17] media: rzg2l-cru: Pass resolution limits via OF data Date: Wed, 26 Feb 2025 16:23:36 +0100 Message-ID: <20250226152418.1132337-13-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b85e8ab-4fb7-45ff-e506-08dd5679fe3b X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?3R3pJp9hlaW78YaATaA8lvMGvwzF61MRmUtDwx4A0hsVYjN14uSAF1Q08quJ?= =?us-ascii?Q?LKohbO1JdUzYPd3ZXgrj3K/T+t1WdXT2O9gQG94cCzep/iRj2tVoekkdGFQo?= =?us-ascii?Q?nh5OkjV0umZSr6znHLjqisK2/4iFgYMJ1AUxeF8F6Qu5aIIlziFli4imyran?= =?us-ascii?Q?9Ot0Dhtt6TQdtiL47aHK1LJedB0HqSSQxCb5XT565uz4lG6AjC1WKon6nGAE?= =?us-ascii?Q?uCs3VgcpBQ7wzffAFC+hv0WK9k1b0BhceFYl3vGIand+0GHbeb2cDWpIxtXw?= =?us-ascii?Q?yP4E1fbU3kQezgTqEXZ5I8mjNufCRP7LeBdGevKfnp/qdDhaqAKmDOmeaOFx?= =?us-ascii?Q?MkV8XyMJx4RuysPEm/k8F0pDHRZQH1bz+PIO+RxCmbtiZDn7nlqdm/mRGHlF?= =?us-ascii?Q?MaRS4YhzYw5RvHqJgHIVy4XQGgi+OFJoIvYE/fCja35z7t3Hyb87pQ9t8q+x?= =?us-ascii?Q?O9F3TV8Jas5gzxGqe6ir17dNnbIOHRQ6ekfUod/1nmGkO5rEZVf4Rvg6aN8t?= =?us-ascii?Q?jQhPE8gzk2n5VeQ0nOUZFgAX/F4nVR80/dAJbN86W/sb79Bw4RDUtUdkwZXW?= =?us-ascii?Q?azkvdRv1IwdON/VtuDr5A7HFKZOCLUNiGLVj+wKJ/Ul9tlry0RbLeyhEHzOc?= =?us-ascii?Q?cYriegsOwPn3d4tW210KtDEQIZZaJZuAwrXhjFvMmodDlEJ46KV82LOC7wQP?= =?us-ascii?Q?y3tiZYvpP1+ZwZtbGCZY5EugNDyZ2nwWnipFKRDgtiaIVCZMLY3HzsEisSQk?= =?us-ascii?Q?DiOTVLUTjxYhy+Ow5o6hREzfC3egexS+TIkBPZfNYyfqnT1vL+nLW0aCd1UA?= =?us-ascii?Q?cv+oXeoYpiilmUsBVBJab5zm7pbmavYHA9nqKI7ng/rItDnaQaEVIIjvqBzQ?= =?us-ascii?Q?wHp8DZfH6Xt4PfqZKuU8L0Flu1h3LZzkJOxP5wgxNC6A2h34i6ArEVXy6kC/?= =?us-ascii?Q?gbHi2hl7w8qTx/6Z8YXhIAJn/Bcx6Dhoi3QyUL8BtEm5yvlxZBKiRke9Js/N?= =?us-ascii?Q?ceCHJzQwQXN6Y3RraqKO7m1DNZYam6cV6lfbc9yZPyY0nWGSrJxZ1unyOfju?= =?us-ascii?Q?Jzpib1MDt48SdgaXmJKn1UTzKcxEDmzK8W4mpZu26kt4cFMrV+I+DT7vBOzt?= =?us-ascii?Q?Cj4b7N6yNje1QWipKubgMI1ZOILOqAIBcf/sLTiSSSnLBZGDFQlSyphwvA+L?= =?us-ascii?Q?xAsXe9nfm4f15OzcZPtJltGQYo6385jW6GSKGLzlCeR22QU4Mkvbp0CLhjhG?= =?us-ascii?Q?yokfeviR5Skh3Z2BAbuToco4+haDH5gzRldfjT2vQO5y0PGHw5ktbTgtGUFi?= =?us-ascii?Q?P72p+ZjVVITqFt6Of6aVs7vIRMeLgZDV1UNK2N7gftZeBo4QQchZKr8VKSn0?= =?us-ascii?Q?JQrjasj23dIl6o+TOlPH98M4IW068KStt6Bi2mMpVwJmyfILKmHkFtf1lqwg?= =?us-ascii?Q?bKDaih6S6ziOUlk0A/A0I8xbISB+0uRl?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2h/ZrGpi2rk9X2q5vQJUEi2OGqAYhHLpUuyY5VZG+/c7k8bdYDds4F1goNwl?= =?us-ascii?Q?l2oGI3vut75gSz+hZ948QpB15dYlbgBRQhLJgTQLr2FNgOHvyJquxJnmtoB5?= =?us-ascii?Q?JU36ad/5XObOfHxnzvxHOk9o8Nxg0+iVK71OEcWtPj40TCAu+zxR/B2pMk5d?= =?us-ascii?Q?BubEuAyQYoGYymqWmq9P2w5V5s2St/Yr30rfKs4pMWk2SXdcVzLIYS6zMH+u?= =?us-ascii?Q?oaJPUegAYrcLd2JE+H3glLC3QQyuFq/iHodLJuWcZDX73tOJeVAoNMArchc+?= =?us-ascii?Q?mHFlULww0oV6oMRV81+k3WKa9aapPdmqTt2Pg36C87Tfgj0ba95qL5iPuyiC?= =?us-ascii?Q?Fpt89lsrYx//1lZ2/dGGm27yg3v6nPI5Oowgp0Le68wPEIDMnYaNILVQWCL0?= =?us-ascii?Q?U73838kRfn3pYp401XPwYFeL6N+NA45UsYDCJYQXFCIJ0Qho+IfGWuK4tFOU?= =?us-ascii?Q?dGyyYVEqHfTglSnUTbwuGcqVEbwoWTJg9EJAmZHR1sD5xIF22JxARREkiC6q?= =?us-ascii?Q?4/DFpP9hLVGHIPzI7sZcWWJZDCb0veKH7FTqXLU973c0TanziT5h3NrTOxeL?= =?us-ascii?Q?2tucom+hZELKho1kTXat41e/zgXvgWV0B2tFmLwPcEXDL/b3aEWRbhYh43PT?= =?us-ascii?Q?5dL0eH4qtsWYWhhwhd2AjfvL0uiqBaFeHvjRLHuCvyfUSt8JnttAO7elNWjb?= =?us-ascii?Q?IxJ+jRqONz4fawgSpDlCfEX/eozUmcvOwlcCf8SSSkctUwKifV5zT5z5iYAe?= =?us-ascii?Q?2LoYGqUceGYX6KiqXafb/Xgsy/iJ3BQ1D3nWFqtR+DqchXzd9BvGGpbhAkYj?= =?us-ascii?Q?O3FeOvf2hVOXGWWfz3Ik94W3mgwnpQXiReYnH9+LOViI+sxYCQBaRMtUnjY2?= =?us-ascii?Q?2x3F+RyCVSGAcgkDNEySWIOpEoHosdR2Pu1tuDdbijEVRX5MezRhH+9Lh//D?= =?us-ascii?Q?Zt+nar0YF1ONKg4ymGVynS7v8uXMnlNvDDKxX7IHVy51a0TNwK0exmyOyq7K?= =?us-ascii?Q?3aieUCCUomyQZy/J7+UHdCjplB/pYvBOg6BMaVeiy/WPo1A5XOEqvhV2AYjh?= =?us-ascii?Q?obvpE10iFo9Xq93D5rg8tdsWxo5cUGY11o750D75EUY6v5VKAiNA8+149PeW?= =?us-ascii?Q?m1iWEH3gWcCOVNkZvZ7Jbm/cL+ukQL9gi3p9dTizHMNYKYrcQNaBx5LkuvnC?= =?us-ascii?Q?UU7BcIPxrADbsoAqDrdSf1qwLsarZA8tByC8zuPvGpTwB4kmx0RYslAJA4n6?= =?us-ascii?Q?mTw1131sAlI9t7QnRjJgRgeBH0C6/18nOmStgrB2HyX54+wpyNlHPgRcy85l?= =?us-ascii?Q?yO2nekSvNMCsuy2UvGdsG6qGx2RIUFoqENRmrseTeG7/lF+UFJbF1hLwRNZH?= =?us-ascii?Q?Ymr29xDUuVcKshZA9t4lMMUxSKZUUbGpipIj/LSv2ojPuO7aPJhXrkaD5tgf?= =?us-ascii?Q?wfc4XcON+8FVOtXKy6oVegrqJGavWwpXuO2vWUgRLuKfRUqOFF8Z35+asONi?= =?us-ascii?Q?awS3649xziMs/nN1sZP3ukX227khvd6UkFNLD9ZWmzrhQ33jp0sPXmvdQfwU?= =?us-ascii?Q?RkLJqv4mvbrZ9KQBKC++8MoLdtX85DFssIuqviUuzthSF9pI65FD/r/Ms3WT?= =?us-ascii?Q?M0ExV93DztfL+r8jX1XCSKo=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b85e8ab-4fb7-45ff-e506-08dd5679fe3b X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:51.6205 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: md+dOmXY+VCY6uexHD9qaNFqQ1Ik9ThVVkdVgTUPxohmG7by9qLaIjqYAeZqL/EFxw3Y3XB+BNwH5Xt5mgxPQkeuftKIqixCnBZOm2KTvCVGX0CdkTjqHZPyPW7hlglY X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Pass `max_width` and `max_height` as part of the OF data to facilitate the addition of support for RZ/G3E and RZ/V2H(P) SoCs. These SoCs have a maximum resolution of 4096x4096 as compared to 2800x4095 on RZ/G2L SoC. This change prepares the driver for easier integration of these SoCs by defining the resolution limits in the `rzg2l_cru_info` structure. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Collected tag. .../media/platform/renesas/rzg2l-cru/rzg2l-core.c | 2 ++ .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 4 ++-- drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c | 13 +++++++++---- .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 5 +++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index abc2a979833a..19f93b7fe6fb 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -355,6 +355,8 @@ static const u16 rzg2l_cru_regs[] =3D { }; =20 static const struct rzg2l_cru_info rzgl2_cru_info =3D { + .max_width =3D 2800, + .max_height =3D 4095, .regs =3D rzg2l_cru_regs, }; =20 diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 00c3f7458e20..6a621073948a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -27,9 +27,7 @@ #define RZG2L_CRU_CSI2_VCHANNEL 4 =20 #define RZG2L_CRU_MIN_INPUT_WIDTH 320 -#define RZG2L_CRU_MAX_INPUT_WIDTH 2800 #define RZG2L_CRU_MIN_INPUT_HEIGHT 240 -#define RZG2L_CRU_MAX_INPUT_HEIGHT 4095 =20 enum rzg2l_csi2_pads { RZG2L_CRU_IP_SINK =3D 0, @@ -81,6 +79,8 @@ struct rzg2l_cru_ip_format { }; =20 struct rzg2l_cru_info { + unsigned int max_width; + unsigned int max_height; const u16 *regs; }; =20 diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c b/drivers/= media/platform/renesas/rzg2l-cru/rzg2l-ip.c index 76a2b451f1da..7836c7cd53dc 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c @@ -148,6 +148,8 @@ static int rzg2l_cru_ip_set_format(struct v4l2_subdev *= sd, struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { + struct rzg2l_cru_dev *cru =3D v4l2_get_subdevdata(sd); + const struct rzg2l_cru_info *info =3D cru->info; struct v4l2_mbus_framefmt *src_format; struct v4l2_mbus_framefmt *sink_format; =20 @@ -170,9 +172,9 @@ static int rzg2l_cru_ip_set_format(struct v4l2_subdev *= sd, sink_format->ycbcr_enc =3D fmt->format.ycbcr_enc; sink_format->quantization =3D fmt->format.quantization; sink_format->width =3D clamp_t(u32, fmt->format.width, - RZG2L_CRU_MIN_INPUT_WIDTH, RZG2L_CRU_MAX_INPUT_WIDTH); + RZG2L_CRU_MIN_INPUT_WIDTH, info->max_width); sink_format->height =3D clamp_t(u32, fmt->format.height, - RZG2L_CRU_MIN_INPUT_HEIGHT, RZG2L_CRU_MAX_INPUT_HEIGHT); + RZG2L_CRU_MIN_INPUT_HEIGHT, info->max_height); =20 fmt->format =3D *sink_format; =20 @@ -197,6 +199,9 @@ static int rzg2l_cru_ip_enum_frame_size(struct v4l2_sub= dev *sd, struct v4l2_subdev_state *state, struct v4l2_subdev_frame_size_enum *fse) { + struct rzg2l_cru_dev *cru =3D v4l2_get_subdevdata(sd); + const struct rzg2l_cru_info *info =3D cru->info; + if (fse->index !=3D 0) return -EINVAL; =20 @@ -205,8 +210,8 @@ static int rzg2l_cru_ip_enum_frame_size(struct v4l2_sub= dev *sd, =20 fse->min_width =3D RZG2L_CRU_MIN_INPUT_WIDTH; fse->min_height =3D RZG2L_CRU_MIN_INPUT_HEIGHT; - fse->max_width =3D RZG2L_CRU_MAX_INPUT_WIDTH; - fse->max_height =3D RZG2L_CRU_MAX_INPUT_HEIGHT; + fse->max_width =3D info->max_width; + fse->max_height =3D info->max_height; =20 return 0; } diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 792f0df51a4b..93a105dec8f1 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -736,6 +736,7 @@ int rzg2l_cru_dma_register(struct rzg2l_cru_dev *cru) static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru, struct v4l2_pix_format *pix) { + const struct rzg2l_cru_info *info =3D cru->info; const struct rzg2l_cru_ip_format *fmt; =20 fmt =3D rzg2l_cru_ip_format_to_fmt(pix->pixelformat); @@ -758,8 +759,8 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_dev= *cru, } =20 /* Limit to CRU capabilities */ - v4l_bound_align_image(&pix->width, 320, RZG2L_CRU_MAX_INPUT_WIDTH, 1, - &pix->height, 240, RZG2L_CRU_MAX_INPUT_HEIGHT, 2, 0); + v4l_bound_align_image(&pix->width, 320, info->max_width, 1, + &pix->height, 240, info->max_height, 2, 0); =20 pix->bytesperline =3D pix->width * fmt->bpp; pix->sizeimage =3D pix->bytesperline * pix->height; --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010042.outbound.protection.outlook.com [52.101.229.42]) (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 D1813227BA4; Wed, 26 Feb 2025 15:27:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583625; cv=fail; b=m1K7fYABR/x/l8bHx5H07ZBOe4HIgoTZp+lch4fZ8lISRumJLb9I5C6sUo7tnxYQ0UmcXUhovmjBNJIBZisfJpEgcEruyj957enpiep1y4UCdRRfimbQoRmhHshNpjv7etlvC5Vj/Fvy4qT60CTKP+CwoQXUZerT9eOJrnVeRFQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583625; c=relaxed/simple; bh=5uvchA5nH03kiGbMXqq3m8CbWhBlFahJRNj26wjaNJo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GE5e86kBqll4rOVXFllTCk8JbpiSGDcAhOX9brhjgv2lGCFincrDX0dROse8QtRVyjUm4gEOI8kWNdpI2m84N5XEfgc47pIP83EU4nkQLIfKwv66QoUSh2kJvd9DAM4dPzdjIu7KcAsXUrAwfwzN9ERYge3FOYmkmt62Di3aniQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=MV26heHc; arc=fail smtp.client-ip=52.101.229.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="MV26heHc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UcI2IEczp46c3/913PuzdP85lrASfj9iJLcixCSfAVsGwpfqK/4ljy2vesn8LGR/Sf7jRejXjkWtvh9BJ2NwfamuTP4Bbb8IeNWfGKsFTrPNX/4OawnDDXr5VAqs8jw58H7H/qAb3+HQxZTMLWnkgNw8QUif6sbIezc4VKmKRy706/SPn2LFk0D1adQpML709VZHBfTdPBuGJXUeLfcDD3LVAQtnimM+AuQAm6e7ezQ7mJfYAJWKyExO6woIYMjWFu+OQa0Hrk1DHQc4+Pb4rlgp7mM6jQpAd/kQCWh1SrhkxbnbdxS8qYDObbOTbGTc4x72tlaUZVMpDg5YA6H/jw== 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=2MiP5/sRjKZ1lKqYtzwX6HFn7IU/Os8AGNJYk9K2eF0=; b=yV7f6/xxhwJ5UXeCg5RjH1HxVgHAhwD3cFG42CFyRqVxrYLeg+axvXA5rLmG4CGPCgxhq1B4bIaahDRuEcxBGeFLp1aW9NavzDHYrIUxWDZL5WDNW2QiiIK+vpeGpucfOhHxwoV1L7fWhWXLut+xdBJX7XJKk5OUyDyiTcOC++UnSRTMPHtbH2yTK8cG4PDaY7GO5QUQFU7lbhBQ+0/mMz0B64JmKkviIQG80GyllfT0RmedXu8Fj/MHy4KP1ilHi1fOljDMcvJTOtPkn3LcFEWed/ub8QjPiupQ5N3swbl3LWzIVC5ixLyDDv/kzspHoK6cUhgwrA+MFq0cveMvpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2MiP5/sRjKZ1lKqYtzwX6HFn7IU/Os8AGNJYk9K2eF0=; b=MV26heHcZMpiHbqxTlfjVFGqSO/emNNCXPEkWD4j/12D1xi4Bn3IjnIdcOCFamaBuPATuw6QaQDSP8/7Cet4S3n6fyWQ5BaRAOJxh70qi8PtXaf+pnThewGyloRfLe2f6ma8rEXa7mb6zSZv8DjJIApgZd81AfnWDmccCKZcSog= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:27:01 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:01 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 13/17] media: rzg2l-cru: Add image_conv offset to OF data Date: Wed, 26 Feb 2025 16:23:37 +0100 Message-ID: <20250226152418.1132337-14-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 2bc7195f-e8d8-4266-1d05-08dd567a0436 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?BKWiO2j6DyKLQ/h8xI8dKq9nixPVnnMmqsPWh4PftiO+sTBfdp6Rhtc8Gr1U?= =?us-ascii?Q?oHBaiEkJCXPyXbHBhNwbdehuxiaTN1hQDFENpcJvjPuJ9PV8+Npojjy+Xpg6?= =?us-ascii?Q?tkfgo2QornizldsIzzw7oYk5kO5ksBT4MRgQOBb3RYAEiXZSDCC1Yk9gp0mo?= =?us-ascii?Q?N9u2/c5v7/Vm3XxhXWFUq22mGt573nlhmpyaPFm6P187sQVI5nx9j5cikOYh?= =?us-ascii?Q?LARb4UNiREAm//Fp3+DLKIMIUuIAuveeUnMrLS8J+y+AhVlntyzPa7xbOUP5?= =?us-ascii?Q?5JEy7PpylyIoBTHiaS4P1/h77nJ9GybxDBBzu73cBTIazohLocRTcNKmYpgK?= =?us-ascii?Q?WAeI1LfUCfFCfLzeQVbaKZSjYmds/t52sHSR4sgSCMq6eGwcwrUKBL562Y40?= =?us-ascii?Q?7v0wh9hUyY2Jvg0WHZ5LbYw62Xl0j0XvZLoY5Q8tKsDsdCYqKbchv/uW+R70?= =?us-ascii?Q?UXP4a3I2TQuX7DqDr1Y6muoW/X75TT5XefaIO+hvCHNgmbwcaXOZ6eb2W+R0?= =?us-ascii?Q?iF/SZjKVoUDd+BuINdBhKbz3cZaECdXMITLlcS5Zw7yf+5LEsx5RUIL5wbGg?= =?us-ascii?Q?MdgY4h5OukrVKBsNS0+tO/lp609MmPCnkgwfAaR4ulDBl9TBZxZ0BP5ZTRI1?= =?us-ascii?Q?/xRitIC7oZTs9SoD7eC0omrg/erV0jgCr5nuQX1pBimr94MhgUkYRJfz2lYJ?= =?us-ascii?Q?t3vgatmboIRkpcqDZL9NwyfK44FJERHF+NGBw+LOY6LRrylz6vGAMukVJ6bQ?= =?us-ascii?Q?5hX/64mUqn0pljgjA8Mo8fgdNNlcX4Ksl/qCaAAL1y8N7nNkaZ00tmQxIpcu?= =?us-ascii?Q?Jy8MmJSP+YASZM+PwU4JmLkOePOwdrIn/5D1JW2wOpqj8yBXOzBQh+aSPcZU?= =?us-ascii?Q?KA+w+0QXTukz4V2HuMIZblAoDlUdsvVBMGqmrK6lKjdqPiJVr4/Ndk+kUU8x?= =?us-ascii?Q?GidFwwhH1AM65so8LPvOIbqsRM63KWOgZSbC0MiC8nWLbpGsq6uD8M5gfq/P?= =?us-ascii?Q?HX1kUVVCNsnW+efIoJh8KO/NKPKoDWBK55o/O352fz0eNUbsvDTarfbQpXkI?= =?us-ascii?Q?5GNOTl7ieG6Fxwh9RhZf833ss2E759zkRbuBA7RJShMkyQy51NZsT7W5Kvuk?= =?us-ascii?Q?WXVL4qnym0RRBM9txZWBPqGF/vPEB9L9tWtTZXc8ZJXAH0RSB0aCfmLw9Fq/?= =?us-ascii?Q?13xJcYPtNWGzpsAspz+1y6SeS8/zKK/XM1ReKgsghQmdOT4u8Rn3W3wWea+R?= =?us-ascii?Q?/6RVktqcBo9Mw1/MTRH5c2frErM8PTRNNGMQg/TPyci2iUvtkclXEsdRGpSA?= =?us-ascii?Q?vK6pSjKw6Agns/pT4iPAGlQ134M+A6+3sH6Kb6pzU8GaAV0yLCcxvhaIcdiU?= =?us-ascii?Q?+KZmbNKAAXQKCkwKa7+tK9kSsBw/52aLuc791ytvv9c7oF3xFeakeC99GS8x?= =?us-ascii?Q?ky/1vECLFOxyf/aQv8KVsArn1NJ0WKdm?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?81gZLaoGhGSCg+PS14Wn0pqZVJULs5tViuxN4GN9rUup0DrPZ9Ikc2a5W0nF?= =?us-ascii?Q?2eZZCEuBp/uCGeRjJFyAAU54dCDy2TsNn+TEZzPxrD3+Bj5+P842PUSWyODR?= =?us-ascii?Q?eKEd4m6IgZKjaFRP0RPyyOtxUOeVt2PnA/QvAsLWhiI+N7i4hhyDpI3rJlqN?= =?us-ascii?Q?L1G9EpbP9lLukBwzKQXLxjYmD696NqFOemJV/GoE7Cfgl/nakC86CxkJrWTl?= =?us-ascii?Q?AfksCJu+SrKnPQuNc/P1afb0I3eUO3qP737S+RA6qtXzhMktkVhI9ZTrQL0S?= =?us-ascii?Q?Bx/tOBxldziRbgJpnFLfS9zSBaxpRrVzu7xMOeH8ppuh6WMbnmWmiswb9ugn?= =?us-ascii?Q?FC2Pp63UEvIDbOX9arwEWe97hQDrA3w2TF72c4EMil9GNvn703M+hebw6c+v?= =?us-ascii?Q?CqnnOYQzBbvhiDsF7voJMpiBOy3ORR9CywoUGAyv95O5+TinHDrMu4b2DqhY?= =?us-ascii?Q?WBDRJuY4iOf75pq+aXc6BxdaAmMlLdYinU+sKl93foM75h28dPR8NTPaPbQT?= =?us-ascii?Q?94My0zPM7UEytJ6MQJkeeVzQ3C6Z3KrczMkWegmypDxa/y38YA5kPxOlRucj?= =?us-ascii?Q?8t7Yv/q9EPvZzdJ3WaGCXE6MJ7ezJsB5zntY1esN8ZHD8MToCNGtq+3k1piC?= =?us-ascii?Q?rupWbcpkA5pAPxgquTesgfpDNAv06AFGRJWdEYL35zZpHC1bvtlWhgmU0Q+b?= =?us-ascii?Q?uZFIl4oV1JtzgAgYXe1NKY8KkWTXCIz4aA35Ppx58tyglRvDnexys9SfPbfq?= =?us-ascii?Q?O7spTmlRJ6zeZ12FxcKQsbmHEqH/eFotb14ue8JCazvnYrJeG3rwzeCh6GMp?= =?us-ascii?Q?EFlkxR8a7SsfqfGFWxU3EcGrNDg5ChnurDNW5ygg2NDM/MiAv9U6eovY7BQb?= =?us-ascii?Q?9i0ydl8IwozXK5yNuM6h39TqiO9e/NTXO2+PAQIs5BcJ3+1cdQB6OwXB2L/Y?= =?us-ascii?Q?U1Gbqn18PiD08a2wk+i5VpHE3mBVShH3g7oPUm2v5lW+c30AHYN8ODBSizOi?= =?us-ascii?Q?WetGkVQt2yVwjZB731uL6ONDHwsM5aO0Crkqdyqa3/bAtg9TVPoBeATvFw8P?= =?us-ascii?Q?ChuWL/SLZt+GC+pKmESNwRwZ3BOuPknRcV4qt2caL+y/owLL5xiy5RKnCCq0?= =?us-ascii?Q?8ZdYj+cLPIIpGIEC+tCHQxFSDb4ITHoB+cMJsbrrrPWXQX3ReMSLBisGtzCG?= =?us-ascii?Q?HUBfPJXVN6RVhZrTxxCoQ4AoHtg/YOBg3GVDAX1DwUa+5IzqkJEXgtQUkGwM?= =?us-ascii?Q?XgUMvVj338ai6TWpAaqMYWDTqY05BtrmOtMFWmR4eNyArC+v62rEwzMsJvwM?= =?us-ascii?Q?Rc5MVAU9eMt/RxAwfwqh1q7c+Q3vTdP6CzcI5MfdxoC6kDzzb4tjYEFAkTFn?= =?us-ascii?Q?e99lG9MkwYJjfzSU9E1z/rCSFimVdubimRlC8ZKsftVYnTGOJ5tykI9NNaiG?= =?us-ascii?Q?Ez9MR2GKMx+9xT8WeMCJNFWOtyZ1okXczJE1YzVuWSaOoU8oP2GT5JJx0de5?= =?us-ascii?Q?Rssww34nXf6xcAxK5B8pLU6vZyngGhikXAaOpWoim+awheM1tjvJzy86eBJA?= =?us-ascii?Q?SqQUArz7h3k0MmXtfOcxDbkcIkbyNcGO1GslZAOMjFumKjNESprFCQN4G5a8?= =?us-ascii?Q?rQbg1dSliYu23Z2gr2z2b2E=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2bc7195f-e8d8-4266-1d05-08dd567a0436 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:01.6652 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oGfv77J5gakC/BFBdOE22+k5J80rTlBzQW3qzh+PEiUVI9Li3dElVn7djEMtsHaJywEw/QQHR/IKfnyYhLAcJ0D2D4kaLh/QemuamjKFT+iffyYDRvsx/UquKmL/y5eP X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Add `image_conv` field to the `rzg2l_cru_info` structure to store the register offset for image conversion control. RZ/G2L uses `ICnMC`, while RZ/G3E and RZ/V2H(P) use `ICnIPMC_C0`. Update `rzg2l_cru_initialize_image_conv()` and `rzg2l_cru_csi2_setup()` to use this `image_conv` offset from the OF data, facilitating future support for RZ/G3E and RZ/V2H(P) SoCs. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 + .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 1 + .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 14 ++++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 19f93b7fe6fb..7e94ae803967 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -357,6 +357,7 @@ static const u16 rzg2l_cru_regs[] =3D { static const struct rzg2l_cru_info rzgl2_cru_info =3D { .max_width =3D 2800, .max_height =3D 4095, + .image_conv =3D ICnMC, .regs =3D rzg2l_cru_regs, }; =20 diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 6a621073948a..ca156772b949 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -81,6 +81,7 @@ struct rzg2l_cru_ip_format { struct rzg2l_cru_info { unsigned int max_width; unsigned int max_height; + u16 image_conv; const u16 *regs; }; =20 diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 93a105dec8f1..5033c8d98639 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -246,20 +246,22 @@ static void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev= *cru, const struct rzg2l_cru_ip_format *ip_fmt, u8 csi_vc) { + const struct rzg2l_cru_info *info =3D cru->info; u32 icnmc =3D ICnMC_INF(ip_fmt->datatype); =20 - icnmc |=3D (rzg2l_cru_read(cru, ICnMC) & ~ICnMC_INF_MASK); + icnmc |=3D (rzg2l_cru_read(cru, info->image_conv) & ~ICnMC_INF_MASK); =20 /* Set virtual channel CSI2 */ icnmc |=3D ICnMC_VCSEL(csi_vc); =20 - rzg2l_cru_write(cru, ICnMC, icnmc); + rzg2l_cru_write(cru, info->image_conv, icnmc); } =20 static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, struct v4l2_mbus_framefmt *ip_sd_fmt, u8 csi_vc) { + const struct rzg2l_cru_info *info =3D cru->info; const struct rzg2l_cru_ip_format *cru_video_fmt; const struct rzg2l_cru_ip_format *cru_ip_fmt; =20 @@ -276,11 +278,11 @@ static int rzg2l_cru_initialize_image_conv(struct rzg= 2l_cru_dev *cru, =20 /* If input and output use same colorspace, do bypass mode */ if (cru_ip_fmt->yuv =3D=3D cru_video_fmt->yuv) - rzg2l_cru_write(cru, ICnMC, - rzg2l_cru_read(cru, ICnMC) | ICnMC_CSCTHR); + rzg2l_cru_write(cru, info->image_conv, + rzg2l_cru_read(cru, info->image_conv) | ICnMC_CSCTHR); else - rzg2l_cru_write(cru, ICnMC, - rzg2l_cru_read(cru, ICnMC) & (~ICnMC_CSCTHR)); + rzg2l_cru_write(cru, info->image_conv, + rzg2l_cru_read(cru, info->image_conv) & (~ICnMC_CSCTHR)); =20 /* Set output data format */ rzg2l_cru_write(cru, ICnDMR, cru_video_fmt->icndmr); --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011052.outbound.protection.outlook.com [52.101.125.52]) (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 1E632231A37; Wed, 26 Feb 2025 15:27:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583639; cv=fail; b=dhKq0ypG2g187pLxlhre9wmdOzvtwVN3euHttfxqZyikMUK4Olmjljoip0j3hD/bL+3+q3uK6WAwIfvMCZgWVa0M86wGPWQhK8irURO8WKINhFb+eIavalDLQiXlFmxfkz00i6A3hMCq9jLwYKVI18w16yLjNkmKwHChpABkOxo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583639; c=relaxed/simple; bh=UKg1zHxKodbLnM5Z092xPJYbiyi9RVS9v5F4Nm3UE9s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=HiNbJy3VcfAsEbTTVS3hvOKgCuYPR8y2c278TMXOAxoGzQTDKBAGysPVLTNclu94zf2HNxIs2KA5mugmufRe9Oj5NVHftZ7125ocZSllYkcaN6p3GdCUrdiBPJNTZNhi9mIouUMb3zVAQiCdnR7VCaPl9Xd7jOPp8mYj1UQdm0c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=wvuZI8td; arc=fail smtp.client-ip=52.101.125.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="wvuZI8td" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FXRu0KeF00JUhjWhRv8g93XSUmSKMlc/Y8GvzyKwOwpuR2WwRyooSpgtveKUqHvAxVcWKgBLfzTGkwXy9/E9zMpDyGDWBBSOIOuWq5HQzLXYrSZ4nwZJgZOKqRxuTsCRXHRkuKurbPUYdNijXVMm2KbWjlHTjEuIANLnA3jhz973GIfV6yDdz/30T5mB8SijBY5o3/a1CIXq7Gjftg+xnvo8a8W9ojSuK1oOrK19vamWLQu2e4LaYg0+gfCzLZ6foCFmLylqaaAgy665C1Kt/veMrZ2UNzodHFXuATij6eo6vpZXxOd/taLzc0jMv3w3g4Vh4b5ioJBltqMKB+/bCw== 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=Q1pltHDZfhSIrend9oly11YbV+aY6f95m/p4zfVuq1c=; b=LSMPbb3APCv44x6rpdciP1tglCSlgXuw3rQNeRpVyARnokWYrAXJLq27XcXRE9lUW8r4DqJKUjHrCAbjAFimNjTiNoZZ8978lx/Rvkg7o2UZQ6B/Sr8R2V+Cyu/xC0JcOoooaGVaZI6cs4cqXtQ5LtSqeTL0CkMEBtoBGjla/GJtk0HScsIdhKmo9ffVXmiPfLvvKrt0ItzUkDV5vtjj3Gn9RaTzthgDQxKvVOuE2W3GE0nQP6fHPKodVeeEsvccUmd2d+ID3cPm9sfQQ982Q/x3mF9F8g8QHQdAbduGCM6EcBEgXvNllircBIczQy9Pc6BXWr+ODb7iNmTlaN3G7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q1pltHDZfhSIrend9oly11YbV+aY6f95m/p4zfVuq1c=; b=wvuZI8tdJTsdJgp+oPTNI2YCHWk506lNW+8g8fcM7TB2KUmZlIIYpZTiYsPsZgoZ8SXf4tOCjDI9ialkl+Gk1tyG0TNYxMJttMvvutcBWZWu2igOl3rjYYa8aEI7OSj6FtpXT7k+NVpY6SSFW5B8aQ4n/6zQHZr1uWcY6jWrtNo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:11 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:11 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 14/17] media: rzg2l-cru: Add IRQ handler to OF data Date: Wed, 26 Feb 2025 16:23:38 +0100 Message-ID: <20250226152418.1132337-15-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: 9415820b-10c8-4c6c-d3a8-08dd567a0a1f X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/GSBLyjXLOo9UQs/O3ebdRv48Ua7dPOKD5zZVnUmjeJWCOfs7U8Enx3iKCR/?= =?us-ascii?Q?IN5h5NhRKUZ2YG/s7SbYdE3qFkjwRS1ZLrVw1jLjP0CmK/uKk+4MMm3t7wc7?= =?us-ascii?Q?6YpqRZrCEXupHkaL6OjGzX2JhqvQIy1ARulna+vmCrfpkysxMvbtmZSY69nB?= =?us-ascii?Q?YNdCeLE1L6QFYq67/iB5tHy1RSOC2A1np68nBiPNJnKQlt3q6+iZF5E+uMIc?= =?us-ascii?Q?rFt9iuIbkOUpUmX9iDqoX0SiIOzWLOLmtKEfYUSpJLgeIYC/EPQsq0vE8f3o?= =?us-ascii?Q?TG8BAhNS0B0+WW8int3g6IHiS7/Nvc3Nx5U0lSYny+O3BhQJMdKNn81//9EV?= =?us-ascii?Q?VdMtOKfi97oKEAK5maH47dE4Vr7cm+LRVEQDfpPe/3KNuoWIkCPTjD1XX1Of?= =?us-ascii?Q?DIBB3Fn40Pf5fu2wNLf3bxoiOrP2pbbcdr0QwYkqh1TFpugYD6C6cop9XHKh?= =?us-ascii?Q?vRUMbBPXAxIozx9DqOeWzBXfNCfMh5TIVsm3+lyaj2CfcDCbaDsFM9u87k7C?= =?us-ascii?Q?W6xKK0qRgfH/xiviRo12AAUvkLkNldE20jc+bJdo5p2GOYLFfhVXWS54FoAA?= =?us-ascii?Q?47FYdXxkOs3kDfSiDy08sNIbgc4sdLKh226dOsnj3d12MWvHuC6MtsNEJuff?= =?us-ascii?Q?KYUEgi7gORhWiKi5p2+7B6UuG8lYkdLPqe/1a5SzMKZimOeeWGDG9XGBs0vm?= =?us-ascii?Q?0QUsKv9slAIL033OGZ8S2KYfHeqpF0SXpBB9E/9tjTaNgR5zeLV1SrElV2ml?= =?us-ascii?Q?WusSJXjJvpCqM5pYYcXr975JwweELSYRQY9MIEqgb5UwHJsoREiC9Yof9nCD?= =?us-ascii?Q?YbVsGvmH2Q8I0V0i3f0wjTxlnW6wiDeUw/pQvJnSxvT//ReKQfBs97LlWQyX?= =?us-ascii?Q?0F9uk2AYIR6pNH+XoDbIo3YtRnJb/0yByDoxp8tC6FDUE4K9wX3HyzEa3nVF?= =?us-ascii?Q?RtIt+w6U5R4orMWC59H/DncNFVYQjZFDspIUpPrzshq413Dyj7naaj91JLh3?= =?us-ascii?Q?DXQkjJGEXTjH94a5WFZtNh95sVc7KIz6AywWhduBGOZKRGsZifvgE+8IIGTA?= =?us-ascii?Q?651/vF0P0sKiSC8gUcyTV471YlVN+OPa0+sTjRC7y4jl2KQWwuasRaWLnKiq?= =?us-ascii?Q?WJq5IrhRYDzS9kk8rnCDw6WvXNcyAJwti/VIMNEQKE6voBhlhAda8v0x8j+z?= =?us-ascii?Q?iGPXR8kvfzw4UGYePTkYV7wlYpQNWW70+DuueFav0j5uFQMlLqIqxV18kLsm?= =?us-ascii?Q?l8NGsNwsormLR9z5dg5ZYa2GUwB2AZ+dK/i4yOWLFG/S08A0NIzS9zkgD4Tz?= =?us-ascii?Q?efKdbaseXi9y5x9ib6CPQRXB0uqSMNhwvzEpJeA3ljfuXwpSvZ6Wqp1JOv6g?= =?us-ascii?Q?MF66hWEWsRpQyyas0AsE80CzZuE8V5EshbNAk835OsWcfpAGOxskDgBDd1ln?= =?us-ascii?Q?NQ9cnlOYbmPh3FRQ3wjYPblgwhbljAZ8?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MU1e60qt0digw0Fq0gyfbTT3xIdBk4ktlnHu65ZnuEmOw6z2GJ+CzEZnf0Ze?= =?us-ascii?Q?6OIBbniDWjumw4S0Wp1cgFbtAZSm2u1DzWdx0cZJziw347WqZc/LfVOeprcN?= =?us-ascii?Q?OZkAGAPayyNYDERnJxvr2Y4sbYsyIjceZ4Ga+zdaaTi5uOcYUqQDyBPJd2/1?= =?us-ascii?Q?fCBUyormC3I6B2A5lbaM+LaCccQlCRqZykXDXsNDtsvBJvdkFr6cyuAB2+XS?= =?us-ascii?Q?PpE1bafKkd5yBpiCF04/npQyAYKvPWxedInL3nkXMiaui+jN/hujkMzZycq8?= =?us-ascii?Q?Z0Ir3AE5MeHRzWBn2253XFZjlrGX7tdgm7WfJCf3cgnn46pVe2Rxz1TsyWWM?= =?us-ascii?Q?xB8Pbq+vj/CaFlADifCNcQ4d47NfRB8fJ2rgqvqBC7X4kLzw6MyO+/s8fzqn?= =?us-ascii?Q?BoBtfON5sNPD2yzuNuobdiYSfBgVx8KFyjUguUh5B4q4f2RHykQuBY3uCHBH?= =?us-ascii?Q?n+DpdsY7JLWeB01YL9wuRgBlXlphRcu02GlAuwaSQ3AcEoYkMiz+mJcE/FMW?= =?us-ascii?Q?jw2+AwsQrIckyrCDQXJSmwrprPkkpEr7FWsxoWqdIzUU01yR128LAaWMoN0+?= =?us-ascii?Q?S2aaHMt/DvQrxvvG3RHsfkoXH4UVEteWIcaS8XPmCo1NAhsTeXFdf00wNoz0?= =?us-ascii?Q?0QeV0SDbsghcjf2+YEOgb0P/xwAAaE8kzrgc68QbRjlUqOfzmM8b5IIgm1DY?= =?us-ascii?Q?4bPO5hte+h7z/MSGturYULhZv6vA4IBWETMwjFauZhhVW7fn17zzDggJtpSF?= =?us-ascii?Q?b9a0X+479+IsjGKDAXqVZ0apTzXwY0YqKX5RfiYtFV6R3KE9Lvet11ukBCUM?= =?us-ascii?Q?iG/a/LhWpk5OyjRjuziCnG3cakBUii+n0yZ3LGbLgBBp8T9hP1pOuq10O5Kz?= =?us-ascii?Q?391JiXvjHz3u3umpf1QO5sP2XrpZNXZ5Cmupwq0TwTR/0pGXochLBbiv8BCH?= =?us-ascii?Q?l3Nkr+8EuMIQoUhXux0L3XHxRhdmFR3jh8MJEV6GuD3wEIo37QJgg6/k1/HV?= =?us-ascii?Q?awb9g9Rat1uhnp0zIGXdAkFtGxbcbi9+bIoSTZifjvSBd9DBD0vC97jFfqrn?= =?us-ascii?Q?YOtwq8KXSDgXgOcoXP8CcsJ3PEqYGbyehwLEiMo//nFJ95rtKgQ6YvGJRXA7?= =?us-ascii?Q?xa6y2umhzAxbL6DrwrlQGTBcX+VsvdEXDrJHAhJcBYiwNpSdhVmhkd4349sK?= =?us-ascii?Q?JzOx/Lu5325MzwXHm10pP+AVGBtd3GYXgpxLXryh0rZ1ue3+PoDkWaKT1qJS?= =?us-ascii?Q?Ox4v05twoHXw/7xfKG672XhNEcf890dk8YZ/Lk1lJTw6qsZE4cwW1caYb9aE?= =?us-ascii?Q?V2m8Jgg8WPH+0UCzRWs1zCJDNXpdvxn13+jx5IKtClUha+oMXGZfmPTHqTGO?= =?us-ascii?Q?RbGQ/X+epk3GZe9z3zCYxsqP20WH/jOig1a/4NAfPMYueMv/MaUjxRnEXyaA?= =?us-ascii?Q?nAwONgQhxCE5gUKktUeMqH4T2OU7axj26XMwLs6lSEy0ow/cLeB0NT7M5yXu?= =?us-ascii?Q?0Cps+OnjHBiKikd6GZ1gVf0l9Xo60CFq3raCeN1wds5tokgLjY+Y4EBDsext?= =?us-ascii?Q?KZBzuCdy/YsLulOtpN5E0R3j6vy01OQQ0GkdALs14Xv9CPygy73Ipfn8SpBm?= =?us-ascii?Q?5DLZnji18eTVakG/3Gam83U=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9415820b-10c8-4c6c-d3a8-08dd567a0a1f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:11.5716 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XgnQUga+I0jayPVPovI9sOy8NRemVFnC2XHY9jJMf2fYWbN+hXCkENumC/ZHkLJkp7TBkrw1JBsam4n4tfGc2V7b7MvYE6y3PdvDwZMicdgfC5tyn0thrHb+4eSpsqCi X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Add `irq_handler` to the `rzg2l_cru_info` structure and pass it as part of the OF data. This prepares for supporting RZ/G3E and RZ/V2H(P) SoCs, which require a different IRQ handler. Update the IRQ request code to use the handler from the OF data. Add `enable_interrupts` and `disable_interrupts` function pointers to the `rzg2l_cru_info` structure and pass them as part of the OF data. This prepares for supporting RZ/G3E and RZ/V2H(P) SoCs, which require different interrupt configurations. Implement `rzg2l_cru_enable_interrupts()` and `rzg2l_cru_disable_interrupts()` functions and update the code to use them instead of directly writing to interrupt registers. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Squashed patch 15 and 14 - Collected tag .../platform/renesas/rzg2l-cru/rzg2l-core.c | 5 ++++- .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 8 ++++++++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 19 ++++++++++++++----- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 7e94ae803967..302f792cb415 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -278,7 +278,7 @@ static int rzg2l_cru_probe(struct platform_device *pdev) if (irq < 0) return irq; =20 - ret =3D devm_request_irq(dev, irq, rzg2l_cru_irq, 0, + ret =3D devm_request_irq(dev, irq, cru->info->irq_handler, 0, KBUILD_MODNAME, cru); if (ret) return dev_err_probe(dev, ret, "failed to request irq\n"); @@ -359,6 +359,9 @@ static const struct rzg2l_cru_info rzgl2_cru_info =3D { .max_height =3D 4095, .image_conv =3D ICnMC, .regs =3D rzg2l_cru_regs, + .irq_handler =3D rzg2l_cru_irq, + .enable_interrupts =3D rzg2l_cru_enable_interrupts, + .disable_interrupts =3D rzg2l_cru_disable_interrupts, }; =20 static const struct of_device_id rzg2l_cru_of_id_table[] =3D { diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index ca156772b949..3f694044d8cd 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -34,6 +34,8 @@ enum rzg2l_csi2_pads { RZG2L_CRU_IP_SOURCE, }; =20 +struct rzg2l_cru_dev; + /** * enum rzg2l_cru_dma_state - DMA states * @RZG2L_CRU_DMA_STOPPED: No operation in progress @@ -83,6 +85,9 @@ struct rzg2l_cru_info { unsigned int max_height; u16 image_conv; const u16 *regs; + irqreturn_t (*irq_handler)(int irq, void *data); + void (*enable_interrupts)(struct rzg2l_cru_dev *cru); + void (*disable_interrupts)(struct rzg2l_cru_dev *cru); }; =20 /** @@ -177,4 +182,7 @@ const struct rzg2l_cru_ip_format *rzg2l_cru_ip_code_to_= fmt(unsigned int code); const struct rzg2l_cru_ip_format *rzg2l_cru_ip_format_to_fmt(u32 format); const struct rzg2l_cru_ip_format *rzg2l_cru_ip_index_to_fmt(u32 index); =20 +void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru); +void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); + #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 5033c8d98639..8995aa254c17 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -300,8 +300,7 @@ void rzg2l_cru_stop_image_processing(struct rzg2l_cru_d= ev *cru) spin_lock_irqsave(&cru->qlock, flags); =20 /* Disable and clear the interrupt */ - rzg2l_cru_write(cru, CRUnIE, 0); - rzg2l_cru_write(cru, CRUnINTS, 0x001F0F0F); + cru->info->disable_interrupts(cru); =20 /* Stop the operation of image conversion */ rzg2l_cru_write(cru, ICnEN, 0); @@ -393,6 +392,17 @@ static int rzg2l_cru_get_virtual_channel(struct rzg2l_= cru_dev *cru) return fd.entry[0].bus.csi2.vc; } =20 +void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); +} + +void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE, 0); + rzg2l_cru_write(cru, CRUnINTS, 0x001f000f); +} + int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) { struct v4l2_mbus_framefmt *fmt =3D rzg2l_cru_ip_get_src_fmt(cru); @@ -414,8 +424,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_d= ev *cru) rzg2l_cru_write(cru, CRUnRST, CRUnRST_VRESETN); =20 /* Disable and clear the interrupt before using */ - rzg2l_cru_write(cru, CRUnIE, 0); - rzg2l_cru_write(cru, CRUnINTS, 0x001f000f); + cru->info->disable_interrupts(cru); =20 /* Initialize the AXI master */ rzg2l_cru_initialize_axi(cru); @@ -428,7 +437,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_d= ev *cru) } =20 /* Enable interrupt */ - rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); + cru->info->enable_interrupts(cru); =20 /* Enable image processing reception */ rzg2l_cru_write(cru, ICnEN, ICnEN_ICEN); --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011071.outbound.protection.outlook.com [40.107.74.71]) (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 4AEEC227E84; Wed, 26 Feb 2025 15:27:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583645; cv=fail; b=qz9nbi6+454RDyelbXqcn2TQs/1b9qOuqkVicEjXtsGrZYUSfEWliTyA8WWVxJmbzfWFxMZ8LejMTMjA3BwnAaxn8YX/5v/m/ciur6sI3NQw+mLxYHj6+/fheBOBAMjUBDfkMtivpbC5UYA/TV7UQfwn4VGNO6wnbBuVm+fOEiU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583645; c=relaxed/simple; bh=0N5J5t9Nsn6MQ8N0NQbhR17Kw+prrNc/0i0sdkpJAHc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Rk4gL9lOcWMsE7FSwgRwQofL8cebTykxBZb1NfE9Et4oUopX6PAvpOHAO7Vh3myQzzOH/a4cZCBhCk8wb/aNqbOm4GdAcyx2nR8OEq+1fIE7jKGI+HDbUek2PzfFeSlr9Px0Cwtl2X3Ube2vizmGcHY853BQi9C2l+MO9GGKBg4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=JIrs05FG; arc=fail smtp.client-ip=40.107.74.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="JIrs05FG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RGOWG9SlrfM3WWkcYK2JFRzVDcJ3CVeMooJSN1vHICzsRXLOQKnPBvgwBaL11FoLKt5LqH5Hwjlk2YrUq/6oBJlOdehAJq4eLQU0xuliWoPdIG1m66D/8iNqSnYAmdZrmxrL9xaFxsAQB2/Ide66w8tIuWHSbCiM8QpOuI+IQN6CfFfIIX9q1lRC5uYMLSiRDakCeHL3gNgsMUCPye1zBFozZihJszOt7V8YXeGGsNwgyqqH7fv9E0lXl52BYY0gqb4lnwC6L4ppbooQxq2B4LQ+ZIwsnoY0+hMR1ADT+Uh6OGNe3l+Zksl59msvq2rNqjBDoopcxXhF/eH7J+d9CQ== 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=yraSZXqLZ3J13y3fLlZaaIF1WdGX/lHryhfcSMUfv+k=; b=cp3DBALIxBWzbWByIDz8HXEprg0upTsIRQ8oPSNh8RIZVqRYV4KF98iQtrSVvJ67RZ7ZT4uZbw2wL1dCjCypF6zVG5kQQ1AiuIPEEzbR9mCMXDvoX9FblZJwuWIuVVXmsG8+f6KaIG4+oTNhCyk5GKnMzLWeK3Wdot2wWC4QQ16IMTC4IVDkOkkzwfmrsMMuRzbE9s3AKBmne6G7eytHL3hr6QTEiZvLAcX5vSmYbE9pjNvdjoz3bwNmxpEeN32WMR/oiKW+dvrgHnMyRCUw6+tSQOu60lcGvygvioNM0cjf4E8ReSmOM+WVHrlFDaVHFCtUamFEP1yCasX9tVNKvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yraSZXqLZ3J13y3fLlZaaIF1WdGX/lHryhfcSMUfv+k=; b=JIrs05FGhk4FpUPTSaAUBZdNfJKPgJN3U7zU+ErjU0MFY83az/5YJpq7uiKYi+YOm7ajaRyANeHinKI83go9xuwJTNAXuX83apR8b+HxdY4l04dsSw24Vy8OeqfrVToEbUQFYo10G8rVzQjVg8UvcOySYgiGjbJ7nGMXXUAFTVo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:21 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:21 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 15/17] media: rzg2l-cru: Add function pointer to check if FIFO is empty Date: Wed, 26 Feb 2025 16:23:39 +0100 Message-ID: <20250226152418.1132337-16-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: f47a356f-d55d-4cd2-7280-08dd567a0fec X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?XHtbLBvYLW4lbD5uH/fFK/BhNbHAZT8Juj0uQzJ2DgxUAPmF98/lQCsoSRwN?= =?us-ascii?Q?cvGfocje2HqVbRo0W0YL82ULIwbXU4lBlEsmUZuySTkA82+iMCnun3BvylEs?= =?us-ascii?Q?sNswCwGhaNKNOXqUpQRf8l0cqmWHsCF5vJUipJXweDc/gRojgIa2G8fMASWW?= =?us-ascii?Q?87Pwk/LyXllt4EvqM4CYLW+RU828lUPZeOmXv5OAwGCDE9bXKnXuMVgL2CNt?= =?us-ascii?Q?JMAM15cjecGttSoW8/uTHFLBRTtZA+7XuVHxEvSMmzEET6e5yIY46pYqQC0b?= =?us-ascii?Q?hHiZMJYwE3fS5lBAQeKXulqjBbqmLyp5sDFX+LKxtQTqXuyiVHXHRyAgITWJ?= =?us-ascii?Q?8b8EFZGOsJlr/E1gz5XmT6He5bbp0x00bv6YJNaX6qDfj5N7hSaLc78hRkxi?= =?us-ascii?Q?e8Yo4VeLA+ct0tXmI7PvhdzwcTAqab6PmGuHBzlTdRzMi2x3FYi40kDJZGgk?= =?us-ascii?Q?wG4ga2w6rDSBAkeDP4372ZOa2Aq24Sm3OOg/z85w7cQUxT9prddcrvwV56Zi?= =?us-ascii?Q?Uw0/c4tppKYm7FdcWneli2Ub2JoMzKti2VCwuBZDdESOpnZ91aeR/lO4sIj6?= =?us-ascii?Q?VXf5JKlmY3TaUiUnCPEwVAOklh7iGH++i84eHGCaVoKrcYgS7XnFe0tyXucw?= =?us-ascii?Q?mP69UqHRJl0Sae6wfbGySEW1RNdQXD8lv4nCPwewwlNxWZ81omBV19RZNN9K?= =?us-ascii?Q?6j/2CQoQXfIwIE8+xBPrrOyprSrL7v8ql9tfZcxHoiTNpnRgBw1bdF7q4WzP?= =?us-ascii?Q?PlNIVLyyr7eblpLeDTZui/VcuhEu76cXtOpvAwPiLA/KHzcF+Lz+2jMt4JWO?= =?us-ascii?Q?SymFtP5t0r8549gM/lxc+lI8NhQ8zvJ4w/yWL3Lj7dGLC23ji6HJrFZSjX7X?= =?us-ascii?Q?Fpr3U7M6BptmC1zOUbCFnXP1iUp3LJkHqPqZioF2uHrY3439mQoT2/dIfxVB?= =?us-ascii?Q?s2vu79D3CmbUC+Mmn6QMD2pjtGfTcT86txZImtLG0jiIL6JR3pKtvUa8tB4o?= =?us-ascii?Q?SAyd7FekwfjJDXcatoWBF0FOI1mxrH4yhubDsmnA6K2BEA2ttN5lfLSCy1RK?= =?us-ascii?Q?0eIR0y+96ekE8iqtcXohNh6Bwv6Cb3DpM5II3tltXh8Cg/5QjyOWQz5vG6BW?= =?us-ascii?Q?orcfle+rliqQIFy4ioqdqw2o+8K6YlqlkIaORgyFjHjlTKSV9DoEwr4MmIhX?= =?us-ascii?Q?TjKGjP877ac6h/n63bHESV6HJraziBPziyZncV28DJU/Ghk8Khr4tKreVm1l?= =?us-ascii?Q?ncsTB1vSX9pznPS6LSLb8R1pIPU4Q9obYssNNZ+yqV3eUD4vqJ6rwU3gWw40?= =?us-ascii?Q?rVzX30S3MNHURs9bqAFoRe9OSbtJD0lBgWg20cL9xChELwAWcZfPhlHSUhoj?= =?us-ascii?Q?oyT0JaKcOzdRueb9PWXW04Jwf/EM4wNjrwp/MsLPNwo6S+rsPww8cRbG7cHz?= =?us-ascii?Q?EmHiOBu5pQVxpuUVNONjtcK4131GIW8k?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5MICf6BWKIi3qTubvhW5x6UfLtWKYGmxh5TUx6J3fPwrAhZ4jQf8ZHYEYCQd?= =?us-ascii?Q?NoVosYMjRRAF6p5eEVQBESuwTc2aFKmOayYRDUDomdnLuLZPxO26nbutuUx8?= =?us-ascii?Q?2zL6bnwhAT8DyQb1qvuf914tJKNiR6s+OPIEXK3tldTWmVHHmRhpB4aJJ51m?= =?us-ascii?Q?SBBbycO6dohVlNpISTbPyQlwneeumwb2YW39f5hjzI64bTGaMQoBtq4yrXnH?= =?us-ascii?Q?lEcOzoNj7lCn6TRNHRxhL0EaeP1B5+mPdlUd6ZNpnebUWF0at+bn4YJwQ5As?= =?us-ascii?Q?X/SDUHue6z4em+Ow+hWPujw8z23MJLLP2UbMz3/mP3HVfh2mz3OJLZvW8Hq0?= =?us-ascii?Q?I2JUjK+K+DZCn7P++Sjnw6APgq2JuO0ysGRXa5OELR0cm9ad1gPFOb5k5Zbq?= =?us-ascii?Q?irpex4vzGv+yW+lUf9EHsBvzfQA97vxsB2ZWEKsUYheBmnrYgmgZ+QEXt9/D?= =?us-ascii?Q?V+aeWGNC/Jx46r22wsaQZlbf4mUL/45EKEYxiGzbRVeRUmvMmNeLoptT4ep4?= =?us-ascii?Q?M+soKMn/+0Xm7fmGCWex/wHaFc045cu/XxFqUME7JT30kJJxR7NG2In9joHW?= =?us-ascii?Q?eC2Ca0bSDmWTL+htqAICyqJvKMwEG7b360CPQ4Z2GWhwUZ09juznT40ADkVK?= =?us-ascii?Q?T0kPzxs5QVRBd/ZJNjPLjA10VANRMuGg2n7JhV3nr7344LyMBMHjrdvQNWUP?= =?us-ascii?Q?ul4zO/SitCJ6xLVAzFJgtNYsUDFkf0d2ut/ESnyWZji/YTeXyb2OJ6ifVm4i?= =?us-ascii?Q?iAvbVHm6gwP5tTd3Fq9HiDDe82ZdnoaSgK62bgxsSqMv5LPA3Yfxi4H8f8a2?= =?us-ascii?Q?yol2Ar9VOiZuLV/S/dOKBJTeYeAzZRwq7SZES0tmgGR6I5eHItbJ4ae+oGX2?= =?us-ascii?Q?WLS4dHwr0mHBqpJyxrZslC2uoBeIqQi3OI/Fm3ZS3Vm/HBW6H/1JClDe8Ovq?= =?us-ascii?Q?YayNXx7jcBGi4t6GmmdSWmu+vg/Bd30sk6Y14grTG9GBJGhmJCSj+QDbvcnN?= =?us-ascii?Q?fQPV9U4C7Rgpc1K5HSNGsIVgBStXzXVODcfkWbccRLLyXCM2Ud5kCFWyqd0v?= =?us-ascii?Q?pqO4YvN7vUvd7PQj00n9mS372MewJbXePGfTZeBQJ+TjTJOGv9f6KiPTtayf?= =?us-ascii?Q?EzthX6u77D39fYeKHuhre0GmiMivI2F4kT5qzyB6r8IZmoe5JUdQcBIMg7uq?= =?us-ascii?Q?y0eLV97O0I2LlIpTQ+ILhx7vFzqZUa7Q9NcHMZVxr54UAIQwE2gvpuW5eWdT?= =?us-ascii?Q?j6TrwJ/6apj2KQ9hFczx3lobF20ZTozpxDfF2u53w0dAx2dm9duu7URuSbhd?= =?us-ascii?Q?LhqpZVNgx7LoiibvvVheN0P/8oH6VeuUFvfrlGKKcqRd+nl7VAjDd1EgjGQU?= =?us-ascii?Q?3g1ma8c17JXG5/q5Pc/QgmCucrxbHmUARlAFf270GcVY4+Q8SvHeGAlLbWKs?= =?us-ascii?Q?VbrkmgrcEndLVHzKKLLxRz/mj3qA25FSdiK9NN//oGnbnQ64Jun1MfFpGFEh?= =?us-ascii?Q?WYv6HkXa8RWw5SSRxF1zuO+mXZ6qM7jSPetrQIwjuz0DK/wghIHmZSv09RXU?= =?us-ascii?Q?UcYagfceKjYyB9cZdsgXgJJ8D9NtjmUhbxJtGEN/YTYp115+QKuxXMpHVfk+?= =?us-ascii?Q?unaohh035Mmwz3umRygjTxk=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: f47a356f-d55d-4cd2-7280-08dd567a0fec X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:21.2921 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /+Z9KTCW4ljQbRdxi6GDlJ6h7Zgd5gSfC7nBAQZmqsQIBqsmNDWUk7IuKXhl+YiOML6belXlXHxOPWVjxgf025MD26A1TDwRMlGQedhHN9De0sGVelw3UG4WEcv5BzdB X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Add a `fifo_empty` function pointer to the `rzg2l_cru_info` structure and pass it as part of the OF data. On RZ/G3E and RZ/V2H(P) SoCs, checking if the FIFO is empty requires a different register configuration. Implement `rzg2l_fifo_empty()` and update the code to use it from the function pointer. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Fixed return of rzg2l_fifo_empty() as suggested by LPinchart - Collected tag .../platform/renesas/rzg2l-cru/rzg2l-core.c | 1 + .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 3 +++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 23 +++++++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 302f792cb415..e4fb3e12d6bf 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -362,6 +362,7 @@ static const struct rzg2l_cru_info rzgl2_cru_info =3D { .irq_handler =3D rzg2l_cru_irq, .enable_interrupts =3D rzg2l_cru_enable_interrupts, .disable_interrupts =3D rzg2l_cru_disable_interrupts, + .fifo_empty =3D rzg2l_fifo_empty, }; =20 static const struct of_device_id rzg2l_cru_of_id_table[] =3D { diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 3f694044d8cd..2e17bfef43ce 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -88,6 +88,7 @@ struct rzg2l_cru_info { irqreturn_t (*irq_handler)(int irq, void *data); void (*enable_interrupts)(struct rzg2l_cru_dev *cru); void (*disable_interrupts)(struct rzg2l_cru_dev *cru); + bool (*fifo_empty)(struct rzg2l_cru_dev *cru); }; =20 /** @@ -185,4 +186,6 @@ const struct rzg2l_cru_ip_format *rzg2l_cru_ip_index_to= _fmt(u32 index); void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru); void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); =20 +bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru); + #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 8995aa254c17..83d7baa07dc7 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -290,9 +290,23 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2= l_cru_dev *cru, return 0; } =20 -void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) +bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru) { u32 amnfifopntr, amnfifopntr_w, amnfifopntr_r_y; + + amnfifopntr =3D rzg2l_cru_read(cru, AMnFIFOPNTR); + + amnfifopntr_w =3D amnfifopntr & AMnFIFOPNTR_FIFOWPNTR; + amnfifopntr_r_y =3D + (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16; + if (amnfifopntr_w =3D=3D amnfifopntr_r_y) + return true; + + return amnfifopntr_w =3D=3D amnfifopntr_r_y; +} + +void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) +{ unsigned int retries =3D 0; unsigned long flags; u32 icnms; @@ -320,12 +334,7 @@ void rzg2l_cru_stop_image_processing(struct rzg2l_cru_= dev *cru) =20 /* Wait until the FIFO becomes empty */ for (retries =3D 5; retries > 0; retries--) { - amnfifopntr =3D rzg2l_cru_read(cru, AMnFIFOPNTR); - - amnfifopntr_w =3D amnfifopntr & AMnFIFOPNTR_FIFOWPNTR; - amnfifopntr_r_y =3D - (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16; - if (amnfifopntr_w =3D=3D amnfifopntr_r_y) + if (cru->info->fifo_empty(cru)) break; =20 usleep_range(10, 20); --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010001.outbound.protection.outlook.com [52.101.229.1]) (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 AEC5A227EA8; Wed, 26 Feb 2025 15:27:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583655; cv=fail; b=Y3YwfgAo+TpPDKCJoFYMU1Fzu04nL+UI01n6F6OTNDEvn0HtuXt5wMLgriRjY+g4pHZ16sdFT6cjiND1cY35yb9MMxHNx1V868Yww82FpDObxSB6ZMLBq0Oai1Fe+0dAl2QbRzdo/E/1h/zWXx7VV7I2cIUdA5zJ2S/hGYoVBX8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583655; c=relaxed/simple; bh=9DWDlHAmyd0VJNycd3ZXUthqysKNwhsejI1DQdf3ELM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=N2Kojfm1OlBElscgThNDEbH+rlujo8Oqz8k5dmgt1LuNm9h4vQ1+9X/HMUej/FHPhNSigPI/8ImYNH5gykGF4wDn88ibCnHiNwNBnViB9R81usDExEs6BMNsMTKKpkNFwKyehU29lyPBaLLWsfrxvLQQjIkCvxn/X+j9XIaQhis= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=D+rgpY7E; arc=fail smtp.client-ip=52.101.229.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="D+rgpY7E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RLFBhxRSR9ZZKlLToEgMhCpUugclAY6rKO54surjikLWYi207yIedY472aUFa8D0PbrHftv0aLhAJKVT3bj6UYRuvYp1TZIHZIRXadEnG1RwOiXWPMhMgC6My8dtpeza1DD768QI+zLasry1duRYlv4HKPKS9CrsPC/YdagVWBVFLdifW08AR1YOKGnvXlHmbqY/yi6RpH0AspiHyN+pVfy3UBFoP8K8hXmCXaVxDGzKp/T7JzWEVA7XCPPxbRc9DaJkhArxH8k7qI5HWg/XwcE7xvQ3v8lCJ6ZWJupUtpj39pBj7P2W+RI6NJ2yZP1APHWrnIZgLFXBIyTUhckEBw== 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=9shOnHi2lLf0mwVZQ0UKci5a3+D8SHoLbf0tvXU/1es=; b=NeZyfpbnhVNycnksoukCfuOIN2hiQnBopDxiw2PMh1FWyZRVxJGCewk3Kpvr5k6822lB12oe2N54laBsa2lVKJP4MIwN3dD7QpB5HN87fnEg7wIpMnVt3HwEzzZPtBoBMknZx/aiiRodFN0zlHcJUnptSMXV7ZZjW72X3BYJQlD3oqoRrgPwdIbEjSNXrhM4zKpqGBQYDNsoMmozg/Sr71hYDemlIU3omwoykK+fiHpx2qB0fIXeDm6828qQZRWreqOnnFbQBnsXSsEffi6y2FYm6qLqgnUc6uJmuZXXL0JhcCsSvua9FNS3+dsBjyUmUkZ/A7lqZypNSm4nwCw5eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9shOnHi2lLf0mwVZQ0UKci5a3+D8SHoLbf0tvXU/1es=; b=D+rgpY7EzG9kM3zqzrXH+etKaDoML74Q3RVjQhcjcVJBnxiPWSDlfFlxcdX30hqUOewCFg3eXg+EyZnCoVxXU42/ugQVsaizaXdIm29m7kiS7HOEKNSoID5mF6qa8bpiJrK2fwFpWQ7gz8zanK8tO1TEyIY/w/sTK0RxYLvwQow= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:31 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:31 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 16/17] media: rzg2l-cru: Add function pointer to configure CSI Date: Wed, 26 Feb 2025 16:23:40 +0100 Message-ID: <20250226152418.1132337-17-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: e2f75829-5715-41b8-a250-08dd567a15fd X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7M1ZkleUtrjmBPUtS22MjoT+ZKi4iU5ERjiS8/woL7noUycrSjmZiUm6S51c?= =?us-ascii?Q?8JXS5dH8Xm4ahMWIDS+yf1H+HNuiuyRFDwj3wjn8LZ1HwnksJQCogncC3yI7?= =?us-ascii?Q?hkLRAZiqRkjBoFopAxo1uLwTer2leRqjvdgipM+ed6t8JCjqdc2jtkOQX3fo?= =?us-ascii?Q?E+5B0SR0b/MxdL5ommksRTOxXYX/8J5swfAHD+zSm/tUQnc+ifHJ96LJGNJ6?= =?us-ascii?Q?K1+3a4CFO0JSh458nezZ2q+golZddkigKbQUbTDN4fp+Kyxm7RFTHpzvsOov?= =?us-ascii?Q?1af9f/o3n+O57VnWoBTnLFov1swjksR/Er+ICKcAyKTyjHbXiStf5mYc+6fP?= =?us-ascii?Q?Cg4C3rQ5Pjpfqi0gk64gts6hr0boAU9hwXsIzQWCT4okObHO4DiPmyoHl7ZF?= =?us-ascii?Q?HFRx1zdcNAAFncavq6k8/wDLDT+cvF6hHoG5lHVmEEdX9eGeK8UvCZrdNGcG?= =?us-ascii?Q?bCQTmR/0oeyc0tDf5y9asCj+9OSTniRoIG4oBxpyE8gXbeKUbcscbBiREbsX?= =?us-ascii?Q?xw50ZTs07AmHYKxrc+W3Msila3qix9p48WREQ73g145w3j54flJ9VEemZtwL?= =?us-ascii?Q?Ad+ogr3q3h+W0ycuwXCf0n6zPKseR1XMZWb7VO8E424ky4Gpd2GgfV4gh7Nd?= =?us-ascii?Q?w6YDDbuY0g6GqRrrYiMvRTklO9lW7pZsZCmWYKJe5ssFBQmMZ0b4SrCdaVdz?= =?us-ascii?Q?ueAypn8odo3sbV8gNQOE1sUqrsEl1S36qhcjxrmeJ+qsvqqDcujGTpmvmLlz?= =?us-ascii?Q?Txt+u17LuZuOXERdeY91jJiwEtBltGeZB2Rma/dABMiMz19kNJfgA0Z+nZee?= =?us-ascii?Q?peE347BuY/+HNYQX3dK29pr5ULhgTZkj2nWfnr3YTGXhIz6DQLZCtQW1NnUr?= =?us-ascii?Q?EZIg4Y9+h5acYWejA9F8LDTrENeKMrsnQwsf67cmCmdKnm/OkuiplbqSgAcy?= =?us-ascii?Q?DH0h7h3CbgPbc3GcULrLed1gny4VTcwQWPCvX6fAaTQHK4VyHiLZ1pLSI72p?= =?us-ascii?Q?0yNaB7HKmfzlU7PENnZpq5eOTJJiRYJdNEh16E8Oh6OoU6nCvd06q5OoPmMA?= =?us-ascii?Q?3Gno6w2JzeL59d8J0TL8lFk7oJaKV+twcURVZVL7t5vhSM8XM+btsqiJhK09?= =?us-ascii?Q?cW1iKf/HpcG3Mfeij93Yn/fLDIxcxPiMH4cIYUS2IOcOI+1mW/eNsEBWF7be?= =?us-ascii?Q?iZwNLy8KYCMxeCryRpeQeTsUptcSMH3qKlOvVJJbphRX0+fx6lXvFr3VRhQI?= =?us-ascii?Q?eJhM46sxYuGLUCfo9hTVchA3xFGnMu1TkNsgvkqJNuZudtfAkq0fLf3A9ZWT?= =?us-ascii?Q?sCN+8JAu3/bY0783iPyP4sE6q8brP4Rk7KmenAIoGxqxvI7n2yILHk8u9nPV?= =?us-ascii?Q?8KM9ljJKult5xV73FupfeuNUBZHc3vddUi9pEVK2U9H+mquIlpwwfHHMJSV6?= =?us-ascii?Q?FSdcquGxBhrA9R6mvimyHEg/CMeLOeO1?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3G6UqnxQDyCWmhP8NrbxqLZZOzQGZPbyCBNFTs8CuHBST+rFX1AHMFprXJA5?= =?us-ascii?Q?nZs/yPBItGpsHmTrRjQzWErotHryx8PPs6JhNUBR2aP63oQyOBxij8c/k0jF?= =?us-ascii?Q?oLXWE4a/I8/XdnywBhY34kA9eVmBqDaWTtzcsEqQ+oadOvB9L/FmAJCperBS?= =?us-ascii?Q?/X9TgtD1+2l44uqSed6orcQ5zpBglJVs78ItG/uFp6swgsn0qg0reAjnnnKZ?= =?us-ascii?Q?o+Kkn28tsmvGR9P95u/THqtSBbYqR1RCdYZw2MbaXudHlmvFjtf6YaYcc2xn?= =?us-ascii?Q?xoMP8Kpt+ef45+5R5mtrsuw4DNs0dOKUnf7bHx6a+Qx6NH/0Tb4vLpw2CfwV?= =?us-ascii?Q?41s6axp2g49mstjdrxLm0VLMDy3Z2PJA+VTL1rLu2IVbFAJvoPs7HTnrDHBK?= =?us-ascii?Q?/+RKDTyimeYJIO+cdlqG3KSaBESpzmJP6kC1jpu6UN5zPg1mjC6A7S9storY?= =?us-ascii?Q?P/NHnE5vugParCPfzPfr52vAzaOTbTOrZ0o7/ZVVacXjLmdpHgC7LFbDk1UK?= =?us-ascii?Q?903UAlzExaaHg0IdvpxIgMAsCSujXbr3nKBVlVO6oAWg1/KpEAcdoPLw/ik7?= =?us-ascii?Q?wQepk8Gr5T3QbqiNkJqRMfs7tyiV1KghrD8vC/hPc2OWcew0DwtCp8OPnM2i?= =?us-ascii?Q?W+zWorET0zzdjYZYgRXqUmivaHg9cH6MY+eGPKLKgAajL10NNl3tI6L8b6ci?= =?us-ascii?Q?EyeY9H6+WMlGj1Kwq4uroAOCxAtmchypZM6KszamDVn4qaP/vR/Y0wq5gHsW?= =?us-ascii?Q?oTRf4x9iQHsAXp9zi2DcsFuKhcYL0v48Gy/2WlGOuelEcimCGX7ayfczQ9/s?= =?us-ascii?Q?LXxyZ3WKnp3U2oZoaMY1s87j2hL+4UiHDXitmGltoxN6qBD5Nf4zBSczV0uN?= =?us-ascii?Q?+OdMh/d4EUTCJke+V6sfz1lvjFfvxq4DQXGZ0HdFMEbgU4GcsnRJJ7vjjxKA?= =?us-ascii?Q?+Z1fo/b0Z0rj5FH+PVZn1Cx9AyAACTL7h3EvnR7ZwfYvq9iGG7UySDqF06x3?= =?us-ascii?Q?jMsyk9abIazhz4xOHmSUA1e0cajp9oQPxGiDsXKgn5KpDUKICsPoezNeTz9v?= =?us-ascii?Q?Xwp4G/5Y/BuCXkg9gVv3kUEF6doQ7LxP/oiNL/nNxTZChTh6143MWUwtg8BR?= =?us-ascii?Q?ESOKVqdfPKusQ1LYe4AV6UjxXPNOaE/CxO2VutxECvnNNJkufFpyWncsrNCp?= =?us-ascii?Q?7RdeYRdBzFoxMFCiA1MuF5iQmzjViG0rrolbX3JKb7qRNdsyGDFWC5QNlaZL?= =?us-ascii?Q?DOWtSft7ieKY25UBOnAZWjxYkZmoBFkya4Kk47Xt09hMGvbDVBpCtRekNK+g?= =?us-ascii?Q?lMVj0UwW35Csh7BWP4zG7VoszTX0oerlVeAYoHudpBJ1PoCmqcxQ1UFUbNrT?= =?us-ascii?Q?0iJu5cr2KY1iWv/QABSx3TnxME/ygzAxV4V69zRUpYxh/FnuB2qcFRqjC4pz?= =?us-ascii?Q?pLPmdVeCM3NDysoUGKQUpmVBpzkF99p3/5IT+3SjIWOlD8MtQ0i+2eIwkaOx?= =?us-ascii?Q?3PNvjxZ860320Vvt/GIF6KvS8vaAKdutWg2kLajboPbLnFrlyZcy+lELzIOr?= =?us-ascii?Q?TjDiLUC7HnL4OTItRcfNDrgk0zvQOstmuFTxeBo2HgHOYYE2NvfJKTJXoNWQ?= =?us-ascii?Q?R10OCe9cbCgPl6AyBGq//c0=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2f75829-5715-41b8-a250-08dd567a15fd X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:31.2689 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hjBWDTagkm0MMxwJsntMOD9xQB9YgZtW5s8fMvlz8uFZ3ITsD+Y+b6JdQSUiA6WGVL/CXF0eoFyRVfiivTi4e/NTaMnyvc5jmnqBvLY4DGfu0xVAhBWrlW3YLTKIZfsk X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Add a `csi_setup` function pointer to the `rzg2l_cru_info` structure and pass it as part of the OF data. On RZ/G3E and RZ/V2H(P) SoCs, additional register configurations are required compared to the RZ/G2L SoC. Modify `rzg2l_cru_csi2_setup()` to be referenced through this function pointer and update the code to use it accordingly. This change is in preparation for adding support for RZ/G3E and RZ/V2H(P) SoCs. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Collected tag drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 + drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 6 ++++++ drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c | 8 ++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index e4fb3e12d6bf..3ae0cd83af16 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -363,6 +363,7 @@ static const struct rzg2l_cru_info rzgl2_cru_info =3D { .enable_interrupts =3D rzg2l_cru_enable_interrupts, .disable_interrupts =3D rzg2l_cru_disable_interrupts, .fifo_empty =3D rzg2l_fifo_empty, + .csi_setup =3D rzg2l_cru_csi2_setup, }; =20 static const struct of_device_id rzg2l_cru_of_id_table[] =3D { diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 2e17bfef43ce..ccaba5220f1c 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -89,6 +89,9 @@ struct rzg2l_cru_info { void (*enable_interrupts)(struct rzg2l_cru_dev *cru); void (*disable_interrupts)(struct rzg2l_cru_dev *cru); bool (*fifo_empty)(struct rzg2l_cru_dev *cru); + void (*csi_setup)(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc); }; =20 /** @@ -187,5 +190,8 @@ void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *= cru); void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); =20 bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru); +void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc); =20 #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 83d7baa07dc7..a3c4e2a0bef6 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -242,9 +242,9 @@ static void rzg2l_cru_initialize_axi(struct rzg2l_cru_d= ev *cru) rzg2l_cru_write(cru, AMnAXIATTR, amnaxiattr); } =20 -static void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, - const struct rzg2l_cru_ip_format *ip_fmt, - u8 csi_vc) +void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc) { const struct rzg2l_cru_info *info =3D cru->info; u32 icnmc =3D ICnMC_INF(ip_fmt->datatype); @@ -266,7 +266,7 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2l= _cru_dev *cru, const struct rzg2l_cru_ip_format *cru_ip_fmt; =20 cru_ip_fmt =3D rzg2l_cru_ip_code_to_fmt(ip_sd_fmt->code); - rzg2l_cru_csi2_setup(cru, cru_ip_fmt, csi_vc); + info->csi_setup(cru, cru_ip_fmt, csi_vc); =20 /* Output format */ cru_video_fmt =3D rzg2l_cru_ip_format_to_fmt(cru->format.pixelformat); --=20 2.43.0 From nobody Fri Dec 19 04:03:58 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010036.outbound.protection.outlook.com [52.101.228.36]) (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 082182236FC; Wed, 26 Feb 2025 15:27:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583668; cv=fail; b=SyJG4iYRHOB+eOR9UA/uasIBqN6nrjpoA6sSM2ZmJ0u0WkssX9gyEUVu1qzq9iJoI/iHZEcso2U8DfCvA6FMmRybixXkl/x5MlZIgmcCVWD7uYj7asrsmlzlOD/RF5K12HesszDRuJh0UzgulcztxNiJwEzzEvXB2QW/0SLgcIQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583668; c=relaxed/simple; bh=7MvvoOZmcpDsCsSBky0hGYZcpLG3QrQgnJTGWagAN0g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=D4lYkPgA/pQs/oMMHrrWsJVmROEsUz4TzL64peUODM2pfloRt1m16313RqkhXnVIHHvCoAMQBoWBzpmLdaO8hegjMtc8fwP9/betb+v350DVXrVijtojXJKrM3R5fL4qjKr15D0VHO80qK5PxMxSCIuDjeM8U+8YpHn7djiTKmQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=hMfE7Z9E; arc=fail smtp.client-ip=52.101.228.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="hMfE7Z9E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UDFEexMOVpY/w0sUZueL9AQGUYHv7YxKQWmkYs5fl6EURt1EEmTGTILTj0KXW8Y5GAbMITn3Il1DlJbOxOkW76MQdzs2rXnQiSJ48poA+GGYW9oYKIxb96x+NhLXevWE3Us1wbHX0Cv5Vym2ogD5d2GsSDYMH5xb3LWiCmZpQZgsm+nJ5GZBIP21yU2gpR5Xcavlcm1Wcc0ggOXkHepZ0xulvw4wPvKmu+/gfwkWbJxogXGgFNVNJf+Q3v2troMjpuW8u2O875i44AsZcb6Oc8TEhp31d0a9eFrvgUOK9uxBVPOOPqle7I519/dITrE8WC4INyv8/MImoq4XT+ZF5g== 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=FGbaTDnGlo25yynLYOBDidCUu7kfID91i8lf7RvecRY=; b=e9JGeTt+94vXlLCiAJiOwiMf6Lz7GPG/5w/cfC0w1QzJCI2Fmyu6TC5hsZby5sIlRf20MbZ54Woyu4omV1fkofUgeRWmK+L1TbZDp4VWAbHjvhQdVu0MFQSddhQbVG3t82AfPVtCupco9V53P4xmK6RfThWsjN5AWVEZzGuM14csCWSY/Q7jT2TkD48eke1YxtPq76oj0eSGAyCO+kMUey5366P46XcRa1O/H/HdPGSWG1v5W5kGTsNxZiSEDVhUu2nTEA9KEwvLQ0Cjc6VKArdIUVKYh1zmCLgcS03x59z+1SOq6vM1GErqa2qM2zrQIw624IKjqwWVhpgHLi894Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FGbaTDnGlo25yynLYOBDidCUu7kfID91i8lf7RvecRY=; b=hMfE7Z9EhVYMuRiuQmj5B8IpZva4aQm0olqjYsMxBNBc3d0RqqdEsqcMKfncO140vdHtrlPLZoYJx72ZxKK8q2RNqd3oKthKvlMZuP1rvjx7mQbgIGW+PkeYrsl4FBjo83qpZs9xAhNoYd+LIxlH8MsJlBb6687t9ey+j3QG+9Q= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:43 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:43 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 17/17] media: rzg2l-cru: Add support for RZ/G3E SoC Date: Wed, 26 Feb 2025 16:23:41 +0100 Message-ID: <20250226152418.1132337-18-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) 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: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: 686fa478-4dc7-4143-4be2-08dd567a1d1f X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?l6bl3PlCUeV0GsXX0lnOjcWyHsq3HYalNruVE1zHIv9uNkhLI9MG/7OGuh/e?= =?us-ascii?Q?kt/R7z+50rph+NW96je68o5j5sHjg1hXtHcz+gMX1KbhN8aR055WvSU1NSSF?= =?us-ascii?Q?0aP8Qkv+UyH66aoeXQis5M9mrSIA4VPSrwdrcqnILgti0mP8g4uj1kfbt/WO?= =?us-ascii?Q?1bHNAfr+pna5li1rikvKBEzy4AnsxtD6K042uo+vQZ2uwobEGEsRUxjLeIEa?= =?us-ascii?Q?5GWY67kb79uuFbHfObUSR8LdXZ5/DL1Jk3FVkjFXP3bJWR2mVcZGkmHYKH6f?= =?us-ascii?Q?olQ02BQo2qyMdVJbgwQ71etAt2xMqGWyC0gbAxlOdqo4vWv7EUcaeKOSSA5r?= =?us-ascii?Q?0sbS99qcrPR7f3T+kh4nLE7nOGczp2Fwf6vRLcprhkFHfTdnA+egZes4Tixf?= =?us-ascii?Q?27ejHmtnBRPxvRzkvilFXJV2Ry3JEYCPb20/lTWM+nZvvBezuhFFT5kd5J2a?= =?us-ascii?Q?Ny6e0dBkqMDJj2SC5kNwGfWh6KiguCI/iP7LGjusfHfWY8CU1x5s5gfn7RRo?= =?us-ascii?Q?9/k3Qj6kKo4FeoDdpLXiyWBbC941GQRxjUV1GPnNM0/pgdVQUHv4Lk3HfR+M?= =?us-ascii?Q?Dsv2nQMvP5S8s4sxV/5NvnzY2DWutqc9Jl9R+SNu5txZjPEouxJl5xy+rcv7?= =?us-ascii?Q?ljmY4s0uroytqMqCyV4t0KLlSqwsJlFrhj4N/co4/4j4uBaVUP8nN6h8deof?= =?us-ascii?Q?HOjiHF2k0HlQ0rmaBI0zuTrnNHMlxB1Py2XgrnlfQmbEJWT/rHFTRD8tMavV?= =?us-ascii?Q?maY6c1zB5UUNppBzlFWMkEJF6NzuQ7LyYpZZ8IJaRPXpG577XcdmovaerrmJ?= =?us-ascii?Q?JsQ9FWTRGzDAeUqbotON4KSwwg9zxnLkwEwiLgDArHCjtBt4WeHQKnqyt/eS?= =?us-ascii?Q?p5Ud/+W3z5Vg7RWO4a9HYH9aOS50u21uzcybr+kMCdQd7/sGvXAUBO5aW30+?= =?us-ascii?Q?6swBOLfef9+5zWahlkCHjlCCiaZimZUFnjTH7B/2Ur/AanD4HZiUC3d1IoO4?= =?us-ascii?Q?H86xPJeFEnQcYqy2ZkCDqkV/LJLjh23yaDFg0RbNU6Grw2TnY6F4lnYFZMk2?= =?us-ascii?Q?1tAK5ZgySbJb6OD89ELErHoM49bEVpWl3QhYWWyeVu6Af5LhGE9bKyuE259W?= =?us-ascii?Q?3/rmlmyDStFm7/XoicHTF9bPL6oLAfkxW/cYu/l/4tqEKD2qbm/d9adY296D?= =?us-ascii?Q?bmPbINzwolNoIJJytwkxoCCa7lrSPoD4ME2yHEHPnW0J/EdbD2r3SE4n/UXf?= =?us-ascii?Q?cEO5ASU0hp4orYY+40imTX+CbGiHC+wJXgwbtciTt2voDYUTefWareZYvJpM?= =?us-ascii?Q?N8aLZ8D7wStyFkoSFdzJQvn8AmpXTLWTl1ETzkJc4pYnb/fI3AgMdix7CL8M?= =?us-ascii?Q?nMu+qaKunSGMYUGc0Uyjwe7KEh+27J4dAQT+4yD/wVxKCaKg94ISGXK1TMjA?= =?us-ascii?Q?dh7waJugi3gcvgYhCMDZbXrlVlMl4YY1?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7RY6icO58W14GfWkhaOT6eobj/MTrl7iMZqKt92KD4FB7YVNBXe9hSuc20gS?= =?us-ascii?Q?pZBqmoTjS0SKOTSF0rOMr97JGTPrbt8D8fmXZy1nSNl6FMuUwwZFwsThHTMm?= =?us-ascii?Q?iYoA6xyCQ/Es6hNW5MrWD34tO4Rm1tG/7n3vqLMEpAtYE2KyRjtcUSDumLPz?= =?us-ascii?Q?YJGccvE0N4pntjWaAyMTwHgc5nAG5J8EmL1yZEwW6XKl3j75eXoSp3IHOFD7?= =?us-ascii?Q?I3MVohv0KeMNx70rTjsmodPH9GLwhTX5gPs4lsqTzzh4WEe7cd6q2tHyoK8m?= =?us-ascii?Q?sk3/RZKaySyR7acvWimX6u9Z32St9dewOUtw0kvwbasgwrtmr/iqQP6fMzqY?= =?us-ascii?Q?NY24s3M6TWXHNlOtR7C+LR3edw5SjpKVQvzaHyINbO0tuJADgLK/bvljPr35?= =?us-ascii?Q?bGw/Ti7/LDEBZG+SOChL885ANweCQ3gTylrW3pQGE1qma60RVFfHna1v+556?= =?us-ascii?Q?VwO9Mls+w970arx4Fb5VfYgqrwBZrZ4uVDcT9maVfdjKAQS5TExw/quXP++w?= =?us-ascii?Q?iu4KP7WDyEoJVts3y9eI3uPWxMnfQgitJjk7tg0HCVHTjFdQdzwOYjaa1fZo?= =?us-ascii?Q?LKgOIIj0WAlD8gWLsweNHVqsI2NyqHpX6w8TUe69IHPqwigqzT1e/78X4os9?= =?us-ascii?Q?wAT4tcIrtnv31QLTGYD/c/WNGkE77i0UST7CcDEetB7UxvByjuliu8GqYo2a?= =?us-ascii?Q?I62b3RY9qAlQai/zSBakmrsgohyc+KWZbkW2R2WZHfKRJc0nHFvaaJqrZwI6?= =?us-ascii?Q?upM7KJmxKAe8NoyHj7/G9HRXQZAKn1WaU+HhWJYQBGj0/QHnvAkzxERD60Pj?= =?us-ascii?Q?OUAM7R31YAOig45kKfO2tBM/lhOFkxPZN+BEbc+m4Rwygw20Iy6bZEzFHczM?= =?us-ascii?Q?Z06REdgpPawu+JbMChF7wWMPl82r8WwLDtQ3ajLw6gYsu59zZjZsIKoF5Ugq?= =?us-ascii?Q?gh0JhVvXlwvkWCNcKxwn1b8jc8Qe4pzzTh/IVqdw0mjkVO90BlIun8bGBzhh?= =?us-ascii?Q?hIhPMsS1n7hIU0eH+OZhLxGxJVS5aMfS68mpzmZjYoSVSlpMoBd9T0ixvl2P?= =?us-ascii?Q?MJo8+nLeohmj6r7mA3F6h7J3pb9FYRDMcC5bfxrr25HMjbh5EcN4PgrIN7hF?= =?us-ascii?Q?2cGsUOoDLysZnBqFFi38fm7WX9PhWp2ITHeIvn0g6P0BqGyQb58qzbLczJ/6?= =?us-ascii?Q?vE7cR6DlaT+W+ATmyUDlbgxSdhP5K19W1BSvBvPL6oTeahs2WXS8RHnoafbI?= =?us-ascii?Q?plhbtYhkC0bCLJCmx7PHHeuOfkCTtZK1kLxZxO4Ah+aOZeVEiDaipUhFVZ4N?= =?us-ascii?Q?gD1Pe/T5kemUfqo01nYbnmW749XkSjPgXc9yVWJ72xBhgePwyqxrdcBrYauC?= =?us-ascii?Q?IOeebtX2EtNvTscAfMb5NFDEUvcIiB+xbIwVzoSKPOOp1LyVuiNZxPMqxz27?= =?us-ascii?Q?FIlsb9tP75QfX2MbDTqas2QtvlVHfk9QzFj7xOYWtHuwghafHZy71fGRzTiC?= =?us-ascii?Q?zosCRjT4BcC/FrtsooN3BXox2NzGSuNZxG4gZYe3BbravC+5oZQsFxJdWVwQ?= =?us-ascii?Q?9zTWjYCi7/I6Rpl2vUngcL6cc9uTK6NtjWRGZg86mR9Fgzsw51D8oe4EvY+g?= =?us-ascii?Q?gijpTGyeFP2sAk5aELFQxcw=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 686fa478-4dc7-4143-4be2-08dd567a1d1f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:43.2297 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: i3hpDwLbPLp+89frt46gyAqguSPPEZCyrYX2lz77s6g26j8qDdprzYJoxlAmm0jMmPHbE+BA1792Zjsr6dsRzxsjZGXamLQkf/Pq2o2Rl+lpoZvqIxVusumwNwkJewfb X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar The CRU block on the Renesas RZ/G3E SoC is similar to the one found on the Renesas RZ/G2L SoC, with the following differences: - Additional registers rzg3e_cru_regs. - A different irq handler rzg3e_cru_irq. - A different rzg3e_cru_csi2_setup. - A different max input width. - Additional stride register. Introduce rzg3e_cru_info struct to handle differences between RZ/G2L and RZ/G3E and related RZ/G3E functions: - rzg3e_cru_enable_interrupts() - rzg3e_cru_enable_interrupts() - rz3e_fifo_empty() - rzg3e_cru_csi2_setup() - rzg3e_cru_get_current_slot() Add then support for the RZ/G3E SoC CRU block with the new compatible string "renesas,r9a09g047-cru". Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Use dma_addr_t with buf_addr directly instead of splitting that into cru->mem_banks (high and low address) as suggested by LPinchart. - Moved and improved stride adjustment into rzg2l_cru_format_align() as suggested by LPinchart. - Use csi_vc into rzg3e_cru_csi2_setup() instead of cru->svc_channel as suggested by LPinchart - Added has_stride field to handle soc differences as suggested by LPincha= rt. .../platform/renesas/rzg2l-cru/rzg2l-core.c | 62 +++++++ .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 25 +++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 13 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 171 +++++++++++++++++- 4 files changed, 270 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/driver= s/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 3ae0cd83af16..1356be14eda8 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -290,6 +290,12 @@ static int rzg2l_cru_probe(struct platform_device *pde= v) return ret; =20 cru->num_buf =3D RZG2L_CRU_HW_BUFFER_DEFAULT; + cru->buf_addr =3D devm_kmalloc_array(dev, cru->num_buf, + sizeof(dma_addr_t), GFP_KERNEL); + if (!cru->buf_addr) + return dev_err_probe(dev, -ENOMEM, + "Failed to init buf addr\n"); + pm_suspend_ignore_children(dev, true); ret =3D devm_pm_runtime_enable(dev); if (ret) @@ -321,6 +327,58 @@ static void rzg2l_cru_remove(struct platform_device *p= dev) rzg2l_cru_dma_unregister(cru); } =20 +static const u16 rzg3e_cru_regs[] =3D { + [CRUnCTRL] =3D 0x0, + [CRUnIE] =3D 0x4, + [CRUnIE2] =3D 0x8, + [CRUnINTS] =3D 0xc, + [CRUnINTS2] =3D 0x10, + [CRUnRST] =3D 0x18, + [AMnMB1ADDRL] =3D 0x40, + [AMnMB1ADDRH] =3D 0x44, + [AMnMB2ADDRL] =3D 0x48, + [AMnMB2ADDRH] =3D 0x4c, + [AMnMB3ADDRL] =3D 0x50, + [AMnMB3ADDRH] =3D 0x54, + [AMnMB4ADDRL] =3D 0x58, + [AMnMB4ADDRH] =3D 0x5c, + [AMnMB5ADDRL] =3D 0x60, + [AMnMB5ADDRH] =3D 0x64, + [AMnMB6ADDRL] =3D 0x68, + [AMnMB6ADDRH] =3D 0x6c, + [AMnMB7ADDRL] =3D 0x70, + [AMnMB7ADDRH] =3D 0x74, + [AMnMB8ADDRL] =3D 0x78, + [AMnMB8ADDRH] =3D 0x7c, + [AMnMBVALID] =3D 0x88, + [AMnMADRSL] =3D 0x8c, + [AMnMADRSH] =3D 0x90, + [AMnAXIATTR] =3D 0xec, + [AMnFIFOPNTR] =3D 0xf8, + [AMnAXISTP] =3D 0x110, + [AMnAXISTPACK] =3D 0x114, + [AMnIS] =3D 0x128, + [ICnEN] =3D 0x1f0, + [ICnSVCNUM] =3D 0x1f8, + [ICnSVC] =3D 0x1fc, + [ICnIPMC_C0] =3D 0x200, + [ICnMS] =3D 0x2d8, + [ICnDMR] =3D 0x304, +}; + +static const struct rzg2l_cru_info rzg3e_cru_info =3D { + .max_width =3D 4095, + .max_height =3D 4095, + .image_conv =3D ICnIPMC_C0, + .has_stride =3D true, + .regs =3D rzg3e_cru_regs, + .irq_handler =3D rzg3e_cru_irq, + .enable_interrupts =3D rzg3e_cru_enable_interrupts, + .disable_interrupts =3D rzg3e_cru_disable_interrupts, + .fifo_empty =3D rz3e_fifo_empty, + .csi_setup =3D rzg3e_cru_csi2_setup, +}; + static const u16 rzg2l_cru_regs[] =3D { [CRUnCTRL] =3D 0x0, [CRUnIE] =3D 0x4, @@ -367,6 +425,10 @@ static const struct rzg2l_cru_info rzgl2_cru_info =3D { }; =20 static const struct of_device_id rzg2l_cru_of_id_table[] =3D { + { + .compatible =3D "renesas,r9a09g047-cru", + .data =3D &rzg3e_cru_info, + }, { .compatible =3D "renesas,rzg2l-cru", .data =3D &rzgl2_cru_info, diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h b/dr= ivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h index 86c320286246..52324b076674 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h @@ -14,8 +14,13 @@ =20 #define CRUnIE_EFE BIT(17) =20 +#define CRUnIE2_FSxE(x) BIT(((x) * 3)) +#define CRUnIE2_FExE(x) BIT(((x) * 3) + 1) + #define CRUnINTS_SFS BIT(16) =20 +#define CRUnINTS2_FSxS(x) BIT(((x) * 3)) + #define CRUnRST_VRESETN BIT(0) =20 /* Memory Bank Base Address (Lower) Register for CRU Image Data */ @@ -32,7 +37,14 @@ #define AMnAXIATTR_AXILEN (0xf) =20 #define AMnFIFOPNTR_FIFOWPNTR GENMASK(7, 0) +#define AMnFIFOPNTR_FIFOWPNTR_B0 AMnFIFOPNTR_FIFOWPNTR +#define AMnFIFOPNTR_FIFOWPNTR_B1 GENMASK(15, 8) #define AMnFIFOPNTR_FIFORPNTR_Y GENMASK(23, 16) +#define AMnFIFOPNTR_FIFORPNTR_B0 AMnFIFOPNTR_FIFORPNTR_Y +#define AMnFIFOPNTR_FIFORPNTR_B1 GENMASK(31, 24) + +#define AMnIS_IS_MASK GENMASK(14, 7) +#define AMnIS_IS(x) ((x) << 7) =20 #define AMnAXISTP_AXI_STOP BIT(0) =20 @@ -40,6 +52,11 @@ =20 #define ICnEN_ICEN BIT(0) =20 +#define ICnSVC_SVC0(x) (x) +#define ICnSVC_SVC1(x) ((x) << 4) +#define ICnSVC_SVC2(x) ((x) << 8) +#define ICnSVC_SVC3(x) ((x) << 12) + #define ICnMC_CSCTHR BIT(5) #define ICnMC_INF(x) ((x) << 16) #define ICnMC_VCSEL(x) ((x) << 22) @@ -52,7 +69,9 @@ enum rzg2l_cru_common_regs { CRUnCTRL, /* CRU Control */ CRUnIE, /* CRU Interrupt Enable */ + CRUnIE2, /* CRU Interrupt Enable(2) */ CRUnINTS, /* CRU Interrupt Status */ + CRUnINTS2, /* CRU Interrupt Status(2) */ CRUnRST, /* CRU Reset */ AMnMB1ADDRL, /* Bank 1 Address (Lower) for CRU Image Data */ AMnMB1ADDRH, /* Bank 1 Address (Higher) for CRU Image Data */ @@ -72,12 +91,18 @@ enum rzg2l_cru_common_regs { AMnMB8ADDRH, /* Bank 8 Address (Higher) for CRU Image Data */ AMnMBVALID, /* Memory Bank Enable for CRU Image Data */ AMnMBS, /* Memory Bank Status for CRU Image Data */ + AMnMADRSL, /* VD Memory Address Lower Status Register */ + AMnMADRSH, /* VD Memory Address Higher Status Register */ AMnAXIATTR, /* AXI Master Transfer Setting Register for CRU Image Data */ AMnFIFOPNTR, /* AXI Master FIFO Pointer for CRU Image Data */ AMnAXISTP, /* AXI Master Transfer Stop for CRU Image Data */ AMnAXISTPACK, /* AXI Master Transfer Stop Status for CRU Image Data */ + AMnIS, /* Image Stride Setting Register */ ICnEN, /* CRU Image Processing Enable */ + ICnSVCNUM, /* CRU SVC Number Register */ + ICnSVC, /* CRU VC Select Register */ ICnMC, /* CRU Image Processing Main Control */ + ICnIPMC_C0, /* CRU Image Converter Main Control 0 */ ICnMS, /* CRU Module Status */ ICnDMR, /* CRU Data Output Mode */ RZG2L_CRU_MAX_REG, diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers= /media/platform/renesas/rzg2l-cru/rzg2l-cru.h index ccaba5220f1c..d68d83340686 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -85,6 +85,7 @@ struct rzg2l_cru_info { unsigned int max_height; u16 image_conv; const u16 *regs; + bool has_stride; irqreturn_t (*irq_handler)(int irq, void *data); void (*enable_interrupts)(struct rzg2l_cru_dev *cru); void (*disable_interrupts)(struct rzg2l_cru_dev *cru); @@ -108,6 +109,8 @@ struct rzg2l_cru_info { * @vdev: V4L2 video device associated with CRU * @v4l2_dev: V4L2 device * @num_buf: Holds the current number of buffers enabled + * @svc_channel: SVC0/1/2/3 to use for RZ/G3E + * @buf_addr: Memory addresses where current video data is written. * @notifier: V4L2 asynchronous subdevs notifier * * @ip: Image processing subdev info @@ -144,6 +147,9 @@ struct rzg2l_cru_dev { struct v4l2_device v4l2_dev; u8 num_buf; =20 + u8 svc_channel; + dma_addr_t *buf_addr; + struct v4l2_async_notifier notifier; =20 struct rzg2l_cru_ip ip; @@ -175,6 +181,7 @@ void rzg2l_cru_dma_unregister(struct rzg2l_cru_dev *cru= ); int rzg2l_cru_video_register(struct rzg2l_cru_dev *cru); void rzg2l_cru_video_unregister(struct rzg2l_cru_dev *cru); irqreturn_t rzg2l_cru_irq(int irq, void *data); +irqreturn_t rzg3e_cru_irq(int irq, void *data); =20 const struct v4l2_format_info *rzg2l_cru_format_from_pixel(u32 format); =20 @@ -188,10 +195,16 @@ const struct rzg2l_cru_ip_format *rzg2l_cru_ip_index_= to_fmt(u32 index); =20 void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru); void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); +void rzg3e_cru_enable_interrupts(struct rzg2l_cru_dev *cru); +void rzg3e_cru_disable_interrupts(struct rzg2l_cru_dev *cru); =20 bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru); +bool rz3e_fifo_empty(struct rzg2l_cru_dev *cru); void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, const struct rzg2l_cru_ip_format *ip_fmt, u8 csi_vc); +void rzg3e_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc); =20 #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index a3c4e2a0bef6..506079af1528 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -31,6 +31,9 @@ #define RZG2L_CRU_DEFAULT_FIELD V4L2_FIELD_NONE #define RZG2L_CRU_DEFAULT_COLORSPACE V4L2_COLORSPACE_SRGB =20 +#define RZG2L_CRU_STRIDE_MAX 32640 +#define RZG2L_CRU_STRIDE_ALIGN 128 + struct rzg2l_cru_buffer { struct vb2_v4l2_buffer vb; struct list_head list; @@ -184,6 +187,8 @@ static void rzg2l_cru_set_slot_addr(struct rzg2l_cru_de= v *cru, /* Currently, we just use the buffer in 32 bits address */ rzg2l_cru_write(cru, AMnMBxADDRL(slot), addr); rzg2l_cru_write(cru, AMnMBxADDRH(slot), 0); + + cru->buf_addr[slot] =3D addr; } =20 /* @@ -224,6 +229,7 @@ static void rzg2l_cru_fill_hw_slot(struct rzg2l_cru_dev= *cru, int slot) =20 static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) { + const struct rzg2l_cru_info *info =3D cru->info; unsigned int slot; u32 amnaxiattr; =20 @@ -236,12 +242,39 @@ static void rzg2l_cru_initialize_axi(struct rzg2l_cru= _dev *cru) for (slot =3D 0; slot < cru->num_buf; slot++) rzg2l_cru_fill_hw_slot(cru, slot); =20 + if (info->has_stride) { + u32 stride =3D cru->format.bytesperline; + u32 amnis; + + stride /=3D RZG2L_CRU_STRIDE_ALIGN; + amnis =3D rzg2l_cru_read(cru, AMnIS) & ~AMnIS_IS_MASK; + rzg2l_cru_write(cru, AMnIS, amnis | AMnIS_IS(stride)); + } + /* Set AXI burst max length to recommended setting */ amnaxiattr =3D rzg2l_cru_read(cru, AMnAXIATTR) & ~AMnAXIATTR_AXILEN_MASK; amnaxiattr |=3D AMnAXIATTR_AXILEN; rzg2l_cru_write(cru, AMnAXIATTR, amnaxiattr); } =20 +void rzg3e_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc) +{ + const struct rzg2l_cru_info *info =3D cru->info; + u32 icnmc =3D ICnMC_INF(ip_fmt->datatype); + + icnmc |=3D (rzg2l_cru_read(cru, info->image_conv) & ~ICnMC_INF_MASK); + + /* Set virtual channel CSI2 */ + icnmc |=3D ICnMC_VCSEL(csi_vc); + + rzg2l_cru_write(cru, ICnSVCNUM, csi_vc); + rzg2l_cru_write(cru, ICnSVC, ICnSVC_SVC0(0) | ICnSVC_SVC1(1) | + ICnSVC_SVC2(2) | ICnSVC_SVC3(3)); + rzg2l_cru_write(cru, info->image_conv, icnmc); +} + void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, const struct rzg2l_cru_ip_format *ip_fmt, u8 csi_vc) @@ -290,6 +323,19 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2= l_cru_dev *cru, return 0; } =20 +bool rz3e_fifo_empty(struct rzg2l_cru_dev *cru) +{ + u32 amnfifopntr =3D rzg2l_cru_read(cru, AMnFIFOPNTR); + + if ((((amnfifopntr & AMnFIFOPNTR_FIFORPNTR_B1) >> 24) =3D=3D + ((amnfifopntr & AMnFIFOPNTR_FIFOWPNTR_B1) >> 8)) && + (((amnfifopntr & AMnFIFOPNTR_FIFORPNTR_B0) >> 16) =3D=3D + (amnfifopntr & AMnFIFOPNTR_FIFOWPNTR_B0))) + return true; + + return false; +} + bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru) { u32 amnfifopntr, amnfifopntr_w, amnfifopntr_r_y; @@ -401,6 +447,20 @@ static int rzg2l_cru_get_virtual_channel(struct rzg2l_= cru_dev *cru) return fd.entry[0].bus.csi2.vc; } =20 +void rzg3e_cru_enable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE2, CRUnIE2_FSxE(cru->svc_channel)); + rzg2l_cru_write(cru, CRUnIE2, CRUnIE2_FExE(cru->svc_channel)); +} + +void rzg3e_cru_disable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE, 0); + rzg2l_cru_write(cru, CRUnIE2, 0); + rzg2l_cru_write(cru, CRUnINTS, rzg2l_cru_read(cru, CRUnINTS)); + rzg2l_cru_write(cru, CRUnINTS2, rzg2l_cru_read(cru, CRUnINTS2)); +} + void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru) { rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); @@ -423,6 +483,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_d= ev *cru) if (ret < 0) return ret; csi_vc =3D ret; + cru->svc_channel =3D csi_vc; =20 spin_lock_irqsave(&cru->qlock, flags); =20 @@ -601,6 +662,107 @@ irqreturn_t rzg2l_cru_irq(int irq, void *data) return IRQ_RETVAL(handled); } =20 +static int rzg3e_cru_get_current_slot(struct rzg2l_cru_dev *cru) +{ + dma_addr_t amnmadrs; + unsigned int slot; + + /* + * When AMnMADRSL is read, AMnMADRSH of the higher-order + * address also latches the address. + * + * AMnMADRSH must be read after AMnMADRSL has been read. + */ + amnmadrs =3D rzg2l_cru_read(cru, AMnMADRSL); + amnmadrs |=3D ((dma_addr_t)rzg2l_cru_read(cru, AMnMADRSH) << 32); + + /* Ensure amnmadrs is within this buffer range */ + for (slot =3D 0; slot < cru->num_buf; slot++) + if (amnmadrs >=3D cru->buf_addr[slot] && + amnmadrs < cru->buf_addr[slot] + cru->format.sizeimage) + return slot; + + dev_err(cru->dev, "Invalid MB address 0x%llx (out of range)\n", amnmadrs); + return -EINVAL; +} + +irqreturn_t rzg3e_cru_irq(int irq, void *data) +{ + struct rzg2l_cru_dev *cru =3D data; + unsigned int handled =3D 0; + unsigned long flags; + unsigned int slot; + u32 irq_status; + + spin_lock_irqsave(&cru->qlock, flags); + irq_status =3D rzg2l_cru_read(cru, CRUnINTS2); + if (!(irq_status)) + goto done; + + dev_dbg(cru->dev, "CRUnINTS2 0x%x\n", irq_status); + + handled =3D 1; + + rzg2l_cru_write(cru, CRUnINTS2, rzg2l_cru_read(cru, CRUnINTS2)); + + /* Nothing to do if capture status is 'RZG2L_CRU_DMA_STOPPED' */ + if (cru->state =3D=3D RZG2L_CRU_DMA_STOPPED) { + dev_dbg(cru->dev, "IRQ while state stopped\n"); + goto done; + } + + if (cru->state =3D=3D RZG2L_CRU_DMA_STOPPING) { + if (irq_status & CRUnINTS2_FSxS(0) || + irq_status & CRUnINTS2_FSxS(1) || + irq_status & CRUnINTS2_FSxS(2) || + irq_status & CRUnINTS2_FSxS(3)) + dev_dbg(cru->dev, "IRQ while state stopping\n"); + goto done; + } + + slot =3D rzg3e_cru_get_current_slot(cru); + if (slot < 0) + goto done; + + dev_dbg(cru->dev, "Current written slot: %d\n", slot); + cru->buf_addr[slot] =3D 0; + + /* + * To hand buffers back in a known order to userspace start + * to capture first from slot 0. + */ + if (cru->state =3D=3D RZG2L_CRU_DMA_STARTING) { + if (slot !=3D 0) { + dev_dbg(cru->dev, "Starting sync slot: %d\n", slot); + goto done; + } + dev_dbg(cru->dev, "Capture start synced!\n"); + cru->state =3D RZG2L_CRU_DMA_RUNNING; + } + + /* Capture frame */ + if (cru->queue_buf[slot]) { + cru->queue_buf[slot]->field =3D cru->format.field; + cru->queue_buf[slot]->sequence =3D cru->sequence; + cru->queue_buf[slot]->vb2_buf.timestamp =3D ktime_get_ns(); + vb2_buffer_done(&cru->queue_buf[slot]->vb2_buf, + VB2_BUF_STATE_DONE); + cru->queue_buf[slot] =3D NULL; + } else { + /* Scratch buffer was used, dropping frame. */ + dev_dbg(cru->dev, "Dropping frame %u\n", cru->sequence); + } + + cru->sequence++; + + /* Prepare for next frame */ + rzg2l_cru_fill_hw_slot(cru, slot); + +done: + spin_unlock_irqrestore(&cru->qlock, flags); + return IRQ_RETVAL(handled); +} + static int rzg2l_cru_start_streaming_vq(struct vb2_queue *vq, unsigned int= count) { struct rzg2l_cru_dev *cru =3D vb2_get_drv_priv(vq); @@ -782,7 +944,14 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_de= v *cru, v4l_bound_align_image(&pix->width, 320, info->max_width, 1, &pix->height, 240, info->max_height, 2, 0); =20 - pix->bytesperline =3D pix->width * fmt->bpp; + if (info->has_stride) { + u32 stride =3D clamp(pix->bytesperline, pix->width * fmt->bpp, + RZG2L_CRU_STRIDE_MAX); + pix->bytesperline =3D round_up(stride, RZG2L_CRU_STRIDE_ALIGN); + } else { + pix->bytesperline =3D pix->width * fmt->bpp; + } + pix->sizeimage =3D pix->bytesperline * pix->height; =20 dev_dbg(cru->dev, "Format %ux%u bpl: %u size: %u\n", --=20 2.43.0