From nobody Fri Dec 19 00:40:09 2025 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011056.outbound.protection.outlook.com [52.101.125.56]) (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 CD4611E5B9D; Thu, 10 Apr 2025 08:13:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272825; cv=fail; b=I735Lt/Uguc/IOghyLvRpmHPz0RUbP2VnR38Pr4kJ5pHvLCKafKzMN8YTF9mMkSMLuqlUIUUNIS5DPMJK2MidzMocc33l1f4maL7pp/IFAtQAQdV03/R26Kj1Aauc6oCRiyE5nYEryhCVRGRb8BlB9GJsCrcE6KvpSGxDkeKHLg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272825; c=relaxed/simple; bh=GwC/pnvXfePMeOSqvF7zTcSuX9PSb4MHw0m9fpN4+AQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=dZu+CCFiMzoXpmpspS4Ab7eLqkFsPAxu4qUO9CytuXz4+VhOWkwFyqZO/W4Bp18AUEsfpDWuyajkV684vO05CqAfCkXWhzpCrs8XpUq/7t7IPg1qM/zMAlFngw+a9eWoRmHos659LNlL3LBqA+39I4hBC3GaElbtl208NXBThq8= 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=n47tIC77; arc=fail smtp.client-ip=52.101.125.56 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="n47tIC77" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YKQ3YIbsrkH+V+YfY32f2b1oYwITUgaeN5bnCQ8NRJdlv9gVvQYnEzoak+LPOw2P0cXMrjbmFMzQLbwrXDp0AkyIJANuq3aFT6EjHo6EyN1J6YvWH03de2bEXW3HvyJyV+tcutQT9faD3BbfeAjdd/RirkaBPmki9t+BU6Acy/kYeggp1qBoCQBXCuFofNNMrKqFvON8Tlljp0CjYGOKq1qrHocI3ySlOUuRJngwl8cOCGm05yXkutSdCcvPPU5wYvxii26YIx2ycbm/aQEbBiwFMInsw8EamE9LBd75c+K5Y3SHydKIsxCz+XtGKCwdSUum0vF20Ozw67L8yi+bog== 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=a+sJ/VKw9i+wYzK6ThZ2MwoL2lHU0JgBemf00RHc+9E=; b=mA+cSakRlzWA37IVSVLwLtwcZ+WCZyzEt7oYfsr0GLOlInToZ3QTBiOmmXjX/LW0KR926DKfzB18eS0k/ByR57+B/OXsgMsuynCGtR02Iln5lZfizc3EgG7AkT7aJKHfviiPbxPPlXOnOawWwtD1Hx27KVIYPP+oRWvl3bvKQCiMtqJTVylXcvUdSYGURkxa9zcn5QSlvjTTwVYzur6LhT3yI1IVexNivCMycCaS7XY5f3y18kecavNS6Ewj1pcKgRByfJMvUJFp+Q3eCMfdan4gQa7aT6AO++zZMHLB3R6eTsT/EFtGPlhvGjzMpzwgvmB3feAl6WsKqDa+HkWoXg== 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=a+sJ/VKw9i+wYzK6ThZ2MwoL2lHU0JgBemf00RHc+9E=; b=n47tIC77k/jmBiBnBuUbKr+yhcA7w+4SMpOKQhtBq2sbuDAhDT7O71FbOxv2Aokwk9dB5+GcQ7XURFmh0xvgVLHWgrrRXlB2PFoX4MyaIbGxcv68SxlXDCH6M2pPvHHmz+bO8XmBWolEtPbEZyfd9QhOjDs7m0lXN3DJMLyLEHk= 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 TYCPR01MB10119.jpnprd01.prod.outlook.com (2603:1096:400:1ef::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Thu, 10 Apr 2025 08:13:37 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:13:37 +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 v6 01/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/V2H(P) SoC Date: Thu, 10 Apr 2025 10:12:05 +0200 Message-ID: <20250410081300.3133959-2-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYCPR01MB10119:EE_ X-MS-Office365-Filtering-Correlation-Id: deff0415-f2a8-4716-4184-08dd7807982b 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|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LvfUxMFXOu+kNuci9EQta9/velWbgY9HFVCe3tqNBFfVYwns5CAsccJoVPBY?= =?us-ascii?Q?pAxZgmH57WfNPIWy+vEdI3QnK/FxfGn6RxYqVMTbt3QjhL7gxePvKOsp9Rwh?= =?us-ascii?Q?P1rTQKq54A+w/OxljvSMZKCJOFjnwTs7D6vozcbSBvSjAFJ9gkJmlQMZ2C2r?= =?us-ascii?Q?4ZaDFTQAtWiMivAAP71XMQpr8kUIZAi5LTxt8zaRAPYGmAg+VlnS0CMU3Nvq?= =?us-ascii?Q?okfUonA6hmZRPYiXrVDlypUBbKDbPpL4tMCIr2NTERHpqYXVleHm+pFMqCMN?= =?us-ascii?Q?idbLeQPh6A1EdNzUUalAN0ELdaBxakB9SCCoU4qzwlKYZD3EXZSGNTFRXRJl?= =?us-ascii?Q?A3b4rzyN/+wRA7PkvJszzmw52P+e5qMy6rLNuCch8nW8vSv4HRCk2m+gDyb2?= =?us-ascii?Q?PLu/Kc9gnxMrqEM4BevZ2K2PK3ZeN7IlIXwRMnAnK0AlIU6wNbWQAYhh2qYN?= =?us-ascii?Q?jHraZTNBISGH+KqlzUPT3lH7TN3B2LK4gAprSl6wNHCNdQPi+33rZrhWFQgF?= =?us-ascii?Q?3joP5K1ViefvjSSqASA4VotHttB5J+u7SqMp4Ui0Cae5ggNyBXGXsLA3ysHv?= =?us-ascii?Q?vNAmVe++sZwPlCT2Bcv+B7h0MqStJRQ/TUNqq20qjSu7IPakERSPFKgtBOSn?= =?us-ascii?Q?tSBGhl2WojOrF1nB18RY0IJdu7MbM46U7FWGvaxczxguIRzr4rY0eXlj4koF?= =?us-ascii?Q?iGsqMs9XsNUmk47N5AnCWTBEIGgy4dOFJgSGeTgrAG3+J6Z7WhJJhkUbtR8/?= =?us-ascii?Q?z89s3fQnSU6UTusfMG3PzkqWU/wnPGeT5rQcj4CnCu1txc1fSJpDYCDIXuDA?= =?us-ascii?Q?ihi9qrcrxK1o6b/boWG4fvXd3W1ygqJg8JmxhjlT5zdtSbz7OcKFUAicKVfA?= =?us-ascii?Q?KWr0FcllSbcaS4y1e375TiYH8Zyk5Xgec2tJSQrctbDEzLMr7qnL8f4d7QXm?= =?us-ascii?Q?e/4uaEMnk/mJ7eXY3rx4xv3GgdbvF84KwGW8giTmDL+tyn4WYhBz/hyUWuCP?= =?us-ascii?Q?I5dbLI2Z2nxtMafd7ytM3y/fLGYAvSSURJRIvwuiebY7fDjfusE54HrUvI86?= =?us-ascii?Q?GnGBApXF+mPZXMcsR/l9+smc0jxZugqicqZksffdC761db4Rjn+bcvpbHJI2?= =?us-ascii?Q?Rs7jLHMMCEj6pLl5RjX0xRyzTBDWE3bHhTda1gFydQDcPTy/bUlFQfH0mO83?= =?us-ascii?Q?HnZveiTO56XUG4dUks+WC1g+DRi8cmbJ2GM7Be9SKcDD7qWNmBk8alYtlBEr?= =?us-ascii?Q?8JgfzTYLIC9ozCY946EtTyeWlCy3Q0ElGw3EqfBAk5F2626AsZrETkhMieZ3?= =?us-ascii?Q?626DBhbEUH4rToRhynUy6vvzf7Iir/7n850Sc4Dy/qFqV56OZ8BgOIB++lRD?= =?us-ascii?Q?laTHtiB9XPQpFm6yvkhOPCdzFitso6LI21z6QBobFuyjMINzjOpGZU9j2W1c?= =?us-ascii?Q?8Eu3EGQZYO0OIYTwBH1T501lW9+iNZmgSiSAmHUnEzoIdbaBppTWhQ=3D=3D?= 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)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MUEJnq54ziyf/3L3o7uKHsEe8abCa7AtzsIY32/8G3ZXkNqThuKo0x+yjUsT?= =?us-ascii?Q?EhoB/BT2lHohTFBPp2YyfFyb1LJlBRVmcoI3M0SITpUAPM86IzCwtS6WpWIq?= =?us-ascii?Q?IhCndcaQkahJabuuRB/ISP93zW4Sk9E4nlSo4hsWme04e9oMdDZBu7JSuTpg?= =?us-ascii?Q?zSt5sAlXj+UfnSPNvsmTj04eq2mI8bNLgRqVmzq+CcqQLobt2GCM3MISK/bH?= =?us-ascii?Q?3nUWK1kD8gXD84gz0qCOCFiPylvOd//2/oqyxBxuLo+YPZxy+FgVNCTvUdlt?= =?us-ascii?Q?Ykdpivw0HN5eLzUDewIe2GqChIRxhp7j27Nmqdb7pYIn8H7SdmYLXD3mEhlG?= =?us-ascii?Q?1q9S/x2pT7L0yU3s8cQXZp+U6ETmMaoPY809BTekIZ3asIZOcmGA5eS1E9We?= =?us-ascii?Q?C9soPnZT39b4NCXbJJKpyi3kEnCnFt+WWv+YgZmuaQgLlf96TJwcGgAkrO7Y?= =?us-ascii?Q?YlpwxaK9BXruHzmEF2meiKH4BeN3+JGmyvlve9eMHh6l9Y/JhRkMXNME6Fo7?= =?us-ascii?Q?p0GvfpdgH2bYVHlhozDy07pUHXmuENlgciRTMYC/rPOpoqtUWsCtvXrZkLMt?= =?us-ascii?Q?6yMts3x216wn4xRFVc3i5Uj+2U9nQ2FyHCDLTc/7kmEgZB8CDivOMMqG1mcE?= =?us-ascii?Q?l1KDTFpRrWuB/zeHD5c5w2wBd4aWwPn8TOQ1JzDBcDINTft6mmSZB9O4PB47?= =?us-ascii?Q?m3XXTZgX0YF95+RYnSB1dMfGemEDpwEXrhoWwi4dPbQ1/WAVtsDRzI6jZGnd?= =?us-ascii?Q?mE5785E4GW5484pZaynVYG0U04JrekWLMsHegwxOdvvCRMjagEG6FHZrK7pp?= =?us-ascii?Q?un75kZfuvNmGmxPBUrHj5POVIpb0QLNRXqrP6KqJidS6zRS3LQpB7rd4M8aN?= =?us-ascii?Q?DRQGNSDeeezaajKIOp3AJt76ESUwgvTsApjduvSnsCUGeDBSyAmuYs/rEWfI?= =?us-ascii?Q?L8fNT99gabCb4OfOHL93asjAaT5y4MAT1GXmAIsrorakAxomToP8nkvRmJit?= =?us-ascii?Q?bmR5agThaPBdagJ3annLL03Md1DA1cl2bdiUsglUuwMR1J35IoKPiB0AtWYN?= =?us-ascii?Q?YSnWaNEDJYHAookLKYX5EYrKVrEmHEFQtlKCEhbLCIt1EVUPPMAxr7qy9nBb?= =?us-ascii?Q?Z4YoZL3FCfq0q8AYfoCFxV3qWKrS2Fx31hKQL6VNvbPySe4obVDeJJIc0Rv2?= =?us-ascii?Q?3sMF9AqGPmQea8mFCcJnlTSIOOui6hABsODraHsE7j2rca+FukIO2FEmTM3u?= =?us-ascii?Q?0Tat6PyqLykEMx8gD2xqLH4cpBhf+Cu2VCq5H7tmdMo8KkvXepYfVLr1I5cR?= =?us-ascii?Q?JBlWhtfiH06HHDi/8DP3dJR7ovJO4x7n4xjQ2Bi8jHeOsSSznBSdtAc1yHm1?= =?us-ascii?Q?qxC3XcAidP2V7RxhaXnCnfG1prdplsASbFK4BsQhwQkwX43Kr543Jfz5S0zZ?= =?us-ascii?Q?T1Nx3BvTwaMF6tdkC8YKOiHPq7Nb1xOudJ/heXwER5wPGbYr+SJXExpfc+/4?= =?us-ascii?Q?K/23KFQewCsc6HFgO45RhzX1In5VvhhAvwhz6kXOl9g8ez2g762RYtpFGFWS?= =?us-ascii?Q?xVhuMycMm+JkaEKAyrTQHrPKMwUpOwuZpL3ri9vMizkn7kN/TnETEEINCiGD?= =?us-ascii?Q?6Qo6LUMdN6zJcgJBwYWO6Gk=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: deff0415-f2a8-4716-4184-08dd7807982b X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:13:37.3147 (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: nxfngj2xHhQviWI+knYUTlGDgeN6fITS15vMPtqlKo8SPt2erljWkp1VZtg/09wLpa1p5OkLT2uM7OTp5NIdEKd33ZndmRTMOtbSShZmoywA7dnRVmlLCwrDQJxeXByX X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB10119 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 Changes since v3: - Fixed CRU_CMN_RSTB description as suggested by GUytterhoeven .../bindings/media/renesas,rzg2l-csi2.yaml | 59 ++++++++++++++----- 1 file changed, 44 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 7faa12fecd5bb..1f9ee37584b34 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,7 @@ properties: resets: items: - description: CRU_PRESETN reset terminal - - description: CRU_CMN_RSTB reset terminal + - description: D-PHY reset (CRU_CMN_RSTB or CRU_n_S_RESETN) =20 reset-names: items: @@ -101,6 +111,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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010024.outbound.protection.outlook.com [52.101.228.24]) (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 6955E13C695; Thu, 10 Apr 2025 08:13:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.24 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272834; cv=fail; b=i5NLGpePWyjZKd1fOBNjBizEDJ6YbXZ2r03cnZKhi5wp7ksefF77FQXZCbPbvo8K/eEO0SOotNDY2iZXC7HfKUZ8ZoJROsL2yV4s6r1igGBa69tv1n6fbp2424rOlaFa7YooCv1CkSeqPrFNFNe3oGp9jA9AHQYdJklwRInJ0nA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272834; c=relaxed/simple; bh=WB0gky+PvyKTq9GLo3NZzCeLeTxen0u7m3GVboV+bxk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Iy5AElii/gUenCiZ2yasLfiBO+XCcd8yJ5ykno2w3X8nHy40Fr/mKlSpXG51i17c8WS5nPhzxdSZI/u4zhCXRskPtR3Q6vU5sm7F4eRPEvm5xvT5/RTrTOAQJZ15fKHCdAQbkcON4xpHUs7bAdRIAWqtTXRi/JWpZyKEXSKEXqk= 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=v8Eo56T0; arc=fail smtp.client-ip=52.101.228.24 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="v8Eo56T0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IBb0jKKc/wnu6Jq8McRi98HmmS819n1CrRjV1Kph9YKqVZxWiwFW64vcamGnVyyg7I5fkeoaT+Vv0RqoCRXwwnw1y6AylHP9cN2dbJsl4sx6qbRKp7CmuhBHcuQ4cWb4ITSdGGh/BxeUbSSntsQ0AJ9/K2iY0tFW/KpQPhDc97O50Vs1TmMrYR3qPLUuGzP2/e6jUayzF/EWwen7c7rMj/MK1Z4G/IYsR+6JeMg0UTj5BlQCkS47R34VkvlIRjPOaN0/1G35c6Xpa5jH38wCr6ltvzE77coWNyfn7e4T2Ovq98yZwjsv8AwxBkVw2ZFo0/+9IZNao306oVUkJ861Zg== 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=9aYkYpLNwH4DvxRbvPmdoz+LCX596HB0t9+usGAwlmI=; b=XREf6oX3dto61eZHbLYX41tOCIEuLFGYRy6ePf0hyreeNgwctXPrlCLP1ZxSbBwT9l2StOUI5GpUa7KUdogSq5EHFe63k7QNPTU00h6mbD/+dlRc6TYAQOKEBNf/5gyAaOnHJIGTc4zinhgdmnOZh86Syy7LnX/ueRdil4wWJTfTClSaHIWVuPEN27PZhy8eM1EkPKPJYALZgcbY1uRLXh7SRbrV04SfyheKsAAnDH2KJ+WJ7I+Gq/ZGtKvX7N38m+I5JlNoqZX5HPwKbshHPafkciRNK/Zo+Y5UEBui84tage8lebhzheGrJgpydtqkLFIGB8he0XsTXjOtndQz8g== 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=9aYkYpLNwH4DvxRbvPmdoz+LCX596HB0t9+usGAwlmI=; b=v8Eo56T07swLQYq+puYr21a0s8Y8vgc1z/7CqIGnBUkkDEipfcoX9W85lrdA/CLxxXfLRAtl0xrcZE4gStQPL6f8nG4m34riGcGRkswGsRt2fg3DKdVd630W+S6lBE6JSnjIWfyrplPW5wczW0PiD+QRMwUiU0bRC/Yca5TRFr8= 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 TYCPR01MB10119.jpnprd01.prod.outlook.com (2603:1096:400:1ef::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Thu, 10 Apr 2025 08:13: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%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:13: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 , Rob Herring , Laurent Pinchart , Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 02/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/G3E CSI-2 block Date: Thu, 10 Apr 2025 10:12:06 +0200 Message-ID: <20250410081300.3133959-3-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYCPR01MB10119:EE_ X-MS-Office365-Filtering-Correlation-Id: b59f2aff-9d3f-4f6e-5787-08dd78079be3 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|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JmeDwOWTyNq1fg0pXPetlIG8p/S9sC+CSlq92vyJwwJRL8dSzPQlYzvcTGQm?= =?us-ascii?Q?KuYJOg+2QYypPThSNEjRfR79JxnbkU4FYtwT0/NMCXw+OdpoO5njUCfatFM0?= =?us-ascii?Q?R0Ou+I8XN3guMaIXUlUKDDXteTmsVDmrqGzm1vwlDmMEKO5Sd/k6+XN1c9C9?= =?us-ascii?Q?KddE5OnOEIUVdK0aJ+fuvyciQXcckMOMSM2dzvi443SdJIRH3Se7dIbx3b8s?= =?us-ascii?Q?uRL4zFjfqErCnYuQQAog1ldkV+C+5/FYhX6qZQbxum16Hyhp66H+hQ/2+GfP?= =?us-ascii?Q?yXiReG5sES2sUdygeMao3tiEbwVokM/jmYvNfKnqtL1RX0UorGfoD/h/fKaJ?= =?us-ascii?Q?O8OOtHqsbY+0Ix0EdxOqHVK6d1cZ74l/5Fd7HlqGfw0M7QHYF4//rB9vSzCi?= =?us-ascii?Q?SpNYvalU2E5k3ATklyzwqzeco3GY+2zjqpZ/6sownWZKIry/KApwUSaBDTyH?= =?us-ascii?Q?aQA05V4lB7fNae6onw3BIXfZRrmLH+2aQJceBH07rOUJAri6/1yr1RZS1Qtk?= =?us-ascii?Q?AbeZroOfchIrg0iOLpjnCcbr+H4rDqhnoVzf0iWMwW6ainaRakueTAYWCNo2?= =?us-ascii?Q?L1yX9aE70HeOXTnqBztSnCioLKcm8OZTOItnsLYjfsOK0PWz2HIhpvlTnETA?= =?us-ascii?Q?CtwtJTuIHGeS+9kH5R2UhBTp0vXJwCLl6v6qStzdgq/CdNBO3BRNlqDAtXUd?= =?us-ascii?Q?pbGsGD620AOvTgutBV8MNoYuw38PYM3togBgj4MwUaeQvY6w6VQCwsb1FNyE?= =?us-ascii?Q?q45jWoamzTo5yTzBTbpOgEvIwbP9kur8UcRDW+NgkrMKPtrCktGCRH6rjqfR?= =?us-ascii?Q?SMGyu2lN9RZsofBDwip8PS1qjgiotJw5sTPiPq8ub+Mg2FfdNA+7A7Dq8BRG?= =?us-ascii?Q?rkec+HMYw2BVPLIxDPoRvglj2tVnbK7t+zBm9j4N4v9YIe7XmjH0/F0oyr8H?= =?us-ascii?Q?WOWgqudMCNhZnwcpf3l7BfXuI1m9GR/yx/K9gEjJ1tKv+RXcXzgbtniah/LP?= =?us-ascii?Q?Nhnw/elVJpC4gc42A3agfVFyYrCThO7wqJtNEdkx0RrIWhb64Ua3hbZQpUGE?= =?us-ascii?Q?mN5OQ4DjOXmmz/43P1bXGA8aLz11RUtS6olaj4p5dVE8oRI8h2JHm/z2VJkC?= =?us-ascii?Q?A0OoYCA4hekbjtgacaDp7Zt0gD96W34SeOrkRbE3HE+A4uHuH12p3Fd77+LT?= =?us-ascii?Q?RM9gc0WEouFfhMrbC6Es7YEZsOWiL1+7VPuEwqcB4IJrEjPKq5M/jZ/vM1vk?= =?us-ascii?Q?NGk/ueGbCS0S9qgfNLyINF5kOl4OGNw3GGY/ok08OnTF3MdrCyKWxEHCaeg8?= =?us-ascii?Q?vn2iXDhpqwFnqj0ZdN6nWpXEznmW+Sv+JMq3OCSWJQu+sW/2+odQ/Q7Ce0Id?= =?us-ascii?Q?1KoOgLtWuTSeMmF8kQ7Y0qZgvKW/srUBxK1wxcGqCZn6aosHAIGxFeUX/0WU?= =?us-ascii?Q?4EBxMKcNjR00fcUnIHlLoz62ncgNT7KYUcODEphRTywb1AQC4TZj2A=3D=3D?= 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)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vSn15UpapO6antYt28SkvuiGvfU7+86VWNMw49h78zrWDoHlNYIQORHLligX?= =?us-ascii?Q?Qi09pLgBTXSzJE38BLQdTUmyFi31ef2bayxKlSrbnnyIbY51EROZgU3AdGhY?= =?us-ascii?Q?llN7W3XO6OtzJOvj5l2SM0xwasDWLJzOLnzmo+z3Qrcr3Ad7gEl7JVy984Rb?= =?us-ascii?Q?0r+5WU8RPIS55QO5DBOBGrsOJh3UA0DPGSzx8zimJ14+RjYNXd9g6PTmf+ZH?= =?us-ascii?Q?cSUZYK1okqPeF8UX4RQCPZcbWsLX4N8e3ASFdRhgAB9X2p4oY63AEyq4mDTg?= =?us-ascii?Q?s75AGgL2+ov0aJ/BaNCl/E3V3tjdYwolG2LrBW2c8DoAFoUs744M8JmFHg2U?= =?us-ascii?Q?PzbhuY1avtjko569KQDi0F4dWn7cG7/vxsnSkD5gHuWkI9znuBx+QH4hTrWE?= =?us-ascii?Q?7IwCIt+Mp+enV5FF0PspV7AbmHQYP53iD9ezECpxd8sfhGC/TIHgCscpc/fV?= =?us-ascii?Q?YY9uMiZylQ1+ETVwCMB+ye4YZCwJv9lCNN/4T4DdyVL5CgBylzWW1+Y4Ldyg?= =?us-ascii?Q?AuxjLC2URIpSCqYlHXwxnPlp+D/dFftR7vP/VohyujWw8uw8Hw+zjs0G1oR6?= =?us-ascii?Q?DU4alpXG9E7sj3OKfGjK40OKVyBAZx7sJ452W/hgJV3o1hOgOBiCQvVwtaaz?= =?us-ascii?Q?1MaEWayZ7My5NO4Eg1AnJMNq0jOsj/KaUDnz1P1CVbJIG1iK9yxA4PRi9acA?= =?us-ascii?Q?xbVOUz5oSWvCbbTd8qDXXSbo2wiNkPqzq+X4wf963JB2Qc4ArEH3szKlyswc?= =?us-ascii?Q?PRljJDGlVgq199wecjHf+GCvDBxl0ZaqT1ErSh2Uf1GvB2FPDvBh2MDacmlJ?= =?us-ascii?Q?1Mzzf2Mo53J1kYxbD+F98vpmOLgBNP6DYYK6prQSFqMnH6E4Yb2NuBvNP18B?= =?us-ascii?Q?XN0uqhZFqJnh1dC7fD4gEINxc1QlvDgqCIPHbBDeD553l74X7hxMNYoZV1Az?= =?us-ascii?Q?moASmN0MZzkVu8DA3fSGowYh2TfcgxxNgnZMGNJeIVFJaYe41GsrFzDUAXmQ?= =?us-ascii?Q?2CQp0CV2fC6xMLbzWEb1rxXtAFfXqwft3n3FW1UPzGKTPx6QYZcvdlKXeN3a?= =?us-ascii?Q?3urdgcdy3mK06NFs+jS68AJjWiSXI8q6Zoh0LzOHkqXkL5n/ZIDCthRFEgcr?= =?us-ascii?Q?X2KDKTpeX5zVnH8yhgEeLsMSawYJEZ+C13bohtWoWBS9fCT6qcc/PQ5w4/Kg?= =?us-ascii?Q?U96A8Mp7ahiDSGbhXM7fFOEdRBtVUoQJ6GXz8uvGkmK/f7eCKn9wGSET6XgA?= =?us-ascii?Q?w8i/Jsmbw4tboagnZkHEquocekdgY42oflCKzFpa3AqWC4AVAAaox57W5QQC?= =?us-ascii?Q?5d43pgkt/Zb/ilrEsHOePDhURF0SjLjr30g7cFz2wpgb3GP00U7oiCoql5Ua?= =?us-ascii?Q?Sozdm/fUtIXhi8cuEe7eF5GPBjUw41mCmPo5uai/IiKUxZ+7kBTs3m+B1TBS?= =?us-ascii?Q?T32HJqCfEZViePTf9vWZwDl0Euj0ogjv4EYlsXtTwzGJYPaFmO8H+mDPBO37?= =?us-ascii?Q?RbCeQY1S89t41qcI2/OWiz4JH3GATrHk0E2rzMrRN4oDWeC1dIMWcBerRp9A?= =?us-ascii?Q?qgydWjh2XWY6rkipXWCC1+oc49+PQG23veXMAeajeLVbtX55S7uu+yPt+Yft?= =?us-ascii?Q?oBwNue0FVt3nCXyWfEAgVWk=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: b59f2aff-9d3f-4f6e-5787-08dd78079be3 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:13:43.6026 (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: rbp01YM+1gr2NdcSsoVlU+FVHDpa2DTqe48UZVe1q4UcC1nJXJxlFUBaAnJqogQB/a1RZlM8uqnoNxJbP74ukG1GLSHjQL7CdPA/54mZkRZ0f2OeJrfOfSbQ24Ds+yKU X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB10119 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. Acked-by: Rob Herring (Arm) Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Signed-off-by: Tommaso Merciai --- Changes since v2: - Fixed CRU_CMN_RSTB as suggested by LPinchart - Collected tags. Changes since v3: - Collected tag. .../devicetree/bindings/media/renesas,rzg2l-csi2.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yam= l b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml index 1f9ee37584b34..c5c511c9f0db2 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: --=20 2.43.0 From nobody Fri Dec 19 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010024.outbound.protection.outlook.com [52.101.228.24]) (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 E857F1F03FB; Thu, 10 Apr 2025 08:13:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.24 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272840; cv=fail; b=Fm2oDwiqmvJaCHoPBj354h0A4wpVfrXP5kyOr1Uglc03Zp+4vY1j2vIbXLRpGi0lykg0+7Y/JcZwm7cmJBNVmFfUGqyeloIh1Ctr8JwJYBGr4XfyLtUKSbCz6kvCZ5hGo1mOlAXluDfgj42UIPqQOEUnql+XmNJmoencz5UkQ6I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272840; c=relaxed/simple; bh=5lZh7HN+FhdMMBUEgU0P/qwv/7pYJNB9JrQ4K7QqGKc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=CHHWaCYzkQJHGSkz/R/bgVIW6p6ieXFmjXWXC/EL40/C5FazpGYATVvhnon+STumbRKxha+HlyeL+gDg1qVh54Mamxuc3xW484bMPa02/mSeAWOvfsQcVG7e7OVKseM7a8gjGTbvDYvFv8+y5RukT2I5NQ1mXx1nKpht2wMAr60= 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=BtueWe0l; arc=fail smtp.client-ip=52.101.228.24 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="BtueWe0l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UGTmboG7bJVDAxBN/g3crdthPnWtAbHbgPjBO/ZLsvulpf3R+dI4hTzgtwzhpMgSmz+Em+FNaHIsdO/ScXFD4urEULkTJDsBGqFQyzv1JV7lyO0dpvq6dgHkALMC7COlDhzM+lAsSQ3nxPzOX/6vc1z4SpiqQySyvTdGjG3unULaf5aduvHVRKLaZJki4Z5YX3RuFtgfaC3OVvRrd6EW/9xwpC2MctGglWitwXuwflORPfQ1AKvafoj6UuZSQbm4/AUmL1Od2XyJfn0cT6v+E0cBa1LQHArS5aJZeEybnZtSYB5zPE6U8a9oyP848pQeqVOHAxfszOAUHoBlrmI6bQ== 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=eKusPT3wHBmXFoee0MVMf1m+kJjTUL3CN92mSEDV6z4=; b=TyoeSpVzzy6xy+yh9YozGVl8TfOiHlDjPcjfqTWg0UZ7DFXZ2ern3h5tpf2/oyFJyOhvj7RyTm9zKhYQ8wSr4eVFhEpAAzh1YZzk+VzY0GqzjJlmq5EycwK2YitGuabAqCzJbLRfIMTMEQHlo05c4gOfbCp3DsqszEq9LhPFpuDdiJCXIV6MbF+CT4ViMNWOiYFF6bITYzq/rh3Bs3LiowF4M0i2s5tL7euXx5kKMqz4GlJBt3ZrXvpRrJ+p/eGVc+jFIXtXJ/AyLsFvIhey+MpXcDs7/6csvQgPq6NaZeTPrk+0WjTt9cgRYV70gWSVfpwDvwX9TCYYDCviRzLPVw== 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=eKusPT3wHBmXFoee0MVMf1m+kJjTUL3CN92mSEDV6z4=; b=BtueWe0lc76QM5em+heNukVONLafV/qgnblXxezp/PSKG7eBryniwPGZX8tfCfChSPsJihM3zFoPeChSltMm+QNVJo+y/bCAkLASAuGlsULopu0oZvvU6B3tgzbESqbDvEE8ZoA8XU3oPHib0auR19N0oGA72H0VR8g06Z3X5yg= 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 TYCPR01MB10119.jpnprd01.prod.outlook.com (2603:1096:400:1ef::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Thu, 10 Apr 2025 08:13: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%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:13: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 , Rob Herring , Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 03/17] media: dt-bindings: renesas,rzg2l-cru: Document Renesas RZ/G3E SoC Date: Thu, 10 Apr 2025 10:12:07 +0200 Message-ID: <20250410081300.3133959-4-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYCPR01MB10119:EE_ X-MS-Office365-Filtering-Correlation-Id: 56839725-3e7d-4eab-b28a-08dd78079f7f 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|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7b180/INp+sc2FkRsAXtKcsHXY7pF6OApAfdiIw90g+z0LZuCFz+Boq6KWq6?= =?us-ascii?Q?zjA6XBULXnYCoHkre2kZRswYeX2bKWMZ8Sko0jjKds5GzbXLB+cRdSJqOfTo?= =?us-ascii?Q?5+EvCxY+U59f2yWoFSAytbPPslrcluYRjhd2fL8ZcHCwHchhAx7LY7TAfxwX?= =?us-ascii?Q?GLfKGZE/kU/+vKcGTjE53LBu8HOR6Us6oMW6ezmddwsQP5uAHmsPbnBqT1v4?= =?us-ascii?Q?vkwtQ+lwH3SMCoA4eGKf6L71mtBKzEUBxnI9khLu3fpNJd2PmiH6nsq8kYOK?= =?us-ascii?Q?qdIFxPElqUIET+umvMCNkGlj3VzhV+/ZEl64B2TJG8K687ZrOg2a5oBOC9xB?= =?us-ascii?Q?mfKoSr37VlxAfGlnoen6S/ugp76e0oEbjEEQseEIxcoQIqIEgKyx+uOd6Bm1?= =?us-ascii?Q?kfJhZv6NGugKy6bhvkPr4sW4DQc8K+qF+xRkD/Bnl3ns4loiQBH1OjAOkOMv?= =?us-ascii?Q?kat4udKoZrXK/iNTAEeXD6vKJtnWXZ123NfkAn5kp0VDN7AUhbjYRMgN5AoJ?= =?us-ascii?Q?Lkyy2eVYP7oGY7PmrgJAM3h5NTFQPPtcHT7jZ7S4EHLf2Uo57fd4+ZcldrSw?= =?us-ascii?Q?b6785u8K9zYKnf7M83MXzPIx4WpyCOisCA8PrSAsDpNig6++OT3VDLy1r2h/?= =?us-ascii?Q?Rdb7M+sMp3ovNkBR8EWKLqFexAocCw/u7kZqqAF5+aCCMrBRBlQWnHD8CRAz?= =?us-ascii?Q?cBWt7BwI/mhqzlHk8rMI6pM0+9Yw0duUqroz6eXIzWIgyC6v37Y5vf4cnj3D?= =?us-ascii?Q?C/i2YfcWlqr+bNcEEyAr6CPwD/QUUAxzOWmYjCXejhnFFwUyw4rMwYI7E/tx?= =?us-ascii?Q?uR4ULFSdHXBXwlFlRQ1Tj+cotZTGD53Poouc8kYuMEO2/aZDtxUH3kLLY2zi?= =?us-ascii?Q?oiEQHYkeIvjh5B1YsRzEewcCXINS7mWoYrUUXMxNap6DOph9X8mgo08HdvgU?= =?us-ascii?Q?3V/qINXDMj6o2z4KS1tRX53tGnyQGvPSYTy6jeU2GoqFQC/nwo80bhiG+TF9?= =?us-ascii?Q?QX4VsMtjhEO5ItpyxViJi+4/RyMPM+NCgAmf+ZMwPmwpU+/tzj6LR06zdv8a?= =?us-ascii?Q?KeIbZ8qxa6n3D0al7n9w6NWZEv5U9/lkSZtHAr3bJ/+dVfUOoDh8ssohIO+9?= =?us-ascii?Q?1n2XOioYF6zkORMJWiJvefey16qAZ64IHbNLb3XTTKeeyuZdhyq2hHNlt3/m?= =?us-ascii?Q?MIOo96pAN43GFJCHGsQGqisFyNJrFJUlVoWqIp1lgeeJFX9GbJDWVjn5LM4l?= =?us-ascii?Q?IqqLk9p3gQdWGAxD25PqVhPmDT5+2ftbyzao3FZvtcO0guv8A/IWe+Zj0T1L?= =?us-ascii?Q?OTRNDRdbqHArL6L15/7mw2AZk8Yel3FLYX6jl9oafiQIFHuFLo1Vl2Bwk/Fc?= =?us-ascii?Q?P6IwKOustkCm9IqGx9WEOSUYbkRaPyA8ee164w6iUEIBhGzhC26K3LQQHzwF?= =?us-ascii?Q?Ruu9Y4LwEah4b7TbXuyYevsC4n8GT+9rdj9TVUnKaJGRAqX9zZImXQ=3D=3D?= 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)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CTy/W9LZQ5spB5ZNUXPeQ0+fEGXCtMFmL9IYXMvGCda3Mw7nCoOE2lMIv/jT?= =?us-ascii?Q?72J0V9E3A/mmkt5+o4sXaVpM+VmRVdpK950z0Lz3Psh3YCoD6SxSanEfeqIm?= =?us-ascii?Q?K703nieNbpbOobEAuAv1aAUgzFGf4ejEU8W+1wB6Kw90PAudFhOOxhiWEpkL?= =?us-ascii?Q?8s+5nyhDzNV3mAPC9N4sUtqSbGqRrIe1TJUfRkBCw3YDYCN1gohg7El4I92z?= =?us-ascii?Q?n//Hxz6mARBfZUF27wM7oS/k+sZR8ijJbsWPzdILLimEVliOA+QWUAi7znoh?= =?us-ascii?Q?M12JtYrGVCdHNVhTL/acFHZ4iWqRmlESEL9Y2bN7ZKlUUcpFPAZEYFjJ7jrB?= =?us-ascii?Q?5lpVd5LYAxdjnGYxblfY6uHVUxMsVp2BY3uH93h0FRj1WDvnffXpDxT1s5AR?= =?us-ascii?Q?stL+6HR+SfLblM9N1tzfOVEbWCRHOUHG161mdHR//PXXi1KpakpYK9Xx953Y?= =?us-ascii?Q?431o3P/fjGfFyWDQsPgA3L/sx+bdOO0e/zGbx+Xzk+sv4v28mih7KrYwe+BK?= =?us-ascii?Q?UUA5OhFkh4rjzPwESG3qV3qBXKjdgJcAPMbgL79eV5i1uZKYuKvrQ8J+ANYC?= =?us-ascii?Q?LfIzsIRU7x43zQ/TD5aXO/89/L8bvtIK9cp1W+T5UEp25gRKpJvfQVsA5Xyk?= =?us-ascii?Q?OPXEZU1KhO1HW2F3pCssYf5u93e6Y+Wmt4FUT8H+xKi7+MJLw/jz+TMRTJn2?= =?us-ascii?Q?0GwPDaAsTiRK+25fdUNP+VEiqv33H2jmyACjPxz6Niy8cX3QOYtx8uwnWCGy?= =?us-ascii?Q?FGbmay0XtNmdcVt5A3vEfgSygxqT8Ovr+rtMJWFQX/XOJVsAgmBNOmjeqk7v?= =?us-ascii?Q?WKGS2TjYnMYI2IztUVt6m7LPSoaI9wuCfdUKhphNyUi32xJYY/4jX7d64E6I?= =?us-ascii?Q?XjuKsfAx+pbS7q4dQ8GVWKq0MqzYDR8O3/ZrS84mZN2GL6huEwxD7QmgsllV?= =?us-ascii?Q?wPvo/Dg09bucjJ69s+9V2k/BRmC6Su6x++DjnFwg0keupMJ2WUZxDHBfg4IC?= =?us-ascii?Q?/mCdNmY0gOkcc9j8T4MvL4eIe+Ppazc98+1ECOSauBl5sDJ7nlxaHtfoJWZD?= =?us-ascii?Q?oqQnQc6ACVaoLQLDPp39/lYOwjm0825Y1rLQqRCQz79YhCGSfyv6OvS6jM4X?= =?us-ascii?Q?6zoXUCz/t2gtMebGgk+SufNT90429wuXClRWbreRUhGEV/20MVFoBv/dlp5z?= =?us-ascii?Q?iqZTvwc5saDWFdZY/FLRujPOI85GmSitSCaLG0062EM+kIk1zKfK2oSLYffp?= =?us-ascii?Q?m9PHBt0oRDbribEKxxgaYz4T/BtxaNdG8lI+c4CecJRkW+4f6YVE+9BJHh0U?= =?us-ascii?Q?cqomef0q2DfTOAdJkaVbgDt0UixfJ4gVVyL2JJ5ejCzZxzPBUhjNSTuxj2vQ?= =?us-ascii?Q?6iJUfftBbAxO0wwXb1FY70K+EXyn48ezBFSAPZgC1b/N44oO/wKtTpLUtONh?= =?us-ascii?Q?OeAPTep1nVru004YexKov+ghHq7Ft8dtBCChwKr2SGoScb0izXIG2KeSz/IR?= =?us-ascii?Q?b+WDdOrViVot32xC/CqVT6DejYU4rrkyz82mwd4He2fRtpsP9K88SGleyH9F?= =?us-ascii?Q?g7n5S7KZp31nTi86jyW2fplRL7w8T6ksvnWEFpXEe7evyYrNbMYLoWO5QwAr?= =?us-ascii?Q?xUeFjFLtC55XgUSqe2rNL98=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56839725-3e7d-4eab-b28a-08dd78079f7f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:13:49.5854 (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: 4l9zrrhc8b6HaiITYzT/3GSvOBqR3J7QHJVYyEn3QuM+LTHquFkwFVQPQpKB0ajfpQyeqRI6zCUkt3McwGs2VgwuyvrMUdIIRBUcYMy/QeiGcR7YZjRd/LWlXC5Z+rCO X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB10119 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 bc1245127025e..47e18690fa570 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010037.outbound.protection.outlook.com [52.101.228.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 2B36D20B810; Thu, 10 Apr 2025 08:14:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272846; cv=fail; b=kdslujGuUpPHf5Nft8SlE7SUyk7gkreAQmrIAoGFDva68q1oOWZoh1AK6rhen/r4LIq2tA81Y8k8pjE3ePO288uxWdVkKnRWxtUkcAFSLyfIqfGyOqNdsy05ymar6ntvulW4cibwX2HJHngGvTY5OUcHp4yQoo9+f3ZKaG3v/qU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272846; c=relaxed/simple; bh=66xXUnrKZNA3NU6Ssqm6z65XlrTcnHLH1W3SnVeC/48=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=lnrFAnz8UEFApdFqmSTr2YPX47/2OdPVv64SDyR3Ow7/1/zD0UJsCdtNJDzPHlc1Gs05tVS6/8A3VjmpR+S6H+gw1UzbtODfhVwkNMDBB7mXX5SnUnTxhI8BTyzRGPiokoOJrWJQ+pV7fcyCKFW/Axr+D3rBQozR5eoBcTyVezg= 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=N86/2Ijj; arc=fail smtp.client-ip=52.101.228.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="N86/2Ijj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ex1Bym8l3le3Zw36v7G0OpmWZBfg82xGm7GYJXOGzD2/2K9UQ9vBCDYsMKYzJsruXf/Ha1wwO5n7baPhLi4Wt/tMdgiNhoq+MaTsukcewp4T5oTU/RO8zh+oLADNsrFoSyuQm1HKgHcR+94WWgWNq68nwTtCdEsPjhqxoJ9rLClqfD17wDJeTiGzWYXQF6Wm5FB4ilPpWOy6HrnaT79JBpxMkjU8mxjSLdIDbuX3F8/Hw3Ja8uJZBI7lt89+UFBIKy3ircbJ96z2B7B9GMwFnPRgl2CHh1yl+2ilG+zDKSEjCWU3T/1SkkeTwpq8gH0ArDms5LOFR1hr6hZvFetfPw== 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=Omc5F4uisa8utpUKhjmd6yIlHr37k/GjyLMcJmSW1zI=; b=tqSKkEelk9raqxaVmGJKTZawNPXkL/AWB8c5nsYShjK/GuSF9cxvjZEAH+4btLQ1Mq/MjCv82zAnC3V+WJLtVWRkH1cFi2GF26F8scP7og5nnHyKz0XeU66Ju++AeBfPN+4aEaizJ+ur8abRvSwd6c5pNpDiF7zMYOBIndjNJ1HZSRqiyYc79TvHkwEdcAgu1AlpdiXgh1Ing5izsYRbOyQZb/NjAdNcO6K+pPQMAoOaKOBTv8cZupkdP+A2G5fG2PJk2gBIV9gVDfA59YUozMphyzc+6iDKyh+DfIM7pwq85jFlIkSXHCCeWadz+ZIzs0XOPpzSQ8j3bBT3ECEVzQ== 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=Omc5F4uisa8utpUKhjmd6yIlHr37k/GjyLMcJmSW1zI=; b=N86/2IjjetMRjl44fbo6F0I03z5Cf6l8afgPOxj4041Yc0Bxzyju4fx02eOxyfxzvJF8d9NhujiyjR2tsC8J+AEqbbFOYGXlMQgcMN6YxpWfmuo/JCJ+VPq4GQjccjG97ZH9xpQZrcarpBldmf8pJGxJV7klRb5fuFexWaPQHV8= 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 TYCPR01MB10119.jpnprd01.prod.outlook.com (2603:1096:400:1ef::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Thu, 10 Apr 2025 08:13: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%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:13: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 v6 04/17] media: rzg2l-cru: csi2: Use local variable for struct device in rzg2l_csi2_probe() Date: Thu, 10 Apr 2025 10:12:08 +0200 Message-ID: <20250410081300.3133959-5-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYCPR01MB10119:EE_ X-MS-Office365-Filtering-Correlation-Id: f912fde5-c7d9-44ca-b6bb-08dd7807a451 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|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?MDusV7li/WXYBwnF7dJmUm/WWSrGxL0f39J1FDSfW4giaQyB/xT+AsgPTace?= =?us-ascii?Q?7WnWERIOPs2bWg3UJH9bZind6CO4K7BjEJWRRT8MFVMu+rdRlj4oZsYqgxfb?= =?us-ascii?Q?3xwu3sC/hm20gZCiAw1QwVY1QuxVDFdtRrsJB4Mtc0yNZJlIsLsgDqYW5c0B?= =?us-ascii?Q?Keiv140gJcGkVOwQtN3JZIKMKhA2IpNJY6KN2Ymya9WUgDYb/YCg0ID+A1V/?= =?us-ascii?Q?g/yFnHP0OqCEY8dAaiE1JPi3MotZChbehryCIvRMX/vWMhr5TqlBRxWRNyQS?= =?us-ascii?Q?EnpE9YRFRjPl8BgcPt6gJfeb8xJ4SkCBaWTbUAFgkQLTK9pHPGJT+fbDQR75?= =?us-ascii?Q?3Q8YsbXrGoLVtpKrPkKpfDObGutgpkAVKv9+lz9JUysHm8aqyiuanTi7CrUK?= =?us-ascii?Q?52AAMSJSPmSI1M0ZQY+1q1D1GhPDskPYBya1uaPfcZSALNM3NqFwLSUnQKIf?= =?us-ascii?Q?s6o0ctiRgIsIP0M8672t8P5s+U7kUIeYuxnNYdysdB0NRNDoaTzi44BgysxX?= =?us-ascii?Q?aBa/Iq/lX/hw8Z+MGXZSA7A2TmTwKH5d74MdB/I0hXtsdOfEEuqE5XuHSfX2?= =?us-ascii?Q?av/XwIrIS0Tg/OVQj5Vxwc8qEITNUubepLoQZzVQh6wz7xEv5hl4xSY8i1c6?= =?us-ascii?Q?7X5D3vHy2xkuXEu9b6w2mY7P0Ya6u5KZ1FKWJlxfrKexcyeSzXjopE3xdRqh?= =?us-ascii?Q?7oP/2waf6uAdCG8+ocQN3ul01ptJyqfQYcI+uKULUKWfL/59k4sBiBAddokX?= =?us-ascii?Q?b/hWprbnX21AxNFXqreFjhBHyihVgWjRS9IVi+i2aYjJb0HB1sIdYbG3fljT?= =?us-ascii?Q?TnIl/za92NTdhDAs3tkri5PsFv5qdMXtAx8sT3HIxekh4uFPYPmmkwfS9Lul?= =?us-ascii?Q?2OvNGuWnUd7Ayq/wVszFlgnQSzEwtmSV9lntIfU6wEJFa2X7A4bpMMkFJRrM?= =?us-ascii?Q?639oVa2H3MB03mz9XltZ3twtimxNcO4jPb50Z9cF3/fURdHkfWLfQLfmumEW?= =?us-ascii?Q?XjkHFW7uAm3XBX1QhXrV3x563WTOT1+GiVoOyCsyv/ykTIhSbFo8xBda/v4B?= =?us-ascii?Q?PKqvaRRwkSOfYsWcvsiHqiBwt983ExAk7lbYR/7ZaTuCzaEypirFtuC/64tU?= =?us-ascii?Q?SsUY9TRH0HUFdBhAMF0dC/lg2Nz57PE3i/QmlkFTMxqVbFqk+gFlx+2PCtrq?= =?us-ascii?Q?CqUslrzf3XTc+QWoWi/Kx+Gkd7oj1+/q4+zJamX1+oKZr7jgc6ThcYBj9H2R?= =?us-ascii?Q?w4/46G6pEjdkqZbRB1lIkg/wWBGN3gcwRYeWHP8Me+Q+l5B0LmICKxAjikio?= =?us-ascii?Q?LMzxD33vO5lfHcO+YJ8VQhu26vyz5P5Yn6KtnBdwZfhXG7hBzfpAGDJqEdl5?= =?us-ascii?Q?FtNWoUc4Aubkg1SHjTxmTJ9Tfzp4l1gNn+kxUdwyMeFL5tjxA3SJvD+PgRaI?= =?us-ascii?Q?ti5so+8yOuHvOVhH/wjhfRYcnQ0K91H54NbmOSnu1VVV7F8y49sYpg=3D=3D?= 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)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?M6QzlgWjxmVJ3tlb+dVdMPXRK7IIM24AZlUfI6pN4k2LU4trCUVIKfhXhJvg?= =?us-ascii?Q?OKnF/Ga6Duv8slDeG/0VNGI0aLZZ5jDGqHs0z0DRqBtBx7WAZ55YxlI6cw5U?= =?us-ascii?Q?8fvvBIXojXKZ8P2RDOFIoWtcGLdpC30CHTX8UoDwYgu1n2pQzGHUKqlG82Jr?= =?us-ascii?Q?bJkLZoAsnqIVuvMfZjQDoaXfupIsiqXfuZC/nh7cavJ6UGl515KO0K10NZWF?= =?us-ascii?Q?Pz5Of4K0fkPWBJPCieLMIQuChPcSrC90G/YnLCrcci/nOMNV5ikwCUU1GSFg?= =?us-ascii?Q?AkFdGPAZF8maw9SzWo84afxv7HWoQ2cIsAC7QNF0A1hhi7jPCsF2H9MTZYUA?= =?us-ascii?Q?L+eWutEsImwn53SW1kHqN9fJiLHntamoFY6Ey7lmCfmLJK+aALvaFLnE1CLg?= =?us-ascii?Q?logwwSSIUdE9L9MoV8UsW5jwqHpkVEf/QccAqAplnuD5r03iFkKriL7XVkAA?= =?us-ascii?Q?8+uN37BTmzPRtICB1GtBDgqi6C5X9eh30f96ecrOaKpW7TzvBLYHpnVv/Nzo?= =?us-ascii?Q?nDbmxhX14qoGzMS/LJIyVhWOetO4cyRIAnx4s/J+oeu97odcM33kCf5HpXWK?= =?us-ascii?Q?4M/E7OTbHkNpDT6ndk/2Q2qowvwst5/ko0wP6Pmkb/WUKgUk9/AyKR24jUVo?= =?us-ascii?Q?LmlnVNdKTiv2LClwAb50wmfOSBw8MGbOPBhOBQ+mtbcMtIkFQ/KSOF51dX23?= =?us-ascii?Q?gTKtUosfXXVYOPZYdN/Wh3Hn5GPzZMOKK/U9P9N0CQpOThwvTFL8gVUyAlGS?= =?us-ascii?Q?ufTEfLqswpZV6tnxPDVs5dFejtShDS12iJn54yoiDkDzGR4RKx419jBAQmvn?= =?us-ascii?Q?Z5GLmUGuYv5PUgk9rmWQoxQssfFf7uO82KEWFo4wnUkQ5eM7IuU1im4dqluj?= =?us-ascii?Q?Jl0d1H2TkZef/GGTnDRKOsVoiAUtSxCYFz4xHjRy0ukziasxjFqsIb1NX/Ji?= =?us-ascii?Q?/LriYKRjkRQJIMNmKTNtlktgPJl/hNvCi0VuRC4Ns944xpqQBts0kBwIscWa?= =?us-ascii?Q?/sNiRailR41EnKTR1mtKPkDc3uWMmw3Nj8ltY1xU/M4KbEFaiKFMfnyCZKdi?= =?us-ascii?Q?Mlut7hQsFLL598vJxZ31+yCMcAbp019eFdM8LTsPhYvE5boYoQllDBcKFlXq?= =?us-ascii?Q?JoR3d+uyAHpneLH5fI6fXa6+ZY4Oy2TzMIlHNZDBZzF9FCOjsgexQA5+1PFH?= =?us-ascii?Q?T0pU/YPSt2vR1lbjYytBn4U0vQg5sJe9wLSxl4aeX+iI8GKnGarsTHCcASS3?= =?us-ascii?Q?dCsGcgpsxHX5ZnoSr3HVd7TyegDKcn7bnJB8PJEGqs/3lgZRd0LXD/jBPll3?= =?us-ascii?Q?n4RBHWyKTdL9FQyktH7NBWc5OGhRJT3dZ7OvKAWvuXkZIGDIS8AuqpmfTmmo?= =?us-ascii?Q?YdqUYVD0WCSdrI3/JPY+8EUAod19pyXzMLOBSQLVepPmauYyXkJK5+vuJbQ+?= =?us-ascii?Q?r7mns91p9BO/0r8rxcK4XXoNyWVQLCtbcTUeWkKJ7EaLF1jqVkn/HTrF2lQR?= =?us-ascii?Q?uy2LV8BqkYd0i918KJdEkH5DWbec/C+XBnwk5BajwJZzaiRHB9V/gy9r1uEL?= =?us-ascii?Q?sDvss3s8WnQXR/J1c/B4W9w2aFRX6urrSsijQEB9/3Gk8gGJg8bw5oXS8Wor?= =?us-ascii?Q?8T/Kl1CU4ujZXxjVZ6bYjtg=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: f912fde5-c7d9-44ca-b6bb-08dd7807a451 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:13:57.6709 (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: dmPFfczXUuGC5CGkL74stmB98vrTn+tF6sM3o1IZVAPlnlphDXKhS7g1xIHvGwY7z2kR7RcyCBCm+2/xauvqt4t12pwagPewISlw3QsynTwEMQid+Vg9VQKduF6I7XmB X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB10119 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 881e910dce023..948f1917b830d 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010069.outbound.protection.outlook.com [52.101.228.69]) (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 A6E0920B810; Thu, 10 Apr 2025 08:14:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272853; cv=fail; b=hXvjyt5/29IrHymA5Cty44gYLlz93eUg6bRKisUyTaVMLWtgJbgpDfxXXQ9EGlpGRZNKayBmIGXIlCKtXrA1u1Kc7RgES3ZhMPBQNJCtPjA4JSX3j7pnIPs58qU8KuumNWDshLFfV8I1p4XUnPLFxS3cSlAVpFGkKHXUs46oWlo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272853; c=relaxed/simple; bh=5lU1IvTR+ixEA6Izj8BDp2/LBTXT2y5oWx7TE4PSwZc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=htWFpk2vZwWCUXnaVMq8vYxnxfJCpOW/cT9XBhgNLg/E57NutaUo9weeW/DfNQuIvU96MncCKjl0vS+Zrc5l+ojOzwwhB7fPsenHo2+Bf6DwbIElklHPl4JH2cf9pw7ln+nVuFkB1YCT4svQ2bohPY8GzJNxuLaeNupovjUtYxk= 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=CfKS8+lo; arc=fail smtp.client-ip=52.101.228.69 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="CfKS8+lo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BvndJCr35+SPszFRi8X2ooJAJFsmhcreXP2V8YBgrnLTEi71f2H66qC6Mbnk40Iz9yZVgY0WZ0ItAlqjUxeI+GU5uT4yReu258AwsiEgE2QLo8bmp7CaQ9rZJd7wYzjFbe6cHhFpyhUgk3HarKaZpyl8Lo8QmpO4g/NlFXMMMIhNu2DKw8gld/V57af+lyPS9NNqt/DHASaPIOI71Ro8tOMEw1AzQCKXUFhFgsqG/O9QxE6Uu1TsgjuhcVfYYHrPPVDqmGq0UkE/ZfTUP+Iu9Y/DOVOoqI/gtxsv8XEq4YPJRnk6nMRAi/dHk1UTQFlOz0Vovubekh2OASs+VOjN9Q== 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=BQ7qeoVJqzp6w/iMh3vKTUOEltiFLLKEaA7xGug46xw=; b=js60xwU2Ns6JJ/VJJzzpT8khzamW9oZEiR6GRrx4XF2Qr3wBppVIwrUg3NQzaOGrYKPnQmYZN+e0rzxtt5yn/kxzbvi541ZdjhhEeaKwvz8IX1F+NHA9uzjOXiYfs1/4OOsoLQbB5n4rq70PtDwPrN7X6W7gE3pmvpuYufJvnX+AfzJSKaC81fWsTaiIOZgAalgmUnabRIAwWcDEXWQOuUxQ320j8JRShxMAYn7m0VNaQpB2+v438EdB6fnyKvE3ix3kwy4kPZQdZYE4dUg5M2P8S1AaLKxx8lVMAKxM5kpW7kjrohC5SezRMmGc1EUbyzxeTIueP/7u0d5gqDPd1w== 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=BQ7qeoVJqzp6w/iMh3vKTUOEltiFLLKEaA7xGug46xw=; b=CfKS8+lovq5GojnOgDmGNeP6LwXP+1/ePR3PfMXJ5aw9ggGg3AVJVIZ+JRN9L9hdUh7LRowZtfqd3VwWTOb+kA+zaxcv26h6jTOSabQ6/NMYPOGIoGS/sd4hIi4aKTWJpm9fWSY7XK5uUcAR5Pv7JbwdEStX52Uc47jA61HfFss= 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 TYCPR01MB10119.jpnprd01.prod.outlook.com (2603:1096:400:1ef::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Thu, 10 Apr 2025 08:14:05 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14:05 +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 v6 05/17] media: rzg2l-cru: csi2: Use devm_pm_runtime_enable() Date: Thu, 10 Apr 2025 10:12:09 +0200 Message-ID: <20250410081300.3133959-6-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYCPR01MB10119:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cbe64d0-ce7f-4f00-4c29-08dd7807a8d7 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|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Mar1dHaBs6+80C2Sn4syglSJIoWBLgHxRlKW4XJGN9r6Xw/j3/ADmOruoYSt?= =?us-ascii?Q?sL4J/lIYWXlGMqfqG4MPdGj3NMWFPiuSCt7tj9eu0bFB38ZbiiZ7/1+jS1S+?= =?us-ascii?Q?OHjSdfr9QSOvYE3bbLQnEpLm9x92oUzMbaFxyuHXO3pU+mzhJCJPnzMWAjrt?= =?us-ascii?Q?ySF3UMbiIBYfpo3fUC1y6PhrTcbsgXI/InYqQNhCJQi9qBK8xKugx4W+h4UV?= =?us-ascii?Q?tpVWYT81EkRKcpvVoQSeJxFljBeihT7NABiytI3sRnN77yWee46iL65Oeejf?= =?us-ascii?Q?m5Cb5E4Bd6n7Hs29/oDacdf92B0T0sMa5ZGrSEGmhPqglpldmitweBe4nhzc?= =?us-ascii?Q?wOR9szDK8Di1FEMoJh9FZQLfYztWdBKkWFRSd/gcAYikHe0Q9aYiu9DLr+4Z?= =?us-ascii?Q?gUu+tSqeR5HukpgNIN1xUxdl9bJ3rwVtTrxZm241OVQUUGNfoBP+kYfsSizy?= =?us-ascii?Q?k3aK5s/mJUpFQxSqVoy2LkLV+/iNuvwLEsLH422L3bmsjrcQxqgg1cIGCAUT?= =?us-ascii?Q?0XSZkpnwS+BnMvWd4shL5iO8PWyL9CF05Q/0llS6ULTKAxCZZNJ+MBfVFM2f?= =?us-ascii?Q?BUeJyWa6W/yahcqB9fDQk6Z8s4EC6KMdICtpbZZUEjHc8aq6a+AxT6uZeNPz?= =?us-ascii?Q?XEMYYUcOlbami1mr2H7UfA1B0xPHj6TAoq7OMTjfBQrj+gw3hB9nlidccK4S?= =?us-ascii?Q?Nkapo5ldCUOOzpL1klvyn17s/c1diQL3XUvix9kL+snAF9Nt9jhH7GdfJikE?= =?us-ascii?Q?CpYDX2FGAEK7AyNAJATPnzv0GCcUJ8NtNBjnk/PifZTGs5SmZ5nCugT6stSV?= =?us-ascii?Q?Iq5vwQfx8Tq2ndreg+VGfrrxVbl+WrDMg7/9qgX/L68mN21KK+KHrrEeSz3l?= =?us-ascii?Q?Z56g9LPyL8oSD7jfh3X/0ENk5m2y39YTm8QcPjCFKbxjiipJI5aTAiNLTpFZ?= =?us-ascii?Q?SiMDxOjqcLe9We3ixkikk+i2Xo8W/ZfCIXdhF5YLTVrfixSaWw3Mkid//0zm?= =?us-ascii?Q?4Nj3XANa06CrtxVPQCF1DDjt2D06zBqprhgDm4ONjz1piCicpqyrD+Nau2Jp?= =?us-ascii?Q?zQHHhg0O/vG+kWLRZkW+Tmw91Rhzx98mXVj6IeiGCuiKluFXjVeZt1YkIW9W?= =?us-ascii?Q?vK8jlyt3Tj6KHI+yY/oXp+/zkZ5lyu5ms8mEfvghcOP7PlI6TrSeqKIfxK9N?= =?us-ascii?Q?xtrLYKZ/KsUgE5Oz+VdC5l7Bmj1VuS7dfgfxnIw+Mk76WK/TYlRmQfC8ScCN?= =?us-ascii?Q?22EVkyMv7vx8UAB6oXz/DgIoUGWoCdYbVOD4mMKx5qik7H9H9m8RGmPdEHdt?= =?us-ascii?Q?ECW/InImA05vvxob0KclNyi96RDsiJ4cYzRcsdCMgoRdZscP4TDxdHYXw+A2?= =?us-ascii?Q?EpsvJbJKr3y12QR2zT9ujwA5LIz5gQJWbCTCJxaEYWrlcTxYVAGWGproEFQa?= =?us-ascii?Q?B/A/uZ8EsJXqIBcZAZB7dHIYr52naO29+qDVpPm6A+EX9LjFWPO4mg=3D=3D?= 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)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xWDH2zMvTk48LxHBcOnFxmwP3waH384OSqRCJvixQjN/FLKWDC6y4Mz/BOUs?= =?us-ascii?Q?BjaM86lWwvphfacVfmV4X14SYJiGOZngbJWaD6Bc5oP+RWDOE/4MYLjwZWc0?= =?us-ascii?Q?XQ0Qh5EeoOrhM/PPoGOUFN7dzUu/nf1BnT2gj6UcigJnrxfEFcjolzbDOvn5?= =?us-ascii?Q?oV83I7X4X55VPYpklX1RGAVHQTniPMCXxe3egFtQa5kaezt68CTaBTQvOif6?= =?us-ascii?Q?ChBOfjD54FBgzUwFv+fiP3PDHBeChln4bV/UqcWk+9lJhrT5mI7mxpjDLOC0?= =?us-ascii?Q?rGqA6mC0OxMS9UVE5Y5rUreipBGP5XMezdYkm3pXmAkOt9DiTXgOUoKzJr8P?= =?us-ascii?Q?DJYZmJt0S9G1b/viUwWVeOFsX6HRRF+icx15oGnJIYyksL2WUVo4CaXZ2Q8v?= =?us-ascii?Q?yE6jK2abkP2jUVLqfvtKTT/bgXkfYK4Bdasmg4kL8cvS8y43f1f6atvwc3S4?= =?us-ascii?Q?M0WNuzXBGRq4Ba4s7yJTA6bhkFE15vpE7s09xx2vj1ZP9WYcSakSRAafnk35?= =?us-ascii?Q?8y9FTBQ7ajdZn/GwNjBWFLspuh6vjj9/02N5MehjJRJHUZHiLdt3o4I7DoLM?= =?us-ascii?Q?LhUUr1FX6LTcqFKhM73rRokxayHS37pFR5TPrcbYEW3J1GJZ9gDCOWbWexfK?= =?us-ascii?Q?6Dj8XNKdGPCk1SOmnsbeGSZktiIs/YAvmH1Aklb0sD9DIUaF9yq/+2A+kbI7?= =?us-ascii?Q?RPwFst1psjt77A+rZ5t1f6mAmQXe9r3uIrURgWpSjlR8aShlY6oVsZvVfeqb?= =?us-ascii?Q?xRCS3nV3Y8bNVXuNi+0rsTPKinTUhbiyjiRdXiI2TDxGjkeyRG4J4ERmIsTt?= =?us-ascii?Q?KttvVHwjDcpOp/QDNHQEapVUXkHA/DOdPFdO5kuBOmou4pjgu63WvDVd6JNL?= =?us-ascii?Q?Bx2wmnPfSKRt3VgBspEDgOJzfOrSuTUe/rywGBp0qJHlYfFub12smcZVt3L3?= =?us-ascii?Q?2wn8OMkEj3Oo0+4pPSnkFLcld0r8c8y631lCQyR6NCLpZRIow5fReRlHpeUS?= =?us-ascii?Q?FJQMQIPZKlGi09EYPtCf6KNunD1tfzQhYhYKGGNBv88UxUl20RXu0Z7PEOXs?= =?us-ascii?Q?K2jcToxzpDW/li3QROADTU+9WVKYkJtRF/Z9fSCwyEN8Z/cO4FiBGSDCIJ+C?= =?us-ascii?Q?bpZDLDRgK4pc9DVNWKqILvJku+GsJouwVaT/4AnEzbMA/xBSZY+RrHPC8phA?= =?us-ascii?Q?DlrjT6xuxYZl+Qeuk4yVBbx0MefW9tLfajBAnWvIF14WHpjPOcvpY4vHKXSn?= =?us-ascii?Q?GGo3rHPuRjXZERQj9MQrJ4aCf2zPn7a2L+b80LdTQAS5u1g+0PnbPuBNi5Ks?= =?us-ascii?Q?HdMeScRBH7oZhzz3srXVUmUBUbRoPPXHx/ZxjRcs4CNXdE09vdz26qEJuNPZ?= =?us-ascii?Q?snddogtK1WOnudXDAL33dBWm1ZMO1sxQMyu+5nHfh9Nt8smkh/MTdiuwVH0T?= =?us-ascii?Q?u9gW2Rqo9SdoJeEtCzQU+My13lbQrIygCuW1NgfGNutArwzsvQEY87SjyJAN?= =?us-ascii?Q?ocwK2UaWwDuDk6RpZgsU01l3zWNYasJlNIhZgbIN2lsm4sF1k8dvreiWPAqe?= =?us-ascii?Q?/jUEABRp+RclfleOWEqADkL3F9uE2/i0kioFgALL0nlqbvVQQ0NbY/vBfToq?= =?us-ascii?Q?B8Xj99bLFlDzyK4WWCoCyGM=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cbe64d0-ce7f-4f00-4c29-08dd7807a8d7 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:05.2728 (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: Ysi91PGAcIf8iTLVv1h2stp08EUHAkibrBsZj7jgbQBkJn3XLC+lc0qmcmmKB3L+V9+d2tbsae58greLbaBmb7oX7TjQAZJh3jF8X5eB5rednPT+baYTY0P0gRNLuDeX X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB10119 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 948f1917b830d..4ccf7c5ea58b0 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010018.outbound.protection.outlook.com [52.101.228.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 2903E20D4E7; Thu, 10 Apr 2025 08:14:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272864; cv=fail; b=T8/ro0Mgtbx1ERRb03DZuQDYtN3PX1j3JqoAzU3Y9jkClCLTZJCC8MmN/rcHAr4OeMXT1AjAAiaN5v58vpCJHhodRAgXS8m6IIHY0ufA9mjbyxAnyOCiDqk4KwaHwzDPF8qB6QPiuBRX8cRFuje4HpfxoT1TefdimoGF1f9ufBs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272864; c=relaxed/simple; bh=+itG+lsmYTQWPhloQpRkN/MtqYNEE1GiS4/fCACV2Vo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=qY5/YbXOKCuDLarjMijdxNA9R1nMcH3V1dAwrvXzIF40WHQsxSohJb97QxZkZ9uLaXuFIW+zPnZtOfREAzHu5CPtzgEw0+nLfKOB91hOK/sQggakSEIBeCh5TThvVK2o7BYAjjYJ4vDwxdIlaFqWKrkgpJzABq8X5/EBRivldMg= 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=vFDUIO2q; arc=fail smtp.client-ip=52.101.228.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="vFDUIO2q" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BiBFyNzMlsGtAv5yrWTK1Zg6Czhvx2TJ7bXD7CucVyDEd9NHSGYWqgenrrJ/7aT28p1Gse4T5KDub18sH6f7LVIWySoeoFWETP59sD9rNGahOv5xwKGWQzdHbi7SZLPKVB7VKpqumeGzkqZ0M91VaYR5tJp6WA0Va0QqFJS7VFhO8Z64bgxqrRPgVP+Hl/6ynBeceQYATO0Rqwoqddf6ew4XVvbmBh04sOJMCQb5txx20gjuACMS4uns031C8986YgoZnrVIKRtN85/ctnoLqPCTjzfMeJEL6MQNHsCVp0/udTbf5brrexveSqGOgHegB8xeY0kOwcXp9tQLlWWpWg== 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=s9n1Jn/LuzaoqA08KS5D9g3uz8mHrNSl6RXD3nCLm00=; b=CwUFkxm9RFU/m64U9ftcN2uuYWJlm7gI68iUBgSo+p7y7wOLTGU5lm0I5Oz/3oHf3YlmWh6HlkgxJ2sw+fYKbuNH92XyXFd8eJbob6LkdHjVx/uJTzB1cnxF75I2dSsjaF6mAxTMe5znxNPazf2hMTTWjiRtaFsrkxE27/2U/kOF9qbzo+RP4SP9SWaYRi6ok9BO/bKSq4tFLqajzU6RTFYcRRLbg72vsbZkn+tae/MyVlhcPNiZrDECokb7iVoKFBfTGiAVo6hPlHqplJyVL/hRHXXbwQ2H0bz4yrAMuDwNskPZtzKQnDJ6ckowpZnoZm+y25aN+UwclHxWkLbEyw== 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=s9n1Jn/LuzaoqA08KS5D9g3uz8mHrNSl6RXD3nCLm00=; b=vFDUIO2q376OsINRIowkeufZql4yFp/ogdbJ5AceFrBcdrO2NDQJv0Dxx3iKXZKOoDAHmEdHtjP2N4Ug1sAeMLd8w7c1K2lv6igvBbu8LWaeAdURTI2WIWV3t0slSP/tQNtvupwnCbCzT4BBpabZeyO5XajsKyK6stVThNHS+QU= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:14:13 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14:13 +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 v6 06/17] media: rzg2l-cru: rzg2l-core: Use local variable for struct device in rzg2l_cru_probe() Date: Thu, 10 Apr 2025 10:12:10 +0200 Message-ID: <20250410081300.3133959-7-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: cd800b48-4738-42e5-2c6f-08dd7807adbb 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FuS+GGdkhSeVrwUGaaQY4SttvivAkeOCFwFlH0+SX49MBC5lLrAzQDrv3qqz?= =?us-ascii?Q?LpgVvXZSMnn7M3Q5W9vciJPH3Ked+cLT77qt//ECmrZ+yh4gzkuMmV6m9e0M?= =?us-ascii?Q?uQ0TypBhQNq7Hkat5rSmFag5lBA5kfW9GI+0J6o6JgtQsEE9fYb5snlSJwwc?= =?us-ascii?Q?7f9/AsuRuLpOnGPdO7WSfBB3Lv5Dp7brfwd+F7Rgg2pkSShy7NQ6OsFxHpy3?= =?us-ascii?Q?aW2b6hoep+Tf9F12DPfXbtiu5A6CToVWiOA1fGvGxe/LpuqhMBJBktDlfecS?= =?us-ascii?Q?Tz77qQdhAumNA8aKxGys2lAQJbyJdNZYirNNIXSq4X57Xf0EMgNwPywvp/J3?= =?us-ascii?Q?VVS0nyJVi55NXPfYYXDpb6MbEv7ERUVAk+yPHtZGmNs6Z1amWm06CFNM+nNe?= =?us-ascii?Q?5l1IlydrYiiSv3xkgiHajmrafKPvkZ9BZkGwiKk2AutAONkW9eQ98wUpfY2z?= =?us-ascii?Q?Y/kJ+mCR3HID6h7eVrIWuQB5eLnV8ak1O+Pyv4JhlSB6Tsqwn0+sHyvaTN3b?= =?us-ascii?Q?j70wN3YJWHK1FdAhbKvgWVdguNvDwQ6QJT8rrQYQwGDxm++K81uy+EeSRs6k?= =?us-ascii?Q?tP90yxXwn0F9BXAAXKEBiWxBMUIw0Z7oeXoNcsRJ2OPJuRRkfMRm2NiyIz1R?= =?us-ascii?Q?Wk4NBCNMDB7pIDGjNDKtEE+42CRKWRozYJSPyrlSeP9DwQtHuk9T+E81FBYE?= =?us-ascii?Q?a544iQCrUh0Qg3fYpbuKzvSxYibBbRPcIkt0KEDbYZ0Wr1BrT7FtKomtDFU3?= =?us-ascii?Q?GCL50JJqtWx1tR7eEugTDGqHiPk0PylYJVXfLedij67NDKPov4rIrwEmeJt/?= =?us-ascii?Q?YPZQz/3YttLUWZNDdx3ze0bYaxlLVJtzoOdnVUNMgZguFdHfnIbuZoFCW1p1?= =?us-ascii?Q?eof/pzlWRTCWU321FfA9x2UJQPNfyfqKnV75FDVm8Sj1Rm4D1RXshxhRoZpC?= =?us-ascii?Q?pKiaK+PIa50jCTMPj47dIWJm3vkNLkcKrVRgHdm+LoOsIg9pq6G+VEByqaDt?= =?us-ascii?Q?f1tfkTIXNBUh1CWX4Wlwdlxcb/2HB7WDZaZLCouTaZCsO5CtJC51+dKYREuq?= =?us-ascii?Q?ZunK8TbOk7lJBi6kdxCS+6a0MEz6CyMwJ8+Sa0JVj/0E3vtY3Ta5IDar2mh1?= =?us-ascii?Q?mmDnUvtdckOFOtj+R2tI2o+k8SXQRqIUSQCyLEjLGJRGRgYKsWaCijZH4Mlw?= =?us-ascii?Q?4/41SuUqM5Pvd7CbFg4WCdUbkDa1iu3dl1o2zFajDzbp9SNOLj06fC7HE+f9?= =?us-ascii?Q?/id1sy9Hm673hm6p/SsnxcalDofHXFXCShlaB5aruLUnOM0FiuKMkudHqo/X?= =?us-ascii?Q?rS9W9NvaNRDVWtg1nOQ3CLFDIauDbOAIgm+ulWxOTWCAmBK/TFv9bS1Dwqh6?= =?us-ascii?Q?EnNaqplbXBtuGjZFO9QEFZxGDz8QN+N2B1Ou2OTyUu1Da2xvJ6HzwWSlq3Pg?= =?us-ascii?Q?DkVPAk+2pvElpeYqjth3OvQeMKRsSsvH2Y+qnnLk5VeBxPnR9VOi7w=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gcb2Ne8lqK5P7/6/t24qTCe3MAspypcBY/WEfPHcZZCR9mYTl7XW0l/Qvr0e?= =?us-ascii?Q?cTF83YBF7jnSxwZQ9M//4iPyAt38bGwbRaW0yZ2wjOB5QeIgir6JWq+jsJ1H?= =?us-ascii?Q?nSyj2WFvB00+B1FP0cJVJbZVk7tmeuSri5eAm12nRHoZqmmrUWQ3ttavv1JV?= =?us-ascii?Q?z5IGZXkUqMmYaWtmQQe04xZJ7G1fkKCwGm838/2o5lonaUoEgzcolhQw8SVz?= =?us-ascii?Q?bnY8WRS085mccsKQU6yTyH7hpG3esEQNA4+afp4bFCTHwSMWlX6dHynbis/e?= =?us-ascii?Q?SzkOVGijzOspIAlRnyX4q8UOP554lItyTMPX/IUsbC/TqVlnwyjyGKEjzEpg?= =?us-ascii?Q?QvN2t/mhayHjWiL3wRk8W1QHoiIDhuUYJVVg5enZ+iYCm56zyGQx9ltpKvUK?= =?us-ascii?Q?6DtMgxMbHlYJlDWJ3vUv6pkW8MgnT84hdLBMmmjbtsYVoBamw3Pqrpwp4sQt?= =?us-ascii?Q?0SdSn9GjQU1VCKXh7aHK4LkaXiHwoW0XuRFSd6X4iVZqD7DysQkNXcey04ip?= =?us-ascii?Q?/fkNiMzKShvUhDXVm/es0VsnxZcUYkac+8Ro4oNJSSIbXvFPzBDGfY341Je+?= =?us-ascii?Q?N6aeOp8fduUqskZbUjMd1JFAhD1T3hALon68qxzVV2TdIIBQYkc+9sLScWnN?= =?us-ascii?Q?CDZ6cO2roQlIUi9Cshv++Hp2ieWoxWOU/YkG+EDnTAj0aUHqgadHJW1dxcjT?= =?us-ascii?Q?3zP2nB/yWPoVZZQNeuMfUQTkJK3pp69GWLj8c9yM+TH6QhdlOWMC3cHhvJbu?= =?us-ascii?Q?bQ8mkXBIlxy1/0K3kFBy4+yMiyP2tOZ+Xf4Ho8ZJhqKxuNxd+rQi1whnANvJ?= =?us-ascii?Q?MmmYvvyGnpINH4Br/g4gWP8Td1dFYN3V81n0rIUAYXX7x2TcKKJExBd3MlES?= =?us-ascii?Q?2sNWYxdGf1Wz6w9ZyvSKjYZvqOmuL5M7exzRjmA5ivF3UpJHXb9RfxfIE0xq?= =?us-ascii?Q?jumyydqZirAV/gQs5Qkut/yCM45clTj2CfqNf0gXBSCIQ1flg1bdLv7ol09a?= =?us-ascii?Q?px4eQaBnOnGDEaYAGMXJrGWC4Tpe210js+qQtwc/trPyFpvyhRRrkoC12YSN?= =?us-ascii?Q?xz9Y4vSO1NRPckW0kiQpi9zW9pllxptvutUloJTrmXKQ5XlWRyoZp2LzKwNJ?= =?us-ascii?Q?97+FW0WiNYUQ5SxppUU8lt1gjblyT22UXjKrQI59yrUhBrEVwiJhJQrJ0nWq?= =?us-ascii?Q?b9yWQBt2/R9fqECJuiFu4+j0O8zTORL3fwyhnxC3mB9S0rA/Qzy2XmMCUGj2?= =?us-ascii?Q?KOc9XMgikgiej/fDNZqJAIMJ22e9INRGtvWt8N2LvvCOsd33PL61EA5uUcCY?= =?us-ascii?Q?VD7T7k9YOPsTR5LYUe1DmeoBkVDIxgEeUbeAo960rNxvrbqG4kTLsKgqWZ/e?= =?us-ascii?Q?ERS4L+wk44wp3AeMHB2+u6jl0NpEiC2uf2WjWWYRsNYlGJnR4ibM2/8WiURT?= =?us-ascii?Q?OMbL7eAQdJeXLnj0/Ap9z4ccdtb1UO3SHlsISbFqITgumCkz1c/RoQHX/GDQ?= =?us-ascii?Q?6/eVQXStx7lzRyQUhZEmQGgILEuOMNmEKVqUrcTR7b2QAI0LAu0rTcyhxNOx?= =?us-ascii?Q?5sbVm0j/jAtXe91V5o3G5ardIxwpeXA1YKc3HX9lvdn9QT9XEFAoMeVhes1x?= =?us-ascii?Q?OQNjocvxyzgYyTW6MDT4LjQ=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd800b48-4738-42e5-2c6f-08dd7807adbb X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:13.4594 (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: Fgj8q4jwredkU62vYqS5GhkAqQwMSgj9+5kQ5nMJCBc+rWYbgAe/80jBYMIeya3KllyOdQ7Uo3VGR7Ga+yRi67QWdWkc5M1Ep0dZBPuqPHkFzqChArQMg+njVVePc6J/ X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 89be584a49885..70fed0ce45ea0 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010040.outbound.protection.outlook.com [52.101.228.40]) (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 9549720E032; Thu, 10 Apr 2025 08:14:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272869; cv=fail; b=DWfJ1YFK07WJSvu7xiwqYNSn5dMX+kjLP0j3kusZuQ+JvaJhFY8ZyZQNF0i7xL1Forn748r6W48TuRw0YQMEbpWGAPdLfn0h5H9GBygQG9/md5kmUSGVpGTVZf+beS7fuKyE+v7ZMIHqYlzOHcN1p8bbBcKjrf00tlcLJJQqYow= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272869; c=relaxed/simple; bh=gk2f5O3tX4SENV+cB0k7xa34lZ1ZnngCnzzMe/PyGo8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Djjcb/CozJCqGB6T0ITg3IFZh0n1z3HG7gIcRFTnlXj7hRnNCPnvVCT8u6x9jiWc1Be7ka5s6KwP/efJFgrslwW99FWCCgd2Vujr6l+mjhH3v8/NtmDnxTUkwnbXTWmElqPJACDMCVuK4BlJf6+kLoluywtjxI2IgC4qdpClvQE= 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=IpW09UIx; arc=fail smtp.client-ip=52.101.228.40 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="IpW09UIx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lnR0qgCsy/l8IsEwxiOC8Bz01Md+4gpKN2MTFuhKL7WpVO79IklwDCfOJ+3RefGS8Atg7W9h8+0JVsHomt7irHPzis7uM38BYuwb+C8TwSA3JYw+XpuE9PnLoCnTMyz7lg+XdnMCvKjy7bwlUOlhqKrpCaTfyuziyLhjKTnxuVc/mwXsKo2QRRBZsrxeMY4dWw/rcIRWZpXANA6rzLoFQVxgZjIVJJIKQIvko/bbvvgdAL0yq25cHnk1czdHPDIIK0Oz5eL7q+6LXwDDARKWJH7Ts2eN9caPvxYwxxXdJlm1VVpVk/2JDfXlzT2mG/XBtNog413UbxiHxNVXbb/N1Q== 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=O80LhtIrIy/abMehTBvd3FaXj5QPLwAUb4l2HqwPAFM=; b=KZ6m7BgZULiTDe2G3cKJwigW6bUp9875E7RfN9CImVtxbrGl7GRPY+aQQLqoqOhv/TBM+aHALJR2cpWLKXfop4z6YFUbyETjyIeQxuzAIcb+QrDNNasbZTLJaV9SRyIRPGVL66oT/tX8rXsqP64GddCfxcQEN+JW9avAyv6qewbc9RHdDVLBukgUilFPeYpS1OfqYz5lznJDlwc7ZrFGYEWmlVMQjbwYfK2e4qbzBMv/W0Xa8l8MF088USRubOYkGhfZn/L6b2yjC9MKPU3YRHRCmfbSOzW65v83ohhpBLQbSrstXCYmnD9nOeBW+oWTYs5YLzBwQXS+lXT4ae33pA== 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=O80LhtIrIy/abMehTBvd3FaXj5QPLwAUb4l2HqwPAFM=; b=IpW09UIxLQtBCVezroTHpMBrBf2qMUAt0GFeiKaW0V7KX8Jp639P5e7URjG6SE83DbT46qjAFKQyK8phtQtJ/SaNh7Y2rAJmT9WXX2mr/1hg5yYKNQcg9zEROWVKzPx8lBeG3e1NJVkrsMXb0VCWfvmL/MZY9F5xGAFjP6Sni7U= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:14: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%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14: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, 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 v6 07/17] media: rzg2l-cru: rzg2l-core: Use devm_pm_runtime_enable() Date: Thu, 10 Apr 2025 10:12:11 +0200 Message-ID: <20250410081300.3133959-8-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: 610146dd-6f63-4af6-95a5-08dd7807b252 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?HJqprEwv68gHmB+3AXFkoL6wPEMgWsB6BJBXdeT2WMuprFrFKOeYbGCsmv+9?= =?us-ascii?Q?5HgAZ4bY5xbxiVimZWhat76jFjPgqvMIO0zxzcBWhR1Srxzazj6kXPDwWKyA?= =?us-ascii?Q?9frUm3T21YnMH3nCSdqjTkHsjMRuYXbUU+wSOYLk+N3QBC6zjYXriptm0zG2?= =?us-ascii?Q?QCqIbeo0KNMVlshAi3eTw+FjYJpmPU30Y7Hf1oDxJhmfeK5dKq1h5kv8pRw4?= =?us-ascii?Q?JJoLAveZfZ5b8cr1mQ2I+4TLxocYFGfGz/AR4h8PEcdxjFwmUTVao/GBKYUU?= =?us-ascii?Q?XdxRw112CMFOI3lwJCcsKLFvTokMEaEbpFpiJd69KXLxyKNtk3RDDy2MrDSj?= =?us-ascii?Q?QLpgCkiuVMq0TiGX7LHQhFcMf3sjkOpehlPKJCwJ+2rdq4ohQKfw7CCfLn3f?= =?us-ascii?Q?TXaR589c3CwZk2btbRrdGU0l17uMsOQ0PfUjiKGi8eYce8j3Q3XIzmrFNB0A?= =?us-ascii?Q?WDATqMiHAjBvFpamJRbNSZBZ5IThvqzErCEykFjW9PjA/FkTTeo23SatGhzo?= =?us-ascii?Q?P6MOeHwa2vvI8WHE4BjPZ76rx0tmNHU4zd04Laz+cBTdNgIAmdW0fJdbEZ1j?= =?us-ascii?Q?8/BsAV9Q9TYRnmWfWcJVbKNuDhujTD7czErikbANqzyiycIcaEwGRgo7VmBL?= =?us-ascii?Q?wk7fwGF6Cf0geSJau+74uXKaVcuM68t0bdmIDJpoWqY51Y7UoOyFAhogjfIS?= =?us-ascii?Q?SCSFRPEsmJot6QFCdQZDaLPhT/KXfmypXUEYk6eYZXE34h737FirUppcjwen?= =?us-ascii?Q?4++643M4cfNVkDNLj5hAZZ5hkM3Cobp72DfwyZlMkA+v2Wq32ljJNQbclOmh?= =?us-ascii?Q?f6K5NpT7r3qXcwheJwBIKst7OQLu30yK9XGWvq5Dqo+9hdnBfyJ3SUZEimVk?= =?us-ascii?Q?e01yLC4s/bk9bqKD2ViuD6OSmsnsljaiTvroPXLJ3RIivKcPjkLTkwRiCiTP?= =?us-ascii?Q?jQBa9jeMsZUmHUAP9HeSP8i0SInoTQ+f0TeNdS2HhYt2ezyTsgX1eRVuEYDe?= =?us-ascii?Q?qfhufjByaI08bdZGWgRrza7wzHwsFL3HHTzR8No7uUzW2LQWpBrKGqHKFzHu?= =?us-ascii?Q?c7WHzdlTRc57yHxSuhJHGfMcPjopYlkoR6Jtnox+6MbUwBbAyvk5HB7jZTD4?= =?us-ascii?Q?Jbhz+eS0scEt+FAMJ8dVpzJSKIzixq3AnsRfvB2nXY+kEA88JLVrq0zzevGI?= =?us-ascii?Q?uMNFgLsnPcguIoyNp9kEfqYJIfEVxsZyvZP5TCbsukO0X4lg6A9k+ErQpNyN?= =?us-ascii?Q?ARKF1uAI0+rVuoEJ71NU0NvbaFRVnNREPqIPtozGwvP1IKG3af4yYQnuE0Uy?= =?us-ascii?Q?tAuOiygxZxz3l1uhWA7Qlr6Q6WJGqnB0QOKiksYFt2m6fiDH+XdrHZGP3mW6?= =?us-ascii?Q?mFJAHcTNtaasc9tiLOtq5JlCY7tbtw1fA00UxLiQcBsx9bUXyGP2EVCazJgT?= =?us-ascii?Q?NE31CALzWZlMuqLLoF5yt4xnulI1PfdMEMJX7KmsUY9ZKmjxEB3jeA=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?p1AhaDWbkP61f2wPYFWmt9sPe7fib2pcgjSQ0EnxIQhB/solPES3KV/JYOdm?= =?us-ascii?Q?NGnoBTlrfCpFIqbLl307LYCFQmvvLLh7wO1BUxTrmYY6AzodP2J9/dp+CWLW?= =?us-ascii?Q?y+Nw7QHAxJQ5nTy5OcpXEJh8Ub5tysqvLBJWvLNh6si9lTfGDDD9DVdtBAT/?= =?us-ascii?Q?e+qWVNH4ou9ETk/d8bnPiBkryeuwSDq6MV/r8XHBllL3nJIeIqm2fs9jKj5m?= =?us-ascii?Q?kbmY+UFwla7LVdW9tNPkx/nW4eW8qvb5slfvFtFjpR0S6yPXjgIdKzvDuYzg?= =?us-ascii?Q?RscSIKV1Ox9SgRwtGncTQ7j6b8TOHUaLXd7BhAnbga65YdVrDu0+8pOQHOWo?= =?us-ascii?Q?U8aZGDIz5tIa9D4Le0c2mOO/LeVarZ2vbAjnYBYIkIxgGM7kS8gbKkI2+GTt?= =?us-ascii?Q?CaSSl7ezoKqsHUp3xrqIvG5Vv67Zkji6YSviCVKaDh/W2Epacb28wBOxeCJS?= =?us-ascii?Q?nLxzbFKAOwk5ieY5NNlwGPumYXmGLhkcjchydUPDl1IN8K8cdjObCSKUyEh7?= =?us-ascii?Q?QuPvGjFKGz8pMzA5+dLBU8Frn2wy61uw+psl9wxFoXWK0ffed/aRji6MTPiS?= =?us-ascii?Q?5k75Qy6cwx+jZqY9EzhF8eafjWi9m+8LoPMv2TeX1YNgHq84BzVfMCMSWUxI?= =?us-ascii?Q?p+SaZBQN3juIbWl92DVUrs7ycPLrMbcwfCLixE3DXKsbIjyzgoknKCuW+8x5?= =?us-ascii?Q?UhWFBxZDp5YOYm5tvLQwQstZg+lvgouGZcNjewba+7bcyPYiMUhFehecnJhM?= =?us-ascii?Q?rr+qiRuVwQXnMieO2Acu0LILu0o/ZemJPkEuQAgb4TSCD+Svt/gFeGzqViSD?= =?us-ascii?Q?Y77oRX7Gn05IqUBe5qc7WBtuDVPwpeJy4YMxI99kOo9MAT3OIk4buLteW4E5?= =?us-ascii?Q?rrCqWjM7hgvx8+OVuIjeX1NaA3SEqAQDDuOJ24vikGaWzTiLXOawau+zcPuM?= =?us-ascii?Q?8gP+B0yds8om0tJ2aTDT7YOcMdtf6J5x9/bBx85XRH6JD5xA8YyDqAmre98o?= =?us-ascii?Q?Bw5XvfjE9Ae6KybfObqS5eWzlIIVY5Cu8gMD8nQ6NsZaqDhTQJcX3PWYY94Y?= =?us-ascii?Q?3Iay1kdneYKQVqDFNozENRDEbE6p6/RQ/ytIWVMw9ButxzvqdnQ+fEu/eunv?= =?us-ascii?Q?6YDo5A7mN5NXS61dQk4hZMxkroeud1NzRov8PIuANh4g4jkbNvJAe1UcffSR?= =?us-ascii?Q?qez2xEXb+gZJu1EdDLVqMxb+twdvgnT0Ze6YkFZuYacYhokX/LYoMJ7YaP32?= =?us-ascii?Q?1w2xdC7gy7VxJOmKV285GLRAhy6RPB5HJcC7eKluGNBcZiJFnyB44QHtzNba?= =?us-ascii?Q?XdlFYEQtP0J7GlMuSC98BhkWtPYhClTYqEitWbY1RhbNkKjxuARvtVL+cgHo?= =?us-ascii?Q?+BbSckqY9b0RtIgzyb85J7pPxLBjjEXJZADJTmsSD/P0tWWkm9zyQl8iNdzI?= =?us-ascii?Q?+QenhOCMkeCiK0j4F3OLGuPVxcz2GZ637JkyuRspj39AJ9efcjPT5pFYZ59a?= =?us-ascii?Q?MhLySqww4bSp38omw6qx8f+a6BpL6nFsA08dxxQT7z/j10yXMMadmSV8/WlA?= =?us-ascii?Q?t8eO0CSzLf255YmmwxtSW57AEeUvCCw8Vectl5cRLoxM3sDMeggS8IzJcg2V?= =?us-ascii?Q?jeLzGanG8RA0ja4xBQ32Ndg=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 610146dd-6f63-4af6-95a5-08dd7807b252 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:21.1847 (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: AdY+1MrYE2pq1njY8JnJPLmMB3LVh6fxk0tNR0bRkBvdgQI9cA3plW54o7A4leH8cr2Y8nRz52roxEAT1C2CjyYc8M0X4Ou3sNaNpIbYppwvXjjZq1nACIbTf71qQeE6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 70fed0ce45ea0..eed9d2bd08414 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010052.outbound.protection.outlook.com [52.101.228.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 2A91F2045B3; Thu, 10 Apr 2025 08:14:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272877; cv=fail; b=Lq5XcTd1f8HkZKuFiP1NfKCW8o7mG+3TvpzXTCmuW8n+fwdj3zk+3qaUWSEFlvVX0WU65txZPQFFbFAp00T01/nsQig4pURiU68bEOzSMkKDLC86ODLLgiDTj7AC0FpJFdlxcs8PLfjrr5dkZj8LNm4nelAINfxKPxo+1Sc87s4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272877; c=relaxed/simple; bh=8rPwWyKGU42djKH6MYxaE82TLxzNheQbC/s6A7rWfWI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tMzxB8ZbLp2Hb6GRwFXEQbUuBjz4Ilffecu+XujyQ8iOCLcozJl1uFLO54SoEKWSehxGRhWOGi6cjBg6YEKrtu7xsBWaYVKS/dwO7gTNRk5ez7L4Kw6NPpaGzFSUULbOLfsPMPO5SVWu8bdhbmUCBYqm0R3v8C95/I4XHsBQRvE= 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=F6OWkE8F; arc=fail smtp.client-ip=52.101.228.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="F6OWkE8F" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g+lV9zOnzEIczwaYvSgyvhuJ98pdgxbxwwe+M+IsJTQ2db30bKE+R8Zgn5IgQF5MeyJnNbCQ94oId1XShBEUGazUJX8BqS0jSYomA17AQU2cnQ0w3T5Z0yfeuT73qj+kr+d7q8huFz6mktii0zjjQMhCBC+iorhI7y9Gc4CuswBGDaewF5hPKJ5HqKv+yW5B0OB6rLDD1VMSLzTNHabPHR6pLe1lvP4yNLo0XGF2e0ooRHcudVM9UmlLTokKSvxy/k8wPXdc/4ogb16rSDmccR/+4siLrkN/XivXY2c5y9GYtGC2qzk82CmB2YHdXQrt9fpSZEOAfuJRV2O5mAB08g== 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=bM/KzKiGFXhJddIsb0wAEvP17kYlm0x8ySJwv+CLakc=; b=jjgVdS493l6VH7nIjEMfJfJgxulp+z2arX7GOHOiNG9Yv2C4F9UkRuWDN4EE3SMKRGC+72qNdf06aZDopQnqWerQg5Mr/OcGYnCJXP51uIO4gYziPLiVNn+7T0C9U5mCFi9WBa/JyAxjTo12UvLny11Gv9ykf2lOaxSyY8vGjz1W/hdXIYqCygmXlyx8pwh/uhEYri9y49OgvkLMM7rU38eE3GeeEcKxvpE/zYkUnMKwS+m/0XcqoWnKKTzmN2eGv4jvnReQWfqPU15E8hFl/RvWjE7Y2JEUhqwDN6y0afBkBoyf/cWYw+MG4UO+w1fIVpzCUtnD5LN3dfAv4sjv4w== 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=bM/KzKiGFXhJddIsb0wAEvP17kYlm0x8ySJwv+CLakc=; b=F6OWkE8Fym7lESDOl7tTYwMVjuO5Cvp39Pf9bMKTu38a5qy7qrbxllOJ2vd+gh1Up3zxk7Yn0hFmZTWc56enydcWncXHujBGaKgOvpuFfGl8skIoeM12vqNitP8sBwd3zfzPboQg7SO6c6IAKWYFk0HlqzSLR1cjWMoi5JayTD4= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:14:29 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14:29 +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 v6 08/17] media: rzg2l-cru: csi2: Introduce SoC-specific D-PHY handling Date: Thu, 10 Apr 2025 10:12:12 +0200 Message-ID: <20250410081300.3133959-9-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: d1fa969d-66b9-4d3d-d137-08dd7807b6f4 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PxpT+azhqI1udYycjQDs/5COtZ1vJbLdqNlmQWl8X7TLA+AdsgGSdP5B3kDu?= =?us-ascii?Q?QtTTUPavG6qtdtRkg06X/k1W9dlH43j5eR3evwkm4kZl8nlfIKDT1ZXN2YsQ?= =?us-ascii?Q?gA6fB6pOseTHFX6cOXndbEdjxxQP3Kop7HGuNVZ4DZIZk94rQN93MdlJ5PFI?= =?us-ascii?Q?e6N4lWXzQ9Jut6FtgQB5k9+6vXcqVILdTROmkAdgYgw424LFkUUPkw3P/404?= =?us-ascii?Q?sdojarQn2lK0lbbBzbu7yVSj/TtF7C9M0LnBr008paB40LiPzYJ13NgjBm6b?= =?us-ascii?Q?wbz/Sn99pOpQbsp8EReJzt31jNq+N4sJ1SHRlN6qkmYJOMauwcthSWE4qSTt?= =?us-ascii?Q?07IAVoADpBeFRYxzsbvpC33aNZpLeeeK5IZ3t8JYupS56Sk3L0F6bM9cOJZ3?= =?us-ascii?Q?ZUKP+ydTO9GdEyZpx4qu2snZCYNAiPYFPNDHblxbuIGQt7AnDKRtGQvCzUGZ?= =?us-ascii?Q?bRnq+y5lCjX7UlWeS1o6X5misq5qycJqfb1zgAgvrtqpYYMRJwYRIBX37r8G?= =?us-ascii?Q?XqCJHL2KhSI9dhsJCnJdJhI95sxG4BBXVL0vxWeQh5ksaw34eQ4VoaZCpBrk?= =?us-ascii?Q?x9q1xv9RbTsRLeotRnx8G4xtyB+PwEn30jVZetNr/AN1nlYHEAtpzyJByjXG?= =?us-ascii?Q?BDxQfW9YsJ+HJ0DxqyeRsoT4L1ya86EHZv1r7Ik43u6zGmHAM1qiJAMGMz0o?= =?us-ascii?Q?Ue3+IiD+uuE4VwQzAkWsBjm8WQO3SZxQJ9J7rA98nx9CqPN0d/mAv+/HNkFP?= =?us-ascii?Q?KpIrNg3BjoWEoiSXXAb96YWr8vKPrDMxjTCh1VcJBSliVWTPVtd4zd/1msCX?= =?us-ascii?Q?Zyp+1LekZabb5/4wv8Z1NbNzy2M8XcWky2L9Ih+rcWwueJS4sTTh8uiUd0+2?= =?us-ascii?Q?KpiTZMRPyYDO3cHJkdjRG61IJsMIc3DWVm3ul7Od4+ZJPww5DA8IOG24cwJc?= =?us-ascii?Q?VjC0NZEXXMei3E2/h3lcyi0TQEBsglUVPytjGO8JDxVc7FTtkyWbK4xQHYzB?= =?us-ascii?Q?JOZTqJ4P8iT3mPCJPYivMJMDKiNONrDGLPcbbDEj+R595VtLgNjUJuHqWlkX?= =?us-ascii?Q?H/IWLYHo8iHjJCPL/1lcRb1Xx+zxtEFZKc1hJn3Z/wqHqm2XY0cjZRYQ/MVm?= =?us-ascii?Q?z5gj76NNg7rl3uT4rrthuKyA7o5e3pX7POmfmbGv/5VRVZH1iFaCZ98iPWQo?= =?us-ascii?Q?ZFr+OKna0T2A6m8GPiZ4giJlrt2AksrpdFwCCzlqKAR9/dK0+GNKt+adLGsG?= =?us-ascii?Q?q5FqeO5sEtVVyW9qO2Mgjak5ADDMq7LWLBzpn9RoqodiU7XtwmNAYXlwJslv?= =?us-ascii?Q?IwTjVhxZ7djMK/pt/6c+EBYn3jSB3c8AefSm1cYXAi5muIhBITORCHhyGW1T?= =?us-ascii?Q?rgWpZD6QxhOuu/o1z1N9Y9itaNUQDxiGObnHQ/rTgINT6NK87YBwg6HfcpXk?= =?us-ascii?Q?Zb2ePWTa95lDzsfvQ3ANiIz4r4MChykafico2zfeP9VMQ6/FtW5zbw=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ftIYU8s280ldFnH3vKWLLqcCjxzptoA5RuUvE0wGjPvgn8VcofBks4fHMxtN?= =?us-ascii?Q?FZEJzV0QccHEWkLItOki8i8BcwZgejATtDG8CGVKDRZb4XgWfMcHeqNn3D75?= =?us-ascii?Q?snpUy0EvKRayWQCK517w3Ahgjutf7BG9UPHlf5A8kOPyF8utGcVAoNtj4Z29?= =?us-ascii?Q?x/Ox6nJ23Gc8p8awqs1GnyRDd21yhE9fzWny2w/C13S7bifxTBo7EjNaa/NT?= =?us-ascii?Q?y4TErm+E1754tT8Ep6nH0jNODPp6dnxQe3NYrHSyujfWZWDE47Od2sYVLCyd?= =?us-ascii?Q?o2y1IgpJuHrhy8cqvg/fxr3hBIYuTVscOh+cyyBl1X9poKNWjeXSDFjgNqvj?= =?us-ascii?Q?AlRxVpLltqhReW/0+g5Sd1SG3VTeIVbZgQmZppP1AoEXkeWBKShewvmuelzZ?= =?us-ascii?Q?zhj/hrrRN49EZVyaEWh7AN3RywyNg5e5Cuf7RPaIVxCV/54zUethv1AaJoDM?= =?us-ascii?Q?UtSEfEnBw1+BJjOC7okp6/z9uvD8YrODvODfKGihteWMTol9vXpo0i83ZFiJ?= =?us-ascii?Q?Vgh+Nt15qX+gL2QukqaMDmKuPF81I6EDtKfW+ChX8p9KmDm4ArmjPqfGbHAD?= =?us-ascii?Q?JD1WiyRvHTH+h73AVAEtfY2mkfhqIcf6neXhHXZ8jE4adHz+PMSwtC4Xl+gn?= =?us-ascii?Q?XsDeyvrlU7OGqhL0BJW+hcQZ9Qb77XFlEllZHPiz6rNTCFQZ+L8YmReWQ7PG?= =?us-ascii?Q?14GGm1xERGI9O8MdGUBkd4apvENSJAqtgwpw63EIpAaIFv6HBfchleAzsLhj?= =?us-ascii?Q?6eA0Rpf36I6qOe2crRpk+Oo4Yd0XpO0uUF7j4OGiA+OlcJ+1X9SU6WjBRkXm?= =?us-ascii?Q?mQn0DNIPKUMI0c1wnrN/Z2p6lPjUy/VNAKcdBzYZo16YU1dJ/Ezcg3BvtGtC?= =?us-ascii?Q?wgOCSersvrZIofoq97+vUkbWW8oznZX+zTZO5i5hUONdUHlhuNTp16pp83zJ?= =?us-ascii?Q?2k/z2hpr2unxppxURJar47tes2UKFAiJcDI5Eb/yzvRFrOC/5c3dlBGJWwDr?= =?us-ascii?Q?mFmz8WUzPYFX8aR/+XQSc8ECo1CFiWjzBZJ43rqHuU8jTNvIBVYb6BkCOoPc?= =?us-ascii?Q?PIrjdMdsGdFXC/WtW2RikLd6AXVaYxYcqb1C0P0B//jsY/KgQqJVGpsfwJf1?= =?us-ascii?Q?4MQTx2+YjsAm45YPZyVS6CdiumwBCug3abD+Ix8QT/UPY9eyGX3ri8mat/XT?= =?us-ascii?Q?v4iaRFosGU/eXdOGrD3C+4wdJ2ebMJ6LBD6LkZZl5XsD7mtvbK60w0T4mssG?= =?us-ascii?Q?BIfqpmhnBVUxsBLsGSKSu/qxrfRr/655Gk3hWG5311/bLZJYOF7EeXlS8I5g?= =?us-ascii?Q?UacnXOedfnOO1Q22NOer5O6Nn+06FnzHxIDYLc2Xfd4714KBI+3qSSb5ETo9?= =?us-ascii?Q?e4+3WolNioYPpSENwonPPciutY3vmqS8GtCntDIAnMXXDKVLUgH7x24kFIid?= =?us-ascii?Q?1ltq0DAterbyILvKcds6iUZrrPxZqoxN9BnTNiWFnUOBbg6LkAd59s6HAEYD?= =?us-ascii?Q?WEoB3rwUEmUTWI2QpVkF5RyyfSqmXQDLO+spRNdCajJP/meiWEDByK8HbgvE?= =?us-ascii?Q?z6ndWR5imJMxKGNnOLbpZ0QtFJQw1cNls3IncHStORPtXXYvXe4AbV3maCna?= =?us-ascii?Q?uuU2nzovs0rpm6vqGdxyWSw=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1fa969d-66b9-4d3d-d137-08dd7807b6f4 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:28.9544 (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: ava7NNQ0PCksMbVDQWFvGoUY0sy70M2ZvVgIN04AiJQ7rT58c2f0yqQNYKL1GbZXTZmXOhUNCkXqpOrgH3bKygcFoGyiRSkIyMmfv7x2j5HBvWFvr0dUe0nDO0q1uUJC X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 4ccf7c5ea58b0..4aa5d58dde5bd 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010038.outbound.protection.outlook.com [52.101.228.38]) (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 C2C791E833F; Thu, 10 Apr 2025 08:14:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.38 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272886; cv=fail; b=LscXkFX1hXKU7jeqmIHiEXJ9WWgLq65CfuZA7uKXiILwBxncQP1OxoKIGQDgW7CyxABtrXPU7yXD5ata0XkAAavr/sOuvB5c2ikZFtfhs0sIlif+W9JrZ5svgriKNarmki02z9pFsLAeOi68yihPFM/Z9QVoE09Grc4Yzczvd+8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272886; c=relaxed/simple; bh=WsTe5yqKNpbZhONBV9fetn5jZK327veD/arzfRgY/bU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=grvLe1vDIwKRq+D3SYHd+c+bveCvkrzmfBsRH/WWGLR/lHFq9v/xPJaZr/mfGJrVCrl68kSalXc8ttNx39k/9BSNysNI2zvkmM61iJgr4OCT+n8ABLQ1Wq0TLCzCujFFXE5NL8a0wiSDu2MoHgfuFTpgM61d8j9AkRI31WjwzXM= 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=qi2Tkq9w; arc=fail smtp.client-ip=52.101.228.38 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="qi2Tkq9w" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ktm0fDx89fL8rmj4Gy0Oj3nu/vJBEjn1TLIvMmAGyhgcDaq1MueORHNqR+U4NIHQa9wiJolYfnFPFVsjU0j/A+6kQX22IObcH+NNYQgEMTF00EFYgFkmIOQgYjgPfLUOoI53Lq04Q+ExtY8H/FdU2kfx2nlDR7pZ9NBOCKSuWEjxifwr8eIA5Rm+bNb5J7JR/mXjxQSGqPCV4j8FKPqR/nZ97/U3xMTudLtW5r5VX1WEfmy87wvwxvTFdsOAHg0nxngy+bi+Tc/7TNLNHlY+GATOR9ueauGjXxxxKRgUG3AJjnIB2ghDKhZadwV0njqecuYJv4qwcdbs5tcrRdn4nQ== 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=JU2z6a883QLXEjVLggf/IXa/tCrpPjFJYi5Tqfv177o=; b=cr7cIUMLq+rmqWkS8KPIUROrZZDbmyVTW3PydyViHFULpH7m3bEAos2MiH4VxSuyBJpo6HFmPddlbQQ+zZ+7p0hHANRPD4oxgzQO4J+THqkAK901FtWHV0KcmFHm4bUlScB5XbmgOXMvtba2H/7c6bNLzFHzudB9Sj1pAAguYnFkVYSc+yg/o7Nn3id6on8MpjLhefnBydDJ3PSXuq1lClWDiI+xpcIhWF7k1Im0cRuSmtvfeVEgek1Xulp2NRK4i1MZpXrtpIlzgazJHKMlgxwrkr3GIXE4b2Kx2s2SHYDbrW4mscrkKH49oB81VtoYcOhPofKkUThbugUa2+QkJQ== 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=JU2z6a883QLXEjVLggf/IXa/tCrpPjFJYi5Tqfv177o=; b=qi2Tkq9wfVn8QGmmvWhb0bL/wIJE+M8evJL/4oVR6FFU6/UJgyoXFVSIGlZp3ZgpCIpiAUvMhIKK00+xNn9g/C9J8EpfvqQb6Aan1qV20KAm6G4CMl802DXjw6525lW53wHpJpXix2iSV6jFviCITND3qHow+SoCs48/JRj2fpY= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:14:38 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14:38 +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 v6 09/17] media: rzg2l-cru: csi2: Skip system clock for RZ/V2H(P) SoC Date: Thu, 10 Apr 2025 10:12:13 +0200 Message-ID: <20250410081300.3133959-10-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: c4baccb7-0466-4b1d-90a6-08dd7807bc55 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EC3RKBpQazAR3pNKSryI38Qe26FAsIsNqMjBs0Zij9TGV2ny1ZeeTH/hjCn3?= =?us-ascii?Q?EeDCyg5IntZ5u6w6xFUZFI0640C1HRbdOw8CI2Ryum4ttRx0LHMk0Vv6h+/4?= =?us-ascii?Q?zSy02pvSqfq63noxGQIP8m7GDySFgCXZAVMwvN2qdRwhZDHJf2jk8Gw6KYgk?= =?us-ascii?Q?6DhFawpC6ntFas9AVxJaCo753PmKFSeA0uifv5M/ZyF5wdTEQ6fOFeE1eXBf?= =?us-ascii?Q?M/PzKhDhSqKncsjh5Xrn58BQNHz1kui/LlZdITc30r+YVE2gogQQbnE080pg?= =?us-ascii?Q?Z7yeSfdJ1bXRPU0DlNC8sFnPtGU0VFw2g+NTG/B4VF3YrPgNhtbFg2XGTPrO?= =?us-ascii?Q?J2swVy8Qk1Q5nlsivNHPxC6tBrBLcafIe0eTbHFob9MFGleJ+6n5w1PKANVv?= =?us-ascii?Q?S1wqXQR2Zz9Np8SFfYxdxq8trm1Z38d/ftr/VTTB6f3rp6xClPJY8lR52z7Q?= =?us-ascii?Q?k9vR1KFRAe/E9mqh2i99+ZYzExojYmOivreZg4uddXxpXQ9dpCfQoCOI06Tf?= =?us-ascii?Q?A2ZtorlZ+dPlhJOjlcWLrRfG2wMrEOuYDNM8i2nTH41YxB3bln9WLpZT657g?= =?us-ascii?Q?lyECZXDSU3mRyxhb/TaUx46ajzRBq/N+h3V+iCbqIrWm1c5Btm8xuc82iE0F?= =?us-ascii?Q?mo3FI5mGOK09fFiJpEUbSZGSpwtRw/u/m9Ww7UGImUGTKB2YJJSGAqcP61Si?= =?us-ascii?Q?XVTr0GVUJ5UElL0SRte5kbbh2IFzI9DKGzlb5/IG+kpubVcBr2NCEtjyso33?= =?us-ascii?Q?w2HnpjU4qTOQSn7wQEHCd1a+C+C17prX4Y0z68hrLKpd9TGy68YUWq1b9pN5?= =?us-ascii?Q?w3NVJoWi8N6kQ+5HKoT369rd/3tm5sICgqA/5TKBuHE7VDDnD6qGCSXhmcdT?= =?us-ascii?Q?aUsEUhz6FKnp5p0Hk0IZo7QqmKcCaP7jLXDulWRkgiIBl80lEjBgQlr53rg3?= =?us-ascii?Q?vmJduQLgHUs3U5QRhdDD2+6DMqBYGYb1t2945qkY74Y6lxEIbcuviADVfTxc?= =?us-ascii?Q?NEzWz7PxY7Pd9HSxkbANe07TQ/z1M0mfgUAGhM3ZZVlbARktKE4xiVHotPga?= =?us-ascii?Q?R5rJQpGCxs7a+uxWb836PxVAyrdcAQ1xvfSAclXbmeB6kiUj8faWU+zD+Bo9?= =?us-ascii?Q?QNjCcLeloIO/3Vijvvh4y3oixh6JGppMy724hMEvxXIuBERQ45I70GA7vi72?= =?us-ascii?Q?x2aqw8hp4tn9vpOtVoM7ZTaeygTcdLtViE3TzMUAWTETWmvwfzkV+Cq5Le1o?= =?us-ascii?Q?ICryOvOW8XXGqtXIaes/F2nc6BMCHuBPJsgaFSKbO2lOR2QpcdyCTZDmpQQl?= =?us-ascii?Q?kqoOt8GjBjQm1Ir97fKYB7b8urEHlIOMAmETXwbcD53gJIFili6ifjAEc0FW?= =?us-ascii?Q?B2kkJ4KKEFcGUtnACcrPtTtPhamHQot+4mGorKhzo494S42FR43g2EZWqIZv?= =?us-ascii?Q?hKzl5dnFLizYj2TaIixmRre5jx7kH/MAhe1lea/52HxcomAzJUacPQ=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zI4ZAAKjB8vknH6abaq1fDHXzSP4p+Kj7D8WhwuNuqxn2Cvq3wLX5NDljHOc?= =?us-ascii?Q?WRiooMS91Y36V/wdFZnU3aZa05bOFL4Tj50+X44MMFK/iFj1V43Lxs6gxdpk?= =?us-ascii?Q?vVkIxX8vNaHkYzkU/OsMPFkdIBQVTniLTYtUdrRTWQJJ+HnqiCatr+SV2YZH?= =?us-ascii?Q?pY9DVtt/qG8c7ft6EYViTE827MY021Kv+O4aS/pTYGT9yjwEbrVSoDebGD4E?= =?us-ascii?Q?KzGjOXH/0PiYLaKeniiyjkjnKpUB4C2iHpTKG1kzlQj81gePP0I3+y27heFH?= =?us-ascii?Q?g+OaoVofExs33WGhzQUXrymsXZwWVISsFKn1eSqZw8bgxufADo6oEee1eGf3?= =?us-ascii?Q?x1ZVNx1nbuSDxu6JBOlwQRBVnAtm49Jbi4j/G7W9ci7A0hWfrXwCAh7jb5ss?= =?us-ascii?Q?k7FmPH+2SpDwuiJxpt3SC/aP1msjHyuaWj/uQHKK3r/h4+nk83Gch6i/eJcA?= =?us-ascii?Q?gz4a0rR8b3UD1ZKLErSkJHt2XRFbgfM1XNBoXFNsFiuh8lbk/QbbsgCxOdF9?= =?us-ascii?Q?fjSVujuKHglc9pGlgFQh+tNsczslWgWI5p8pR+2aDLC+e2w7UuqXwNOak00k?= =?us-ascii?Q?8TP3nVjmZCSnOKhwMP2LQE4Fn8fV7rbFARIm6SZ4LlxrJIHFTEC888HcxNLs?= =?us-ascii?Q?VWv4qllWNNieWBR4Q0geevbIWnyJSnfbku9I7T/7qkTaInYHGocyd6n1gd3K?= =?us-ascii?Q?m8/iyBg4M3z1vI/ibW6bQOk0cwQn3UL/B/hoqXCm+3TSkJJw0WbIz4ieQaBt?= =?us-ascii?Q?hjoIl+QoNH2KVg4VR+kzOw+QyBRGf/0ord33bvBlsjM7Mnh1weU8TCWsgU7r?= =?us-ascii?Q?tggOaEAoYLYninDn2zTVUI8vA/G+7yNLvQOpe/zTpZC4aF0ENdsa10FN3Mpo?= =?us-ascii?Q?FX/3yWOS58cg60DDHsywOTyxQtqRGvSS86pAgQNIwMvy42azeVA+kfMPohxa?= =?us-ascii?Q?GTf8HFWKGKd8bH/j9/yxnEieRpr2OtVCjwSaOs3QnQesuSDL9d0ZEv192N9m?= =?us-ascii?Q?HfoFp95VkMfPBDrI4ejoMrWvc65eggPD7fJCSvpMQW5Tfcn8MhdBpcS3jD0s?= =?us-ascii?Q?toKqProsJVkRqky5fUdtSDmSfTfOwAWNm0gLVcC2ao2y+sUAauI6/N4BAH8U?= =?us-ascii?Q?H+zg1RJ0XQtFV6BJbUOBFVIPlocAoZiyjazIANWe1TuMXt65hPZ/Nr4qASvw?= =?us-ascii?Q?bHXA77iF8P0L4oTUhtVOr2yzgRd5qqks9+JjLSVMHt1Ys93Z/RJNIuMZsCl+?= =?us-ascii?Q?pV6nYMiDXkrwzRdZjLEVVqP90norRJun1CblOAJvllKhabo1POOMQigXvCzW?= =?us-ascii?Q?m0alcde5lglWqqJ4k5i1X0bpr8VAHk88WDIeoyU1pO1O9ZflTRRDfgCf4oN9?= =?us-ascii?Q?fcn1sIuRGWCVwJ+9oISKgldRCjKTIiMqKXNeQB4ryHe0hwh2z8c4mfzoZg7L?= =?us-ascii?Q?yKK6jBCs4+S78VTAL9Qr+h+XGaYlDOfx5E4onmiqje1+A5l7u/VWVmG/DmaY?= =?us-ascii?Q?zATwHyGDc6KHMM2TsQ2Vve6++/5lz5xKVMePDPBBCn24UNy4YvG+s74BViL0?= =?us-ascii?Q?kMgSkA+0tlROkAy2Rim/pDbtk6SBFHPq4spomKoZ3rqk/Vr1kOpmwCpkY6SC?= =?us-ascii?Q?uLxrtGyklyX/N5jdoyZKFPw=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: c4baccb7-0466-4b1d-90a6-08dd7807bc55 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:37.9865 (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: OUXF4BNdsbrLNBcmWoMZdubfz2ukMJKF9+gGgt+vdgqfuWMT4Ztd3wl/clQyQWPJqT6FGzHjpVIXvqbvKowGcPdmO2haIFklMPW9Xt9xk+0rwLzBHMQfbzsYuziRSQ0V X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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. Reviewed-by: Laurent Pinchart 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 Changes since v5: - Collected tag .../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 4aa5d58dde5bd..e4781105eadc0 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010058.outbound.protection.outlook.com [52.101.228.58]) (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 6AD47205515; Thu, 10 Apr 2025 08:14:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272895; cv=fail; b=CWzCYx9qSSBAKEy8pmAP12eZtKPze+hy/hGCXtRmbE0LqW3g0qplkR1obVJ2g2z3/gZsdLeltwYNAPD//BbIY6xuAXSzm4XkKDT4/pyHIVJ/XfM8r6zosvyeR36QSTmXk+gthM5rt7nRoASgayDWYvcoJBnwE8rQLG7qyKYSCzE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272895; c=relaxed/simple; bh=FEW971mqYDckTlqliO9ZrZLh4MZpDT0SU4fDmE1lJlg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fFcb/mbElN6zXYpifLS5//kswHntYJ1JSriPn9GshNfGslpkE4FG4Eb4MvzVE6aqjSkdDA7MxKGa5G9t+aARSs89DVMNd30DwadIL1qtNnZwuCLzGMfFgFOQaIsbpRC2BDtpvLjLeCJ11pnXbebDxxXf81NkfDW2cYoZXnpInNc= 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=UR5ks1WC; arc=fail smtp.client-ip=52.101.228.58 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="UR5ks1WC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=f0TC39uxlfv3qasdKRDMerxQIeBBOmns11B6i8IgdWYBOxN1z29rhm+WRIH73n6RRYMCqrpwRoYXs6sLewv5zHKUPsj/UuF9DddrhAuJ60gg0O03NY79VNoOEhgHBxdb6k83slblkue5UD0jAkr6lfqliIn+g2D5roq8b4LHejOBsDoe8v45V6PD8tT7JQWPM5Q1W5zDNpZ4IdnERWWQ/w9qyCMBCWKzBbtvnMGhiHgc7gDdp/PCe3Q9cEBxIKrUHxv5vOY7E4YeF2cSuBaeQ6tRqcGNNlSo4Bxn2KBX9XltwP8N1VO0zefcfNknIHvSJ8MN0dlmjTICc01qP0CKxg== 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=jPCAyGIaCpVn+CBKxCEdizeov7zcOBsaTTXln0USCBA=; b=bvFikW5S55/7OyXuNKR6pVVuocV8kkvh2Ad5VAII9DCcFXR+K1l4nyBq91HJpU5MC0ZQXLMqGtPJxM9ZKnvp482GaTr4LoiEYaGSuKwIzRCcCltusCUh7prmVcuDnFaRAhk2qwySrGl5Iui3K6zrQpNvUINGw1y0jNYhN52PDUI0EdLhKWhcJhLxOyqzELGJ6zCe0zVrF/wG/RH1ifcbK8pxwvqaQKYRn7SosHuGdk8Y54Hjq+xf7LYeJwcs4EhMkX6wRLRrILHBDilkanFOJv6do0TCdtVV5/WKNkkjaL1wtteZatdS9ubC+yzmewrcNI08cyyJzaofxUFEZhiykQ== 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=jPCAyGIaCpVn+CBKxCEdizeov7zcOBsaTTXln0USCBA=; b=UR5ks1WCxFKz5pNVohGa+7KPclpfe2qmgWDX+u5eD6vd3OGvuV3CrNOsOKC+bR1DILuNE6rnwAWwxlFLu05DQrQv2av96Y5lDEu8jLc5Aq7zlFEdE1Q1woFrmVBvksvl8FwNRtQtNrn7i/RJeiQtg8RenA9sMcUPl/LPTEclg3Q= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:14:46 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14:46 +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 v6 10/17] media: rzg2l-cru: csi2: Add support for RZ/V2H(P) SoC Date: Thu, 10 Apr 2025 10:12:14 +0200 Message-ID: <20250410081300.3133959-11-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: aa9a8878-9f43-417c-c52a-08dd7807c160 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?waEGesA79vF3GboWnbO31fIVCcDFH8lI93MagvTZ6udtUwOzWZC93UwhJLWC?= =?us-ascii?Q?vfAM8L3IluwCqWJqM26v46wh/mqSXMhSESq7ZbKpjMdCy9nb/EsO7KvUBuDy?= =?us-ascii?Q?k4kJfbz+tmFF1g7TBgPXuePgXPYHDCy9f7hxoZs44eSvs4MftcjFDaXxCkzn?= =?us-ascii?Q?sGY7IjWqqRDwtQ0OaLWOpdkoouMA+nQuPqCeaIHGav1g+MXJ9sHtGEjVty//?= =?us-ascii?Q?QdB004o3NZoVijXbXzUXMedQFDHtu9l4oQe9WZEtL2ZNwFZ2llLQYRolk2t+?= =?us-ascii?Q?gx/jiRDfDd38Tab8TVu2EnSXjK2uPnW3C4J2NdeetaR/JJlRLnw1pQIBfkfw?= =?us-ascii?Q?WXgtdThPlXcJ/8Lq9S7ec10Za3gql/QbKBSGnJZRqTLWbM0RmjXq6Sxum/NP?= =?us-ascii?Q?2j4MyWpHeH7ZzgkfALRsDPdHrK2TRQDYaoZlrONcRZ7P8ki9smHrQ2u0qiVl?= =?us-ascii?Q?coZfxXRSrv4jKQGjGOazzE00E0N9bZQaOe7UiS6IfwWEMQK9lLdGQoQ6CMSE?= =?us-ascii?Q?XF0S8AwSbasaHwIJGY6dNlnfMQ6US1vxf1p8Sbb44NJZGioVAvFvZDD5cv6I?= =?us-ascii?Q?6AQ+ZVsNvWyOWv1FGyfCyofGHa660Mg2K85mAzQyxLlPFGJzo7D3M0ttgh1t?= =?us-ascii?Q?1EXT708eUDaZuZmNb6ZKSMmLBTIzzvOu9OxxuceQt+302f4d50ZaMgSBgpxI?= =?us-ascii?Q?3nOR1y0fNicYfSYO5c06pnwbKOknuTIZWBAH/aXm6YNalqicSIndfimDLv/K?= =?us-ascii?Q?PUzriPdoYo/p98q87itkY/6+FoiGcL1q58Pt/id7EfwUNBMuz7yiTz+ixe3I?= =?us-ascii?Q?bjzZfknoHnD++HHE9PSG7Nki+9y5i9+JkIDqgNInk/RI+6rPD/6UbocsvUKa?= =?us-ascii?Q?yISYcEJ5/gKZCzwktfBOIlvSzNWIMiadTl5ArqjIqzA65FS6yxoNurRfpRP8?= =?us-ascii?Q?sCHQgyF7C87v4xz2bIiQEMHkdGuU7rzAMwhIuwSu+M4Jcog4Mzg/gw2d8DvX?= =?us-ascii?Q?9wgPVtydgcySlQrC4YlladO4S4xjsqLfvGnIxK5Oa/K6G9FinN+eIUrhd1EF?= =?us-ascii?Q?B6Mfa2fKc1OO33XjSpalTzHhWJBOWaRkG3OBM+KcxzjWtO7ZxehzP0KG65t5?= =?us-ascii?Q?+aN0xIKucBtyrIEsQLvESxdYinh/dfeLCoxq4WPvNkjFAv81aS1THWPEUL08?= =?us-ascii?Q?eBEuMLTWoxy3yxvDWncvWHoqpog+XWyIdg/nIMkDW+Z2L/o6zkIc26IVKh/y?= =?us-ascii?Q?sMxUSTY+kalc9lvM3Vd5jGCdTcYIYM3PuxUPrZYebo7EQV5dBnECu15BEQMw?= =?us-ascii?Q?3w3Gu8O+p9a83csYijO/Uki1nuzHnMBgf1vmbw0G+UP+Vtjan8wkOL9pfb7u?= =?us-ascii?Q?ASzOlfjCdxkL5sLaLhSsT+1vOqw5EGoxLwiDjIHIDXQ2RxqlNWRC7sAOjsT7?= =?us-ascii?Q?RawveBVzJiyFWCren2Lw4d6U28UJhOymAijG7/iFVYRkQVlDfpbBIg=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZbxeUigMYc0ouj2szTBaxP+Y+CEnN5w/ozH6JMfmLzh2QV7nXKVEXKJ6G29l?= =?us-ascii?Q?YqXw8V5/Q6Ul37tWhzlOQftZ7x3h1hUoK0GbP1YLHnNc/La2aY6i8HDLA0wB?= =?us-ascii?Q?rnbMdCfKNp1ySFS1LSi8mRC0+Xvn4HQ+35DwvgrlNQ9JW3IMSAjaABxsXgAq?= =?us-ascii?Q?6jBNVvmBrVrpP3KMkwpS28Nt0EewEFep8qp6Is4RflpoErvMkT/6y7aNGbUS?= =?us-ascii?Q?1M2pgByXmUxAJLPlw0a2PolSisZO2Uod3NTDriAIg1D+yIjkF/9BzqPpemSE?= =?us-ascii?Q?u6+OXekvonbeECc9wBSbDNgi9TrrwkVzAy0KhKS9pMnRCsiUyjKNx0unxvMX?= =?us-ascii?Q?CMzjJHwrh7n7q7+d6j0id/TQDcG5xurqXs4YSpPzQyK3Fluw8aBxQtlcIntO?= =?us-ascii?Q?eROFqfwWT5HSoDycjbGOr2VDY4Xhn2UPASIFTVfQm35MD7wd7q0MtvucO9xr?= =?us-ascii?Q?PWmWbWitNBgZdqAW3OeqXva0zBvWN8HNI9NDrqXO0ehHjqQIGJkPnBWpDSEL?= =?us-ascii?Q?ayg5n1i56iRfrjUqpkKwOTN6CudE048C2YzaUuO/VLWaOwYV86ST0ezrhpUu?= =?us-ascii?Q?4vissineKPbcPJtwCLUPVT8HG8EqUpHbT+dJtplrW40wS1z7OgONgE4B8a48?= =?us-ascii?Q?9zmp94o3TqvL+9hhmBtxxl1/Rsz1M21CO+HY32cS/2v5VQNgiEKOGKD/Ta45?= =?us-ascii?Q?dF/iheXRRmGLJT1RyjVtwbhzufaRf0Phc166ea18iGhFWfgkkvmhMWeUuYx6?= =?us-ascii?Q?R1OS2ZyH3OHi5xQNlUBeWDvuyCDQuPW3rEoLB5zlrK9dq9h90sXIQt4ghI/C?= =?us-ascii?Q?L0npKAMdVefa04415y4LR7AUke8CwXDHHM/ecYYMcVbD9gNChOWYofzTZhMf?= =?us-ascii?Q?mzrPUf//+PCYPUfa99n3zu3UlDB/NnuVwHR+f5zw+koYVu9tBfb2/8+40Fr3?= =?us-ascii?Q?qJ8TvM/kReR7K5Z53Yuo+GBOhTkTFG68AfWCPt3qFOteqQlfem1RbdLeRB9z?= =?us-ascii?Q?qHuB5f1PTSAET2Rv9bpIUJfNjVWbXNKIAyh/o7A2QIKQZyCVlSJe1siXgrDA?= =?us-ascii?Q?YnpxDgAXAfOppNFWdUZQZu+naaJLnLgtT0ZuLFj2eMRDlhz9Rr6UmO2MBM2Q?= =?us-ascii?Q?KcSGRryOTsMHO1acBU/M0D4gsXoto7zgxRD5VkNAm6mLZL/i3pHgQg0aU5OD?= =?us-ascii?Q?LD3yCMKMyh36EM+xsBSpHQLXxLhrSu2JhorLhDBnPkV0Yrn1LIkaglxT+jeV?= =?us-ascii?Q?LGaPiJ+uZh7Obq8hQUT6Y5QtkLFuLHyA58Eau/lHy4yvn5Jvpqm9uDTN7tZ8?= =?us-ascii?Q?wcmIVzVFA4TaCrLd5G6272Ut/I4MLdyiAeimT1LDsmE6A7POSIQo5g1jegU/?= =?us-ascii?Q?Zo/q0oTUU37pfmrbTFzrex9AZw0zSIHc7Wvad6O4yOjHCuH5u/s8xdPf6CXQ?= =?us-ascii?Q?j31zCC8ziStE7J62Eb7A5XF6LA5NUysOgtUur8H3nD7GxDzc1GuIi8Cpf7rW?= =?us-ascii?Q?8OvlJuSeDSsGb5/MURd3umE8+sjqIb+XMt+WHNREtRKs9crfwI3IiklQ5ucc?= =?us-ascii?Q?0wiM6QiWY709MYkwa/oHfQnasHybxw2uKz9vFg99eBUYpLaP8LugKL6Cr5wS?= =?us-ascii?Q?AQNaG/miCXjEWQFd2XK9WCg=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa9a8878-9f43-417c-c52a-08dd7807c160 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:46.2786 (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: sMGfh04YlYTLOZ/QWCREqPFAFwQTDSBGoKzQlktSCzFPxm4QgeUa/bmsTK/WaXo6D+Rq3Usx9iJG7IMTvNkZuUYWH2C41l/1sn2iDpf4NQcCBDs7fOH9yeGys0hamIIS X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 e4781105eadc0..9243306e2aa98 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010019.outbound.protection.outlook.com [52.101.228.19]) (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 66FE020C013; Thu, 10 Apr 2025 08:15:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272907; cv=fail; b=Rpuo6x8/1SjA284+PtwS+ImucHV9QBxEfdRevISFnyUDVhzrVHQ1oAMMwYDb6/U5CM/4/rLEm4DZecGk/ZvA+JAnuajAWzaSshDzNy4p5iMZo7J2r6ld8bGrc0gmYveBxU+ltQA+IyMhI5CciL/CwY3dxp9cCRWW975Ur9LeAlY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272907; c=relaxed/simple; bh=yeRnwR2PhWlTlpmmTXH8PxcG0cTuV08ohn8P/eT1P4E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=A/m9TllhbZy6qOvw630qnl5xFKHwJU93Q2OKWAGUtddkiQkrkFUm278oJlCqE0j/l9eKKiGg3b8YINiqFpAtCUQezI8qTtAbVldC9JZtkVa6DJNH/GFdTDxZOnKgx6mLQDjEPD0ft21+rIJYy14F3+40D0nVHWrG5uBbVfWk5Qs= 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=goGXqJL2; arc=fail smtp.client-ip=52.101.228.19 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="goGXqJL2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R8gr56WvkwnLIU0r8yyYRDeZFTgU01teO4262cbJVXKp38kahOEKRRxomB9/w9zIsrR2Jt7Ea4Iq49dqeo/1LAjs1kSXRCbW33qYI9PN3TYleyliAJJK2s8UhlmPKapb009BzTA2ZucwbvkmV1mHkqgLnvdxw+p4watPv2fLCW0mZRJAvvJNcE04aW94Gm+8pfCRYyAeM+ygt3rLd8tEew8iuwjVPDJaAME4+Rd170Wr6d25jM8A9NtFfC+Q/dTZuog9LQrHb6bV1T9TAPQNOweDbwO9x4o83XQZYS/y9YTpinUGJKJgDHRZuL+06VxEgHxmdb5OxgauVRnLZaCdtA== 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=aoUVfWxmhXxIGV1LC4G+mxd+fJYCjAGhtOH5YWwk14Q=; b=HNc7LRbDgcX6fbDy2/6B9Kt5377aK2OTHNP7ZvMvXKMSeBo9XRzQIo1SeMz8mrX8HSpurgSGDmsP5Ju+brdaWONmZ9W5cfGfn661OuJESI4YF5MOJBcn9ifXH6xtmbTfv1qScWDpGKi834LGIf/rN7JIc6A6njugDkaKqOBDP0aEBodK4U4cMf5MyXZl3l1HrMvxhhY480MC/o3F0W1TRFZkaiTd9efy68GnU5mfeFeV6tjBSyYcjRqP8FPdeMhWz2adaNGc/hq+xCWrbMAl5zQnqndTTzs1YnfAdfdfemIhzySWsltlDT1d4QAgFiSF4ABT+Es2YTPliPr9etfb9A== 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=aoUVfWxmhXxIGV1LC4G+mxd+fJYCjAGhtOH5YWwk14Q=; b=goGXqJL2oJuLN/wAH993bHO5vuqWHbjhm1NsxconmDpnMJya7vxMNLYdlTuBevmRXEiJiFboGrC32bUYtbgfZVJsnPe+Ubl8kgnRz0eSrl2zCqLzYSgLWfYIgBU3vCc5or/mG5c79SpzcztfhnmQQfEDf1Rg8dPG7llkIr2pGQg= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:14:59 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:14:59 +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?= , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 11/17] media: rzg2l-cru: Add register mapping support Date: Thu, 10 Apr 2025 10:12:15 +0200 Message-ID: <20250410081300.3133959-12-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: ee5e9cdf-ace3-4915-bd11-08dd7807c8f7 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?XQH1k8z0oB4Lvxuzf2bdGuaY08qzMGuBFc5WNTx6vV1FuI8Y9DEtLvWc5rs/?= =?us-ascii?Q?LRh+LA1kdqaaEZXvWcVQCaC59o3Q42ObjFGcdsg7srllh9MM1duCKCyYEEYE?= =?us-ascii?Q?2KO4MbvZbnMj+D+26yOnB8az6Hk3G1T0jhw436B6wH2FVT0JFSyT61snno9i?= =?us-ascii?Q?Pjh2A+VDCl1nM+rr/fhP45dM9+U1KNtfIvyRIKCaFDlYN6TvVLo61gxZopfF?= =?us-ascii?Q?kd0vgsl15XSNZQtprJnyBLFgXcDln6YVzv79asN3oodSCuqYT54EJ20YEWfZ?= =?us-ascii?Q?VIqv2FI0vLg2Vc6fnud1DIscQSoF2qWdoZIwyM4/EHb//Bg/qUgeztSJE1h8?= =?us-ascii?Q?pLPWbPnIx6Ajcozy6ACGmhJDhEcq1GMDJz+Lwb9HgorY/q6JFXXAw3Lc7Iaw?= =?us-ascii?Q?eoTEeAjjAgWYhsALhLaMzRnCJSn9iEONUZK673oIkYA7CC7Dk6QX/5QX80fK?= =?us-ascii?Q?BnQvidXBLCRzndM7FVil8oFXFbprxdMGhX+yt/Azp5IwnRyI2EuTw2xGj0Oo?= =?us-ascii?Q?rsAJGISrYbALm2yDUZniU/ub6nEUvZ0h6O18eB3pVM9qoe7sWvbxbwwRaKL0?= =?us-ascii?Q?EDb5qA6WGPpI/z9jbZ9+qzgLut6uf0XqqXBvcbtZGRuPRpg7KuwszsfyU3Id?= =?us-ascii?Q?r/azht8lrkT4Tf2a9l2rHPPZYhXgIn5KG2mdPLAJgqtqwPnTtlVu34g2KfzU?= =?us-ascii?Q?HZRYqfpj+emKw7q1kYwB69WvNmG1E4RhwZT1y+f66Ahk8EZ5pg+Z8i0zYFQq?= =?us-ascii?Q?eIbRefLG3qvLJ9+X85UlesISxcJ1ZW3KfU7y2ON8nIGXIdL/rBm3G9OOq5g+?= =?us-ascii?Q?7VGsOf1Ssr7e/KEgD39Cb2YTuqzaRk7nzIK5XNMtp0E8B8R1pUZ3NVN3gnFL?= =?us-ascii?Q?LCiVURYMpZ3Q9Uqx8H6q4FdhaOe4zx5aoW6T0aOGoET9iJu8hPgyVklmR29V?= =?us-ascii?Q?zWZkRy5J3/26znhbLWt/e6DKVYUDtPDSfWI+hGiEiEn45m9aLBPCXn3FPZe7?= =?us-ascii?Q?2xjka1xcZ+br5F+sVPzmRvJemrKW+AX2VJrZJoQTx5/IL9MTwsZ7JJctUYuK?= =?us-ascii?Q?PNOTP6rc/pfNLdlEmr09s933Lz2aaEaB7v/9QPUZIUdYksIoJavakVsBd66E?= =?us-ascii?Q?1v2KLniA41OOSsUpdI89+R414KQXKYUO5vBKO7HRZon94f5iK+SwPUV8AWSw?= =?us-ascii?Q?qkPlXwQwxjb+z52GrNimzl48jIA/bW6/jcvMRgPZOCqdS8s5ATYVxgwG8kZY?= =?us-ascii?Q?EgE3nxQiGbRHkwvJeY2XZ8l6pZ1tjoKFNJJwSBklZ1XTJk3vuhOlRXDVRuVQ?= =?us-ascii?Q?TZjRBpTDGbLWp3y0tg+JSgnJK7ou5BXcno8EhkgLRhaLo0H+EdxvHHCht6Mu?= =?us-ascii?Q?h1DVkJi1izYt8ruhT0EObYyuMLaZe/GtK4TTeRRkbCrbAS9DSC4qpwhYDKh3?= =?us-ascii?Q?CYWomEOj1lSpW05eleJNKt6hynd+BrF0vvtEhTfUiQBBaaUk7iaBXA=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qzPttmbjM+PAZObRcjJhkK+/PwULDx3qTFoz2PFO68ufR8vK+G05Qg6x9fWm?= =?us-ascii?Q?2BfSj7twsQUOwFqLITsiY9miiEUVf/eO6ZWGonYOfQjX0XxxlQd4BEPkH+gj?= =?us-ascii?Q?WsC0Qdb7JE5FExCIl5v5/6E+QnydiI4vTh/ykPOxooEfU7TSvJJY0QuRcCXv?= =?us-ascii?Q?8IGy94aN80hqQYQmv6PFx5DcNF/pLnCIU1DWAPg+ryHWsRTTrmGCQ0x3Kd39?= =?us-ascii?Q?zXn9jluZscSkrUq2bRNYmuOuCr1wQHWYUJ5j5Tuqoj/ot52WtHC4G5b8xpQH?= =?us-ascii?Q?KHqaETKWR6x8ltMZaNPMTmzB5zmIqp+nIi9JQaznbB9cCIYZql4ictciNjLT?= =?us-ascii?Q?dCoo+wTbrUAdBiPPxZMkl9bOBZYE3QrDTr9Tkn3aqzYlWWy+QD63IRDXZ18I?= =?us-ascii?Q?8KCHz1aSEfpaVthQodVd0ng9x9TqFWcJlRMgBDQOmojxTXT0IQymXWL+fzod?= =?us-ascii?Q?VhFSeZFxOAuhlcIBNpsd2NoFY6OTYCWS2yL9FeP1oYOsPK2xq90qZBibaTGL?= =?us-ascii?Q?xvfeitwhMVeQ8xZEuBW0Meh/SyKQoaTnuHwRk8GwDM3+g0fbOFuvtlcKF312?= =?us-ascii?Q?Z/Flr3nKtEbGMtYHBQoSAq/XNFTcBg4pICcq9yAMjHprr3K8C5yK2BJbGqUw?= =?us-ascii?Q?GaMxKd1/QjH7K9SvmxJeWTHk9c7cDfu0Lxx/J6KMFZJRlZY1F0/IpdJWhy8h?= =?us-ascii?Q?zvOQMeZf5801w7Dt5rBg2EWtxeBKp/yT86hVyw26xAk09etDOfVmOw6eXa1Z?= =?us-ascii?Q?/96MaWKn/+rmMb6lPrOrO3TMYe0PWnGXCoQw10r5GieOjm9ODEIQ375f+qgA?= =?us-ascii?Q?hMceCTkqNgGWXrUh4gbVme7cDDs/5F4n8ou539hUiaW8Z4HQ+erw3Kfi5YeU?= =?us-ascii?Q?Hwu/8NG7M883x4zFTMNmN9OrsJyQEpC+hNc64DU4J8/B8dv0kzmkjv6b7IXK?= =?us-ascii?Q?weg6CNDZZtD9rWVtaJ99PxJVp66ltbgnUJxWYhXQXL1qFx7po5C2R8/LXyy1?= =?us-ascii?Q?GpXOK8N8oj+o5kOgReZiq4RU5fSzYuYr/iDKi3k9MH2DAEHCA/7+Ejme4VLe?= =?us-ascii?Q?oeItbFlHaK8zqSEvkKam8y65hWqKb7+UsZ7bHHtogKjoAsB5OwVEWFx6dtMo?= =?us-ascii?Q?LD6EtBAxJkalkoYF2QJMH0zYz5e1fSYA2Z8034QRIQjw7ViQi6uVenXxbqDc?= =?us-ascii?Q?0J0X/Y3lKl1OWPu5th/AumLsaZxApwAjrvKgpVcJ4Eh2HtRbymp0TO+4j/zf?= =?us-ascii?Q?CL48q9oKNESlHB+oQpqTT+it77qEBJpWQcX0Qt9dbvfpHFtjILnxU1Jjzn9m?= =?us-ascii?Q?EJGTJ1Gku4zlRo/XH+kcGAN+aIgHWHX09LNkC+fDxnUJ4s6ewtTFCrDh3lus?= =?us-ascii?Q?HtLOifnnJ+uGNd53pB+TJJ8rWjWrdiW6gIPlAUb/XjkjuHrSrXTvfYm0ct4G?= =?us-ascii?Q?gw1SBAfQJE6Joxc8i7pjcpKPUHKhIM1tiOHm8DPkXS/4guH+1gZI4P+4EoXA?= =?us-ascii?Q?8+DOXNh7I7sOwv58Wi4WFKkoZQAkV+GB3lnU1shdAkKfJ/neNlx8Od7qwFTp?= =?us-ascii?Q?yn7sTgttFESBkVBI838ofcpB/bIr06ytzdwJDnbN4vqOhUlrDne8F0zkPtp4?= =?us-ascii?Q?4bVTWhWd5SM2iZqvQBgzcJM=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee5e9cdf-ace3-4915-bd11-08dd7807c8f7 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:14:59.1639 (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: l1VeB+8af9/2HZ+RHj0gjyOUEE1PRYfL0TU6tywysciYiJJEGZU/+/KHWHNGXEjWgsS76JsOuo4M16TQhj1Neet0xPPnT/RguTWYMUvR1R+mC1x8w5gGPI3zRUYvT60S X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 Reviewed-by: Laurent Pinchart --- 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 Changes since v4: - Mark __rzg2l_cru_write_constant/__rzg2l_cru_read_constant as __always_inline .../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 eed9d2bd08414..abc2a979833aa 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 1c9f22118a5d9..86c3202862465 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 8b898ce05b847..00c3f7458e20a 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 cd69c8a686d35..c82db80c33552 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 __always_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 __always_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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010005.outbound.protection.outlook.com [52.101.228.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2752A20A5E7; Thu, 10 Apr 2025 08:15:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.5 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272918; cv=fail; b=gNq4CPy+wmQ929+K18Dk4fgg4shlL9XX4GiPYQfLlkTk/E8gjPF25hSrDGQxRLee8UGDth6SF64fHxfrHaPdRgFPtO8qE35I4JO9kMP8m3mO6Rpz8jSKKCtFK1ZEvmDgabIaAkZ3ANrBYumF6Plmim9kH5CUePaMECW7h9KxWiE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272918; c=relaxed/simple; bh=b/qqiWfU2TOmFQJOhjJavmi9pjSIBAMTfFqVvQlDQWs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=B96kHrbPrmrIzq4j/JqIiw9JvnfhzbatXHb7wlPNgb7nGKujz5DJMMYI9kKiPA+4ZbLm3CCi7wCkWfsGCuMRlYLzif5kg5g1rGXPj9c7QlaNnpLktgBpP7Yh7Ly9sqwvYUTHoMyA2bgGzvqI9kitoft46z7ylZrdrJV5coDBOBA= 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=dPEHWaTl; arc=fail smtp.client-ip=52.101.228.5 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="dPEHWaTl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lGEXJ99IIv+M8BdKVs2dvdR4ytE73Bs6U57xy3trHrQMAkBPTuYgPbWwf83x5T6uXIDo/t9GumnZ5I5YqPf9b4ycWPoE3wElXxWceInSW2XlBLVyxx4CGp1m9hkTEC4QaQvChdmiTEDlQD+Fq0ZKR0BV7VkCcz3Ry64BJUjFzFHORzIuQ0JOxqL1lGijFd/IehHsSpsHlXYqrj7JMBXdPrKRYT9Kbsey0ybneuV1NkILDtu87VVFcN9jRgDs1ubnZvuCUWyrqVtjNW2OQupKCOrzqEao6MpChbrSQcbiOq32i33V2L1Fe3vNMWbGDEl05NrEQEaFQfi3YtrDTU7DzA== 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=V5YA7ou01kxcGIPUJB0uSwCOp90hJ1Zsik2vF+w9z5w=; b=Aiz41oUipIvlrMdX+IfdpO/UjZmgbtQ4Ay30t7DpHx81rrTGpIwmCvcCCo72zR3+TQRnoC5nPnvlibedqD48ITB0fhNheTo8zCH12LJbp7NxbfmVUcGw8LItLNlz3mmDOfNu7Zv3kDokbklzo0HFwXmB5UWfOSWm1k/of1yYuj/ZHuNfrVkEQ7ewj+ylXDt0ULYCirrRgK/Bkgn9EApm5U5eEQjv90GeHKyCgXd0KeGh1Unx+vVxnznBQjFB0PQb28J7Y9zRZq8VHRiYVL7ROx/A0A8hUK5XKZUgqtdJxdlIKuFh7D0r4u1+fJp6G8HbCOlYa91b6ZckZuzJ5ZOKhQ== 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=V5YA7ou01kxcGIPUJB0uSwCOp90hJ1Zsik2vF+w9z5w=; b=dPEHWaTlan4DGbggpFKk+F+F4T6nYvWe0p57zgZwQQ7/AG3U4GnRVgjU0ZzPrRIVpZ2eX7jpuqPjzgLPzXE4Zek0LLRuQ+js0YZrbv49Kn+lDz1aZudLXb56TtGHXSA/CxhPDeiPtW/+Z7m6Vvvd+lBhaHfaNL/uymPDntYzvHo= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:15:10 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:15:10 +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 v6 12/17] media: rzg2l-cru: Pass resolution limits via OF data Date: Thu, 10 Apr 2025 10:12:16 +0200 Message-ID: <20250410081300.3133959-13-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: af39c264-fa2f-420e-180d-08dd7807cf67 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?SkDNgo1E/2y4h3K4togQiVp/y0kNGB2gDA/bxLBnXEYbyiQyhzGADXBTmYqQ?= =?us-ascii?Q?scW1Q4RzklATzT0yx+OZ3qTd/gafn7np+TvOk785yHyI++uy+MzgPiPxoZ1U?= =?us-ascii?Q?oykRtCw/TCDnb0eWx9KjFDQx7nTUKJ+hQq9Mqfk0zl2p6161gVWVkrb57Fe0?= =?us-ascii?Q?Xu3WZfsUILJvWxiMrsXQoyaCDzXZUldfdkCBQtMtU9enmGbB817Vax/fXwbM?= =?us-ascii?Q?9j8hWaDipvwsI3hioHOOjPG6HcMJxK5BE7+UybS6AwS/qEEA6405wQRCtJLP?= =?us-ascii?Q?mKb9NTtoeYTvIwaCmO5iekvciUGhtXMVm3CpaUxh/equaLebg70jcWcA+wrl?= =?us-ascii?Q?wMnotGkxx2dgMiIB2zl3F8PaEmt9Qj67e0AEEbH+6QgxHfEovQec/8RgDKh4?= =?us-ascii?Q?y5Lk0pHF47w+T7OKmq6d2FYjEbAzBTQJqcfQujMllPe/0vUSjqCXt+0n62Do?= =?us-ascii?Q?//7R3+JuUBs9pql3Tdr0iHUCPnLGuHGpOC3B9AUJ9ryiYocQklEeBJ5H8r54?= =?us-ascii?Q?YS5mmFgY7CbbEWR9RbMFnFOfFQI76QCcAzoTEIGX/7tcdAz9deKkQkuMNIqi?= =?us-ascii?Q?v4I47VnBAN/iFrfjLEV1XrSQ9wJtT2ua6kpACRMLlLhoLnNljt/eSo/ECWco?= =?us-ascii?Q?r6OkVkLoT+MpVuZGql3CS/S0GXqNHFZK6eRHpx4cbfY6h1t6D7nWsyb5AWA+?= =?us-ascii?Q?vD1leiShURSIPVre1Qeg09615x/GPnsyxHLAMBdRy9kLz968lb0Y3Ds09iXq?= =?us-ascii?Q?G9NjkBp579LcH7T/DkHEN6FRFW+GuXIIQU5pFn7Bp17Z/EhrSUmkZFzNlFdc?= =?us-ascii?Q?tP7c77Ym7Hg4F9iiWP8hAtXK2BHDVG5HLZp5JW/nmQeZfdi6hDIvKnv48tsn?= =?us-ascii?Q?YXrDEoYvVh8MeqMIxB9Wfkm84KeTVybrQUccEtpSUHof3k1FFj6VMuYPlq7T?= =?us-ascii?Q?TPGfHyULxCObjgNOhrivs9EDRzcqQndMPsWh2RyCBPZaR9BcXHL4CLlJe2p7?= =?us-ascii?Q?6crtIrSXb2Eu2n5J3n33Qlc8jPLjUOC27vllJTFc9TaPNevBjUVzBCvITNQb?= =?us-ascii?Q?PUHpHWmpNL6l/+0zPR11OI4Mjt0YW/Kc/YDDIi2q8PWv4Pv6LIOczFemMunz?= =?us-ascii?Q?x+/fMqwRE4KBoKTDzN8ZoIydAmr40M2AGKeivMFzSRDo6enzWO65Jnok/p99?= =?us-ascii?Q?s0b1clMwYLVO0OZkQwg/yWCz4gPQ7aDoA8FJHlGEQyrFLtpL/8FA+IpzDWTf?= =?us-ascii?Q?FxtqVCvppBPiyeAWzE45eMZeuSq+OcBKnnj/RQZN8GuU23/X0H4TnQ2GoijM?= =?us-ascii?Q?nvUU6D1d/mX1oFW3BBscMcjmsA1anwoCMN2XTBr3ZJFEZFvdPb8KFmB7Q+Qz?= =?us-ascii?Q?lFFX9a9+/tHlxgrE87TcnBGTl3pn3RLjYmeheVtWtF0uvKjzEh74H1T4L03s?= =?us-ascii?Q?ZN984rp/K3SUhfNarJGzI0EGhFsNpF0mgVyC3lCbE5sMS3XFyMl8/Q=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0HjKXf2itZoxIZYK6q96h+xCkzN4mYJoqr/STTzo2+pn1Wp30eZq3cj/CIXx?= =?us-ascii?Q?4BxfuA1TErFz3N966vLvUci4h0BJYcQ0sblKuonxJNj3Gs9WFYWC2L5bc28d?= =?us-ascii?Q?BMaLjpsp3AexVa7ufDOHYzAigPtD3xnLA/b90MDZB4VN4tTcRf9r7+ZXPSfh?= =?us-ascii?Q?8Bkwl6btdvVCiYOXvznlYTndWH/ktafLVhbeTCEmF9q9Y5lzCs3J1RouUm3+?= =?us-ascii?Q?CPAMCEBQWG2pv5tQ/3crsINV9/W+SHiNQiQ1MRRmtVPsdW2S3Ar73saH3z/E?= =?us-ascii?Q?7/BjXQDZQNEuVUKcA28Gv08j2N4lwVfs/XUNROawGssxfnlbLT14yXetASy1?= =?us-ascii?Q?YkN30GZEq7BRMwIsM3armZZOkqgN8hfWgU/2d7g+ybY3WKwLpPghK3nNrSlQ?= =?us-ascii?Q?XPH1E+hafi3FOgYHEYZOchSHfu7MdVr6M76cSrT6fytR7y+heHEGpmNm+8Oo?= =?us-ascii?Q?BJSPBohhIvcWO48kdty3E1UcHFafObK2Q7YdgepTo1U0NBup2FmDMQFWojuV?= =?us-ascii?Q?OFojlQmu6EvA94tJdX5unDzGiqxemjGLBxF2/wKc+zoj94lqehd8UgT1LZ5L?= =?us-ascii?Q?4orefmb01njYEpO+XD+Yw0HqWl8a10VJzWL2t7aCfvC6nkN4+w12Bt/78l0w?= =?us-ascii?Q?NlswEt9Yt+fYXlqjqVfLCsDXPe4qi6NV9j29H6z4q7EKdXcyZPjhGajRthPE?= =?us-ascii?Q?cjicwSic06dSjkcJ6WXq5H1xtEvjL2gjMQnmPxhWJlFb6klvQ72APPmlVSty?= =?us-ascii?Q?BOXuu99nswfZmqmXasMk30EkliGY6LX106mUf1/MH6w+6ywJOl/qcvOIysHn?= =?us-ascii?Q?Bm3+vEPIpoAO/M8gKDIfJfevwt2wwY0V17lZnSj3bclgePUX6tq7gv8EV3rb?= =?us-ascii?Q?sLMkyWFFGM5tB/h4Hpv33+ULiNQSEvV9yC1+PZHwH+CYhkC8W+A6DdDCiaWk?= =?us-ascii?Q?LBvPM0vYCEaTTNnBujVMqTOa9qJXiRmz+CMtuZ3KlBbfzebtJF3rSRclArum?= =?us-ascii?Q?CC2DkU1eKlGYm2JkOBxtKrwmfuQt4KFdhJaX0oIZsVklVTDvhda4/dhjy0T+?= =?us-ascii?Q?DxscHeqjLbBNPI1PKXaWIyOl7PsHz1jG+AXQiJ9BlB1ZMlw9AMX9cYdUDCFI?= =?us-ascii?Q?PYh7blNGEsBPNCaUD78SUIqVaQ/VShPz9B/M424EFl6rwDUTIAlW75J4eGe3?= =?us-ascii?Q?6O7Pa8x7uA9xriAcly8N8EqhQgRS5B/jEwRV9lR3mUAHgrLlVQCC8bowY+Up?= =?us-ascii?Q?X5YpS7jZG+Nf35LGRdWfOvHrdZwZS0Yej3cN6vX/X/PUhAhxO2nB7vGhOC60?= =?us-ascii?Q?dT4Wg7pVjc+MwlLxNybcdvl1cuZhj4edNei7vVrYKOyHWVCaYRkm4zdtMkdE?= =?us-ascii?Q?33aA8ZKAhlKEgrXLUYeVzKeV45ifOaFLN4C6kLy0Xhx/7GT3RKF5kTxKSrNc?= =?us-ascii?Q?XdN0KZoSdKMtWUrGuPFLDVYtN3lQ5DJS+B8hDDjLAT8YvTtMjOSlXpsp9OET?= =?us-ascii?Q?0yp963oSIY1VQczvaUxAm0ZIhzGWxZPcHF99ypDCnuO3tBQKb1Hrh1ZguJwq?= =?us-ascii?Q?ZZczxVSxRs4O8Gfe4YxvJYFnH4a9Ksgpz6PuF4DZvRBJCDHPUNsju0Yp2NyI?= =?us-ascii?Q?X896qYmc2rbu+dW0r9gckf0=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: af39c264-fa2f-420e-180d-08dd7807cf67 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:15:09.9612 (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: lqWXV/ps0yUaC1+XA2oWYXoh+B32hxpjEKbOS0s1sGpfDg8A5uw+6T1BNAlCBRsdwclv1ULUL624Z3Juu8ivME7fW7MNdOGnSSnH471Kx7BRVKTaSGzLzaMQTm4CADiC X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 abc2a979833aa..19f93b7fe6fb9 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 00c3f7458e20a..6a621073948aa 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 76a2b451f1daf..7836c7cd53dc3 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 c82db80c33552..395c4d3d0f0fa 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010004.outbound.protection.outlook.com [52.101.228.4]) (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 0C493208989; Thu, 10 Apr 2025 08:15:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.4 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272932; cv=fail; b=W1W5O32zWAxUGZ1ioRUYEEXeMc9tzMrVFlo+C1WuX36MCt+hTpxwKc7P6mVLHfbXBHq/8IIKPxRfUnMUfSjcqrxiNlGLNi6479P5U/SQ6/D3ix6nsNvZEL3Q3QO3eV6BeLNdjC1wJDvQWQQhUk93W8Zm3kJyYzi4RLLxvcyncBM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272932; c=relaxed/simple; bh=48Z19cMBlt2ZunZzBapP3JwtbM/ojLDa/OXPMmTAJDs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=kFxnYdoRRbcz2hWZA9jIZYhhTHYS3flr7dpp9nrk1uRZwkpS+JW2xbB/ZlcPYJakhCoY/UHD8aFskugU0WFCaL7z5FJCKv2DVFi1MGy0k7j2pTqgOQpiysKxnIlrB/blcENohqAS8zmD69M6efRP0+E+9XiZdw+OKVBr3TWU4mM= 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=P7VgQnI7; arc=fail smtp.client-ip=52.101.228.4 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="P7VgQnI7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qP+eU0HIuSRE4j4rHAO8dXuv4ldwAM22yBXxFWDL1T8PYc+EH/gYfa2EGJTiPWMtUsdOsqXxd1BwzUMM9gC2pwYVrLA83w02zdiGegrHs/Wd23T1WdeLVQDnryPJyN/RpiM1+n+J6mna0CM/dzjHnyLujNjYZhFvEYPgHyalsBcJ+3FsObGo5Rb506UVeY6qCrYRb8ENlX5JKMur9hnbWQraz/K/Szym1Y0qf9xRJ5znc5x4DB0yD3TzOAenv+yWV50fDolT0SCKqpl/iSDfxxxSzx5UzZSlwykhO/r0S4iF898pRyHcylvWPRbGw+D4OnLXD6iS1228rHRDq2WnQg== 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=vSgqbtpFyLO2SEZSJSEwlhJ5PAQkeB//cQVMzFpBeWA=; b=SWl+l2/YQ9Zj+Smo/uLXJ+PNsXnkue4GUsh4B0YPXvke9R6VtPIv7c7G0wHfm0OIBLAp/eM4BtL7LuIxgQKEEExtLuo5Z5Ucu/HalqFQYLPfwWWHKDHLcse+h940DtNVS+w4x44mYlAfvf9fnxCs/0jCAqVggPRjww9qDvjA6vPuJ/YAju1TNkC3dqDw4qXyE8u3aZUuFLp2+eWAku3pGDbgpgKLhswbpZKcnKTbnD5UH8I9GFj1gU6EAYUxgbh4U1o4m7irq79sFjLyIdUBZCoSODFlbatgs23k2lB6ASdOZiDgzqSHaZ1KyYiTSCPmDhe+us+xc9loaJb9pNfpEA== 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=vSgqbtpFyLO2SEZSJSEwlhJ5PAQkeB//cQVMzFpBeWA=; b=P7VgQnI7c4eo91F8TqWfTXz4jbhbJZHErrb5p+fJDnji6Q2dud5Fa6e1qYXgRzJ9l8vpUu4VON6P7ztXHAZ4ZR9DfTAj0YFkRuo5AlgrezaxGwg9vWrR+LGg6uPQcXPan3hbj0565RP8bZyX9t1/5xKJXaVBClesJqAjCg7HwPI= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:15:22 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:15:22 +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 v6 13/17] media: rzg2l-cru: Add image_conv offset to OF data Date: Thu, 10 Apr 2025 10:12:17 +0200 Message-ID: <20250410081300.3133959-14-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: bb3d8428-3277-4540-b009-08dd7807d6c6 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sJCkQjf/OXgpzLFYBHrXzF2Ihu5BERrFmBD9y85s2RD6qR5LnqictWBokgei?= =?us-ascii?Q?AqbIDxjDEx4DIPwXfeWr6HvwSHuXaOXz3JKaKQaFptjdJ3VzM96gC8S71sDk?= =?us-ascii?Q?h/nHR6GBtcvs4tQmWekQGCLK/H4hSTb1D8kdePFFR5ULiPLvhPJDzRRoFxuY?= =?us-ascii?Q?0RsHaAmW8yJy+OL42+z0+eaDHCj+GS8GqCUaOZaHT+SJEV5mxmjDoqOCfrwj?= =?us-ascii?Q?iCUiVDk8QraRPoHhKDAWtVKV5H5EZw92HQ2ZV0imnBz7U2etEQZ4izHGV3nD?= =?us-ascii?Q?LCnrxFEeJtzMRw3M2yhgRai7akvLb+tb59ftxdqPc17jaZusmdtfAoZYjMey?= =?us-ascii?Q?Nvk/he2BHm5+FzTbGIK/k88I/ieIy6J5WU3fsj1KSW+iu1OMRklOK9kB8XbM?= =?us-ascii?Q?NbAerNiVrgZV97r9op73rRzpko8LltTAgGI41EFgR5DTGQAFoLvakHyoq3/D?= =?us-ascii?Q?xDisRula3WXjBXpGP9cfjv/NTBt4FB6+AQmovaiAqfayRAXvDmYMZqx2IrGD?= =?us-ascii?Q?bAEY8+WY2ociASl4Z7E0rdR8nDN4sll7CBXsYNDIFqiSj4bldztOZd6TYqby?= =?us-ascii?Q?ljqfmIxXDe7rDL0jBThk+P4HFBGPoaKejA4h5KcNrVN36VqpEUzJAkiHPA3n?= =?us-ascii?Q?LHasnCK5ftPDAxCXDWG/sp5QzA3c9Jzr68Rj23VZ3ZfaIfnJnROpR0Lz/DRQ?= =?us-ascii?Q?ZrCVr4eQQBHwKMGuZQmiRYadLXZrt9kAd3y/UstvbAi0Akas63p9OEiH5coD?= =?us-ascii?Q?F1X75TbMAGs+WIdfGjeZ6qpQM9oKGaaJzCLWhBE7//+iOGSw2RxFgbGLeiBV?= =?us-ascii?Q?dhe92w3sBtYmfGb+yNMJhgL5cfHt5g+m7trWMQrddtPnieaSeuSR9VQt/dLv?= =?us-ascii?Q?FLnNHiD4OV/zDPs7zFtBwXnsRJoMd1lxgNtIAI7t31tscuPHiU3C56GEDNtS?= =?us-ascii?Q?bbxzyMZZP4Pzl8WI8qD77vmhGZvWa0sQ9YSwVIwUBru+oJYz0V8/nfiQ0Xmw?= =?us-ascii?Q?NfSZdkzq+ylmdL1yK1NL+dfJkfxDlDmonNizcIgjfB6c3/uJDtiFpTiXDzfe?= =?us-ascii?Q?h24bcXLBO31aQA/0muzSc4bhaPr4t/hYrEuP6FS3f1mtrujI4vM7T/z4O3YX?= =?us-ascii?Q?jk9qe1EkYvcy5J5L+/ZQbciO7xRDWtmEIt7LPUgWfTJfEJl+jyc1GVw1cVkO?= =?us-ascii?Q?862OA099KGRMQAxE26vMk8xsQ1eWWrXeCj7ytN14vd3woUUt09Q3Lv3PV+P3?= =?us-ascii?Q?KbhtCglomCTuAH9fAIA8F4gpdncJZCJXSRV+8gOy9iXIz1DWq3UBH1ura0X0?= =?us-ascii?Q?d7+vPyMGNxZtjv3RsNRPhNYg9IQnjNQQHrYJVEoaJch4PZ1NXYqrjRAO9Zqp?= =?us-ascii?Q?06HdPVM2KBcfAymFw7l3ZoIzkVzI/G3gbBmQyFO1Gtig7VBU0bOqOmTgts1v?= =?us-ascii?Q?AZki0BpooRove0kD04Itctu1gpp/nx8q2+t02Ft6GyAWWTth50pk1A=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?c8NwakD+TrvbMoxn9YpzD3wwaF1mMUr/ULL6aQo/Bj36qEcLbTuK8W3g7jED?= =?us-ascii?Q?EaLrBMG1NeorM4TYuBGacAhM9z7Mk9n1wb1sTe6WF6dZdjEqBJiZmPX0cYcB?= =?us-ascii?Q?Pit8Pxnia90iXz/TPzCF45vsNPP4V2YSmPgEPQ739qyZhA4OkMP87zggf2m1?= =?us-ascii?Q?mQdDo9e8H6cwursbEgViIaLacRnxMxpNuhkFtf90hJAYSD6TFcKLe0yzoYx6?= =?us-ascii?Q?sBZZw2lcPZw++qdCzB485de4ihoPAtb/2TvKDPAel8/1Ib5H04BWIXx+c6AO?= =?us-ascii?Q?tCnZhxPTd0mGkrUblHAGhMTHk4IVxtsMDZaTuimHJ2QaqW5EzyxhWL/Gyv3x?= =?us-ascii?Q?of/JX5n/vtmmdAX0bsUCINVj3KO8nXTw6w7avLQ3X8FNgDZr7cZ/WTLollPI?= =?us-ascii?Q?TrkQAAJg6bt4esmg8q57SxcFqVhuRnu6otdE/CQW9Xh9C1WMV9D0pAS+jLEK?= =?us-ascii?Q?XX282Kqf9JJ5hYZnx/f7KTM1/OQ/YJgyNoxM5jYK91ecrFuWD7uMIFCLR9jY?= =?us-ascii?Q?Q2hZ18UCu8qYJMZZDiIWoaH5NnSZcopAnzh1Bdw33B69k/pTKGXeeRSxALGt?= =?us-ascii?Q?TJsBr5O/udX065SHF+MeQtrGWgyPmT43CMHpgCeoYFCtnyBUXeEjQdu5dfkX?= =?us-ascii?Q?PStq+7TrSDLmrWKHQFnIaiQm3YQintv1Fp22pULHHPa4vxGO2IrEUjdLuIuE?= =?us-ascii?Q?IyLIuW2TUf/k1tqWGsTiAY8Y/2gWTRO0RV4i3PWpN5u8zS8cTaQMPZwTPRn2?= =?us-ascii?Q?VtZRHMwepZRavpZGnyB/pdJt4x8R5evRE4anoSwobiieUrj7o2D8zhbgpmAc?= =?us-ascii?Q?IWFVNl0+9q976OzM37/Xw7xuGn3f9A9Rz6xBrYh7r6p94LMY7EkQoWNMj1bb?= =?us-ascii?Q?37zKZHhL11vFsklPiib8GR1mzb+9L7ibG3oPhvrxfuAQrLaBWm4Gw7DETO9L?= =?us-ascii?Q?7fzQi/9HYz0u5BrgXly2aAuP7xx7XGTUPdzbXpi200wy/S6c5mT3itHd4MHI?= =?us-ascii?Q?IlYwi2nszpkrKGInvZZgP2qXpmkk9s/uww4EDjCdFrUjV22YHCxuM7gjmFG1?= =?us-ascii?Q?WZJiyrAFCj0fFo9aiGWMeFUubhUVHheEZCFf0ETunG1WiJyWz5iDG5rmRnS8?= =?us-ascii?Q?tq5ueRo6nehf2bAXt7Zd5nPFs3Bix4uwW2t7xppHcvmW42HADtwmJRieECjZ?= =?us-ascii?Q?u8lwVIMHqk5WQSkSmHA0EBVMamFBQUYMNIOxfoleOuTL9jpLlBsVPG8Sbox5?= =?us-ascii?Q?OCIHqJKuSsqW0d0DmX87eHM2uRl2krXDIUgdd4cN9gLS9okAyGbs1cowYSYq?= =?us-ascii?Q?eA9LZ1LydLB3fbRiBzTOR7NgJFMa/PqW3lAPzw2M8WvWEaqB/SJDtzNKE/1M?= =?us-ascii?Q?e5uRslOsPg9ZkS88Z+/Kt5dNkMBpIPU2+QI+ySuvooZBT9yztW1Kq7q7C66/?= =?us-ascii?Q?IsiyZem9qOIuGmtOfznbJ8ovqTWZB2zvPRB64y50chKzA4p9sxejTGmESNSo?= =?us-ascii?Q?QLdf67tZp+8mDmCmjzw0JTk6uq96LQ9MXMd93aHan8bdREr+caeYHocwc2WT?= =?us-ascii?Q?TRxG/kgCDa64fHdb3qjBMWmS4XbnooldAiiqGFlhpkLGz6yDJwp16sGDEeSM?= =?us-ascii?Q?H5RiuW5gzofNXMTANAnxQZI=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb3d8428-3277-4540-b009-08dd7807d6c6 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:15:22.3407 (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: J0ZBARHgWnuvNMoLPnDUAZ95nT23UAFZwfOykRrwlJN7jDGyQFCIKkMCsc6x/wxqPO1WL1QuuT38ZQW6cNYvy9dPLhmCCcjPRoMfHNiOzoGMjZrB9xBQHy4Fnp3nZw8h X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v5: - Collected tag. - Dropped unnecessary outer parentheses in rzg2l_cru_csi2_setup() and rzg2l_cru_initialize_image_conv() as suggested by LPinchart .../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 19f93b7fe6fb9..7e94ae8039677 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 6a621073948aa..ca156772b949b 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 395c4d3d0f0fa..95cce250b3272 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010053.outbound.protection.outlook.com [52.101.228.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 BEC6D20AF7C; Thu, 10 Apr 2025 08:15:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272939; cv=fail; b=mvxIDMJaxCYeLrV+w2fpjreYOaORh45YU3w/4WrLW7ehZUhDWEqbD1bDUU0BEODm2MV/dKRSNQIZY0EoxrYEr5wSdGYuMc9sfqclgkdbKaodURDlNdCrFgl+gnphgktUWBtWY7dR7oyrThUczELnKYy21ot0SE891VIjqqnaWL8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272939; c=relaxed/simple; bh=sy4aSaj2nR6DfO4Ow/eNkTJ8JNuuj4PCgddE4cchyCc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=X39vLHRv72CmpkY7ZhOnrWD8U18Kmb0wM2Cf26Te0uvd9dDDUCnRG53+YWbp3ihB/zmh/XAGtBtraAF5BGnqAlieILSz7RLWxzaNAgv4CCHCwl1+tpQssIIpwB1iuK0I0fGzpdyny9uO2UngG5CKqKqQTQqSmM1suw+T6BLSBWA= 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=ThDDBv8o; arc=fail smtp.client-ip=52.101.228.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="ThDDBv8o" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vetAVW5bGKeRmYeZItWpZQ/Z8TbZ8FWYtpNarhijw6Eumw3aycsWrfPVZ56VNoRD4lAdAdozYJZy0Lus0CUTnjkofEfjqTKc7sOzn4khgjI1WqeP/1F4gyRus6rW5nomVvxlVPFa+tDjTQHqHx5DYvLhMp51BvzgF18nBHxuS94qt7NdPXZy/Egbst5DwN/t69eRsekcI7MNIVC2gjfRp42QLuu1FR94Ka4flE380Yb0DBNriEZhTkrSyatmmeNlUc5pbbOV/mmIULZiEgnIxsqdUhAQ1xHPW2dumMHncmkTnNnoxGf5ZwaF4elqDWZb661Fu5CJenUoEF4fHAEiSA== 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=RzqrfzmgpsoH2l1Nnmb2qYzTvBefNPDBN95lIwsUpxM=; b=Owmlc9a/spD/mTmW182DMA44oGN4juaDCeKlc4YnBKnJpvyPWt/VkCdVeoQ7F+CHWUK+0infdSojObqS42Beoc+hBvv9y2fxJ4edAjGk0gMdAoSdMmtGePLDo7mTi+P8kLNuCp+lEtFtgDfrGVVKmx2hhhrNncpo/2cU4za95CygvkgRM+8hnGf3HvqBKmTE3m3D2JQgSl6lEiIXFYNF1qZjafu5/jDROmANg3H5D1ibKOnt0Bpc3iILfhvFP+W6y7SKEoLyWs+NaD2SLpCVzJE2J4ugN4eEC3nEGXuV8IeYbrcS78NVr/qx8EPVQEuWZWA7Q7DOBuOQPsijMTAfXQ== 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=RzqrfzmgpsoH2l1Nnmb2qYzTvBefNPDBN95lIwsUpxM=; b=ThDDBv8oGXnyAnzZ97oBsPmxgx6px8rzcmbX1Rg0N0Brsp/vw3FePA3ABasw+KBKMdcYhgi1XI1eiMp4m9Piv1kvWk/KKtPoUx/CutR9ffiAITeFiWZZfNNKch0FbTscM243nckHNqkT6kPpyPeRGd4I+TwFY3xi8BzQ0mR2lSY= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:15: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%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:15: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 v6 14/17] media: rzg2l-cru: Add IRQ handler to OF data Date: Thu, 10 Apr 2025 10:12:18 +0200 Message-ID: <20250410081300.3133959-15-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: 513cbb70-d1fc-4628-0b32-08dd7807dc44 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?0Mo0dikWI5pj1uu565mtA8idNJjNB7+ARENXI8IhH7ruqjWxRESBEJiE2o01?= =?us-ascii?Q?8hh3wPg4fXySyBqNAtqVz728YgG/ccyaq5z2W0kwAaZHn0vPfpOzJpVE/dbq?= =?us-ascii?Q?hvJVcx99i2OM283CxhpJpfefHzxI96sgVC9v2cdtxZzBgRouu7du9P9xwLL0?= =?us-ascii?Q?aykHTJlreqZdDpXPRLMlZNu25rCV9HcM7SItfFO617PMScbBT8V4sRpT0Nyf?= =?us-ascii?Q?xCUB7VVNI4ztqf3iHi65OG9Wew0gDumeMJELrAFPF5A3xd+77Nrgh0FEUXHK?= =?us-ascii?Q?EqHTEOxIrYtnBdHQvZ213SHU/VxnCFhLOzz1ztQwiwrzT4+aDmZxFk0PIFcs?= =?us-ascii?Q?dJ53VsRE12KZNl+UxLcoabuq2lPSiEP1U5SgJrxzS3q2jXoIey9iXVOwN8HP?= =?us-ascii?Q?MBB7bXNmbUkCsE6fdwQpOzVWUs4I8gofvxKXcUqN4641fI2kVtKeCeyIvfUQ?= =?us-ascii?Q?tksj9aokIQb1KAdRAYSEE2BSJ1+EYYRdTXgX8yfvxQuX9PavEq7/FsZGN/Y0?= =?us-ascii?Q?yv2DEcU8m5rkp/Yq1Ucxq6ABonZu2BOmmaDvpyojCeHMhKe4Lh9JgGu7witj?= =?us-ascii?Q?zSI+wrDCirdJEzE7ZjH1Ct3H3tbVGUsqIgt0ExPYjDX1RBEPb1BMunQjHPBr?= =?us-ascii?Q?XPH/376FguSNz0VwnLGFzhnokRoxRAkM7AV0/+pATcORzGAri8DjvGSmmsC8?= =?us-ascii?Q?g+sEB5inEsEXORq2yrJAK+mGmrPUUoOPmG7RAR5W+qZelnE0gTsJ8XTrj5YP?= =?us-ascii?Q?/bYkeOpR1jwKBHEw5hBiE3QvkKHttbsOCWIggXsxOuJ+R0R6SAhkIkbDw0Eh?= =?us-ascii?Q?o37ikZPm0QFQFNNeGjNke5ScisOqYFRJEtqfoZSLMHzIGOyLxSeLgWATR11W?= =?us-ascii?Q?9f2aXqzZPL1OfrCRpKS3HnPOnhpDwM0SHVDGdTDaDESyMGMidv1fXKSWKSE0?= =?us-ascii?Q?Gmf0veaKcDVQ25Z81jyuO/rCdEb1dgmsoCe5VyxCsfXqtz8fWq24GzqCiDoM?= =?us-ascii?Q?REb4IkW6KBKYxQnK+5OQgMxHqYtOAlQ4I8cJXtVemrX2PkwquJjirwJ0Ph1Z?= =?us-ascii?Q?XQ+xhmlXVfdPh+VYQ60iMfS+I3qGA+O+BYHHmY85iDhki7KBYLueBBm/vvRr?= =?us-ascii?Q?7fPi8X3/Otsfqpjh4iwmEGg+lS2JdZWx7WFf9jd6jc6lF6q8Aj8HNI7e2WSi?= =?us-ascii?Q?DAVyrHLo5LCu/IH5JEQt/e5r7pVUK2fUacw4W+/3w3MuS64UMMY6Wjq27vB9?= =?us-ascii?Q?Kq8aYlTOH4v+zvT+jVmGym0TiO8NpxAVssjMi2ziDhQMvdi8xyyx24nGUqHD?= =?us-ascii?Q?85lDiKVvdepHolxZy0c1RrLWihaO3/tAGv40luP/bYOTi2/AExyhGZ/13UWs?= =?us-ascii?Q?bFpXru2k3X+okV399CXFGp9QkpHq53szMCleg5Ud6R/1OgoSruZyI5u/IeK9?= =?us-ascii?Q?aJu/bolb3lNrWuVgAxLpoK4KUQa88JN884zNW3vXIpTfSt2teGVcgQ=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vjwllE5Qu6wF6D0JD3inh9S44qpttf6shR23SQW/i/de5nUAVHHh2Ei1FsRG?= =?us-ascii?Q?VUrufdTst6JQEv7v+85rShsJD+YBoMRIg3YaAOnkNXq2vv7FIfrxFfOBtWBN?= =?us-ascii?Q?Cq28Go5ldHVjSOFanZ+8f0Ub5bZxl1/z7eZ3mDkSf5Ptp58ms/jMSi2B2ytr?= =?us-ascii?Q?koNs5uRWfAPWlhgibGXaVYkKTSPy3NdQlZr3MZe0yA5qOQc/sykGRG1hKHQk?= =?us-ascii?Q?fJpvRtYmU3eOdmXF4l4srT6b27/Fq3YDsfwHHvHHDnYJWNo+SawfxLfVf6gq?= =?us-ascii?Q?oGiXDaaSjMaSGZ/VmPbnnRnKrybpx41bWj036LVHxmC+0fHWKLlIrlmgS3M+?= =?us-ascii?Q?TeR2rFHF3dO7TEVOm0k9/p7HZSwgEhXFtaIVlnQQsy/n1bFMuUt3gQC3iSx9?= =?us-ascii?Q?Q6L+/iQJ19aMGeDLOglh+bOS1dsc3OPuDHL5fZ4hjKSriUoWjtBr06JZjCHa?= =?us-ascii?Q?ikeXbpVe2EuwiUIZwUwn8lT3blfophZs91ZlpgWJEqjB9DbXLasv0CgyD5Vi?= =?us-ascii?Q?AfxzLgJaD6ZnljZsg6940Ibo7YNyxC7JJC2s773ZbmKQUeAoYUYJUSR90zGb?= =?us-ascii?Q?mt6RhGt+fv7x4v8yj3X2Yu2t1NWCQz5Cep72CGj5QZu5zQevgl3Sz1AAxt9u?= =?us-ascii?Q?09wOJzgeKsO7r5rrnNPXnDcwzXSzb7cdZIG/axP0jJV9NEMrAwYHV2GgX6ig?= =?us-ascii?Q?PVDlh4bvD4jLKjWfLiLGjxMwl5/46AAKUVykDTwirrrZ6vWWJidU/qksYUfq?= =?us-ascii?Q?37apZYGj8gWQUyAo9NbD+L+5cauHryG43+5UExpl/MspTuMSw/3/e3nMXxob?= =?us-ascii?Q?ANs5YxVTzpa6AxIrE0+hyAahTooVnvsp9/KWRP7/YxILnkv7TEcAnQgAGy+j?= =?us-ascii?Q?kt95y9mkkKSPKI+BMVNLFI5y2xneGE5IZ7oMwbKUtu4NLIT+RFNl/H6w44By?= =?us-ascii?Q?4C8N/Gkm9WB7zE0d/n+MCKBTFIRDZ1GF3sizlUYVqUxWEivO6/Dgx4m7t0q+?= =?us-ascii?Q?/Y8tSiuPj1xagD5VRHCiPgETbqMGf1KEXcM5f0p+WD2DrtiPkG/Q3gCuRgAr?= =?us-ascii?Q?zTobojgAVSVxEvMi7P5pM2WVWP5DnP76K9so5ToCtVROn66DcgaDB39IcQYV?= =?us-ascii?Q?91i0FQzopzTEGvrC2WxfphVoxeOREAEyB7m+FloLqVGJpSQRUYrXS4Z78ptc?= =?us-ascii?Q?gI6Lf1l+G20Y8sRMdqK1HAj0EpytXCGXlHY2onh4YPz2Jj9cXS43fjUr0sRB?= =?us-ascii?Q?BFsB9mfs23DNjsO4pd1RyGejZU2bBSfQGixsQztS4/5uA9oRuCoA94Dal101?= =?us-ascii?Q?k88eMMjiYcvKQfe4IMXfogzLggSyyOuSnYroFGQjG7mVRmO0Ym5gU7WAZ99D?= =?us-ascii?Q?cgnjjx/I8XNYPS+GkdCYt+9MkU6nrq1Gz95SfonwrQf1iMpSXqxqvfKrnyBA?= =?us-ascii?Q?4FH2AUwPHYX86f9Fd1eBkdK7fOm7qrbv5ESQOZEtLhWdVSXEV6DaSmppoUqE?= =?us-ascii?Q?7WCtkbTttrmtjXVzD+BMgnB53Z1JiMuvAVblVFlsFaurrit62wm4qh0wc1Kz?= =?us-ascii?Q?pKhVc9lZbCbnpPERsDs5d+74lxb2yuOZWl5iHnYvkGhtM749S7s+ZN6rHyhX?= =?us-ascii?Q?CqokOUScZh+59Usu4r4ZoTg=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 513cbb70-d1fc-4628-0b32-08dd7807dc44 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:15:31.5790 (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: x3QE+lUDvBMvTgJ6DpmlB0Ldi7bh4VeeVj2zNQUX2ti0TOBgCi0qR3kw4EI0XDwWAi1r326rY4CUmHPzfdhdOQjlPXTEOS5gafljbVp/U4aMqEmwoQRXZ1TEEmhuQR2R X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 7e94ae8039677..302f792cb4159 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 ca156772b949b..3f694044d8cd1 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 95cce250b3272..a104821d823f9 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010010.outbound.protection.outlook.com [52.101.228.10]) (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 E3FF121CA12; Thu, 10 Apr 2025 08:15:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272949; cv=fail; b=TMTltt3QQ+dJNhJLjt2OkOdhGlmA2N4X0Lcul1s/W2gzhVPSZiVVxG+x6CaJoO2We/XBG5pQLAXREuwMohDKE9KuWAKfYcpAN3eh/N8TNvXT90InSB2uJ0cK4CFaaf6gN3mpOxjlF3phYshlHRhgN78a6MxTUkvGszTO+DI5ac0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272949; c=relaxed/simple; bh=CKIfA+CaYrGgB1nNgH/oKRqJxiDl0tjKYvkqrZcxC9s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Yfki5yheTwLs9xzTqXMF/eGd2Xr78TTUfeD6UShlxt9Js+IzMohJqqfjbK+y/S3eBMRyVQNk+2SSytEnX3L15g+igztoVpHPH2Z1I8qxDZUx9UxeN0jfhsHXkaJ7bUNpo4x5XjWDPS7SLQeTFsn/7g+7vxNgB33M1HJsiE44CEg= 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=gSi4wSSk; arc=fail smtp.client-ip=52.101.228.10 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="gSi4wSSk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NA+uHl1UmxnXB30YjanzrPsjx3gWDkT6w61uHTdbWT5cjPTUtj5yPFgQ94HnGKyeLzgxasILI96rW5v7AR58j1n9RmDqaxap/LFE9LC8Hby1liM5MS43CdQjqmfiMlCR/2Hr51E/bwoeQ5nH4P5mFzOOCSDSlT9GLWyU0JmSHFC1X4UecBwo1phRObNf8zUlKPHh5VNcnb7LnrYrkGahG1EnbPNSLaa+HVQAtTrpM7G4AGWVc1nfJC0oRmZVeL4iPQiq6ifseBWjujl9pFDb0tevm4LgckB9Hles2NLsO8qLCd0v9lBtEfiwSAL6vXgE1QAR8DZ/mrDSJHc/9t2skw== 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=PvxxmwfF9H8yke9tg3WJkX0S7wdEGfPIx23gqr2kgXA=; b=odwFsmjdVp6gU5rbQ8deOvXxHmvD6YNtwzWmgOEq01geCsJ/I6y3yAn8rIWm7CztrYIarRQKi9PG5GWuGPg0o4yAOXFnLoJFMqq/WHRpN/j3Xnl185Emvzd+g7akmxV3DNHkBgc59ejaTlKkO1NpkEP3HucoLQY4Tg9DZSf531aUARvsVv7QFlpGaQVJSB3UuDqfuvRshqyNmoX8omOaczboCvrJYKQAt4YtYn+6k6lwLTk3IaFLgBEQ6az0MZNlvJBbTWQ/Z1bc5HCJKSzPc7S0dIhl2VoK62J0EyhDPyDi4mdaAGJSMobJMdYhowKvJLqYl/K1H5hnFqiY8UMjeA== 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=PvxxmwfF9H8yke9tg3WJkX0S7wdEGfPIx23gqr2kgXA=; b=gSi4wSSkAd4cgX6V5Gj3v9Uvp1s+XPgbpYFLU6moX3dR3/TcG8R98kpEk5tY/rg7nIh0EIVhDvCT7NOrujgP45sFWGhnmuM8jNhpBQq8AD0sORBM/muivCypVdLydz/Lkn/wB3/qYDURv2aZkBYi41DL8NWOEABwDZ7PGZGpZGo= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:15:40 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:15:40 +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 v6 15/17] media: rzg2l-cru: Add function pointer to check if FIFO is empty Date: Thu, 10 Apr 2025 10:12:19 +0200 Message-ID: <20250410081300.3133959-16-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: 1dd76a42-576d-40c6-f70e-08dd7807e1d0 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DsN1Hu0a8ijjcGDU8eSjCibQTSQV7rvuOd5K8bkWZd7nERDpSBACUiIH1PVM?= =?us-ascii?Q?0L1uPZ3uBNSf2Wk8JCqIxFI/t8x05SGkBm7bDcF5Dd9c7214axTS4ef54tVQ?= =?us-ascii?Q?sNxQqkWPN02L4TTQovWORC+Ul2vz+B2DulVxsFbn/VBr+EJnFErCvduGi1jM?= =?us-ascii?Q?8p9b24QJT5tSXjcldK/usQf+z5w0AgHQzDpOppJIitNm4ZrJ9IE/DD4hTo2S?= =?us-ascii?Q?3eGHsQkMqq3dRxm8q9s4TocOo16nZCTl1xcQFXuf1hiQH8K6AV9jDTLVHq6w?= =?us-ascii?Q?mJpvkH3pprhPUFI3mk0+82nZmdu8mBmF/8cSGQKkTeQw3Wi1q9VdDiWiwO4j?= =?us-ascii?Q?Ke8fOps9Qdv1vJ4OAgRYjcpd8wGPu2GFiNEAqcoLsRlYk+GF6/rFqpaCZvwn?= =?us-ascii?Q?AVyvWqultXxNCOZbYQ+Ht4JmWYmjAyaqQV5VMnE3vuOaO0sPa/mYLDfgv4ES?= =?us-ascii?Q?KHG6/cKJmmfzFbCNTof0HAfN8Q0huNe0hFialDzjeyeYgHLMF99U9wlxBDFf?= =?us-ascii?Q?bWS+GjelQFz9sv1HUFZZ1wlLgTlcTnG8MpVaPvbMXWAT9EUqz8OfgSXZ3HZj?= =?us-ascii?Q?mGawlSP+SVRnyOf0AiJMY7qTsxISMZH32kdwoNYmtR+OvKjG/Vaz3I/em2KH?= =?us-ascii?Q?sUDdhCmppVBMzlzhI64t26ElbAl3P0b7YA3NLPJ2jgjkB/4ZHutnf/0J+sNi?= =?us-ascii?Q?pNLknHCe5QB6rdD0NPGevpYpgO1MFb+lEMf4f9nZjecmVkYBx5tWAwAR1O/b?= =?us-ascii?Q?rJ+zraqbZpynSLkElIPkms6wUyyUErELnQkK72zWvRmRL0OFQPKe3FQjiF1N?= =?us-ascii?Q?ecGUR3zqUqf6Yz/Vp7lpxKoKR5VzdrAejHNLZocqhRbDl+Io0ZJNzyfonOa9?= =?us-ascii?Q?QfnyYQvY3E/uFNfjg4exxnSofXPEk7K1GvMFX90AyXOqJ5L8wwt7WQC901Xo?= =?us-ascii?Q?i7bipoyyr+LE6c9YNA8lQgNGkH1I1N2m6aNCpO3hRs56JWHrMXZ4VysEFG33?= =?us-ascii?Q?0mYktm2QKMOjOh3CyDMblwxCKh4XES9wCc2bFPc+5Wos8J7iSBjy7D5qPoGc?= =?us-ascii?Q?EvaytACESXH6V93P0Il+wjjliND3xnToxliuR7ue5bnZX5TjUrdlsrjEP28i?= =?us-ascii?Q?AZCtz7H2bt5mricOIh4IsMHskBabtF8VO/9Rm0JLocZEoJ95fiw+LkqZaVHN?= =?us-ascii?Q?/uz/3vrEjSgUGwEdTuiXvOiLtZknyLsHaxgor0rHs855NzVe1kAlTFBc4bLt?= =?us-ascii?Q?fAOxXZ7CWBGYqkOAp3Hb1AIsL/5ZaxgdeBRqxVtcPKZu5haD/WjzNiaOOrDs?= =?us-ascii?Q?cVpqv2b89Rtp0Nr9hzuwXcwWNPytuAdEi5AnvNC47n2HZ8LE2hXXP8u5/YDa?= =?us-ascii?Q?DXYnQEsyQfKjHxy8NZPp/X0HLiztKQzdQqacLeGO5h/sOrqF7VE1OGz1jWNh?= =?us-ascii?Q?h9519r08ELQ2nQHDS1QiJzyH7OAmRDOYjymTXe2G5l+Ns2yrJP1XPg=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cUeJn8tcawt5mW9jwecSTfIexdvLTxy90SkZrhTY03Jw0YgbWQNcptLIjdUt?= =?us-ascii?Q?OC08EspVid7a2muzc2LOVWNqdWisOs12IcyArblUTe459F0aGGCjMDCigaQt?= =?us-ascii?Q?IPCLDKW6GArJ0Vx7ojmjakBjW5Gswn+M25sjVCPiL6hkavVTWwf1TB1gdxct?= =?us-ascii?Q?3aXyXNxXeUUORdmgCbBBDPuxcPSgIIVNRgr67iWvRngCxnxZW+idS9mz30tO?= =?us-ascii?Q?UOtgH50eStWyQTjOxXNX3XQpR+sCJAnH3wBQpY2Mm4jVlBXcL2xgX42jxmKt?= =?us-ascii?Q?wAJeMNtZzxHF1A4DpKtWdr4ofiX/YXiPX1sf2d8BNEm+KnvNEKgv6/kDLeN2?= =?us-ascii?Q?CMBXYNZuubRPnOUwuiVlx6pxde+9qHlmPeKHmjs5LJOMmx5jlXZvONEHaVhY?= =?us-ascii?Q?msYq3l4DDIRhQFyrifNrqE5WcCm0DHfB1DybJH+kV988GwxriygQu8tGwHRD?= =?us-ascii?Q?77Ps1lFU8s9B9YAj9umrmf1lBTY0EOshSNPmZ0lbJ1feYYEdFkuojFC701M2?= =?us-ascii?Q?YCHQVzY2Si7T6gTdHdBz1j6OlcVe5AqiNpBsPS6wAu8pL+Dx2nRyVPloecnk?= =?us-ascii?Q?jWRhu8orA1+4y8RBVei4xbqjkqGeNoXy74T2io1GIgiycnwFuk8jBSjJ6bRn?= =?us-ascii?Q?hN9dA2wN342mLrO19gveeky+ukSlVYqgLTVuDlF0IYImt7Es0SoCpe+Rqbz1?= =?us-ascii?Q?76V2HtdRR1pCwxwAQ5kgi7GUr7ZE3iRFwciR96qPAq45httz8nAWAH4s9Y3M?= =?us-ascii?Q?Imr3cwyezbq8umS5dLnyMhfsgKssgLbXT+i73EzjGRqIWavJvriIZGGBmCrA?= =?us-ascii?Q?8UQb1Uby1CVPaKUKYSx0EnX1NHjdC4Eveq6y6xLjMtg6rE80cZzHxD9rnZdk?= =?us-ascii?Q?ms8EBMerMxWDzUGueUWnhqFHyNRCD9wHMFPr6JxUvg3hlOIE3BgHFg0yQ9lS?= =?us-ascii?Q?qsstTObH+4TlbRDYHqxTAcHnv1RcAncwKimvK5oVuMmD+eQng3C1XqlaZb+1?= =?us-ascii?Q?JO+Wx9k8BMP4Y8TzvlS+BYaamDJIDYkOBcvkxy7XrUHkEqRmkZ3beJAqi58o?= =?us-ascii?Q?SVoUKRZoUcf6DE0UbWKx8avOJRBrLP/NooM7J3oamt2mDmY2MoDRFOgh9yZe?= =?us-ascii?Q?jUNjvNySYEjHf5MLtAq4mG9tjBQOy/PRu1km7+gmYPk+eTomTu3SeePJUZ98?= =?us-ascii?Q?qRdvdKku855xHIYPrX/FaW9QQF8RIY9lJfRpH8MPqAdz4Wv6Cqc1nmEmpI5q?= =?us-ascii?Q?v9bBt9XVsH2DdHDx8JpUXZd0QXsbMHsaLpdMjVHJeKX4MXMekN7kCPN8kQbW?= =?us-ascii?Q?Je2QAziatyieTHPDWbzQ9TvwA2PDXnSpRks62biBLQx8nTfj1/UY311/W4/j?= =?us-ascii?Q?UhOd7uMp6thOOTbLJ/QnKjVGZg2LnxKlPfc6U9OU7mfuSithukf30eTdEu3Z?= =?us-ascii?Q?50KmuYdCLH7SZnsdSKhBZMfwXO6PidkZ8h5FBBlK/zFmV6KMOhzdAjEPZmSS?= =?us-ascii?Q?Kbqa6pgo0Yt9qwA1ruOfEynNs7az8iTglQn/NO6ACP+zt+1cQd3XcYKyGtCx?= =?us-ascii?Q?QN3Ar2R3YuHTzxkeqG/f7JUFk8k/TiuYx+WnWKEhdQseMbOpg63wxMnomDgH?= =?us-ascii?Q?oUYOfnELExSj53XVcJreOPU=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dd76a42-576d-40c6-f70e-08dd7807e1d0 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:15:40.8337 (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: Kja4tN2VfwnNayDc0+GIeVDJ6Qrx8ZXdhbd0A96fzYHxVEFJUcUtRKPrtvfnE6rDa2nMWCQbSdTRgucKyjJ+Xj7TxYsYoNkLxiZPptKuhNzd3xmvP392Yf5hnJt/v51q X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 302f792cb4159..e4fb3e12d6bfc 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 3f694044d8cd1..2e17bfef43ce6 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 a104821d823f9..d35e9b2074937 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010069.outbound.protection.outlook.com [52.101.228.69]) (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 8BFB420D4F8; Thu, 10 Apr 2025 08:15:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272958; cv=fail; b=sbu7tBGJ3TIMp6ooVBqgx0T0Of4wzThsn0W6VwuTqt0wB75U11lxdm3Ftz49xkoNuWNJVdvMoh63H2bMnYmZQ1GDj7MB6D4dRVzY+szZPQmW4lVmY4NHHS2vkQ87tcRFMLfVmOCA66u74t/A48HabfI0cLnB0XC4dtRylkQMZlA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272958; c=relaxed/simple; bh=Av9BRWigFHtRTltIu/hVRl2BH3mFBLzj3koMaw+3R98=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BcqmDJgIRoc0ij/GhNSs9yJiW1Wclf1kPa8Yhe5Ya9vtK5WepxS894yc9y+6m6UruXwd/xU70ySoeu/ewjRJm2tiHhsT9fEgCjQDlO8yd/pLjucvp4HPd/fpbdZUge3+svi+plvw/cghZe7bvIzRg9iImrZmdumxYvXEkF1hOg4= 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=USrtVbK2; arc=fail smtp.client-ip=52.101.228.69 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="USrtVbK2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u/uWW0NshFJP0fGLmDawOATA57npCIpjKsk11sU440mtTWEuwdm/sH0sWHcGqohNukmZcr4UPTwCliukEkCKFW+NaRkIjnpe6WOAf12VkiP7G/xoi04PuYtcSr+68zdIx/lkcN/9DWZofZAVV2ND4NfLQMyFg0PfKSol5Fv+bmHJ5WZyUr+DaNK86tCu1iLNS+9hPgcMRPDBF1MDYrsWiq/3DqPUsRNyziNiwMowbo5NgbzjtpPrat2+UNuPhDA6PfBQ21kQpNxLcxh8Bn+a7oJG32YWJBI2nxALiqRUD9NutWEACQda4N9onZk6n9gjSQDfFzx5OWoPC9Qo8X5zHA== 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=30UvmCAQSni2NJOhkwjL0dQS1z4mP5FLAE2+NBwZKFM=; b=D6GjqguPvnShAj0HSSjSlxsHvOnxAckSiInQ0SJFwpKJMMs/MwQYAYkA4fbn9SDQtdFKw8H2Dt6GYJCNBJsVj3tbifmDe5xaDRq4MDMTwiTmeLKnojUQtR7XU2JZieCj0tFq+Zc108RYaSc1G8xRnqi0y0GXMNPfVsZKSNU3mCs936JneS+nHN3tXraRKyWVjMbTiv+dKFyrV048k6E3t97UYM72yy2o3gx4Hm95VCv8kifQ3Hp4hvaMoEeiWSWfJ9tJ0o7u/QJtBRkMLUTVQNF+K8uz8n2b1H5GGjs3QpJkGYB3gHbpmgMvs2/Za8WIL0YwJeDOo/HV7J76ugjbrQ== 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=30UvmCAQSni2NJOhkwjL0dQS1z4mP5FLAE2+NBwZKFM=; b=USrtVbK2rqvOyZb67Em8Ah9oy3PoCqRuBSsAvfc1G4ZqZv8tirtoDEmWunV3vfvPWeSKVvZ4LWS8DO7u7m8dV4Ig0XcmNxDVoO56lEZ2HaXTb8tPrVRf+u9H5QbKTcaPg+T16M1Q9eaZ8wlWqR9MnNEsw3eBvwBcVQJicBiStJ8= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:15:50 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:15:50 +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?= , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 16/17] media: rzg2l-cru: Add function pointer to configure CSI Date: Thu, 10 Apr 2025 10:12:20 +0200 Message-ID: <20250410081300.3133959-17-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d3fc1a5-0134-4d00-4343-08dd7807e777 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?a36TsxBhQ7k4dkfLodaiJ9E/0DsrhhcWxjMXnSsAxJZFvEpZDzJ4MDnOJaPb?= =?us-ascii?Q?SnAb71Q9gPOvvku2b2ulUSm5TaE+FCOKbnsBxuoNLzDhqZnduINqPNuKuHVz?= =?us-ascii?Q?oML2ymy7EshcnJmxEfkdKkSdS0UfTjdCo1sBRl23tAFIdQPqQc0m3hOwAHxl?= =?us-ascii?Q?RWu46rVf4TQGoweXWLYJ1Od9Ugo2tppBJdQDhK30vN7dlfNG7DAWNj+fY6gR?= =?us-ascii?Q?8oE3BR5whvJ884aMKrGyTb0pyxJRI2eupNKAK7yYoZ28Wc6J8TrfW/s1VSGH?= =?us-ascii?Q?VB+cPxTy1Vmr0iW+LT4ok862tqDK7Y39FcTRNWxj6C5Bjycyugb0+Jfv1Hcc?= =?us-ascii?Q?lJQJq4E73TF1EvTihsv7vCrcJW5CGF7vutxrGr1O8/++4AqQJO8sb6mcK5ER?= =?us-ascii?Q?dKz96clV7yCG13qCiBKjcnt2CLwtrpl76rO3Dc1a0GiVuyK3iY/yFXBhelmc?= =?us-ascii?Q?QkE9EfhcHudTnu89WkDNu2raX6dU2fwufv1mG14Gs4LxGo9e2VshUbq2zklM?= =?us-ascii?Q?CAfwuT1ZZKATnvCBwtPbR9244E0TG9/wgT411hhH5UqCmdfSKZB3XxwIFRE7?= =?us-ascii?Q?86xx364idUsbIHFHcvoU51qrWc50eNcpUcuCegYHmV4hep5HaRcHbjHAFPlb?= =?us-ascii?Q?oouK9/8GmVLqkiRM9YRncfCBzso5KKLvZrraJ7F5JiPwCXZwUIUJZCUUNxJN?= =?us-ascii?Q?94BrWV+19vvQcWCKJ3cZHd51s6bh/hlrFCUmyI6WPsioie7Wy+DWZ14Mmofj?= =?us-ascii?Q?d3uDgloKDrh7hXFgQRh/4myfCN7Y6R/B2QlVCcTVuHs060lXvF4DTFFpzooZ?= =?us-ascii?Q?3ekVCk+bJG0sNDOAn5Tu04MfoaJWd0Ls1qX5jg4zgCltYlwUVxlMWpUalxok?= =?us-ascii?Q?m5vEvczx6627VHdOkszUInWk1f3Y3yROxucyY7cLW/H7aWXGscaF1W3oQj3F?= =?us-ascii?Q?owBQYbxJtNEakx664/BASnkCpEaHVrfK2P7lew4DhxVqYyYEZPLYjUqzKkcO?= =?us-ascii?Q?80KeKwSgRXkpYDUAf8e+BRTWYw/+IUA1TgjkgEx32fRPivNxxGiRQBB17UYq?= =?us-ascii?Q?y22nW7kuzskV83DhRWKY8KsJbqvDXwdsfBRX1xZopqfJZwdCh2K/Qxk+1jo6?= =?us-ascii?Q?yODWjw0wRgqLPAngcQtRXFldvQYq1rxrwmDpqz5Z5626mY8docjWef2POBzN?= =?us-ascii?Q?kNSlWaAvVFlQUGuqtVPOHIemSJatAJBlwdz3WtKZoYlwOKwA90l7pnAitwuL?= =?us-ascii?Q?mKnYqC4vsLsVQ6Nr+epZsPQJmQl34r1dnchRdee78icTpLOa2GAkHd8ugXfA?= =?us-ascii?Q?RxaItiSZ84Tgu8uQxZXcG1G92aA4A5Pr1+J+PGIG0H4XrBhASOD+2U6CDYwg?= =?us-ascii?Q?xYgU/erSvKHNy4tshlUfaGnbSKPGdH3xea0kDGq31aSOHhuX5i9gTAenbleJ?= =?us-ascii?Q?1TFXN+OGy8uZLiruBbPJbeJZaWWmdzLV/9ZeiixRsNG62NkFXddnyg=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?b0m+jBnrE0dkZ3zk4GnxRQNL65wRktvyQjk6PRI1Z/eJLLQj42PhaZYhdsio?= =?us-ascii?Q?wKUx/j8xXf+bwTpm91m2P6sdvAtSixYjhG2dfZYoAQCIzhM+G3ytXZy8+gFL?= =?us-ascii?Q?NGQczwYO+Fl59vJJVgCD3VnuA2k3hKAOPWAyXGHhrCsWzOHm9NlK+CosVsfZ?= =?us-ascii?Q?TFPyOFFNU+Q8mOCDvTm2OwEv3VeP7pBy9AYAqMAPaTNGqFYqBaxyTdrASFPL?= =?us-ascii?Q?LTUIuxiSBIlZN4+kXmSKRLinyPmLEakhdfHNLeRhh33RDU61Jxf1wyABCrO7?= =?us-ascii?Q?prxMVh/slNi7chPyQE1PPMLstSprbEnOgf3mbnJ1YI1o1yphsOWSzN+XEmhO?= =?us-ascii?Q?h65K9vZyX3sirGXsVXm4Y+wfafsQFvfZEhCdYmfR7sWmMyTTO2zM8E2tRY9m?= =?us-ascii?Q?XHzx/roZ8ppzBthqpcygvJFI3HqN4q2JXDBjzFP3wb5/mT0MnVoPUTZ6iIjK?= =?us-ascii?Q?iZ+YftFmfCmSpX9UQKwhNwVLbWdUt7whsS8ANbpKBHzwpBZlpc+i0tkFv580?= =?us-ascii?Q?/rwmKAl5tGZv6dmaY1fmGV3l7TKqlfvAnEyy3YwGlZvrLZuKsg7e49CD/lYf?= =?us-ascii?Q?rN/Uyxpt/F9c2gUl8fYNJDP24QsnjSDap6ps15yBTPYaSAP4uIzeHIltfaRK?= =?us-ascii?Q?dNb54WPc3/qNqWPoI2Een3yXZI8seQrnfsgsyj8171gyfprFyKEMxHdIEB9p?= =?us-ascii?Q?gQU6iqx6JeNToZqzCUcYkD/l9xAV+ZyII1XiPrIykOABdkDMqez1KP3ziIri?= =?us-ascii?Q?2cBuI2krP4h9ZDqRVbnRm5KII0aduKCWjfmpAVgCLRW2OPPChrMweoPlJaB8?= =?us-ascii?Q?gCPz/86wMdfqFRfeyIxcKC5wtqcsMeUyaQHGdxJ95ansjBH2yJsNpgLj1ZTC?= =?us-ascii?Q?y/g/WI4HD2+yFVzyofGp1xJAKUxOa3RXD+JKXpgbwQpd02H8jCR+F2tD7CJT?= =?us-ascii?Q?6tHoUknDmL0URsCUqwFHu0VvtRes0hmdQ8mES6Xkkboq2U+Gidqise/g8Cbu?= =?us-ascii?Q?uaa1/40HuwkVPPEXlTQkjPjbRzUd244d6QIee43liYU3n0PLdLxpoHN96z3A?= =?us-ascii?Q?WPwQaO9BJVBgkgpeoA6NGY0nu8DDsih9NYIf92+jn25cRyCbMFKtxoAxKLe8?= =?us-ascii?Q?eKCk6SSZK1SEGAneyTLZo8vlRuHAy1oBQQWsAR8u1weCqKEuDjdL6OtGxUGh?= =?us-ascii?Q?xwhNKjqGar4Ue3319rahePgbsmYMCuuPWXkIryWVUyVjahymCSb8fY+IBfUk?= =?us-ascii?Q?jl7KzLitiIiRR71OFcdsjm3CF8EzXfk46FcVzMIap5fF8ZFhHzOeHkU9tBKi?= =?us-ascii?Q?mLF3d2wsbawlMl0+UQ/tw6miujNwnVfarSJAqWWEAudGbWl1/oXaMCVtV5n9?= =?us-ascii?Q?i8FmHdXoHUkWCvvYlaM6w+Stlu7aHXDp6WmlzSI9Ie+ZlBiurSax/62vA+14?= =?us-ascii?Q?AcQrytD3O5hd2XoZ7MyIovg1lx2HoKQK0sSC+QbBWtQKtJ+LLrChuYERZp3W?= =?us-ascii?Q?LT+hWdXhIcnsKloOtqG8NsSMWPo5kXLsF33p4zDkRz57f8j0VbiYRTr1+jLY?= =?us-ascii?Q?ZKqvakVzHOi7XU/UEzJtBPIo7YN8mAl0W2W2PxT+0IUUNo4+QSM8nwCpmdy2?= =?us-ascii?Q?WzkAorkfdwShX1TDKbdbuOI=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d3fc1a5-0134-4d00-4343-08dd7807e777 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:15:50.0962 (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: dG7ZDLzdSnCMS66eOWEtXhEfFfL+t0uEcWzCy48zcjZ11CGWfDZ2tPg8gSjKpaSbwnZOonHeXYD5oCkAaK/owljxLevdqEbOMGdl+ezvF53c72c4zlLkhHf3NLnl+39q X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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 e4fb3e12d6bfc..3ae0cd83af164 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 2e17bfef43ce6..ccaba5220f1c8 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 d35e9b2074937..809c43d686e26 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 00:40:09 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010003.outbound.protection.outlook.com [52.101.228.3]) (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 6638320AF9B; Thu, 10 Apr 2025 08:16:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272970; cv=fail; b=RDt9BE9Y6wZgUraEQhMnxlWeptE2uIrtKWXAOQh8pIYFFafW6pihA69eDFdavCqzHUV+AKrFYtUtGvHFcPy7jrgtNLQMIwM4n6Iwi544YfmCXfyxM9kkOCPS2LIZ9wKLHTPBj8X45F506yCGKx6Jx9ZZGL162Fsj+eBXs/TRBic= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744272970; c=relaxed/simple; bh=ds3H0rqk7+kL+0QpSEHLUxHCpdf+WSrqm3xIhDa9HVg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fnQ6Bj/8opEYC3otjWzB7LWZ6oqTw1WQOsau0aY28pOy230VM6rxgcUkkaX9zHCaoN2IfXpwNd5XSfasfCWAO9xu+bqFh2oZksOFZ76c8sVEab0/dxSTcwScMVcI2mr/dm9qRXcABcVQlqhwBBcMqq+wifxwGQH2r/pf/tqTLzg= 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=OMuVFjbM; arc=fail smtp.client-ip=52.101.228.3 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="OMuVFjbM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uWLIo9j91ZJ/cHQjWWkCQrfkcUT1RWYmmDwQieDaa4VfqnAxx7AsSQAvQJd/TpUav83EtHf48IWYIAen0dr7FcGB3SW2aIPHlLlVUHmObcWaaiXaw+mmYa2K5k+hg5AiFBneTH43VrGcX3cS5tNkqAccNDzwKn8TdPdzniF/ijBYQJxSJYihiQf/6HEGgvY3DbK3weSb0PMN9ik3EYJam4BR+4s1rWgBO5Gu2FP/v499o1BSgQVK6MIIAtQdOzfROQDxGy0MuwYR+mKki3eUc93RrLXbM++xUqNI0ibt6GM9HyyYAQnPb+AEL99N7Q0Hb6AmJzVMLbawJ0wkB6zY2A== 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=uBPowDVvYbfUQB7YY1tujpEmW4pzSioSJ7FVkQFc7I8=; b=FiLFlEsmLhhrV/+6q2bgUoJGZ/23b5rSN8y3psrNGwmd1hsb2kPauhePUxbDUG/PF7wG96clxKuDv+dnTmj9Ma5KfIymJ4MyzzUh2ueWQ5pmadfHVFMKxc7pegk8c2QFCdMM78Oen3N+aFO9RiZiE0BFuVy1bggN2vOtsTBmHoZItHX5bOFatD9PGtA1kRKvELkHt0qJZMxVkXsc1T2FaBEgj2/HL3IdcObSM6zX1yIg8CuYpuvj1MK8NxGigvDbJf9SpesEnWdrnuTRmKAZTPjMfyt9tYeic35bE32JoVldWvUETVMeep/qicnlRkJTGeo3px14TeQX5T+cIO4Kdg== 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=uBPowDVvYbfUQB7YY1tujpEmW4pzSioSJ7FVkQFc7I8=; b=OMuVFjbM290affKgSZruqDJmEP3RfdkBukrPV43MZmoNFXlUHFMS/RkXHx+aybqGjT4y9TFnh9qlj5BokcEdOxCy6Wlj4Q8sv3jez5tpv6cOIW35T6pKykHWncg9bMd7LGUzkg51dAcmqG3EMVTRkhEv5N800+tZCJdllfXC+YA= 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 TYAPR01MB5660.jpnprd01.prod.outlook.com (2603:1096:404:8059::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Thu, 10 Apr 2025 08:16:02 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%4]) with mapi id 15.20.8606.029; Thu, 10 Apr 2025 08:16:02 +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?= , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 17/17] media: rzg2l-cru: Add support for RZ/G3E SoC Date: Thu, 10 Apr 2025 10:12:21 +0200 Message-ID: <20250410081300.3133959-18-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> References: <20250410081300.3133959-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::19) 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_|TYAPR01MB5660:EE_ X-MS-Office365-Filtering-Correlation-Id: 4875e9fd-10ea-4682-d869-08dd7807ee8c 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|376014|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?RchMNQlGLteItfz/UozV3oSarclxS81PhkDIDTQuRvh1IXZIADjInDIKbduX?= =?us-ascii?Q?GxbAnqYTyUYB7yxyRR9WSU89ABKrpdQa8gaQYaps0Y2spa1oulrvfMhI36PU?= =?us-ascii?Q?PWato1RG+WHSxuKWxVbTt+j7WMhLcF5EIvaUM/EcSBw8iWmlTkfg4HiOOmXI?= =?us-ascii?Q?txyu1ojthISISEyguyChqbavmr/bg5FTdrSfVznpc4JS6ud5xZ31JkDoJphC?= =?us-ascii?Q?9Z/nbd3k5mHN4Z+3G3xxjhw6HuQNgSXmHhkeQnEnA0dc8Y9NL6EmVkhI/kTI?= =?us-ascii?Q?v33PgHMAbCO3uzf7ANF7pO73vp8/P5mxFX/aJ1r9Pxim7P/MB2TD0R9aGM32?= =?us-ascii?Q?hQCC7ICeUu8EOGNuzEAMO+jauvtd/wv9uzV3l1FpEZLHhnWv+u/QSFckFYZD?= =?us-ascii?Q?w42ykjGksua1TZGti46HTdLGK6Akk8tACJodfPm37hZNJQm///197LuX5a6v?= =?us-ascii?Q?RY/UOzur2zXXOHjBPx5acmIUa2JUjjwBwCOldDXTM0mRMDuROteYmTutFDgd?= =?us-ascii?Q?444lom+bNwuZ8r3BWWjoZFMlab1uMQ8C1A4jNzceJPPQecR/paHbA1aqZF1v?= =?us-ascii?Q?iKo1blZZ4IVNbHwhFN6PGs5LxskPPss8NmTo7NPW4SU2zfD/a3eLRs6bl1LJ?= =?us-ascii?Q?pYZHY3Usw8gMs2VJv3bT368kzX7KWxuTwJx3y1y/TW0RVftIVT/0mEsaquK4?= =?us-ascii?Q?XFL6ey1uTWzSSxX120gx702M7AQUHoS+aAsncu+C8UFh3/r45uEb/ysaKU7I?= =?us-ascii?Q?Zx9uSzqaYCG5X48E7rQAB9fantll9X0MVKZ130bORtv7R577HuSfUthOcFRE?= =?us-ascii?Q?3gKvwaJEqN1PggYTJzS0f2PUwR4g6KsStsIu8I5BPUkXNP/4+zE9bxukKA6y?= =?us-ascii?Q?lhEN9IY2MAeD+GOd3zErbF8S7KqLkw8qF9+Hj+TbGEkEUsLel3NU/osdgL5R?= =?us-ascii?Q?nFFYZgLzu/AekZ0ziOC6hXFgKlJViHg1+GngCHc42DGhjKr5/HelRk7UzX8g?= =?us-ascii?Q?X8yq65T/6o6jTfQ9FZYSGdwed33+IQpQwKcbbW1AxYOZkqRtJT0yOqMSp3Yz?= =?us-ascii?Q?Gwy9tXF6FywSH0dBLkEpZbx8ycuw2QNZMC7r94fi5rkmwTQ9iGEiZIgqS9Hm?= =?us-ascii?Q?hsnv5TZPOqRXqwNZSYhwJ5BKtHIJzbud2mWfWkLTYD6ExjvhO0UCD5OZ+QZQ?= =?us-ascii?Q?r1QqkpUW6wa4LiOdJ/YnVNffXS+d5SIroXwiqHD1sPjYkCBh9YZOXeFLlZD8?= =?us-ascii?Q?cMJl8f0Q1fNL23NWFpX4zJRAvO75waM/tfmjFGkjnwIVL2rEXb/PR/T1SpWH?= =?us-ascii?Q?jupXWxh1SVanR+BJvGeV16HuDMTEGAmm9sVI7SDOns59w57s4kdXTsFMp3XT?= =?us-ascii?Q?jMtk9vlSyBdNsba60zUSJXpWGkP/dk4ZUoGkZFJod9o5Ql9bbQmojf5cwmby?= =?us-ascii?Q?Ejlt433hg2L8CXjWt795tziZa6aPkec36s3qT0Nc67Z8ju62ptwLYQ=3D=3D?= 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)(376014)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iKxy3QPGnz+4RJIhzRivCicnmWfyi2rryIJkAhf5NDCQfTI6btP9hkMO9VGl?= =?us-ascii?Q?LMGeSxzaRZxu+mOGVyFzNJuJv6AMaaNm1jqZuo9X7nN26bCq8xaodkuWOmwA?= =?us-ascii?Q?KgbmKxoNA66UpgPQ/XT1MdOoBXD1HxzVLvY0QoIX9niWUhBrk7byURqpp6oN?= =?us-ascii?Q?c3SP17Di2ajA5+aOcRbAv6heKWQVJ3TSmlzF2LFzLMb0MXp5QKXYKae4Y6f/?= =?us-ascii?Q?2/cogKvJCYC36HpYwG2OsSnPtu3ySIEyt9A3rOMqQ5hy7JIpoRAlZCTkHqRj?= =?us-ascii?Q?rS0Qt6PIKpXS+xDUZysCxitYdo03B7w71tbnOFY2ifnfdk1XTYM1XvEuVFEy?= =?us-ascii?Q?tLQVmixV2t50Td1DeQHLJAq+OltoiGoAa53qeVKfQWncX7YiMhs3gXZMrXlY?= =?us-ascii?Q?riGlmm4jYtPBZD90mhTEbbmFOOKXYhLLO7Ea3boSkyplfV2T255XxWxd/4cV?= =?us-ascii?Q?nYPox+VhBHo5ijkIIWHPIjjqc6etZJqWMU0tLxH6N8HW5nkzkPkd8h2oeMJm?= =?us-ascii?Q?eljmqatpAxjaQt2yuSrQZmo4Vi5pC+qHBx91E8GFHTyEEubfg+mlVKEe8Pwp?= =?us-ascii?Q?b+SYMOmraintfKm2s7xdKp/UK2nw2F1Ru6K+h6uT5HYqIpSbWiG7BgvQSi/F?= =?us-ascii?Q?Iy1QvK8D3sgGyXBsQZu0WLMKVQCPE0+Z09/qcX9ojMOcUZ9NKzNmX9kknP3S?= =?us-ascii?Q?qjx97vzTaq8LczWbT3kafGskSbs5NJ5EfDxNim7/j12BZFO0FjhBbxFy52vr?= =?us-ascii?Q?jmetZIin6bsIKwRFklkX35tSVdtW++hp6+xLdKqe0KsP3py3JNZMLd7699aV?= =?us-ascii?Q?c3+sYtKVmXipb9xnB98/4oaRxptEyuYgBw9eIyrtVD7neJ14AR5jYK8BH3eT?= =?us-ascii?Q?tX+Hlg+vPIMQVZu1bW94XS9XEUYDyRmZDqfPR3+2vnxFHVto2OKjhSbUOiz3?= =?us-ascii?Q?t44rUQA39uQf+Y4TDRt5EqF+axkq5cMcSNn3hbpEnsbdb7Ou7XogmSj/I1GV?= =?us-ascii?Q?JNGYEYV5sSPUe2EDxYcJbLwvp/lL9ddee7ctMpnIki8fx+qqIOZaG2FHk+jO?= =?us-ascii?Q?jQMtiBnEaWbJQ0eSzd94TkMyc3Jix51OtmmiN9pYfzjXHBmwL3DlLC/RDzzt?= =?us-ascii?Q?TtKz3FbAR3PoJ3Ets9w1IV99nIRwOqmjRN2BunrNq4zHUspFCFWxmc1Y0mP4?= =?us-ascii?Q?ercr9PvMfUrxx24emlxkbFkZdcWrE8q4MfaaK858X3ESDYKedzSImzGvtzbF?= =?us-ascii?Q?rhIC3G0zj7NiwGDFlxCv8P+A6tLGHOBOKYar2oOA0UgwSjYLJEsDllAkeXtp?= =?us-ascii?Q?DL9kfs1oXgkK6lz5ZTm/ExPqt0EiHgHsPTJ2M1HpVH34t54g3aG1u/IybSkt?= =?us-ascii?Q?0PUM0ElaZyul3miRTL9D2ZmRd3ah99ik3xJMG7UwJ8GQRkJgAnYoOWAJR+zq?= =?us-ascii?Q?Uceah776XzXmQxS7RMGNg+Wj5MTthOf7bNtT5WBB4NOWa1fiOoeRFjPt0ZSk?= =?us-ascii?Q?sVzoNgJG75PoX6beUFZY9If/HLzESZ3DlnfjYbQdItzMB4EiDw67migtc247?= =?us-ascii?Q?dCOCsTjwqu8pQN6lfUn1DVbATlyTMPMeLzgBL5twxdS35NENf13UrXNMkt+T?= =?us-ascii?Q?CVJ9l1JIVH7gvLm35ylY434=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4875e9fd-10ea-4682-d869-08dd7807ee8c X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 08:16:02.2153 (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: SBgjCHKi48BgrJd7oy+SJSzqAzoKeFpKzVRJHC3+Zu+pM8zAPGF6HeOI+/ly/AqCkzqSpNepMSswFc09Be8THMQt39IjmIJvbcHQgxU8QPx2F5NyLR+htMu/bpkZOTDW X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5660 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". Reviewed-by: Laurent Pinchart 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. Changes since v3: - Fixed kernel test robot warnings from rzg3e_cru_get_current_slot() and rzg3e_cru_irq() Changes since v5: - Collected tag. - Dropped outer parentheses in rzg3e_cru_csi2_setup() - Use fixed array for buf_addr as suggested by LPinchart. - Drop the outer parentheses + used curly braces for the for statement in rzg3e_cru_get_current_slot() as suggested by LPinchart. - Added scoped_guard() in rzg3e_cru_irq() as suggested by LPinchart - Used a local variable for the queue entry in rzg3e_cru_irq() as suggested by LPinchart .../platform/renesas/rzg2l-cru/rzg2l-core.c | 56 ++++++ .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 25 +++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 13 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 168 +++++++++++++++++- 4 files changed, 261 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 3ae0cd83af164..97d70d978b5fc 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -321,6 +321,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 +419,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 86c3202862465..52324b076674b 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 ccaba5220f1c8..c30f3b2812846 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[RZG2L_CRU_HW_BUFFER_DEFAULT]; + 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 809c43d686e26..735c48ef6241b 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,104 @@ 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) +{ + u64 amnmadrs; + 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 (u64)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; + u32 irq_status; + int slot; + + scoped_guard(spinlock, &cru->qlock) { + irq_status =3D rzg2l_cru_read(cru, CRUnINTS2); + if (!irq_status) + return IRQ_NONE; + + dev_dbg(cru->dev, "CRUnINTS2 0x%x\n", irq_status); + + 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"); + return IRQ_HANDLED; + } + + 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"); + return IRQ_HANDLED; + } + + slot =3D rzg3e_cru_get_current_slot(cru); + if (slot < 0) + return IRQ_HANDLED; + + 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); + return IRQ_HANDLED; + } + dev_dbg(cru->dev, "Capture start synced!\n"); + cru->state =3D RZG2L_CRU_DMA_RUNNING; + } + + /* Capture frame */ + if (cru->queue_buf[slot]) { + struct vb2_v4l2_buffer *buf =3D cru->queue_buf[slot]; + + buf->field =3D cru->format.field; + buf->sequence =3D cru->sequence; + buf->vb2_buf.timestamp =3D ktime_get_ns(); + vb2_buffer_done(&buf->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); + } + + return IRQ_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 +941,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