From patchwork Fri Mar 28 17:29:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032289 X-Patchwork-Delegate: kieran@bingham.xyz 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 6B2261DC98A; Fri, 28 Mar 2025 17:31:09 +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=1743183072; cv=fail; b=CPyBhieKeECKrnwy7hAXM3sKoyunRApYSiKW9IiKmSe+cnEi+LxISaTJInyhQ1t6FqEQ5H5lHosgGFhHHgquWW6qgbiA5IPk1f3eahr6PZS2d/soGljehncswYbeTXWapKBME52j5qoMPFy/2fAOQLBZ8U5gPtOoiQiVhk69A0U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183072; c=relaxed/simple; bh=GwC/pnvXfePMeOSqvF7zTcSuX9PSb4MHw0m9fpN4+AQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fjMKJNQDLZiPkCOIQ+D2Ciuc+B08i5ceqE5y+nQXfWbk4aqG0MleKAYNbarJ6Wvfbp7wKAt9BRKp1U582YTNXpPq4BB8W+CxtbA5hADTuHhlNX4U8DIwkdrAuHvcFty8cISGPiwq3NlQvaJCnfgejLdxlVD5N8YTWTPN1+WCxXg= 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=ZEXfeugl; 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="ZEXfeugl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LCTt1LRbMeRI6FSQqc1U92NJhb+kF5ucxyDkVTeWy1uyD/NSdOALqJJlXvdHFSF/CiNpCnJSKdtQu+mjTpsOYR4Gs/4+rnYP5Ncq/nOSelNZOSDMGCD4VesYBP9bw7eVC4ELcODb06OILocwkocIoYx9aAr1XuL+4JUKfjlD3bNk1wUZo2X8p9lKfP6xUR38+JnddWOh62hFPDMuWDNaFLsnm0cBiNHap1kqu2pkRiwiHQSwybwECP0EDHhg5upyXIbYukSBPc1NOuM+Ci4mK6WZ6MdKUFSt8LHm8zA8hqKVg9JU/dshP8IuNK/JtvsZalWhs82HDdv06LTuIY337Q== 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=KslrR0JaMFIH4MZFDljfb3eIoSzJVtYh3StbQOsaAcFA/J+qo61gfonJ8r1LOsfnBqUWtUgfm1PwhcmMzxW4kr8ylaiA+YoCEJ1rFbGghBd4TELswPvTMUIlQ96RtQwLLKtxPCzzAIW6DFHVc0EyflXHc3X178IOVc+uDLMe0ciTIl0frSyj+/3MxwRwlKZodJNCJFkMrMyMcOCcV+F1xqA/YTG/Z11oaaWC1f8ENpwGxDmZTlnkWvZSG/glE8IZHRkCzyUD/LzJW2AZ+aU0bFuiSaHvW+Xe9lOpURx32osIyB9/u2NY5J5nn+ztSre8ukV6RfmTeu/khQS/Lo0s2A== 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=ZEXfeuglJR8aPMelFbUAUS9oyvfCxQPLhUgmkd87yXlXgWFR2TtZYeuk3Kz++pJZ80imRyDCbau9s63YlY3/CVCgoLFrUH7ZmQHyCdGynRDx1YJJtrWuWmg0d0sI03SijJP0VKAnZJHIn6qV46/uwDOXfoAt4YPfMcSE/i82ovc= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:04 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31:04 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, 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 v5 01/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/V2H(P) SoC Date: Fri, 28 Mar 2025 18:29:37 +0100 Message-ID: <20250328173032.423322-2-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 65d5c0d6-6266-42e8-ceb7-08dd6e1e510b 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: j/4HVoycPiWSgI5J7/eX9NV/twDDjOT/fm00Gr+IVRkVcoZfqYOdwU0mKIProZCLCcCr7DEfHV3N/SEkZ9x5gjVU2PAKI3i00eo/XqLW1MbwQCzIYZTfqDQ5dHWmmngOUJC3a0MwIDIBCEDArWRxnFGg/9u3C+friVIZjumA0S3p0jcCxpo8uTh7SdkRU52UPK8EHrp92rDiuuYc/4R9ALsPQAqYhQZdK/Mn2z6skeLpHnZW7Nc7tYcgKRHEAB9qEcNzWcZ/ZT4fCsNTGD8RCNDo1jHO9DN7p7enYfjrJEuXAU4X3jcA79Pa4XApf87SxLhCvs5nLfRlUbFe7Aopo/SJDZxMyUDHEtpVL8iQJADNbKU8aHKLiBwf5Yj+wbosldyWvdGHk5XOCa9ahlufMbjRejWOlUQrFar7SB4oWlwNfpeEIdqoz5Lstxr3Nf9izt1DCyephvJOWnzNEc3AZLriiUM1f/F9L4FhgedJv9W5JRHUaNZxwWkl8cD69lSzwhEq1dMZArshszJClWFWiZyzzoSbImMC2MU+FQV3wOYg9bsjsG31Vd8YsZ8SugnKM0m19afA0FEEqADwgMoA/01f37vc/S/zu+2HHpCgisqgLniPUG1NmuWVEpQG/WzqK/0YWtQDCw5jGRSWxHMaG8Ee87B0+sAZsNEnewzwOitW+n6XCvU5tMtkj+8cGs3htnaMZIGZdKXCHtfSUWmuly8VUYqkf4Wf33uNZD6ouDuq1oaVd/0sE5zDmViEnjoy4wtMWpUgctfhfbiMfERPD/RVevQui30OTWjZPMxxug9q9dwgXHLZAhYvLpXhnIdYFnAv7Y2cLSxTAtq4WgAFsEKb4Igz7Krc+Yr6B35bGoWq9rKThaclPo1a1qTE4CKGZ1jFj8ESzLTQyTBwH3cPLuK6FJIywiyjHcXr75jQwO2ud6D4Ja6gLKycRletEnfvORKrjim72nV7F70rUlAQqJ3cJeFW4W55JWKM4FaFI9uLCaSWwzneRbjxWAXZv4GXKLc4YWowegX8SIQH1mPdPr8Xu+XBk+mHFqiPSsOWd5PqPcahEqDPU3lXD8kuffci1JgFVNwQiLClWJrk5GAI4p6vYcAtQWnj7eOyp8sWrEdCqb1tWC+Dv7g3Z4HQtTH1PYuAVBW0wCOYo/iEUKZwhCP1tUH3GKdkvgKXeEgwIvJRlkwR7SUKhs3atr/AwhPW6IRVfzkBMQIjittA6czrtxjD1s1fhtJNpsDBz3mzFCWLBWNSJkxqTsqn4kwOQs3AsQjWUIO1rT2v/QMRv0gcwEbl+HpwQHy7u/VCO01DPwML9kMhj/CdgeFZjp4uDKYC56hugBkki2uBbVINpPkWxIgBHv4IuQUfWmN51g04+JnHERbXIj9pGxh5UXELwBpOanTGJYFW5Kh02n5MT/ikcBDoSZfuunWkysC8AOaIoLlZESy9ttsptDdhonvh58zGy+LXYHMIGKspJ/Yd4ZWubQ== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yjnFqOroB+iqrdhtJj3CGrfEIUhIg2p5UTw9FEjQ0I/0BS+j6UUSsvYyI3hWQdN11sOoNIzf/lG/UPdB9fTKa7/9PtaszUDDb6ieTLFKC1UASJTciqVJcufdrQw6+GprwzfbQfP9bGxK6iQsv9Lhf+9ZAqAeK79kp/TOFuKXa4to42lolrrAzUnhx1TMQ7PxwwK64k2vlzMwHl21140INZ+qr2pWpyU8h/lurNoDBeLjJlH+BeOnDZnxp7s5HXtWRY8OzerfMOw/C3W0/ilePjbYMN4fkg1s1/qmVXsGCDjkbGcGz9TUoagfAC4I4pzmbqINSM/vMBmEYYxsc1PBE5Y/noB3YsKxMVXnsOBJqheTkfQ97kc1THQJT3xYp5GtBtolNHpPbACfsJcL5LfvCuau4e+2A+szKSZ4+ZIrMzR/16KQlZr9ANyjwq+G2RzDSlqDxvC2LUuSptni2V8etQ1xAoNguyO93yR0Fh+5MjH4hLf5UpPxj7Zrsg7v8gENH9VgOAA+pBm0rf8+kspYC34tXorRQCsUhkBUhWgXWOdtr3gZ3xWSH0kxLGdMVDz+YyaxFZ6BIwATKfPtYYkWysdloo5ZM1nY9buoEyhkdmH5xL1B5jwQzyCZTncTq7Q22DiGT0qC2tIvl6HZV9NJinYAoJMoH+B6J+bfn22qs1bjuOIKgvT+6OaneEoz7YEyV3HfXiN3U97VodnjNNVVC4ABx8Jh4eVv3aI0CpJhl+DIgfhysJj7yxHtXrl0byO3qKSOdf3F8JLODOTmnJ4rMl+oYozCTIxp8Y5/MztwEJK/KZwR6q1iMtgS3m0VjQymydQN4GoEEozj1CCQYYjAURC/bIcf0wdATXf9YXLPMzaEVZRN6ifazc1z1DPMJu6lVLwjAdR+iv1hbQ/GaPrOaoI8AC+HQPkfBmtiA5zU20iFlqer0G176IN4sVh1CG9nKxIwWNr2rtfBZ5xf7QVKy2heuxfap9lfbVndYCO8dc3ZxTpdH36Shjw4pu7jpzqMluW7KykFWio8XQeztNXWVWStnRfAEdLYOgacvHS6kQ4yepfu9Wy4WNsr3qCXQQOj3rULLK50JhOiyVGc+M/Ljk5PxiZoDTdEfzFKPyftBqsBH29Ox/DrswdSTQUu/qKDzgD/17UPikCOUKqHvJM6lB2CDLoVuDS+SvW6kPotZwswZm/IdkUIanT/gaq0JyE5PSxqje8RVqLDYgqNs3yVZpJwEj3f3Ogww/kyyhzcj9Z4zCFn/8ypN1p8VzYYuAOOE62qIZvnhnyo8ooTOGRrcOgpSqWMioPtf72krWgUYF//pVd4BLju9vQwAWZWIv7nj7jVaDzkp31BHGlTbywC9U3mIohTc6o2kR4w4QFtCtM1Of4+0fHZO2zC3WzxBd6rxZ2l9GRQdjHUqkptt/kL/y5PE4dYWsUN85/lqt2+H02wkn5sTN0xbo1o7KefSUC3dB8XfCsA9vmyM2o5kHZ0Eu7qgcK8Nuvm7XVSVig2iuy9NzRcwepu9fvPFFYiBbzGYHbYiUdq/WTKJEAnKnG1f3I6k2Rx2KEy0Rs0bVEkoNU5xTbuwyHBdIBPRX6C6Dz9003TdO9D7BlJarTKWqhlmzwYKOh6YqPqV21MYk7SpoM= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65d5c0d6-6266-42e8-ceb7-08dd6e1e510b X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:04.7447 (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: 878pyiyFCKMf8yJ5kRii+vwwrC8oZyFee8Iu9Xtb3H/+NkG2ZW2TavZ8UxtPhuccnIXZ1yOiiMdprXqD4Cg/Hj/tuajGf+mrqKF2l2pey8ZsTlU0xtR4PWq3ZHVvQ1yJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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.yaml 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: 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) reg: maxItems: 1 @@ -31,16 +33,24 @@ properties: maxItems: 1 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 clock-names: - items: - - const: system - - const: video - - const: apb + oneOf: + - items: + - const: system + - const: video + - const: apb + - items: + - const: video + - const: apb 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) reset-names: items: @@ -101,6 +111,25 @@ required: - reset-names - ports +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 examples: From patchwork Fri Mar 28 17:29:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032290 X-Patchwork-Delegate: kieran@bingham.xyz 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 528D41DE3B3; Fri, 28 Mar 2025 17:31:12 +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=1743183074; cv=fail; b=KJ2mqktjnogSWCIlE4lc7OpfBLuP3DJn+acm5hyb2Il0/boQNOS5N6sVT7s41LwIllz4os+z9vxFpRV4BNN33L73TXLGHpR+dufWeAU9+zTPeHBPimlaxcxjEp32TjgS+8SzwpCK2EgO1lv0vpCN+G7H038HVYqIIBOn4Xk8PoQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183074; c=relaxed/simple; bh=WB0gky+PvyKTq9GLo3NZzCeLeTxen0u7m3GVboV+bxk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=VW8QYRk/QieY+kwpBw4qFb+hf6PLXrfwJl8ISW4GzwpoOc/M91OJznD4pwO2/Q5hOOeNkZNqPLnvzQtUJC9oF5JldM+9WnobBpwekvmjvigLJ2Zc9eNGiIr3j74JoOhX/hNuJCLf7PxtPjNSG0OL6xPsH9joVNUDNO/qP+7L/cA= 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=SV1YPa9n; 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="SV1YPa9n" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ifTxXoxnRJEQgPaRh7/U38QZYhiIcg/ccjBYQvBszPH4V7wt6yU2E5OpOoxyIB88sV8TCAf9aTAwkq51WNl312IGdighDY1lTDKl1HNPqeeUom73vOgyZVrvix+x4/n28qde9czyxPMucuIEVv78kDIlBP2++D5geXAJdJcxy4aGOypaEpDv5AI5L875XzejBXYD32+NTMNeOJd7xKvftuD3/kDsqxr5KQ+d7OrrWzoew8x5b+MfZAkH0dG8wi6ROKkZOX6svj3Io4pIDi0UN0ovlj2pliWvOVo62Bb9S/4NyD7AdNAx9OSosAAIGguddFvxbhaNTfPvdR2ELggIuA== 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=X3HfzxqqXguFTzUuzCX1Be9NRCD/a0JyAERMQr5RERFVG1eSPtzVwrvYO/05T219XtG2iJ8Qp0VS/thTMhtlk90bxJZAghhGZP8cZeS04/MVWgV78UBbZgqrQ5Kzycm8ITmrqCDGpdnMYkc+5PJ02BH2AAMViqPeAb87fWv8l56KvboKCaSNo+5oET27JsWIF5iwcYuOidPZv8LK8qzSCSrg2+Lh0v3kS+8Nr4rmyl8NiLNouVcbTm8mcXPMCMeY1/pDky9H+N8D37VckYQjeJE8XyRJgMIYy1zqa0uxB9/Mvyhdi3VJUzGBGXlJypdwONLWx2Dos31gi8bmYTnLdg== 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=SV1YPa9nfHtY13yLGLqJ30QwfRAa0t0h0P+Nf3A0mcaNusF3EgZ78CT0Ynzqh/YjFuMV1L+cCknPxizAWvSh6F985L+d/JhCydH18zVSp7Lv1UcaDpv3Gt9v1cdrQEuGO1k2gRSXA7X1sHf7unohkBQerQDlKeJf3X/ro45Tbro= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:11 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31:11 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, 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 v5 02/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/G3E CSI-2 block Date: Fri, 28 Mar 2025 18:29:38 +0100 Message-ID: <20250328173032.423322-3-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b40037f-2a58-4fab-da31-08dd6e1e54e3 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: nVs2k7gXBKhT5/25gbWHYWj1DJNTh53bmmLkiL5MkDEmD9tDYHcB+mUlXWoyWA4uoL989ED/wT5utVLXqXoSYzG1yYlS28FHSX3rfexYAMbRwjHqGBlb9igZNIbTMZ+J1GKbWOVJvtd27lFBNqRT7bNANCY5OE5hlgKTdbsuslB374jFKgQgsTKH22XYCFlU0aMzFT9FGMGflQpwgLnpRcWkvCAhZz+dk4OGc48w+os8w3LSnDuQI+0CjzEHEcZ0dARogtQe9tqWbaRfIZFbgmrnlR970DKf0eIs9uuGvj807y2ZKJo/C+4duMB2NeTc8VgoF2xkD2+VBJ7keGvs7ETGAyn7WijmwJYEbsp2pn58ZEVjebCZlpPZtiBDOomxm+je8nmhhqZg2T/5y74x4w9HPTWel9qhFsMqqzH/cUWM/D2MfLb+1WfvGfI7r7Uf459l++f3jVT+N58E4U1fip+sdftQajkOIMuk0uryhla+MBzMzj5M5vDPqsiLZgHWjPNPSPQkK6PvfvVUK9TCFfXjk6ZD5bpaSvl3Tl9l0r3tgAMqSaVQRdyWIPJ7oL5tjOO3XzRR6Eg5vJ05rHwHxHAuJ6O6A/CJil14fWtUftZE33dYcsk4zgxK2G/rjJjEB9MwTWgJ4PPxWRNnRbhB7hgJYRu2jFhiY49diGEzyQhKF2sgWQvWE561sE1xD0cb70oXhKVSDi5aG+9Lw/1N/UXTGTRpymmk45G1RcRZF4X6L7Sm+sCC2ywx2VWBPM4SqOZ4HKdrjj3MeOM0DBjg7DSEm5gvtfGPwIpzdYR1Cd07LNpqs0P1YDnEi36Ififx/N/43eSOkYdW9GoaCZi+G5uELPJ/PGF1JoSl+3Z79li+01XADYicpzT+QYkNAgRIofnYn+Evc67qAKJyL2ev503nkxtR+0nmPEoRGpDHg/c6KHAKoqip4IYavFb5qz7A8UqC4KFO/95jzi0TU+YayU1OmFCrCdpIF2/QQGfFpwMVWtp7CBAOefxyntM2kFB+pzZHRLpyTrRiUjTr/HqYkSogsVf4Uo+vYMZwjYUK+0+ZWOJc/xk1jk8WM6KCyGdXOeDyg9eRuc5G30zMCinMrq/LmikwtkCQ2AYRoGQaIarEok2u3E+VUMwWxOjqb0XeRdK4xcbitMA5j4/YLucLf9QGXO39RNwV9lvelOUP7CyWIKn8j7VWPuwpjq5qdcTRQ44rUi74OyeV83E68mlWpXWlBiGE1ROG3uXN/xdWdxFmq4RGF1UN64Z09xsmExqGnhNtINKze16TGUUpg2iJDOorYyMBhSEMRgtQ+OWgmEsVnEIUP9Tr17POheBvvCJZyoM0PG3QfZDobeZU51NfGk2z1ToCquN6SnfYW9VuV7kfuZw/DxTkEE5OHrpOMlhQvUrlm3CLuzx8+Nh8zI8oER+bi2yBcoIsIKjnZPrWbJBinXUFEchZ9dCV3YYQfgtlH9tasxXoDzzjeQ/1c/WZOw== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jwaU0U0ql6mOHqD+SyL0G+V0u288CoSsC8VH/p8CylnmPDz9OMiZszLXc2KnAET5QSCdKESnCv6JwygshPalODgl6jrTNYdEi0TOAEeH1qJelKdK4do3rmRkvWXM7wLWRK5u277lxCiZ2F5twjhltgWUQjc/5NGofp4DBlY1BCdhK3C2riK6Nv+PzKlN0/Dd+ebE+Aicqhl+5QTZjzUPXCIcuEUUOqqkzApeKsP5unptCb9dszuUcuP77mnCE2ijkOWzqQbkWJJCeCiEbldGgiIuGlhVzerwo00g+H/zfrGLdKJT4ZHEcNUgBnIDnTGgSz82XQkYsENXACn6J1k5U36YuKPy4cDx2srwlwnwXA4sNm9oE5gNNjnlhD5HYkWL1dOHG5bxmnpYiP3E3j20n6Hz/ERitm7jY5IWIb3pv64vssmAN1XGV5FbxOnER2invfpi9Yrx65Y5KSDGeoVvSyGGngXnQqrDod/6GG/pecnZibibGIwCpu6oPkbYj7zKsASsGDEv/jjSVjPkh1ws0uvF8mXMLhy9vA43pOnvXV0Bfzlcxee03cExlSnJOTzyqjtafQVhHL7surt0PGkj1xuaYCgI23IDy02eNKM599YgQ+7BG0MEyg8ilaieRqXBX3+nQvyVUoMTqKxwpka35r7OC3+N+j8eDrOy6hUaniXr05TZvpi+QrdJC53nXRnkhxWJg9IqOHVrO7teZOtUNmHBmUR3VUVyDjUnAOO2sQCjqTeFnG5FhESI0VIKkSbxC+1OtVUT60gsf6e51CBu3BqgTqFZC13GimBWGZLMg9nHCGgC3m7Y/ikorzsf7u3mKYj55CSJyBV5SDq9Zqdc3lKFpQY1qjszRX9AyWwSKkbZwL9bskdDDdE2HH9jtRiDwVyQSkNSQKPyuKxbI92QXX1rSRvWX68hudE6CqCae6a3RvkhtVoV4x18odhcWQ0h1jP7CxQcv4dJTEpY86ueKqWUCUcOaCQ1ZxK352d3kCOO/MLsSWqCTNJCzcJQo31YixTBXvU6sYUDVFG0+lix1Pa4dJpgXFTWQM3VP37M2m8nwKjjW3fjiEZTtqgXSr56amgPuj3yu/LMuzus8qryL1rJ5d1s2hjpOxEGAsi/Cpweuv8nzGrBICs+tIVV8Lac0Za2n9f6BP+ZZwggd016hk/cDzmjjBMd4qeUR4J3N/SFy1ZN4NmvkdiWY/ppQPyNfKH0o9wfhVyNr8hom+YOAR3NUM8FgukwRuKi5OAudFEpIH3H6+hXXPOB3bhUU8H63ASCnJo8xCImGGEArx7YhOMIuKc6tDJbJVX+XDrCWKhQfKvAZRw/Sxbs3aS6eEI3yufTlY6U8L/v4nMFRchGiXmp1HlSRo4p0Pv/e3FptFsHBA1cyJPFKpbsNKxduJOeDnnMAvN5psqXtoBIm+dpoqAcCNmWrgkybamAesRI1akdU3tkp7krca4YHRYIbu8sQBdy78pslEQepMYGi68BUnufC34UkLJ0q4fvrK5kQrIcyZVSTlSaDFNSWmUHBwmQZOD5HhQtQb3UnRllEPllqrRyOxibD7KZduViow4DAA6pbbhcKpZDgHND7CcbOLrDL8LRSSO7wuiRMUuPDluyHicPghYABquDErftaCRf98w= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b40037f-2a58-4fab-da31-08dd6e1e54e3 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:11.2398 (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: LHqgfkJ1GFksUivTg0LGWXheo5xMfwSjAIkGsZ0PqePO2zvdPr9qjFGV7axhe9+oPn+5tdYBtuK5RRCeeUysmzzZPa+VZjIWuiQrF+Vw0NnrY0Tr+5PRU6pv25cO0YUm X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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.yaml 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) reg: From patchwork Fri Mar 28 17:29:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032291 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010026.outbound.protection.outlook.com [52.101.229.26]) (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 95E0E1DDA3D; Fri, 28 Mar 2025 17:31:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183083; cv=fail; b=Su/3ZXlQsUrR6VjXPzHv23Iizcq9N1RhiILpoqQeJUTxfBAwVMhCg0JbWlKXld89oyGodxQLIaIue6AeV4HItWjwlF9FXD5BbEWwwn3fhU9s1JraN8INNu4JZ7FFJcPRzyktlX+VZSHGfyjO39O8KmSxMYHwC6r7d6jl9WEEc/s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183083; 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=O0Q8fPQwEU1F5HSeb01X4iSsfm13C0TUzRk8n2BUHqubQiHu3EBYM1i5xW3M87LuqsXV60EDApa1PIz55OrNoKzVOtRwQR0qVcwYT6gALxgxLSeN+xaljSsBEYTZvRJRqgGpYvaD7QBzRtR2PEzE8N8E+3Du3lmKsTe/3bAQE5o= 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=XXeBkZx8; arc=fail smtp.client-ip=52.101.229.26 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="XXeBkZx8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qyCTTZ7RpwxCGG9bsVVZ3+w58iER/Fwv7+VpzJe7jcroUZGhtJE9xoqKEW6oHfEPsLjMUaVlIBRIlhGxH59tpZDJptLyIYP+Ryl35OKiBA5u6ltpNchuXUyxoAnY9VvVeuPHtgkP3E4EwIX6p0s/W9sjfnO6qMEO9qtv/bh9AuiGmUBWpGHEmX76CKUjbBNiYnkbfFvLsZ5A2v/+QCItCpflZj4OKvs7lurmbCJ1/lsXddX4eQgru2njftET2LPyLtffWAyCFW4C7pZ/+HUAo+Al+BUXgffDemJZYSB7oDDKvhIgRh1KTFDR9ZBCnWIUaMApM4gVWXsBMRk4SN5Hcw== 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=PsxLJ6CKkcoO7iBC+EsBHEwcoXdlE0XbFXy4BwIu6xm7SE+yJQMlpnUVJLGgvgH8rjPNPbKCWCIBpunfxwQbPAPlKOutiA2ZKxuXWE/ofeNMbEUcIIQqoCIRAFd24v9PG0vHviaQ7zpe9zLs1kq4eE36Q0Dv5EoPu9ry8w7oBCwympR4hJ1ukA6kvdK8UT6rrP0AOxqLRdmGmoV516kKsYLMEbTXmnX4RwqvH/cGw2rfyQKT3M2icyed5mKfEQ+2/OxBeawsUr67Lz1jUta3pYmSHCD2/hgctO7xwEeudg3QUIzFF1MXzDBrmhMaPXfIumazJDmmfBQmy6G+r0de5g== 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=XXeBkZx8Aj8XpZGFv1RuACvgdO/ogcGNDkYLwFwMzihg8xHqqKT5JhhcD2jpzTenMbrGPjA/bqO2nw6VgCtXozuJbLw34LBNccgWdAZpF3ekEhwY1qd9st3UIWHt3YPKsKOehi8qdtNbltvHuCABb6KnzVIUapfcG6gP6P2oApM= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:19 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31:19 +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 v5 03/17] media: dt-bindings: renesas,rzg2l-cru: Document Renesas RZ/G3E SoC Date: Fri, 28 Mar 2025 18:29:39 +0100 Message-ID: <20250328173032.423322-4-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 909f0e3d-4d6d-45c0-e3c7-08dd6e1e59d3 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: u+NdwqfklBv/U/1LbKDbu7PyOcU0COsqtAhG9p/kIgjSKQajG3UXEFtIqYAThr78W2OSjj0Bq3YYk4Ti/MbrvSHXO7TMvgKXS6snMpUl+DHO6LDUiDR8WACmDS+wbkw/rsyjl7WparSD0pVNcWaYiK57d+JElU47vtCT1OsRUp0Qycy3+L6P80v+Of1Td9O3BTW41LU9+xMxLZZZuIn/DIsui69UpV8wKoGDAHiGOCn2oCkBICop7wLUjFDlyYdTSCnqpDBf8oJL24mopbGoJKr+KLlc7Rjy21pmbCZ4UHwNIFsAOUCdJdG6IC6OF1jYUQj67a/CsHSGRTTvzWF8UYg1nkeWHglKcXNdBPAAVwD1EjDOYtKWGTQfQQbVlcdF5isSDoTFIFmqOT87jT5Qhypg7K5Juap2NziphPyFBHsWSXJOOJIJzUMdHp3yA959fjT2WzJHNhdLNFksycVcEcQsdNNh7ECIxBsVs2F67i8ChvpxN38dzD/NH3B9dEU4z1NtV+uYGbrSfuLuLitYOhhGSfXeCCG6bFynY9FeTxaJVsnY2k4rgGOBmeLSQQXDZ74aOkRUGHdSAazZwfXa7JL15BH6cTF0uFOp4LCurNIzWFO0rjiTq3hbny6fgj5VdcD8IZ3CcBzPSX75D6h/TcUSRC+3PNMbMT+2n/3YDygWANntkZoolNTimK+x4OhiyLjXg/0lDcb38OO2gHwbcjyym/DKgpvD8xRoEpTmxc9B5fJGUA+cr2e4glVLmitM/TQRlhH+fqrAGSEC/WEycv97iMEbPRQo0IneIuYciYjfgRDYgu+BwFMp2OfHe6ruLDQnAAFncHR4lDlifTncLZIbuMEfJN1o6nOckKUiJV/Q4T9YL4OXzHXYvG8ih7HBu0VpAYvUmG+/pvOWAjtnuT+Lncz5o4CMOiwPSjHRfDrJD7dysFyf87JLqX2aCs2HKAP8T2PUP+peTXv4ZzBF12Qe+4qYQCrRkOr2F3Kkhk+4ttK2AON7b+gA2ZrnOvVrSvU4BCVfwrb6KC1sFc7ipEzwvUi22fqBCpozhsVa4Opr4zLrW+ScOZ5ujQqsjG5kg+A9+vAr5xM2Z128YeXriGJkvChlOEq6mK/DylUz4gp4W4MBHvLU9wo5NKYflq2b7mfM+qNy8/7oKdXvgVmP23nxaZqzxzyRuU3/YF7Sa0akWLrwxOdTm6uduHpB7hvsaVcr//eJm4FdCFpQOny2CvzkbMAh8t/b4ZHlIWh1qVj8mUOfaa7ajfE+IzrWn93ualLyZ3yfKqNbqyz3McMiiZ4mMCWlp7WlBk7GFYkWQLYp1Jq/3mMWmdnt8OhTIOkCnqHOT9yoJK9TBeNQxW2vzJYVEYT2gduDO6fcjWD8NsqBjby41HSgvO8b1bjG1EdRBQ6duVu6dRRG/iaV7ZpRuImNH5gKDWtJXl0sLOWGAjJN9KRuOsFg/o2v0eEkuF7weW+oE4AXOpUiHScQ/Q4gJg== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BMblQ/fK3pRW02QZb5S4FRTS6lrWbL07fYxC1h4pJXIQtZK1Xyu2pNGS3SaXUQb+G0R6BSxYdthjhNBDPsCSAtX5/jaXWL7emekDI5wdoYTDhD9M4tgBg592WIZpW6kkbFKjSY9R8WyeU4mnhnUCbTlgsvlGFRIFJAOo8XpsUYgnunL8E9aOrceFn1XvQ1pERUh2OsHHEyECiUiYA4IE9Lo3m1LVoMmLDL6oUJhkdccYnokCWJ6UwX6ZSTZn3clYSbIbGm4UFa9jUYnq4ivdxCc2g/zAMdGIACbWLxcltzi5WyQGAT0mLEafeP9spftZyr7cruiD+p7XycErFrGYEmdOz4NfhZn7geGKryX3bOLYsqQgZ8NIaRtLDlpzahx5tHc0sp/cYZTQ6aFaGWpPAuZX2c6kZXDJzwgD32vh6uZdj25piC3nCdx6MMq0Uvd8IUoPNdmHNiYfY1iogTtaVD1L7GXzvbcQsnskKVoOX4BRZ78St6T9aEFVgqgSgbiI6F8J/YyKWIia8NlOLqpjlQJBwoBNAiyybgHZZ3TnKWYF+7JdrMqyYxAxcafaxGdd2Pka9zopZPsmetMuUq59BVwHMXKnO72fHF0DnmQ/kOALPVEbwLAm3377t3Oz4x7A4z93HNl7Cm/fVxn/j2kxtOC80RVminQiJjkFyB8AshtXUw+UMGYRLBhdCfG8g5q2EVZks7w6vabScWfsCDAcwE7k1mldYJTdyTHU6HG1xWNexv0/P8bJkDW167VtmUGkQFsCGajp1lFZPejV6c6bzmSKL3iu/6Q6IuX6heQb5h2+TNcfsVSpz46eoc8y0yukiOmAygeah1nJcokKRZRe9cjkyHSsI86xjESuOtt6+Vhtsezg5UlYBxoI3Phe4pZ64NMdBApbOMBl3jFk6A47pkML1qBS6RObtqLYiSbossvvK9qYlKgot7oycF1Mv4qpdrxDpAlkKPRWd5pZy0zqFxvTm2PzpiH9nKSd9JL9fcL+EGQ8XABL10CUk7AxW4nOvZ6P7MLDhrT4C//zgVtGCn0N7ZkWbFzHF109/6KNtT/dtciyEhILu+nbozH2WhqLwwsYxENQJ2YvunFlrNZKPzki9ICoQzQWgnGI2ifB78wWP+BqB6QEPKgs4E+KZoLgIOO94Nhdzr3IzeIoCvAfzMU03LanYb8IVgBJgjMkcRbW2tyN4MhMkeWnIsTjYdK0MXZFuXIv55a8nomiOziU36ZeJYMgq7ShQoFLcW4iaDJk/bQ4SIS+8N8TIktpuvrSafwzLjBZLoP5an7GvIAIffGBaMFUTOejOLGRkmeR/ScqhOGgoTLKTw0OkhhQsOfnNuK/zfa87z7zUN3fyYYm1tFaYtSLvYLJIgdXsph6l9RW71QzB3YNHRQMG3/G6e0FKZGK9XyG/M+5O2esHq4lZcWPZoMynGyu2vmTPHqDvAvth9NfW9fRCIeujKICMIQPi2G7aBp0Qw0wMv+YyGCvXkz05Wh8oqdP7wHc05XwAAzrsf6aC/mQCoYFJ1xkiPjE0XCEfQHmj3jROVlXHMehpUbTtVD1W/GGv2bpTqv3dqIlkhGxUpOyIccriRhYA/Xoi17RjvXiXdlNUSDWOj2NAZzVxzcmjZeS/7thG5Jj9vI= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 909f0e3d-4d6d-45c0-e3c7-08dd6e1e59d3 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:19.4569 (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: HaNbTzkO39ufKw9fp8JeglxLmWDqEEiR9mtnDC7sWzxVOZ0FXizWRj1Jo8cVGI5n/9kZI3+yiRoEAvLgvdvXw/g69Dz1sQOq1cmdUqEanKmLXopcbH0+c7e0CKXkY2b7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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: 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 reg: maxItems: 1 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 interrupt + - description: CRU Statistics data AXI master addr 0 write end interrupt + - description: CRU Video statistics data AXI master addr 0 write end interrupt 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 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 + - 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 From patchwork Fri Mar 28 17:29:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032292 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010041.outbound.protection.outlook.com [52.101.228.41]) (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 D91F81DE3DF; Fri, 28 Mar 2025 17:31:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183092; cv=fail; b=tc6Uvc7eUxUYVJe0bv7/Ouq22NPl98Zqp1G0wE0xVKvGEMynzCtvYWRyQxOA6Ya5YBRMEyeAwGOmxbO9MBTQWJQE5ZyhIix6UAGGHauT8bPfXnhvQD7YduyLstsMgYQ4ZtGhUbiOyKgpocO5j6qX6hrQTc9Ac5ygEEbfVKfSDu4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183092; c=relaxed/simple; bh=66xXUnrKZNA3NU6Ssqm6z65XlrTcnHLH1W3SnVeC/48=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=oXNXIM2fvQMOG4GBK4e9b4T7KeceLi3nQOVxVFrkI3doxHuOH+6Wd4Se19fRw0+fwn29el6CiiEGKeBTB3VrIZU69tDzRJ0Rz0j+twT5fRzlaLaH7BoOoX4Jp0p/b/RkbB9yLLxCqAeX8lPHkq9fjd5RQ1R41xDKJWr95dxx7hI= 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=i3sqpgAt; arc=fail smtp.client-ip=52.101.228.41 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="i3sqpgAt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ypYQp2b4bSJNb82nlQfbQI75Hhv42V0re4ELaaD8i99pNRMB3D1I2lpoOH+BQMcfGea0bnu579ae3+npMxFiMFi2qBep+k1PTJbPbGjyW5ltDwejPGVdZCzHZ3edqAtIEUrOrzRrOQpkbrIO5j7yxM1hCrbrcoJJ9oikHPu3frj8FhEdCeq0PNwU4eEFFKvdRvpShUZ/c8IisBKNNI0XElLzF5kJrw7LN9Fq6aNU/wXXaQuN6ufTIv5OjAc/1uDgFbzZ2f3U9tcOr29iCiPYJEOKmIPvbb7cpkvpH/sUmkBoGpRlNVj8QgJ4NImgqkxtzzs46nyFxj1cpRXEizyMbQ== 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=VyUBfa666zFHgp6hj6sTsLtEdzA0iRrxvaAa7Lv5BbCAjr05XYiiIQngF+jXOHwWVbOl+ToW6OAciF2UN9iXVJju7tma4GZzUAL9tUpUky3SBrAqPXWb/OQJpZZ38CkFRPIiwHTYBmpueWbsHk/51vJ+4Oyyo6+Vrda0HEUMh85TyMwkGttZMPHvLRlxInNV9KKLWH1LCuw8DUwZMNd7jNJsxajr8PTcVJyNthuJgTsySH7r1Rc4ZU2PNQDlfTPpKdvhbRxjfEz8GSR+uSZivXZeoPj044QB8JGm+OWZPBj57iH1JBAt1q/bUSYrLKvBkYzqcgu9WMhqvwP47emjSQ== 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=i3sqpgAtHlRxoESH4IXJxX9MbqTkAKba0cWdwuzj7TN2NCTJDpWDZUpoI7hlSWeWIwzjCttXinOQYcf3DkY1gAl7Zjv8iKvo3yUuNUWSpaKxe2s84PKNmUOwuOvVJk/e/KIClMF8ci7n+CgY4laoL1FJJSeFrtDX4O08TdNTCsA= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:27 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31:27 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, 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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 04/17] media: rzg2l-cru: csi2: Use local variable for struct device in rzg2l_csi2_probe() Date: Fri, 28 Mar 2025 18:29:40 +0100 Message-ID: <20250328173032.423322-5-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: d0a84845-14a3-4cde-47eb-08dd6e1e5eae 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: VQ6ZAgJeHME4CbeBIYSX+MbwHz+321Ks+LNoY9b1R2i7wjwWJzTj0Uv/osjYW8gCd4k5iRli30Ksw4Eill2Qvsexp1VSD72GltVAGgX3CyshxVs57KuKtyx4tVAs37em6STSGSTzPafO1t1NXHd24R0mG4gGcq4bhBPikqWWWpxBviaT5JZ8wDMMQh7dMIHVJty1gWa9hlEZ4lX+NaJJRi6ad5GMK5RRe0Xbu4qTnqwJUB2XjOPsKbWNQPoaHApJPpxaoAiRqYAr1LR783Xff1yi+vswj+CFyrmdaJc5RnuNv4DhUs8xXDpm4QNLitoWvo4y2AT++qX3F8P4/vV3xgfEtmvQJhr/e4WTVIKrbe6hCmLq/EB4rMpCFDWy08OjNuIEjtNo/HW5PsYryFBMg5DPWbZTsRzjlscX5veEBQoE0PoFSp8W24NpdAKSgKlb4UdS8Rtsu50s1UrZKeZxXXlfui0/yyxxm7ieMyTIkxHZvMp5Jfjm6VhaOlBQVHU8kSZDiGAW/tTD0PMqkY0bfkP9KxitupphULUm9wvWmrCoN2xstceC/+9HCuSiwqxtRrUVAZkk21jHeLVm0Uv3yjeKYibsUr/TayQP/3CinKu3UFqMOqqfIbplp4x4fWjcJRgxdnDG1h7sK3UvO0b7YtFa0tnTQoWhdP5inrYNOTYLY6DjBfLwuXthasqwmrFP99bw92RrKekyy1Sd6GDHzzz+LbcLcTp4+K4WAUhkaB0Pa/Wq+NlvgOhi50pKnWEkrVTIyoVZZ6BwIXB8tS87oyCfxpYRKRknKryRQ0lHyuvLas+wi0QQGMd/KPJNlcgj9SwzWO1hYJKGhFi3UdtkNva5VujasDy1nKxVin6SobAuKoV/8jWGSZa0MTOVbomot4GTlM5z9xGCZKp7ROzcC5tqdgpe9Wb5ViaTjqFqz7CgkcMDUcHQDcV734PsA61rTUrSWnIBDo5N7dQhNk/5sW5Rlm4W8wPCSZlYAavTWM92X3FdgthkGzDiJ7q/APGyk5j/kbVud9Gz6ATdI/xoc4oFXAXkYPw3ijQzBUcGqzQ4wUbpR7fJeFCHejPrFBngY1Ip5TRe2AuQoR6Sob/eF39AmSquP1dLu/EctJM1vQGOrsvGfX8gGMWgVaIY7zjVWuihfZbzivdHcDH/WCCjaNQE+CL4vdvKBGI4dzx2KB1KcUqq5VKjqyfD2HosEsO789/nNODkN2Ehi7+mqfL7kH5XLBPgorm6559HZwfoRveqZDXwcnGd0QpzFKgKqze4rp7nLmp4IV66k/TnVmDzQ3FOS3+fIfzg3ca+tCgkhuZEa3OTlL1N3p5D+/zJ7VghES3KZHgJoikfDQwxUkY54srs/lLuXzp4zE80+gxCdD4K0NXKvWTLBbfomQpvRGcD+rej1P8RAHbmevnuIHcXXoa8jmLE3Uhjm8KwCNYSxeI2nPjCwm+UFHvouAUrlzy6kwypsANtTP60LuiYtfC6ug== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fYeDGoEMeDkZuPrftIUMEeFlfS2M3Oppm0tiJw9tg02e4CTc6q7LH8wdxlZULdDs02Er7+0gdI5wYjs0nbZ2irtCcxv7tx0HFJivZhizAJ3lHOZidhYSjiFRUZ9dkV2spa7P09HuJIeESKKOUBDhpkefrsjD87zYqp68RyEy5c0erLd4KF7dmxfIf/UkA4c/DzfQ3RLuGC9/+0SQ2mmtiabrOdllWJ79pdzyQOxfacXDBFlUqAsmHmOyr42ucOxWQUqlP8gJRd9JyMAHuDsz78FNFTinauO1m8W7E+6JezizJzXzyACL3h/H4nbDBOcR25br2XoXvz8awkrnPVHzz5KOFRC+66in6Mu5w1iw6l5F/JUIkjJZjfHPrPPfhaGNgjFwkpTgpk7PbVG8lJ5UXn0ldI4+BVsTOEdwTX9nUXnap5TlN3RMCqTf7D8QdqbKuAuUVwph9qBrpEelyvgl78SYdn62b/FeMSW0l8VeS+P9cBYFhxXjziuJKjxCAAn7Y7wzJ9VBaoOIZE7pgqfG6HGKi+YjV7iisAwLB8c+53J6TBNSVTveJ/aliBUqPon1HHpszWNDG1Bto1qXQH1FGt1NUUt3mURc3n3aiX40xUtjuXV6Rdb86DblKZbDacgCmMIFDdAEeWOm5FERMVZ3oiJc9O/GneVVXhNaV7V/5+9BIVENOzhO3FMGcrotLHhDRz0qX5dH1YErQV+zv1j4ORR7O9KcnGRB4d8IDt5p1EFo3CXJQQvhSSxkj5s02dB4abLwvLE86pL782PN3qNlmlKRvkUrywII3Hs9jTLNuF10L9s8DuLd8jzNPW1tlOoKCARFYvtB8/O7MTrIkFcm6aSWcue8w8natrraoJsaFDjd1rc03k6cL3g1NKK5Gz+GskVsL1mBqa9hxWbjUfBsbXUZPVoD0YnfjLbdUeRzdEOiTGlT7xW3CGzff2C6OOMJTEvYFmbGevFu+4cmDvw9b0DuEkxyslW8fknZ+LOR7CxwFkZOoor+62fsjcNeTtRBz68FOUetXKxa+UUpo74ybDtImTNtjCA5TdT79I3VCuLrfbKpKZl148ixf5gju+03fyNV6vVUx7+lfQh5asydcA9si+GAQ2fEVqKN+z2MHpBPBo0KuyWROo10zprVfCk9GLYdiMZ2iPK6cWA+m2epfeCwNRdvtmkn9cke5/pRhPBIWba2MjcydALqBbbnVAB4sd/TKU/JDdeKAHhDakvcIr8d6QqquAQVvLvZJ7N1O3BpbT0y5wFRkNPu/nEgWkqcu2aZXSkrjsx9p8TCCC9zb+yHCVfNvdR6Mmp/WxSAmNaj1OVUOb7jOl0zSu4AacIjv1FjBEzs2HqQ932Mga6lqeWjn+E/I/Am+fZ5ZuEvChp1yw0d/AIOSTIlZ0QJV3HrmNBITnroJYP+O4HvGDikLHfP7BGoILLfP56sEGOL3cWvamxB3qTHnKRy6pATODUz3G9fgP4xUpdsoMBmDPGX8pslnSKLfTrVE8lsvxGWLTTAjyDAvxGIF+52d6GhaJDjOv+ZA2me2ohxnrOI4F5fm4tn5xdIZT8fB1B9YWpbh7F4XKqHPax5OFEgHwzdrbFN3CTSVpGnt1y8T2DzmoAzEfgRqtjSbVxI9xnNa3bkLOc= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0a84845-14a3-4cde-47eb-08dd6e1e5eae X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:27.6210 (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: Qy5uBPqFB9OH3I4k5WkFNqVkTd9u15IUEwIqsjPOJh1mIVy1sMQag24Z9PcsOR+4TQP7EqF2HraSoe9gdbiKuP5TiHOGGZv5/9ZNGOlElsPYtZQpM16oSJ8mqCrVSkDM X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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_csi2_entity_ops = { static int rzg2l_csi2_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; struct rzg2l_csi2 *csi2; int ret; - csi2 = devm_kzalloc(&pdev->dev, sizeof(*csi2), GFP_KERNEL); + csi2 = devm_kzalloc(dev, sizeof(*csi2), GFP_KERNEL); if (!csi2) return -ENOMEM; @@ -775,28 +776,28 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) if (IS_ERR(csi2->base)) return PTR_ERR(csi2->base); - csi2->cmn_rstb = devm_reset_control_get_exclusive(&pdev->dev, "cmn-rstb"); + csi2->cmn_rstb = 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"); - csi2->presetn = devm_reset_control_get_shared(&pdev->dev, "presetn"); + csi2->presetn = 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"); - csi2->sysclk = devm_clk_get(&pdev->dev, "system"); + csi2->sysclk = 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"); - csi2->vclk = devm_clk_get(&pdev->dev, "video"); + csi2->vclk = 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 = clk_get_rate(csi2->vclk); - csi2->dev = &pdev->dev; + csi2->dev = dev; platform_set_drvdata(pdev, csi2); @@ -804,18 +805,18 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) if (ret) return ret; - pm_runtime_enable(&pdev->dev); + pm_runtime_enable(dev); ret = rzg2l_validate_csi2_lanes(csi2); if (ret) goto error_pm; - csi2->subdev.dev = &pdev->dev; + csi2->subdev.dev = dev; v4l2_subdev_init(&csi2->subdev, &rzg2l_csi2_subdev_ops); csi2->subdev.internal_ops = &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 = V4L2_SUBDEV_FL_HAS_DEVNODE; csi2->subdev.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE; @@ -852,7 +853,7 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) v4l2_async_nf_cleanup(&csi2->notifier); media_entity_cleanup(&csi2->subdev.entity); error_pm: - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); return ret; } From patchwork Fri Mar 28 17:29:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032293 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010028.outbound.protection.outlook.com [52.101.229.28]) (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 8651F1DE88D; Fri, 28 Mar 2025 17:31:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183099; cv=fail; b=ANclvpUzBXByvBHT39Tcu3f/UxTncCB/o8EkQkhElZpkJYWWIt8reJfSzPI3dmmgSkseJwNNKBR4KB3JuhKdDS4Y3dN42Te3gXbLXoz0mi3UtTtk6PX5Ftdw0TV7cyTM4AMrx2N7EwKTlE/yTehNnrlUaV3EDmNsDh8069IjiXw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183099; c=relaxed/simple; bh=5lU1IvTR+ixEA6Izj8BDp2/LBTXT2y5oWx7TE4PSwZc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=lRbjp3N8gYQwvNYcaOqWASLU/FSGTSHqB8S4UGpKFyZqO7qlzp5rCFuOUQuU6ZyJIUY3yicwjnlXOMruQuEmMo6KDmLNuTKzDxaBCj3ac2aqyYoAR0pwtvIocwCEmNHRnWAtYWxlYD3Mrz3T48wTrfpTyhSmyLWfbxFm9LvkjaY= 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=BgxG4zv+; arc=fail smtp.client-ip=52.101.229.28 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="BgxG4zv+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vLmVzJYYKFD4X6/U/yQQ3koUE/Ng+l1Ryf5IFYkPfZU7P4133RGifpCW6wG69V0++BD0U1CiQxnTY68A0sbyX9oe1JPo3NxUcP81WQc7hL+kxWR9uEp0QAzrnwUWWAdzbPbuDD4BqcrW3xehZr0q6KNUG/lqQrbEwFQNNGgoBtNvnAvqwTFRIggnBzFUz+SL+uAUyTkWRksPiBwrEefKPpz+F8ACup1WjquoeOUlVGyVr+2BDhwF9kiVC5dWdL6FKr3yRbdUQzPyfNvETvt7MBS99uYaG56mfnQYSAJcfweW6lJPNTTDhhg5NcmHqql+BsD5e6FDEQ+6rpOhOOvRdg== 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=XgPSx6cMJ+ekviL9eW2eiAHKb6C/5/dQzYr4uaU+nUxDQF+EWqwZNR3OUDialddujMXoCcCn0kartvi9kyVAIsU0TnbtixoEPZ4nFa84H9HdEfACpu06Jx7JqpsnKU0WAEa9TfauBUX02ODUbm6AObB7+HKVeOpPovHPjAj3DU679b9MkgrZYmiTHD67xuHBVfsbyHWeLeahBP+jOIXjLFk2TFgaqFGKcuHvyxmFnx1Z2/7AHorYNQ7vyI5w9vQfjiA5YnzPdilUm3pbUM0wJAtSIHWu4/3TLiKWKs6m2KC3OBHXbWJ3u/FNWh1889/v1kY0Nzz7F7kGlpLsts6tCw== 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=BgxG4zv+lpc0DTKpPuJgLasUGwWreK5CJFa7gzwNoKAwDJhgH3gil8YE6zO0mlt5i+oys5U5g+8SCjsC8RO9zaEyX3c56h5x3hIuDjtI8lPlfu4hsJO/lh3YZVI1UIQMw9ukqq9OlWuX9T6Whas4+Ah2agFFKZfIoyjwahghDV0= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:35 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31:35 +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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 05/17] media: rzg2l-cru: csi2: Use devm_pm_runtime_enable() Date: Fri, 28 Mar 2025 18:29:41 +0100 Message-ID: <20250328173032.423322-6-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: b4d0e1ea-05b7-4339-73ca-08dd6e1e635f 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: nQsbSqHeuOdi5i7fI/rAIP4fJv60T9Mpfksmdd+6psZfZyIVhgf82Hccr0MEvix7SgyXQcXS26MdrTJo2SPZe43yuCgkuEiqsszXFOEkTIIKLDjG6zsQOeFL6UWU8x5YGca94I5hA9z+zuoT6hbOHQFsgC5u0Jmf7aoo2GXbsHkHigRDqMx4jfOwrPqoilssxBhdsh3HwXq3P6/ZrkJYE8MUzfaohc4zE5R36vND4/yQASkJoHnUyou/NAdBKEuqZYp4CiZXI7DPJs21W9Y29D895tw+t9AUuMJUe1ewEph2bBAOMznCMZCy70N0Tw/u7v/AavLXpZTleg4U9TJuBuvyX0HM+BM/w3FE2d0aIHSiBMFr130JJr5A+17pHu28cqjhvw0g7N7tB2Fproa4eTtFRQegkwl7h3qTvnP0AFqeEuA7PwYzKWzsu6mCuoVnussN6rDXu+Tz9HhDr2YeBbf6zFojetx5xo9fl9W5mxYNhjPI09zao0xpzNa7ZX10boHPPKXk/bSdGf85mtdp8FzdqR3XrfBpA02rD3NPRtOFwFIcxsMxia6+jcyD2Ji0llaZvt4Rzlm8Ue3fHznVFCODQDGSLlWUiU18V2taJxwJ7zjyK3Wdsi4IIPBdInKsEHE8bwgiJ7lkJ3Zno2dXZwc3H5HO1a7/y22n3x9+LmVq/DA9XrJ3kMjGWsMPVAHlSVz5O3PvYQoP3etrn+vafG722kq8Utnr3NSmrvPWVF8vbf7igOapTSAcThqsE2+iiP6m8tfzSnj8oVSjwmoG5bNLDfb5ijewkqgT+wC0MgCGkxaqhfNYBZ/84YcAYcLZRv/A1rDLluehyz/spKK6GoXc/huYFm17WyheBMikfuft0+ReL9s48HQXhRgqWb+z62e9lzFv6p3oz6qd8anv7InKKDPFHgLGBfnkJU22MYqGP371HRKeM1Nnjh4QqGmVT7amvMWNK20sxtl31QfRWahB30i2RYoivcv1ToocNBat66Ly55UYqcCwXY76llSCldKlS4zQXxUPfeYKCWmwpgk6ptUrTTozVolzSiDdE9fjRkP6x7GSriYXpvgYRt3SMusQTc9N5Qaer7d+zyp8IVviSrfGg62rnufQ1zQY27WvXeMER+5dR8aGJJxCjPX+VtADV6uT+PhmkLcK6XKnUCp7ku5pWJiXLS8Yr5NHOc9qRuRD3bQWlXR8B8LiDr4i7wO7P5Aotp1tI+Z3hSdW3ONQ6qWFl/bQoAe5qYSrRKe+SVRGZ/0e+FUVx7ZJRn2qzXHVclk5LkXzsZOXQoe3GsYShxQMREYJxuAosIhozJ9k7ZNS0K/Um95fGjJpRLmHDL3LroUL710O1pkQ5tG9W9Vw6jXxDms4hayapzosUoL6QD6TwQCUQGZh9dpMsKU8pVOCJmj9BSw20NCLNGS8S1knCrGlyL/tEez+OoRPi876XKaf6qm38HJEyYejxligwnUVAptHTMgcm83wO85Mwg== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gCP4TlnD4U8PtRpUZMtmRlPMviFz8jG/ziLSao0i2EiLW4H43VPzce/LyBC1YqBJ5nn6bpjaoZ198Oumhff8/Z8FQrvXso+etXxvGz7gGR/3iK+tMuZccSTfhF40mue2L/UHBfyNvIvAH/H6ClHbWqedtnF43hngAEVL/KQFyyAmCXic3UnnQMzh9j0WHtxVB10TuNGtoD93ieLdQaHotjrnsD6JHE3MSt8300715rPqGD8oWqfs29ViCW5BuboblZaKHzbDVS89qlPuIsGS2OeD28HZipD0HoY1OyHPmB1FkehzmByJQzynWSspf95iCSrAs5KJmyNREEWxsIOqc6cVqqz89LYRLsfgPyMMVUZbT95WV5ASrxFDLTn5hvSeNChp2LywKJ9cg1+44ypbdT0xqVnOiT4C2HPOSC/6zIhT9+sIrLJcxNH+YIdNtG1tRUihr15KHY8tT1qkvhgC/SzgJ+WMG4tFpP//+BBurPpjRwNVJ8sQ0WQQKoHCfIGkHvW540/H6JNN4u29MwrZ/bt9C9Hs1v6Zf7w7bs4y5NOyYHQhf/tNFv8lU6LzDY3AjgV11JKELwKcAXsgXeAZKZTnWWHArX0P7BQnXDRm+qQKoNjqlOinO+zHJjlRmM0Q+JZpNlUDhyknCbuQOq4Vcru0S8S59uLrf/LlJDzuvDxTJifBxkwV12W6xIHa3fr9Rbe+xnKS68Njm0MRKdyQuouP0N23p2bS+lKWhBUIISdZAHnMjzfKZOKMZlOmPDV078yk1Kg/j7jSJ261ZHNA4Q5Zo3AzKsRAsBbjUIQn9B9vP8jKDeQfTxKrBYGwV/zdZE4ZktfcIgbPIuJmm0xZ1O1nC1ZyZfXR5T8eUhVJA45J7UvSScePdYPaHcUdJsZaBlSHWTp5KdOSiXth1zmRp1iX1ca1PRdo4WoXf89LUEVibGzW4vyQ0EMF2mukyZ0Ii0WjXcH/rfi7+CyhAj406Q+fbvzdIFnYc7thdYgRyKUKA0KzQM+4PjtzK2UNHpQxokv2OLpSjpjg7kvItU/E7EjqtCQ0bKxHP/ZU3OrXAc2CBM0bat7RxqSEM+Qp1mXzC/kJixcgUjGNfeF0Wc3797dqkXv+arQnBbKtqzxCNHmY8vf/je4wiS3OAYPYwNRNIbhONEVi4frb7FcAqxHn+G+yZwWCbvpkVpypXidHFutxd4XC8TzFoaUGS3P4lmiwH3ZgU9lpFyxLeCN+l/JSmq7VIZudeXwHEif+T2iNR1JiXUXopRbO3v2c2a+ZmOdoB6+2Tt6da5o1mV/vSpZRt3LEEJyYo/nnSUf0c0SBxWbpRWK3kmXJpooGTByDZkBqmM5wJsDoGeZsqYxdGi0bSdrUMRG7hmyNrC4t8PMcP4Zt8Os8vX10aBfQmGjTvH3cTdSc8eba3d1azJ9rlvZh1qON8XZ4sJ75ahvsLEMDD4aXlg+zQq5FnTpAWiP21Ba0swZAr58dNvicqRoDP5zWWUxUKv58ScJcmRsljqDl2+7z+PaSAILpOyRXyXpMup6dFk5kIAghW2qsuKZWaV4r4HtIUHBATcbG+njCtm4OCVm3mtTiw/yFVFZ2LtKOVk1meO9cwGSeLX8/OiICoKclLFQE50ETvOunpwQdwqq7ZIo= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: b4d0e1ea-05b7-4339-73ca-08dd6e1e635f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:35.4764 (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: 7Qq7ndaUmST4R3TPWmZKmpzX8y5777i3rE+bFeGgaGsemweza+8D3ioWQ41SA9RRUDo5bUQZUlKXKidm4xpsuUAb9G26Oa14HZ6WP4zA/Ibk+5n8NAnoeZF3Sfy0qe9W X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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 *pdev) if (ret) return ret; - pm_runtime_enable(dev); + ret = devm_pm_runtime_enable(dev); + if (ret) + return ret; ret = rzg2l_validate_csi2_lanes(csi2); if (ret) - goto error_pm; + return ret; csi2->subdev.dev = dev; v4l2_subdev_init(&csi2->subdev, &rzg2l_csi2_subdev_ops); @@ -834,7 +836,7 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) ret = media_entity_pads_init(&csi2->subdev.entity, ARRAY_SIZE(csi2->pads), csi2->pads); if (ret) - goto error_pm; + return ret; ret = v4l2_subdev_init_finalize(&csi2->subdev); if (ret < 0) @@ -852,8 +854,6 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) v4l2_async_nf_unregister(&csi2->notifier); v4l2_async_nf_cleanup(&csi2->notifier); media_entity_cleanup(&csi2->subdev.entity); -error_pm: - pm_runtime_disable(dev); return ret; } @@ -867,7 +867,6 @@ static void rzg2l_csi2_remove(struct platform_device *pdev) v4l2_async_unregister_subdev(&csi2->subdev); v4l2_subdev_cleanup(&csi2->subdev); media_entity_cleanup(&csi2->subdev.entity); - pm_runtime_disable(&pdev->dev); } static int rzg2l_csi2_pm_runtime_suspend(struct device *dev) From patchwork Fri Mar 28 17:29:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032294 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010062.outbound.protection.outlook.com [52.101.229.62]) (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 B932E1DE88D; Fri, 28 Mar 2025 17:31:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.62 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183107; cv=fail; b=QFb96gcNOw5INSbyXlTz1Z3vXV/lA4Qji+xIZfIbNVzJGkT8WfCWok0XRD/EV2sylOKLKch5H/BzVB3WdGYIYF3aFBLB8Ihotwnd0W78OZWSFvspySaeH66/ZwmDa3ZqkmL4t/DIEryj8S7IYTr+IBxGYLX09IpceRPCpTiF72s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183107; 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=CsDWovvfkap8N2djyFy3Oz73xOhNI1ziB0Oaj2Y867K/tWSVkpWuUBCwfbNUCtQ0oLhPQySGE96l5r9IJkeuNzufUwpFxWbGfMhYQ2utWPrh/3ZZfM1TlhUd7ySgWdHrBYKHZCsQ/2KKF6hGGIqZ2fFGAGwcEV0v55w2nugOO14= 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=MDK2n6oR; arc=fail smtp.client-ip=52.101.229.62 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="MDK2n6oR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g1yoVogilgb58Px7CyJCutkhDpg/H/4WaC8mPvIVyhrWEz5mML1qwtKDxLDAvuoKaJabLVRqePRB6/lbKcqLfRuq5XY2miVtFiaP5DXqy4nDHgkhsjoMr8PIQ+uBWkoSVY9w244IFN8rY/XbzEKDfb6jcZ2or4RGLwxGXnIc1SSIDAuH2v/uMAR1SDEe9NzWy5TFCEXZSx6jGBQCFdaHj4rIWfdIW/GDBC/qAdocK24IQRTrZt/6P+l3IKOSq19FvByliP8K7Xum/GirixETwo7ohhFLgiwN6ENlWri/UgxwAUrqpnKlVGFF2JDowpPx3Xu6vOgBKrvB1WyntyNyFA== 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=sa1nKXVA6b/xw88RSwz5YiczKcq64XcokEzyrxzpGymAWUvU4qiKdXA+JhFW8frMO/hOzB+ThIePQBAKyasAemD7TIUvCQ7DsoYktC/dvoQoGCmN/dp5AqXL4u9mlDS2uOUdw+xUf49vB/C9YLLTju18nDygNAzUZs4ucCdAZIraHhDuXUjWRo3PUzIoDUGlndddWk9q+nl8t3agj0P+cZ7kW9iIL1eqiqiBz9Mw6YpnvHB3NYXSf66/lX/MykNAadV9Poq1b0Qg/l6pl9Iq338BHvB8giwRWsjJd+80ml4AoQJrBb9BoB6o7RoxKzyVHaldqky0zRIETPM7YKf85Q== 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=MDK2n6oR4ytDuPTOfrGULy6f/lGWcdqP9mGCpGIsZjs4GvPu9ZGEgRJEn6lo5XyP5iQtK6esf3k4PArcVxiH2PoSAGURaLHViJ0BIere/iN+JOU0gGoKFtZ2hVeUDJVoMzQk7rDNUyPYirxKS7f6gqdgOfDXpZSHUmpgAYlrB2w= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:43 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31: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, 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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 06/17] media: rzg2l-cru: rzg2l-core: Use local variable for struct device in rzg2l_cru_probe() Date: Fri, 28 Mar 2025 18:29:42 +0100 Message-ID: <20250328173032.423322-7-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 89dbc642-4098-4e2a-e810-08dd6e1e6851 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: wJXKh2RaP1fMaBI6Pj2SFXKqYZsVf7RfRhr9X+KaleJpX8z/Q45j/kUvepYqRhndTo1AuDxQuv+m0sTra6fbpxxZun7wzMjiynxR6jySe3QEBxXpBAUpTzZABchYvR/F790Vrqq4sPSIW/sWjRatyir/JR5bLGRCU9zIK550kNQqACwUP40WvE2cw93KfxMc324Q7uB/sUletz9Z533tfxt37MJcGJ/vEmArYqaGhnb+t/p9Ob2DCaaRDxI0te2PeXEPmL8sNVQ/RGrCmJUKOx2m19zG+dfE2/vjfsdUiSEGYm4JNCkpd5NrBXt9Ta6jWZ8RoszP/XMJL3tX9qwX0jHxQYYwO6trS+4ft1yKVlOOS3R2+VMnuQzyur307foT9U4DALac0NF0EFyuJR58O/294utlzqcDhAgRJF7MEeUSf2mj5q98riF+x1+i4tHGtndlr/TYZw39MaZxzJrRUcyrqy/pxT4DzOv0ylF8tm+sKk5ft9jAN9YuIx2K9roIETBXi3Hj9fvSKlNPA/+NBYct/SOM3k1kKa+PPF+KrppWF3mE5gCdNbL6iRQr/J87jQ4+8gqJ2yagGw3kjW+5BlxAzYqKSynyzvQrcu76fi3y77w5q9H6BPPcuIyz1qc9kU95sX8Mb5md+yeC0NVzbRiNqxNVqntV0qX0xzDE+SKu1PMFy8jdkUg5AOnTNiU9H5DEsQmE4Hjad2/pkk6FuOjy9G+yaRu2lC2NUR7FhMrgIMHCiE70YlJUR+Ap3I3Ujr7qWvcZl/cNhsTuEoHEky/t12sz18+NuIybfAUqC/eZ3iFKO8/zYBdxuhpedVHmG7GExkiA1qSgCSGaLm3M5z73nQjvI5z/kN2xokMoEAtpMaivxoZZ/CMQf9ztzW0cl43OlVCFfbt41SzymHsVm+jUSIGjWuJgGjg1RrZM7cGKK7zBJ5oLKjBKrT/EA1YGnTh+r/NHm6HJw/dQc/RHvYBnNLZEMTmfh/PxaUMNn3mFFMFTQX+ZsCxLG0+aOGewNtNBBuPOMj74fuUDw2uFpIS4oFfTalc18YwHCRUljtyjXtcSYyV669u080x5ekx26Yl22UJqEgy0E2juPBJgJoV0dJPVgDHlMXiLvp8zA6zHS2jAir9PtZg8X1h1BJydSgEs1XrvKQu+PirBuEyHe6jduefVcMfHQHq3B+0fAPr/IPkLO1X6UGMQflN2MbEy9s+AM0FhAXoVP9dlV595HWa/XrJ7dhSFWm2qUsUefZ2/2MX81FZa0o1Xge82dKtW/J8qRppI8i3V/15C9qX2QUFJ4UFuANYu8ukkopyuQLIHBUiGE71vCJRuFqTIu7Ks8ypn6d5O+jkJfuYU0WoQ5BIpcpWbwCoL3iKWtPEjmsVf+1vJ3ShnLW9JcFJv4+l1d14JoZU+5d3/f+yKJwcwHK1hhkfmKQsqLwB8es1K5WPr6yMkohaObjX8lfzXPqomvKAa8zNUBisKkDcwWG+pjA== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3ezsX+CuvTd1kZz1S6B70XQJX2cGWaKKEcmAmn+XisV7hyxBjfUn7gPdVQeaCxg3g/yeDsYTZGO5QBirCayvE/BgeKPSkNqOcdIDpxGfM9Ht+0/bnsDanisU/bm207YHpXV7iVBwfFDz5w2srMq/X5pHd4ZGVb0798zBeZyns870h2njqSJK2cnYJhZ+lMFjPG4Zfk5PLi76gtZ50TNI626OoImXRn7PKU1XoHoygol9LLu7KkqJD5RAeiWCW0HyjopDp/aUpD0CrFjdpRJun1H8Ie6C5odqEGGePyYpj1LNjf/bHbCd4Z4ZbbCqB3Lt4kGnKwgNvfgiL+XCmYvMkIOxfw+OAANeR1mdMnStPuNA6iOijoCgL9ui6RT0DknrGGlVJMFjD2fZUcmbqgQtjFmlBOUhk4hQRrIdTbeuWOMHPGKaOtT9oZIr/yQu+EGIcTufdv5S+Y1skVD7UW83Y+rGu44X6azbYPEQNyL0ffVo8n8e9rUjCJUbUjAJg5ejB+gpnZBtgRdNX4jSXF0WH+VefRH84msKJ7sztSfu8rte7aI2qMY+5uiAOfLFQUSNsukcKEpAhTmfJDFsLTelnhEzhM+VglFCBq0WRHP4aNmh3TRMKTB4oqVqCEx1Qufl5Yb7CXXmTSi7DLzzFOQLloJWYqwSYDRw1V5YM7cI+PddwjCKyRdhQtEG0JVre4bFitAXtz6GFoag+74pzeL1O2QEtKxZzVeBXZf6hIJiy4SmmBOQ1z3lRfsxbdUJakUwz8f5u1a//hWYebxAnYCKjh3NCKt1CstXyIEMy6sqK0Gm/QoEKRPvlYgNSD6Bv2NBRiwa5OIxVQJ9C+U7tbNVT7aBBNz+4ePPcDnvNQQ8nWTAj5I7qqiJMOnwtdlv4fAkGy5wb79dZdVGo4942ipHANk+3TdTVZM1NIIPfNwoIK5e4lvzwFPnN1nfs0Ar80v3dzPWuulnx/goszj0/i9k/xPX9d4uX44TYe11o76wPNcYdLKxD2/kH52MRYyi6H88wQhrKD6pyK6DrH/X3sIsY7pRmWkr4N4x4FBv1JOhHCrRnUQGDT66nhd0Uhd5t/V2NIGhRcJrA/1GueqsFZWt005GHcD7GpFx+GmYcietD1BrFy/BHKJTJHrdauw8Pwk2Yfoxn1nfSjhnUPZLntzqPbxPvnyBUeg/0e4GwFXBCigjIG+pY3N7zegv8F64nT6PGCa/gbTUognh0oOZ1bKelScaMwbRdD7dy1k4aAsnm1oFDHszqIGotG/BObeP6zHRVFVJqAz+8FY7GMVE9pc29H57qsD/C6LcLMVGnuIb4fq0ClEhrC0vAiVxwd/Z8k6Fw5ZUUSlcLNEa/0FyI3dr3ikoYNJQ5OtPDpSbEe9uk4c6y4StU1DDfRlZEz3J/c9gYAklCoCRFksf9gUBr/YFKGH1TE/JdikPFXm1A46VKgKsQmNYypoKQyFewTS4W/b+5KDVMjUYfEGbZGP01sRIZbhAQ1Ks8LAp3aTSlqVcgL/N12ZjVAopax6DyOu18t8o0xhT0AF1J78oT8StZSPzko0ID3rrPapDsPsdctLWZUjBSX1n3Mtlp8z2kr8/C+z28n/3SbPyWvcKmgO9yRgV/0iMBhUYHDWXParUwwKC5og= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89dbc642-4098-4e2a-e810-08dd6e1e6851 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:43.5491 (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: fycB4yP5IewikN73YUxON0GcmgzpZSBlHmGyvTcD44zDN574HT0pqHPhLqnmUnBdCDKqUJxvXLxHl0njABgbHMZ1CvX9LByYRqp9LOtPPVp7Uu3fr0Qqj+d0kW6mKB/B X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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) static int rzg2l_cru_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; struct rzg2l_cru_dev *cru; int irq, ret; - cru = devm_kzalloc(&pdev->dev, sizeof(*cru), GFP_KERNEL); + cru = devm_kzalloc(dev, sizeof(*cru), GFP_KERNEL); if (!cru) return -ENOMEM; @@ -251,32 +252,32 @@ static int rzg2l_cru_probe(struct platform_device *pdev) if (IS_ERR(cru->base)) return PTR_ERR(cru->base); - cru->presetn = devm_reset_control_get_shared(&pdev->dev, "presetn"); + cru->presetn = 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"); - cru->aresetn = devm_reset_control_get_exclusive(&pdev->dev, "aresetn"); + cru->aresetn = 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"); - cru->vclk = devm_clk_get(&pdev->dev, "video"); + cru->vclk = 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"); - cru->dev = &pdev->dev; - cru->info = of_device_get_match_data(&pdev->dev); + cru->dev = dev; + cru->info = of_device_get_match_data(dev); irq = platform_get_irq(pdev, 0); if (irq < 0) return irq; - ret = devm_request_irq(&pdev->dev, irq, rzg2l_cru_irq, 0, + ret = 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"); platform_set_drvdata(pdev, cru); @@ -285,8 +286,8 @@ static int rzg2l_cru_probe(struct platform_device *pdev) return ret; cru->num_buf = 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); ret = rzg2l_cru_media_init(cru); if (ret) @@ -296,7 +297,7 @@ static int rzg2l_cru_probe(struct platform_device *pdev) error_dma_unregister: rzg2l_cru_dma_unregister(cru); - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); return ret; } From patchwork Fri Mar 28 17:29:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032295 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011054.outbound.protection.outlook.com [52.101.125.54]) (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 A88B21DE88D; Fri, 28 Mar 2025 17:31:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183115; cv=fail; b=fMN5zXFoww7qE1HJKMHmGzNN3Bz5O/6Te427L9ZxG5HXutZLZ9RWl8CsmWKV/UUkJZvKEAgpp7xE5Co9RYArZoi7HTKJtd6B9yZiSdkB+FT+1O5oBa925lZ6IAvbcGfoQdR1Ynq5/NfdOMo+Xtd6brExaIzBJ04GApfXc1bQrtk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183115; c=relaxed/simple; bh=gk2f5O3tX4SENV+cB0k7xa34lZ1ZnngCnzzMe/PyGo8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=T3Dul3tIx17CVtROWrbVMTsHpzzWICLLv58O7MovDyhl05QlKyCuHpGRwo6ErjwYiR/2D3Iy+2Ar8SFItmZ2ngPN+0CUFIJff9g5n49Q5qf2J3Kd2mY4v+53VM6Ai7l/RY/UXxJMMl05/ur5BRK5wtAymsaXbDdMGQ7yp4CXPYA= 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=IUOItRVa; arc=fail smtp.client-ip=52.101.125.54 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="IUOItRVa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wisct7MLp9rE8B0sAQFGjrpLxpI2EOG4bagkDTvbF1CJ/IhfOWCQZGy/nojVWywkRk7kC3ZK+ZCt49oEryYprjovOyMZln7ehwbsxD9x/85gUwxSIcPKoyaQqrZwQ3DkWnvdn9HNHx218N/88ftKZf+StrnQD6tGez1W4aKH7au+BkpDdfVJpmc6RNBN89GF5/GvBX8p/42JTIJmjB8BaFEvMAVOe2MDj0UEEf2dov6muLmrIMKLLOCATJuxKNaJT3ytvXnUrJYjH9gsQCsiWUT+Sc76O98nxHQISuPVFSkVpYIcSTsOTDEOgZUGpXnvNjRTqi5RorD6o3LkSKHh1Q== 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=ULmo7BLs7QbZfVwyr+EtRur3pSac9mGec2Kp6NQ7yXmwcvJVvDb594vlxlUtEbc/Bh/pUOxpMqhTZOsizDXdfRB4hH3U3uEB5wo7Hf6HgrXaievX9+RRtkDV/1tK5y+fbeSdVxBy8KbGeuZr/PEW5CJj7uPViefGvzMhb2QwkHuVmG+AO2QV9IVr4I1VCa8BdAo7CNFndLJBqfDUXATUq67WHuQYrSHgGqA0ds9z/JuUCHKySu3gVZPfLpvXs57W5c3GQUnuI3Rtm3bc38u9dy6B8Pn/rQ/FJcK2sStdd5Y5AEQOKZmnaPT8P/RLMQw/Cn4m71BonIPzDcWGrUZtVg== 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=IUOItRVapMqnHwdVTmcbTWBjNBaP/lJCqCXi3g/JkROEOCijKDLKPkZzhoSqRZeJoY8PCnA8j11PtNtatApqcgolTTGPJNzpG8/nVueMzg4wlzCA/VqaVfDWSzoTQqekfFg7HE5uP4kHtech01feQ0NpxNJ71lgcSvwiu74P3P4= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:31:51 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:31:51 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 07/17] media: rzg2l-cru: rzg2l-core: Use devm_pm_runtime_enable() Date: Fri, 28 Mar 2025 18:29:43 +0100 Message-ID: <20250328173032.423322-8-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f585a0f-93d2-4a91-a9e3-08dd6e1e6cf3 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: nrFJQHOEHWYYKgFw3kmxA9jrK4cCd22n35imsxnUfteV82QIjcVD54CUIJCCrEztVvTPu+jAP8awS9Lz8jwI1YJYtnWRAMP8bZjXrlFgIZXuiQxtDsv1+bKxLWqCg6wWJtxOIv4kAbRr5k99ha1+bzfibPwoBcAPUMHrqZwJFGUYv+RG49+7UBpTe3XtT/6Ss0YhBm3v6Ay0IU26qX6ZTEaV7s9ZSWq0Yl+QWfrZZfxsCs657raVe56bKbtmQVRPYVszdqThUJbzRfIKx/5ERVQ7SM/feGu5lhSochK8AkP43AbW9HLPuZUANqNUwYacj2zaDleUycOvtms52SSMcosFdjT/acACTyHO7OxohJidjo5oqHnZ+IEZMN+61ICzPTiQKKc6OIdk6WfUuq/yydiU7T0DG/psbnypINIeX600OaW2SeloGnfeJA6JmmMC47PDo16M0qfiXkdHLIuisjQCMqO8k/HrRRdZWv8WRhxEElYUpNvzIQM1itp7UTfpXPekQG9kkVIGSVkQw4RD2wLWH/Arg3zCwEpjYFwI5HHVn/GzZGDi6LOZv6EYDMBupRbt/Vg+572nA6swXeQColqYf+59/RfxFXelaJPQHaiAvrS6HvaaSYvDlh1ts46rywSCHv8JRYObxAk1HtoY/4m8Kp/bq5QFD5ZOh+jQrpjiZw3QI8l7o1ujd8jq+4zfGz9g2DvmaUonmQ13uUT9HaGU0lV+MZOFSNwC8BM3jGbtNAo5P2wsIR/tKrtjCbj2dfqtyfUht3Df9zltivbuM9vqr4/lrNWAi6SL3yFA9Gj3yx3k2kFVXdTJA+Pls6vyu/ur54ui1Ah62nwEQRX5eSAUu87gjXVyPj390Q0+987Rdf3gMy/I37bf3g5bqBH/N2eQYW9utFwmOZsD//ruJ9sxIK27F++uCBNC10EOtODQxjTpWtl38zVFmq3ey5QJThSKEzzKVPcLpAoV45f2Lzass0jKVeA9qrDT74xyark2ojVv2dnzcefRGXPRGIMqziWwq5ljt1+MMrhKpW8xiDek809etvQldSFr4HN/H3EJ5Mg4pu7fGZgBOsqPqJdTpVo9EH8kqkazFLFmg8XNAmIqO2Wko3oP5r29kS8sFAhqt019zw7fxq46Oubdzo6qh6XJjBCn81SXmBl425npH2xtpt37OALGfCBJGQ356j6UCsn4qCDPsXEGwE/OEQUrGdIiR6XCs2YW/tcIlbdgh5q23dxMvo5y1pkSPspC65WSHP4bkv3Tvbw3yiiTN6iZlm5L67daZbCo8hK24dKHSsj+wK52+6ZrqxKGBNnidmAoQEX1t46C+YhPLZLTwaFrAb2QHJBrxWHbuz/BNVDxrV+Aa75RNsVfi5X5aVSD6oClVPstpQSv+K8ZXvWMLUW4oayBOrFDM5Pm7AIKRCLzY22d84WXNTMbi3GDiORquWyYn2AiMdRho+zN9OnB1Ug04LGyfjiiipQk554RkWMBMw== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sa0ld2daknug2DhQOjehBruQs4yROjVdj4Cw7afuTHUKIoJc1kdB4vXo/fSlgOC+c/LSGpSn6BPlnBJUkFbAtBRS4scZhwRg0jnRkje9TSczubbNTGY+rnagjnJSmzf9BLkyIotW+9V7wTGg2jcfYBdjn3g+1df2bps6vq3glO0O9yoN1YbhWYS0OAhdQTtk3D/OV6abcmRNrNfcMg8quPsVN0vpOuzJp6XXcJ34L3ldrLC13k2QSjQJegejL9rDeSeusRGQ4WmsEb1evOcw9t44sOlHno4hg1dVzGnJF9nx4gyb9p9VWt4NEaSFzP3QGpE6bc28YUU1kH4aTdzytQeuPAyrCZyY/E2p7P1PBNtlJNJILlwSH/udapNjDYwcslKsceHXW4uj6H0DdFnPJ1CB+uu1+Yj017V7NKFjIaba/7aOY5NYIdGkoO6RQbNkdWMEzr3XKq7aGZtV2APyuHkN+o876XEXqSiMEyghah43jizPoyZ1iKMC3jyIixVlO0o7xEu47N6qduOGa0RkeAGwnkt2BQ9yDwYjA0sKutvGcgPHFyBBU5kcEzsxHBpM5YRwMCIpE1ezaSkZVreR0tY3mEhbiuveUFoQ6vhtE4CP8UCJThQOmfvj+7Fx8zQy7BN/rQln7F7B4/Ovxucpu0onZ614Xun+tXyOms6gEZuoV/b6uoiONwcLnPgq1GM7juMtETQCXCW18NL5dizNB9Fm572TGGJVhtwMc968J+wfQLN8Eb+4bO9z8yknFSZNJ24qqcU9h1hIdQ11HzmozAnQDOEsBlSA/aHdgZsQfIJwxg7HT00mdippwiIkYxn450/QbDRr/IgCuhEyz01NpxE70Sw8kNAEx+nQqddZ6V1dIA8Lo0N0k6XyfGlr8vqQSB/qNdcqQWdPnTW3HhJBdYfkJ5BdzqbHeFAztfxXApqem67+Dau8sRx+D91H+4Lwc6keS7mDOeBuGmlx6uo5pFS7ByplHCXmeQwGa/LQu/qqnPOM9QagARNQY9asH26y9tEGqyTTfLSc8DLE/uDpJMSVEw8qr7pKzfsgVBRDb76aenVS+OUtaqnYXKl/obaI5Qov0pfSUZ7uGDDgLKsDn37eECRadn9xswnpeiO8sqFaUVIwSkoag6+LuWap7EsyRjhAToarvPVZWfe+em0ymHsx1VzAqqZ3VQ7j+ytdBWsM2S/LhJkQdX1zeC1dT+tv1EfrFIOJZ8wjIGQWCi8rjG9wRMjMJqGUhI596fdX0AQxTlI9cuHqnWyCXB/otz7lXE3yEoDoeoI9t2oozgNFVdYkpOYg8SNnN5LTCdMvq/thtlspl9i7HaoGxbXSobpxUloBQb+bxJSES6Bh4H2Z5JCdM11IY0z3luNMZfp30URvh5wYIMPd4MNq+V7pN/H4/XA9UmM6z37NH/pG7Vm/Mw9H6vDthCYIKsclZfxbV+OnPLH1jDY8F9li7RtNW7/tiJVJZtdtwR/fc+1JZPkkz1I40rOTTUDD6lLinZiDhhXJxOfbkHb6FaAXv8Chmk/rCBcFlABUuhr7Oeg+CRBEynv5xYVBmCmiyY0wbjRErub7L822ppDszJT97MgsFPS6jSXiwGqRHSzh2sarLQakoo41L5KlZBIFhDoe087fC98= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f585a0f-93d2-4a91-a9e3-08dd6e1e6cf3 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:31:51.5501 (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: EC8fZ6u4g1zpRuDJqCt4yG6EaNPY83V2sQwTF6lUjVAzo04yUz2mZBAo+qzg97d4bkaG97Sudh43o+/5NTeohzcz9bJwTv6HhLhyZ1ueCrlEn/fevnM/Kv1qCB0Ly1MV X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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) cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; pm_suspend_ignore_children(dev, true); - pm_runtime_enable(dev); + ret = devm_pm_runtime_enable(dev); + if (ret) + goto error_dma_unregister; ret = rzg2l_cru_media_init(cru); if (ret) @@ -297,7 +299,6 @@ static int rzg2l_cru_probe(struct platform_device *pdev) error_dma_unregister: rzg2l_cru_dma_unregister(cru); - pm_runtime_disable(dev); return ret; } @@ -306,8 +307,6 @@ static void rzg2l_cru_remove(struct platform_device *pdev) { struct rzg2l_cru_dev *cru = platform_get_drvdata(pdev); - pm_runtime_disable(&pdev->dev); - v4l2_async_nf_unregister(&cru->notifier); v4l2_async_nf_cleanup(&cru->notifier); From patchwork Fri Mar 28 17:29:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032296 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010012.outbound.protection.outlook.com [52.101.229.12]) (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 7C41E1DEFF1; Fri, 28 Mar 2025 17:32:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183124; cv=fail; b=SAoS5pI/ED7KHlX1ITNa0SulFEYt7kbmVzeteFzJjG6xUy/k6zht0aghRHlKm1SJoWglXYEYkIelzFk3E3VmqBxVDeWJRtBxQZSl2pBgSbyhDdjNKs70Pa5l+bb5hZoy5K2EDtMRzioUQZ0U9nX1yugW4oRZfbnfJJyAyRVRmxw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183124; c=relaxed/simple; bh=8rPwWyKGU42djKH6MYxaE82TLxzNheQbC/s6A7rWfWI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Nw/+C48rAD5/DQxw5ESTyMtpavDozOiXXzA+pE94yX0xcspyM2AQcjk+CNNVLvX8x8QCOJ6Cr9FlTepss9s9LWOTmNjO2w6ZpLUijFChCGsNs+Oc8XT+1oE6x+maS2cSarasFRI4jZHTEIgTLWNB4/CQ5iSWmiVMAZR/aI2kb60= 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=htgiJKHo; arc=fail smtp.client-ip=52.101.229.12 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="htgiJKHo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VkOqShYhSrU0ypYlOjtDCLcuAqDN4etd/0WeHYCaNP7h0uT3sjXDTqnIi43eBpJOSFfWhaZZ8fDGd4dUGUZV7iVAy3ovF+JyDe74mmif4otAsc76v69I5cW4e65PLrudIt6FpB4xsKlJxK8aN8StejxERHV9oIEzJAFpHB7sMOdt5RRQe+mpshBc7qKQ2MzJQ6sAdrQ+vXs5B1gIjroFLrxv4j2WDmuCZzhK+5J0NSzNDll7hF6Jx/Dv9URZ2TgLnTXJ6cbJSZ4p0LzWFR1gir2lShsnh8sahpcjjwAytkxKbWsfW3+PKhUAUFm08Rb2dyTSgu1ZLa2QZEN+5dIIWg== 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=L8JIXfT6jXIDI7GbggphSA4Wm7l4nwwgbXKjuPTLbWEKEtEFqMa7BJJtkttWX5nS5f8sehRbj5AFcQJU7uwUGmXUQ66KA8lnuK1yf/IuG2gik0KyitUyhV6uhEzhRLZYUMX/y6reyEi3tVBqlp+TklEKvKKwcnld2OgeglH7FtTGryq/Cffq1XCdPCHHXwz0+p9xwa1FuPjRJrYa15BjCFw3bKSGDDHlZXxxPbREZIUq9A2j6MJMkG1LG6GBAEaAfi6aMDzGK8tmOStYKLmTc0MdYaqG/A+ZP3+YD0HQ3r1F2smN7Cfas7sI04+rXHmou5ZsowVcfWD1hG/FM6O+OA== 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=htgiJKHoHHDO5jMgqdqpjYkeK9rwBJOyYJfoXE5dI9NPDVfuS2z9gRdFGF7ROuX4Qh44SbtHD9fuY03xXUEjk+cigX8a7IGyZ55Ju+eFujCviDqWBgJKIN+mGCst5Vu/06G7lP47Vk2PhFS/iMBJf1vlxFbipLV05g1JrMx8KC4= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:32:00 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:32:00 +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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 08/17] media: rzg2l-cru: csi2: Introduce SoC-specific D-PHY handling Date: Fri, 28 Mar 2025 18:29:44 +0100 Message-ID: <20250328173032.423322-9-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ac862cf-1764-4c30-08a8-08dd6e1e723a 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: KFCCdDVr/RWQbheVSdnrQjqw0bq8xsF4tKlswkRPUdiI1si52afzHMXAEANkObNCeOZcfCrEYnb1GqRwUX9aqpeAbO/wP0w8TITNl6+rKboS/ljrvF86AhRCSj/M2VqnTTU2n48Hdg6Wyz4PnB7aY2yq97Zf7/1wjwJgtOWdPbRIz+tCQLBcwyyTuxxmVhkYnUzegSfpwwbrrWE2BywdMWAfjPCj0X3VGooBC9l9T1VZzNvAJ0uEoY7pygvUAT9pKe54u549S16SMml4czEBRNLJLIrWSoGndY+zdY20iKFzkYf71jh77eX0WSTvR9ZbBJk2lqdxyHF5XixrmGumIbPtm3bfAFK5cIs6rOzoQJe7ba1KvdPE99xNduXJvAti0xVXkRliSHsugkNgWe9xKiykbEJ4m+GcpR0JfIoA49ZY0Ft7XART1PC8smayS/GytSQnmxxugJXe2z9xsg0IGuAQaPkYyflFUwM1gGt7E5ndBH4KdOYtI4fIeAjMgv1lxKwuVsuCXchpXTdP8iWP9jrg/PRbTnvmwJgfIEAh32OlvqMnxQb2Y+a8BTo5Y9rYAW6hXySjvYXo4ynjWaHBHZAhn/W2fw60V+11bB3TtCqAaIW5Wx4TtNLLINXFWMDtLdwSJbZQMC89m51TgyfW4DoSIrgoepgMVYX9mCGyiMkATsgjWAgYdUHoLutpiIt6Nzk0Ha9vyF9HFto1QROA9DyP9ZJtsJp7/QKQjnW7pORI7K4dLulRTjChaiL86M9nHyjmz249tzCx4TLGAksvgXUz4KbhKY2zea4leOLFitcHxmcxx2ANAgHHPwM5hdgmlFuCvVTwxJRIzWWvT/t7DPAD7zRdmKJuLTMVyA+QyqvdVqRA25mA82NfnA/iul07W5OX9KN2SjLmd/Xm/iufQ4QWJcE8mcMBBbtM0blQ5diZs3UFL8CaxWJqijL+y+DlXpfhhTnt7y+DmcF7HKR9HjTxADkZUAYp7B43/5qvLIDV4MwroETnLVn0vsx4J2yrTjvx5fKhZ4WGF2bWRG5zBSImAB4otQQk+/jFAJ7ziZRh8MLwyWbflruyO0iINiCvTXPyfbqqNNr3we1i5Ft0nYI89q2KzgBRoQDy/tyUJGzwFs3Jixa5e7CgQNO8yV5F85SBYOGLWwOdLAG8A0b3gu8FkUbej3rowrBc8XcHg7eVTp0il2rBgvnPHMy4Sanct9b4LFRC/H3pdu31HfQyPtTJKmzh2MrnB40CX/hDZ/nnK7gqgkb6WW8ZifQjkqEYbISEZcdXj1RSH6/QbgwqGZ8TYrntjyURCchz7cel6OmDCMOJuXB6i1lfuN9tpr8Gc1y00MWI752S7U2nbkIC0mlizAfOvFVyHpzQPJKyIllzWeAJFovlBc+FjpMoFIVmKldPDDRH35CPFwESfNpti/ES3YnfhunuAj100AxZhfDIhzSS6gg5dN8qQICIUBfuXBHPTd+TX4QfwBVaxJyIyA== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Nh9IbKr1pE+ZOCfR3Ffg84QO6qBNcCn6UhWbwtKlL//1NZAdMIArkd8yCGvXvzTt6NMjdDzJhMjQLts/pAfpZN5A8WNO+3WGePGIraZcufCoeeqGkXVZm+PRKnHF+ReIR3g1cADj9FznfpF1GvVdI6X+43Q8eWWOFMAY4wfPpfHdGPehKxO0kv5kuNyXJ0NblIkUMDCXK4OAhiVPaiNXaECESis0qvNwXjKFVAZm/GaBgLqGF7y5zTS39WeNEJQJgzUzkhpuZEXJCK+UvhaMrbOT3YfjV9G48R4uNC4v/y0fdco8jdWXe+sJQuiD1d1vn7kwCqewlyRX4UGOMIcYrDOmbLVkcukzeyEeMYsnAuKszKuHrvhg8hX/tPoA6wJ491lBytmKP3+vIqdeUsCaqJsmGG/y+BTKX9/7MWW8RBgJwV82kWJySPMJI3agrbiKKqBUExnQskg+5bqcE+5OOnMhgBjyi+ETgAnhfh4YyFOzZNsh0SOCBLhcU5x3Lv2tM2PFXRsllSVnoYpz/jZ4TISGHHj1+2uCUbcUrYGnk4ab/qP8JzX8Gg722qQmnjvQw6uZkmOPf45Cp/8lrmNbIA9VyALsobsbP8YwriRCOBPRJW3xu/feR2cn0V2KlFWck7n0MNiyQKq/CrbQ+kiExaQoCefuIYpOmYf5J/cCA1iC7cDVbGQNrMAhd3Qso5Esd2tHisS6vlm+EMFyIQsJtFIeFYkoIyXb1QKA2LCwuNYgLQ4BX5RInBfhcR8UYaNeIlgXvKxsKpE1L/0C5O5U1C3Os7ZzYuTyghJKyrm9FB8YZtncZPDJmY4zU5MgwswQDC6XefcsH4qMJP/UVi6OcKvGlSFXBP4HdnsDodxG4zVjVaGNusOZMID7qZRO9wBOeqi5Ye/JGh2WjbZ2PhgkeSbPcCu5EDiAeoIhMy2CLYoqr+dOvRpoyg1/cXjkVaOejjlwVf49x3XBKs88dXtY/oouVGpLnv4770rB0G5m7ASGqqyvisuwwgxGxl1TWB71by6s3OTxa2XZufZ3KnD10PA8V8FkdGn7zEHrkGjJg0AmA3BwF6qpoJS2LptS7g4mV3DdHmrNMdLgR3AUTgZlRSHSXycNGCnLJD8Empvi2DemQ5Jc+ImZFY/KiTuBbCxagxj72ytuP1ntmyPRUUPwxqKQawJnVa1hVfPASmxf8cL40vUFRUG2M2WNP98Uae6LoLGdNBcdFQRRjUSoeJ3Jcv7aketB3jGcu/C8xNQ0KBrwAvqVSUDYgsXg1oCUW+n3aXSmXYqi9auX2q2jdbTiypEDwBAzV5T3MzgUetI4WxHEer2UbWRUFdCWh8OdHtwTyQahAXlntClxim4gQCmZZbzxv4euHiCa5rJDCwv3IzKZ1zxpKxGreCl/05kl/FC8f/b9Vy8Ljlcz7nz6zShteRNAeSn6JywB/6l6YPl6mHm7DlZwvPFW1RLfF3AUSYmMAEP4N+Q76ULofEndDk7w9RIU1vIMAFuqLMKaHGPWGpJ+9CMOl4joMUDliQo1t8pagY5iqf3mGBPBf0517CH5j2rYnkzndqSnk5B6U90E+V+foUmnvllOKfeVGN3+FX70Bu7pjltZxFKzzkyacuJFXsXObHQPv0A8v+1vZrECFvI= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ac862cf-1764-4c30-08a8-08dd6e1e723a X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:32:00.3985 (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: eC28YcGDwmtiPPhiE8P3hWnd1o3x5uw0FjPMLuTKAu27TjbuMdBzI8ylANb4HrgW8UNDg9GazfQhuloN5RyIW7zc994qPYdGfjCHjCTHQycfwhBs9mf7z9pJMB60PiNg X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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; }; +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; } +static const struct rzg2l_csi2_info rzg2l_csi2_info = { + .dphy_enable = rzg2l_csi2_dphy_enable, + .dphy_disable = rzg2l_csi2_dphy_disable, +}; + static int rzg2l_csi2_dphy_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 = sd_to_csi2(sd); if (on) - return rzg2l_csi2_dphy_enable(csi2); + return csi2->info->dphy_enable(csi2); - return rzg2l_csi2_dphy_disable(csi2); + return csi2->info->dphy_disable(csi2); } static int rzg2l_csi2_mipi_link_enable(struct rzg2l_csi2 *csi2) @@ -772,6 +783,10 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) if (!csi2) return -ENOMEM; + csi2->info = of_device_get_match_data(dev); + if (!csi2->info) + return dev_err_probe(dev, -EINVAL, "Failed to get OF match data\n"); + csi2->base = 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 = { }; static const struct of_device_id rzg2l_csi2_of_table[] = { - { .compatible = "renesas,rzg2l-csi2", }, + { + .compatible = "renesas,rzg2l-csi2", + .data = &rzg2l_csi2_info, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rzg2l_csi2_of_table); From patchwork Fri Mar 28 17:29:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032297 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011035.outbound.protection.outlook.com [52.101.125.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A70A71DDC35; Fri, 28 Mar 2025 17:32:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183132; cv=fail; b=X1ynhv6gIdGEVr1nD4S1BBMfoSOoz8aM/TD32cMvfVCo5WZsq/koxOUdeFN1u1ox0vI6St+DXmUGW2IxolRO6P7R5AzpL03MmULGZLJ9M6PkylrheUdpSGxhBEjwvkYJcAktBG4hnm2uxMOoigVsA7NzBmOxhMGLFxs97zK1hVo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183132; c=relaxed/simple; bh=zXY3GbyIJZAWdN/DxlV4O1bRTbRKrunsxf2NtcXi/uo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=n7Jfs3pIQZyrqPLAmHPaAg411kIcVeAyp4Fe6YmtJMuSwMlAI3bAjuqf6Devk5ufekC3E0Y/UMfVNvoUTU+fdSIWKHJpwgDVm0Q0jK1g1vwU+n38hVO6zA7rLy5w1DoNbO1PZEBMBbtOEjloIH9kDsFsgkOtx0V7fkv7XwsoeLU= 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=JROFJ1eg; arc=fail smtp.client-ip=52.101.125.35 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="JROFJ1eg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G5hZU+RvJ/asZeej2XNgRLOHhc8RmpMAgXN08zFV0AecipLl47JFfd9CpyC6WVhbs/lPmq2ml6x54CPE4H86k6hDuQH/UQrRY2RsxKlLQPKSQLkV+m7V1xD4fNvTir6Yk+RbvPNzC/mERMgo2uAxCZtxz4YxaUIbfvzZ3aRymWRTJqb75DTX6i5S5u/jBKdDCicjM3waTUCMgW3vcfStPhkfwxrHxpAeXhgabxG8Ez1tgh6oG8dH2r4rB92BXL/J06KU5MzZYTKgkk9lzl9stR1OyxUdbET60M7HWhuWIJc5CDewDTdN2uILcgqsst4uMOcN/fJMNZGqpzKLIg8WAw== 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=8j2Mh8E82YeH7jtRkatSvZf1T4m0a928yQBZKuOn0/I=; b=ezKfi4EKjEubF9nwRH+GP7+uZkc+cpa8HzObLN8+yjm7ZQVhdk0o8AqKh1kKehONbXf7dYNOANFqNmX3VnvZzOAPUeE3ihU387ctsuwiTxfqS+WdQmvlLqPrEBxl2NIwKeMdunvlv+elZmSTosLtTegf5WXOHoEnMaxk+nuKq/f82QRDKVT4oTfcsqCIrs0qGPjEYZxV29qMv4FxqNg15ZIK836Q4iyCEPJvyyAx6PthYTDauia4vtxMXRTFi3KuQwaYhvNO0dptff5wtuYXoTJKxVajgjUrdT4JaDGE4pUoqvinAzItzT0/1XvpM+BpF4cYGLnnpw21uQtQQOkW3Q== 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=8j2Mh8E82YeH7jtRkatSvZf1T4m0a928yQBZKuOn0/I=; b=JROFJ1eg6HkcZmX929FM3G4K/oO1SKyEWRhLJ7tMpg6WYdOpO8CEvvmRHIS4uMjYkKZsjVnlzFU3AMUTW0CzTd7lWXDHzWqo94Pr9sKh3i8cx7EcvhG4mBQqV/zP5/lvglYvLYxZMBtJnLrgkVv7GLvuK3Zn0Bb7EJv2elCvJMs= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:32:08 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:32:08 +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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 09/17] media: rzg2l-cru: csi2: Skip system clock for RZ/V2H(P) SoC Date: Fri, 28 Mar 2025 18:29:45 +0100 Message-ID: <20250328173032.423322-10-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b532379-853b-41cf-a9a4-08dd6e1e7720 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: WvUBAQWR+wh59dfC4YScfOvwI6OTVIluavVGTD8s+jONMYAoZ9Q5dtkrWx9ULgq3wqQKdEBbD9xedtSegALkrKz3i66o2rgF8d7ysaC4ZHaqXoqg8wbZ+bj2HilvuS2J44gzs4A1U1SoNv8cBjfvlUCrQ7pURWkTvct45aHKh7PLJHHvt2pCLJNsobZ/VMgkUTUW+h/JWxFXziIme1G9NAhvUt6joLv5w99YIw0JzQUjZqRn9cF2b4gDtqPKPpuzOzv9BP5fr9WFgDikDtuARCGrMo2mbljjaQ3AistySze5SPpYAKVA9pd2GQSpErG6cOejK1+P3Gd+XJIh18o91kZWuXjpJG0i0npO5mTRQ53WeUlzHFxpxKt2+WZDcVez66P28SnG2lfHs0kPfbmXJ8ZTIg00JIPeqXO7g5FsSCYShgIOZPlc5JIVQfkDzMjSpBrErYQEYxGCivAD/GL9knEwgvStK+ns9AkmdeXPXLYHyKryoIyMj47AgbW0fLsOM8IHp3VdV1uOkkxd97M2lxGB/iopEDRdFvxRpP7htChuz3cO34XN3wUHCC70XvcDneO9fjgjZ2UozwclufSTnyyHNAp8giYFWtmv0WahzwYwsFCPwUrgk7PaHsS0jIR9VQYZJBTIlfho93NkD0h0JqGqC1tQfAe9etiPYGjzTIM4O71BqKWBKtnp4OAYtbYMYeybFGiAhxEek8S+jFatc1x6m5liJDnbUotvh5fRIaZHSOj39TKwyX93Gl5LtXN9JLP6dARjqKUYC5BDDI5shS9/XcJcFTJuUpqoXN2MeMUCRjrFPaLOUxw/mICXs88Tzx89uxfn0zDtnRoZ1YG0/mYiNj8a6G5VL0DM4F0yCEntAtJ2I8TxzMQXUiDPnKDgUj8TLSHONAtmkZ7VdlFWfLnCg88kwo+9yDL6trhZYEp8PzTvMs0HxomCq0AesjDxBnpHCDrcTSqcctwMolzaO4S17ffBkTUJpvz8pHUIQPe8DNXAYAME8/FBenQ/gWOWpXlP5vwglKKKSrRkXdkfTfwk7vcExPfJPSEXxvla02xLJt5XwbXqSd58aIckIbKIewC4Ow/gDT7rES/JCMm6v/XRz1mQl4SzSJPmLipdiBp83VZYlZ1JCBQgAbKLz1t3oJZIEQor59khPj5RXKXpz18Zmcoy7hzUWrKR37NSgpZr8//2A3wCcD/nQ96vzBnziiAUwPK80W4+fIhiEg/NRUp1EoJztgQPNamuIVz4F2ASJ2rUt3tt8y79hnrGZa76IOcv18190UHyZY6FocZfjbXLUKTCNnH6cGaLVAtPqwe5gL+MeSQabgwzVHdvJrjzgFzYwSFsMVj+1RyuG4PXWGnuaCNd5fN4xns1UgTxIoH+xXAofrF8tWjCnc9pOM0hDrjrTUmNMjWi51fphVobrJq7VfQVQZB6TrDshmYAiXOJZX5a16unu0FtQzMMtma870gK2PfIMpm1IUKQyT6ksA== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 82WPuLn4B2aKA9Ef2fdaYa0/ASo7ry/2l9P5NyMjOJ5fBORGibDwvyiV1Mk1jbUgko8UN2U5Yj3xDcUZGxPRcTkcapDVH2TUimI7pmVDpaoZ1YUeUbKBj72xEkWEQS6v649Ev/f4yi2hxDlnW0AxGMwLxobahTmhjqY8g8su1BSA3En9QF0y5SxXUL50kw7PwfxMj67EBljZpBVsybqdGhnLbwQMJcC8CvrMYQOihs9h9c4iNLA+2ftcTPjTJ9Kyjr/bD3W/LS5batE4SFwTYi4L/ZzndiQ96t+wFUDFoWTNfeRg40iaGYtifAdgGnUbJbvu5AaZ6NlysmPmOKTzhVpmxUF5nyVk99cJ93+IATODge85XikacZ/9i1SHzk3QX/p6vXfypxOwyEUADRIKcJxGcAz2vilGUepNn8hYtjR2cqsVzJJFVdKkR5+a34SK6epnvDJCx/pqqPimWB+nlgPs10ic/S5YklgzamHel2xwMXSG2nvpPUSSB1NB0kNNSlfEFbMGNmX0XBTwNvaM7soTjUnGFpbiMdTAW9PhjzqutbS9A+K2mDdPs6iYAKtrln1CcqHTqs0ITBNi3vZv1QEU2x4IwlTGaf3pORkMvf3BGz4jnla27Rtie7dk4hbysutL6BW9qY1ZfeP/p3XoZ4BvgaWGs40LJ144rnT8JqiSlo8JoZx9J3DxGMvEEcUUlIjdLT6cnj8WKDA4zy0q0FgqKPFYlZ2vRjK8kUZNa1lIeN61Fd9l+/+1cLg1SDKFtWvyNSANI7YllCuTItig3cEZVeL4yff1jpzuAj4SOSGwC9l1Gh7CBCSzG0tTqnzMBZ8ReZyVbyLXx0e7H2xic8u6lrN/tXulysEq7oTjAtxChxehbBMHarA+dxusxrK00cjoCCQo4WqfOpd40wko2HyhTWFBXwLjp+zMtlj3D/SOPZiUs5RVhx21iVzABIpRukzkPlmpQCEnz5FNtJROo9Au9f4VLFthnQcE0TTUqsQzo7dfQ8MBQ5ibog0oWfvlVCM5U94vPhbNBunVkzzx/CBNS8zopCsAq53RjQxfH4+3SahQ2nqFwSPUTDMoAKPoOJ+k7yECsWCJUxSv45ThECafC1v6cek4mzotFpTuE3KEgbHqd0oh2HwzHLp/3ukBsWRXTpAR+6gQRy5WhqAwbmK/i0T7aeiJpGcm+dEBqzhOHAZO/03QCLsErmkeatIMzY4ARNfsTcF5KC5kiF6wJqeN+VuyeBH3r8fcGN1p7RpvUTN43IP6v8HOqpl76r/Uz7gJDkU0BmBFrGN0pzj8jSc/gLCm5qgol3pDBxaLW98bqQ492YC2SJ4iITp8wi4IKOWVznv23dlySm/5OCnHnoCKoba8PUlptGatavqOdC39j8fJhFto0UWjqHUaSwfsfS8Kr4wQcjQf0JraUuojNC88p4pfFPx0i7bbfVu/TmerlNfBNVK6JDbSB9QGz8wuoKtWkQvOX5CSKhFgqPD4nnvHpgUjI0q6r97Z0tAEU6uAV1qiDHTX9KLaQ/rMcof5vhJdvq1AdPCkc+CmCpSxJul1yAROlxMUJZ0j4GJZojY8Cb5D+06Ksb2YbljMAGAcq4kDeztKcVBs7rkJNVmFj34Ha7G7HbsgyJ2yUzkWoWU= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b532379-853b-41cf-a9a4-08dd6e1e7720 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:32:08.6277 (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: l1L96D4u4YFHOUaJM1aIetiynKVo/1q25+cwv66lD1OS7qlxE1o37LcpXf7Kd1lWHumbCjtIiYQefFr6aiotN4mrwyjVf2givGvk31b/6FNIgbM8rJwpxcHLutcC7sxx X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 The RZ/V2H(P) SoC does not require a `system` clock for the CSI-2 interface. To accommodate this, introduce a `has_system_clk` bool flag in the `rzg2l_csi2_info` structure and update the rzg2l_csi2_probe() to conditionally request the clock only when needed. This patch is in preparation for adding support for RZ/V2H(P) SoC. Signed-off-by: Tommaso Merciai Reviewed-by: Laurent Pinchart --- Changes since v2: - Added has_system_clk bool flag to the rzg2l_csi2_info structure to handle case where system clock is not required as suggested by LPinchart. - Fixed commit body and msg .../media/platform/renesas/rzg2l-cru/rzg2l-csi2.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/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; }; struct rzg2l_csi2_timings { @@ -364,6 +365,7 @@ static int rzg2l_csi2_dphy_enable(struct rzg2l_csi2 *csi2) static const struct rzg2l_csi2_info rzg2l_csi2_info = { .dphy_enable = rzg2l_csi2_dphy_enable, .dphy_disable = rzg2l_csi2_dphy_disable, + .has_system_clk = true, }; static int rzg2l_csi2_dphy_setting(struct v4l2_subdev *sd, bool on) @@ -801,10 +803,12 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) return dev_err_probe(dev, PTR_ERR(csi2->presetn), "Failed to get cpg presetn\n"); - csi2->sysclk = 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 = 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"); + } csi2->vclk = devm_clk_get(dev, "video"); if (IS_ERR(csi2->vclk)) From patchwork Fri Mar 28 17:29:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032298 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010009.outbound.protection.outlook.com [52.101.229.9]) (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 E55F41DF97A; Fri, 28 Mar 2025 17:32:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183140; cv=fail; b=WYhvFreg4VqzluzH0WPiJhVAujnau+d4jgH6mItu8G1GdpoN2R2dJWmy9cTqjcu/hyKMUsIADoswfGKo8d2aMRnChNOn0oFiAxgdesqHpEKCQDZ+0nFRd1PW3bmujtXCJBa0BqYLy7LErP3CgLq3PG8CxPJL9nqcBXXQKloPue0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183140; c=relaxed/simple; bh=FEW971mqYDckTlqliO9ZrZLh4MZpDT0SU4fDmE1lJlg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=uGi03kiItVGzLxdoFBi+o9mfHDgdcp+8SAQap0S9kGP581c0JcD7JQEqVWCAGf3Kc0ttjeyN+QkZ2kxhde7JSB0UE84mOg0sCQYoTubf1mhZcqjFbmmaVVKkv2zGHy/QvIwesTpClGUllyneZRJ9j8ikzINU/4Tv9vs4YJ4dQJI= 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=NPh3su3y; arc=fail smtp.client-ip=52.101.229.9 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="NPh3su3y" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xrYS7J7zjMsM/gWNRVgZNrJ6Krm3p7NC1bHgFDReYz0sqLX/SWgR3q74/FZozs9+rab4SFMufsfbodlu95cbga3CgIOdzYiyzM9b9N9ZiJpL8z7oPLgQAXXNZ48UefmyjgkPlfiqiF6Q8Z+Jp82wgEOSjhvKEA5YK/5idEUsieRMshzhaHDkKKw40/JC/x/qGmI+VikPMQkkwjxx1IMDK5kmNPklxDWhCA35urmzWn8j2SUtobdHazeyMEpKtgcvzVW0yQ50ARhV5UfY+c8KrzFKyNETDSbwMq9wqSAxsk4s6jg9Ti5ACdjqJK9c2cJnHFC9UBPXrMWK0WmJmo+/iQ== 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=KN7Kx/d64PTFqA96mYr1ylpEzJYKKUVzzKF43E6+x9x4ym7cH6lUZ8p4wDL9XciShWuEUU6A6vQx4m9LHBbjqglauEn+GTIjbwB/9wf+KAEoG74/JY+lMrJHJpou1x0j+fbf16ApS0L5bBOk1dUrVUgrvRPAmUJCqFy+vprs5r8flAPU+OJGT9aO7FTSfT4wtUn3puqVpkscBPdZ+3ANusnS6ezLYVLrZfcfFzNmOBuK8jjbvaotHApawrXJL9ada9N0u9YElJA1amgfkhAvc3xWIAcFHRgunDLX9PIA44VecDmwWPCzt9eCeIpzGubI4ZKtPKEqmIiCy9Y24jTYeg== 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=NPh3su3yyhQ+PIaQjBMDV6440stqqE6FA3ElM2xWew9WvWFrZs7B5cNg8DJUmKmA+HhR7aynNwy104Dx8ZuThVm+OcW1wNjB3vA7lFiPEB7vOZ/Hh4bIZEIhZgncK3GKjvsRTw52h5i8XEmeN/7AsdGa1e+lh/IbUx80HA1BBC8= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:32:17 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:32:16 +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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 10/17] media: rzg2l-cru: csi2: Add support for RZ/V2H(P) SoC Date: Fri, 28 Mar 2025 18:29:46 +0100 Message-ID: <20250328173032.423322-11-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b7a3d6d-f907-42bf-e212-08dd6e1e7bf8 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: M4hpVSTOc3uRI2M44X1THkNffEzGaq1kyE6QGRyBj2G3tb2OEEtW8qJ9BKE+3mgi6u0pF3EOqrQKLmrV5ZoICcpbI54K5N46MeO4T9Q81Za/zsDtpRwm6DP3bt1V7pch6NPebJ+nSMIWlpvsJ9u1E5uH+Ar4lqym9jsbUR/MQih0T4WvAVeNytpmqhxoAwAaEKiyGUshjghktjHrRGk09dTNeracGvoaJxky412CEG1U4R0U7CrPzKeU9H3GiWpIkH/n0NXx2Que67YV4jTMwIqga2cpZW7i4oEdTA06z9Wp4KdNDXRwn6OEY6pRaGwQHUp7BWiKLnd62WDhDEscXPfOsfNdABJMR0Mc4Wq3FIA10TCChKIyIlN8IuVxpI3M4d1K4Kcr5O/OCbV77CG2xKGpMpYZRPmZ4wHMRUoYlwsNWqPKbS6NQqzyvi2HWUrret7Boc5660s62rZ91icBER7w4ftApNAZw3IKWJvFEKxOiXE57ePC6WJpEJnrlTfvfKSai+q7uP2Ywk89kF4InVM7ii78d6hgrKQyqe83QT1feRquTPCgtMKcH8E+hjSYHlsoyIdCszdRP1SLU6orszdZeq1VIH6F02HmxFCYeUT56+uQQhkpFdhnqrugDo5nvFp7uzc7kokYiUG4X0O1OXyIjrbMrIXd34Wqkw4hrPRSsRm7pr/lfMGDAJ0CJEOkN3k5Z68Qe++sAnX61qY/pylWM0myPzEXSMGRiqb6SPalpcxddIXrT+Q70tlyKyxbNRqfGHvzUrUm/pbhMW2lUXylDBDI7iCRGdeYpMnJ6H+23Dqf8aQXlIAFullxzLQ+avCuLZtb5ujIw6bAL497ZQPi3MLgDp7uYEu7mX5MHsILXfgNCb5vaxjD+Hu1K/iIH9zh6iuNoVQrJfZ9jK6ppismwvq+uYMoy7QhQAAZ23F4HWDQgyfQ45Sm0nuX2stlnu1RCZqwawas0+FQHgR5oVIZLgPvaq7E/LwNCR0ql5ItCxNRqgsiwt4qWlpwGI5Iekm6pXUoj7SiaIiennn4OJqItaegnXSpg/Kcv9BSUv9BRPNV7RfrvILxAr/7WuXfKsXJaFe/0K3jkWA+yU1mV3EgvYVLDd19T6VwETbF7zf2OhXwKvZWrajAO1SXrCbkck5oy8O52Hha/tTpB0+rXCBoHQbFQfERb1T06EzyIMO3QAQhQr2Vwt9CCfovsK459hDx3mEZBeYzw9cIA8wnTXHJ0YOEBhY/ibUNwb6gazDgi6suGfLiFlG458zQxDm0gdrQREeXU+QgdMhL/t9koNAyqA/z1GSPVabO3dW9mD869bZsFrbONjLMVYucyz+XGFq37DcqQUpcVjFEDHZzGCg9n43iQdnxcgTAe7B2zTJpBV+/GY3fq5mNQ6JOoIwrOJDXI0z9xuPe9nwlPMwbglvtN+5en17JRLDe3Rtm/9VH0F234PnyU4f2ajpF30OtqfOPcbazau46XxXjB3nmOQ== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 29cXIPs9J6k5z3loj/fGP8tkAI2PQ4EgxrFsMw2+CSWZZVUdM6VZkPY0EwYsierOb9j7uOahqBUSuUrSQNGdCjDysHeZ0MJBvD99OGMLVzVmJFRNhwcKD2ytaw22Jn89BI8Lv0suexyMGN+mzVEnPqjPP3LAuKTDJSHg1a8K1hILVMlj2KbdcnUZ/k/dXs0KXzUDEsHbzc2W9YwPlC7idmVMB1A0p72aRHD2X/3RkIDg1VFwcgF+Ki0aVGEjs7dxSFRQVXNG+xjinIiorhK3esLe39tgMpggmpAeUKMSrAiK/wW6duvV3rkvknpUwHQC87AxQ9w0r3g0n1qeWL+yfpbc0cOBOsC1w5yhgC836ZDJeh8aBK+7ccyBAKtdi/UCMzlUtquyj54IkSWwh6vAvcg1Lq1UE/yp33MpUai+YCj4hiucYQ2uR/pyi1Qy+42LBMk4C8PirPMNtakH9rP8IAta0lgwoJ68Dq6ukC/Jtonyt3YPM1jY5X8rmreKMAixXwgYV5n6mvzwS1GL2fyjL+k/N0hbydz0+1CL1rVmIGxs3qkvFc5T9IOcFG8iDjDF46ZBbBPRFPrqgY4g67In3PznP2HLiZugqfRhICxvLMUxMrkz+oODs5jIzKcB4VT/4MbUbSXy+sM1PE69dbt4dUHMuKTiWkPBPiBhbLmpiFer+5pvpHsLWlxorAokz+vRGIAhBYf6vaFmD2kNbOFtVMJILKN/IB1raptq7jm4dHKClJMsDYoi0us6nmmBqv7OOo0V2dv3AVh0zX5HZ8AgNHduABwwwSrqTEeHCkzsxyoN0KprfyYS8IQWO9Pk0zRmUdLmH8yd6IehrwiSWTOEGGtgQnRGdGkqQ87ELGwzrL08qcB6MdMdUK14ztqk08/qvvEOwGb1+ozp4YOvMdLlFoHnPw1Ox9U5h+jcwN+zDOpJok+Gpr2ofVMnBf1CT1prxV+KxlljxFSsHEvXt3ClqT02lYEIoMbAJVIL5XlPyUOZckEds1RJbsRvl7VWt5ZSapwDqCrIVWzkzwY7N/iAAB/W4Hy5XfgjRgO6le+WVx7oj8iMPHsbxyGnSicOhbehr2oPS6ybVSwH5HlxuHtWRA+10RIlnJ6kSnFDVjUXHopfXKNeX6YutX+817heX9BU+D+vhvG1Z7X4beMlC9UOK65vffPCq69c8dTAuxSnQr/K4ORG2ioFM1WnnL2bI7Sw52GKj9KfiIIjfv47q1OcrUFoTR8MGqVal0YRzDiS7clnmvisi87I2MCl8SXCD1oHprYQWNnolKl6EWUwL8pm4RIPAjAh6u7bL/8KEJI0Rq3R0V6odcHuZBrzfvaXay90bWPMqEid5He3Z0VP3Kf/Ftrfs/0ASXErnyi79ZvuoQWX6fcZgzdhARmfeQFb3UeAd/4JxNaeluQVd1PhaYcQ20AgNYhuAQ2HpbK236mLNAIlBS+T/bjlgCy8LnFYovry66KWs34pLc8qfq9zWhL4OieLdOONXO6GwzSmkdNSuJGwFr7KlvUQlyOZXrrkIKmgFJqMu2TNUvtK9cG/CpRdkCKzW7Gz7lMQyn8ammCrPzg3idStUCTZBr8Its+0FT/Ztsn4yLKEXenSd8SDFCpJYJfug+2YXRDerzHkCzXf8+s= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b7a3d6d-f907-42bf-e212-08dd6e1e7bf8 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:32:16.7508 (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: oFTAHqDh8ZKBhqWjftbGmQ/OMfE5oeERXRXnFIo3xYR6/KWWSImXTuVp/h8EApHRRMmwLgd33ALYTFNrEQ03LsxjSwLHA0u6DfIUGJA53iqol2uiWC3XKDLG1M1Le+c3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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 error check as suggested by LPinchart. - Moved rzv2h_csi2_info after rzv2h_csi2_dphy_enable() as suggested by LPinchart - 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/drivers/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)) +/* 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 #define RZG2L_CSI2_MIN_WIDTH 320 @@ -140,6 +149,30 @@ struct rzg2l_csi2_timings { u32 max_hsfreq; }; +struct rzv2h_csi2_s_hssettlectl { + unsigned int hsfreq; + u16 s_hssettlectl; +}; + +static const struct rzv2h_csi2_s_hssettlectl rzv2h_s_hssettlectl[] = { + { 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[] = { { .max_hsfreq = 80, @@ -434,6 +467,64 @@ static int rzg2l_csi2_mipi_link_disable(struct rzg2l_csi2 *csi2) return 0; } +static int rzv2h_csi2_dphy_disable(struct rzg2l_csi2 *csi2) +{ + int ret; + + /* Reset the CRU (D-PHY) */ + ret = reset_control_assert(csi2->cmn_rstb); + if (ret) + return ret; + + csi2->dphy_enabled = false; + + return 0; +} + +static int rzv2h_csi2_dphy_enable(struct rzg2l_csi2 *csi2) +{ + unsigned int i; + u16 hssettle; + int mbps; + + mbps = rzg2l_csi2_calc_mbps(csi2); + if (mbps < 0) + return mbps; + + csi2->hsfreq = mbps; + + for (i = 0; i < ARRAY_SIZE(rzv2h_s_hssettlectl); i++) { + if (csi2->hsfreq <= rzv2h_s_hssettlectl[i].hsfreq) + break; + } + + if (i == ARRAY_SIZE(rzv2h_s_hssettlectl)) + return -EINVAL; + + rzg2l_csi2_write(csi2, CRUm_SWAPCTL, 0); + + hssettle = 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 = true; + + return 0; +} + +static const struct rzg2l_csi2_info rzv2h_csi2_info = { + .dphy_enable = rzv2h_csi2_dphy_enable, + .dphy_disable = rzv2h_csi2_dphy_disable, + .has_system_clk = false, +}; + static int rzg2l_csi2_mipi_link_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 = sd_to_csi2(sd); @@ -910,6 +1001,10 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops = { }; static const struct of_device_id rzg2l_csi2_of_table[] = { + { + .compatible = "renesas,r9a09g057-csi2", + .data = &rzv2h_csi2_info, + }, { .compatible = "renesas,rzg2l-csi2", .data = &rzg2l_csi2_info, From patchwork Fri Mar 28 17:29:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032299 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010001.outbound.protection.outlook.com [52.101.229.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58BFF1DE3BF; Fri, 28 Mar 2025 17:32:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183153; cv=fail; b=SDkSu/szNxerYGnlmSqNse6MiiPMP43R/u6MVxtMapBnLWWTGvXa5zuLfreHY2ALTh9gWDCIInMrzy/kUgiCD5w5GnllznAL1PPHq7FxfWFs/FGHiXc9GygIFEaIOM4Ffk0tqbUwXcgQxDHzbNrBSW6QXfPuPW22fI8JjINQ548= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183153; c=relaxed/simple; bh=yeRnwR2PhWlTlpmmTXH8PxcG0cTuV08ohn8P/eT1P4E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OFef8qmGaX0y16KfwI0UhIg1HNi7W7k4CVWb6zLOEq8oa1La1xPTAfG3hmRlR1ETNtgLiLZqVR++yfy8bwzYYhf9EwZH3V7R+AgbLTZj7NrwI8/CtKSJbBjlBAq3cWO1KJ66lBwOer9gfbKmJ4lBq33sZIESSPsrdHDewKESuSI= 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=AIAciXe+; arc=fail smtp.client-ip=52.101.229.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="AIAciXe+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BJzVSt4cDKkAgTby465qOzyA13MUaaCrfKyU6lYxPXlrbmdo4hjgPcsFvTFn/AUeHe5/VtEdsKNYaX10xtG+umi3VVHC5JLnl4vmS4so3UvWh2+Bc6ubZbkhsGVv4c9QodnxHQK4gXKr8a4My+wdJ++ENGOvd5P6P4PuoKc0yBx96H7RrvvzmWmIh6LuPCwtIgxeLheaGsYQtj+B823kMtjfq4leHsoaChqwmR/yGphNnQ+9P0sOXn8Mn+NTndhnhCkX9I5pHFNxuMWPs+UicZwHRluLYPWXE+6NiLmA7fKULF+UcrW5Ifnw/SYx+iOKoDqaHkaFZwBHLfPc0m6yAg== 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=O2rJKDZW2NNPYBLaGKDxyx/MChw6EZeQqw9qINxiKlzKtQdOE0Nk1sMxt+/o0G3pAuJpguU3x3z5YfUP139XkPI4CyjUA6Q3VJEhCG+ITiOBV3bBVE4m0tP+OzUdHBMLF+unBaZOLWGdHTXzQaMCLLggu2yknDdpI0fZKGvEF5Qc87XFqlhhUR2LEQ1okEPByk7maldGOS10yuOd9AGLsDY0kLhP3ZlhVML+QRnRk+vylHVYbGwiE+HJrthboH+YG9kyNqWvATQdYviONgwVxOSI/AdFOrlmnSKB1nJ/rIBC52UrBqOo8qbAKgTTok6dIQ3FfWlI6BhiHuYOjaEdvw== 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=AIAciXe+DaRXrydsU55IBd+NWlzAfS1gkt64zyTN0qLYITqHmIU6Z2JjGCQ8XAsxCuvQYAt1Y7+Fc1/IezwTn14tejBv3BDkXElczWQD5CvLOAlTBSA+4Vk+eKq5Z4lWd+2oEh25GCOY/MU9jas/hN7+ClfzaxwfTNq4WWtjZos= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:32: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%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:32: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, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 11/17] media: rzg2l-cru: Add register mapping support Date: Fri, 28 Mar 2025 18:29:47 +0100 Message-ID: <20250328173032.423322-12-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 1586d5f0-c6c4-4a86-b3af-08dd6e1e8370 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: DNWmZfrZfUwnKtW9k5v/JmI5/VVAqCs8oM2OM6yKtVIh4qG3wUGN4wpS6xT4zOdLRKjvjxDpU3hiQJxVne/wGPqGqxuWHNWk+/QDmmY4BIqyyNFqm9g60I8VkcMK2js2wAeQWqfBOpw9NaVe6Oip7nSPPJa3hsyKSBHvFbOAintUuGlo0ejxDNmYVCHPQfob8M4OKtu0SqFVfQYmX9PoUphOQOngC5QOF7sEk0YLNgpp0KedWgjyIzHYNk8fbxikg0mS33+P659Al0sqzEnE8PE8Eh7iz9isOrYRBUByaUvvMiIm2mV2943lJHntRQ5Ag1smbzHhVdpFKfAhINI65elh8V4XrKpOudfGZrg48niuvfW7Gm+pmq8fUw04ItJmgk8XEtWNmYfPtXo1voLaZi+mhsXVOjAn/Tiin1yAVDhiZhL42y0gQQfQV1U39ovHoT1BQBJOzqdeX5wi7lMyCeglHcnxr6dNWWwl590wJjRWPdZzAJuPAskB/7u8bjV376GNLKSzt1OJiaFaWOteaSKxzLX/kPIHq4g81xnhiaNdtft5XD7ZeR5Wl3Zs4ItRwpnuCf6UGP8YTYNH/P4zkM4EfgvIwqyOfijz5wYltt87EHmhsU7NLqNdllXtZiLLUz9Ar0V8WQCmcEZ5mb5QFgAkLSpm4MMNS9enTuWa1EObmm8TRcST7DXY0Abos/r9EdVAi+E/Q0aHttm26pqIg0s67/UA8y2TofJF55OGlhzx5j3J7Qk+y2BPfE0tXkhLfilgPPcM2C5i/3MWg/nEXvRmA9h0ZRBIAsundAEwsJ98C6kDz9Jhtrl5PjbBOt0XCANHWJM0mUIbXePTSjQb2/MgwB/DeiWlJ9B/RpWdk2YN/jq09eFQbVrQ7agNYNOhKC4/pMkr0Sh5KFEFAjQIzSgrahl8hiC+kH0bvcfFqiGWfT9W8Ht0BNQVFV2FMlCqs2n7D2zuU94WHWOtUlXnMg8IHUw9qcXzPc16yuQWCheS4YTBZqo4NYd6yk78oBA98V0TlM6hzUQQZp+FKsvFBIAFdcn7CChuU4ZX6NcfQSvqWnLVdqjkT4ZW2KdvQyNPEapvjSHrz9t4DLp49h7sIINmrq7W8SdzKH4PnkHNoiFew91dY0WSMscuUzZ+gO3/GUY5GUl3CZSVOeWLNN9fc4f1OVtQ6pPY0QKy/NDKhpr5xO08l3f+7g89RcPJah7Wcy0sF0FTXJKkgVNAZZNiRZQBlwTGR6c0qa6WnVxWrVc5l2VuOVS9CkdEdbjNBuB8AKSXC+qbSkgoX863F81O3A7DOtemDNl3MYoYzZ1gxR81SN2Xe5Oe5vg+nNMR3Vq4rYhewhUHOCZV4lgLKIlUB97RpOCjMz2hOWecBdm4wEDSsJ03H9GG8p/4NKva/TYYgIAgv05aSZ/a09AVGNHWc3gC3uFgisjRtYazMdWJe3LK6Dt4fMtwcHr825lEjXQxgkA+riWNyBKJjTmqqE+oHA== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mg7M15UCuhuN3DjkWjXyZpKhz+XZTXEnXD0akeqFpuNyf9tuSTPu40Zu5VaXfpHNwOlwwbMo9Pp6ZyhB3U9bS7q06rykIfmjl//uiXunD0CVNg3I/x55lZj+A5EvWAtCWr7uMCh9/ia2ePhpJ99UKlM259cSAtLOgGqekqXR2HfTDWCOXvsC1Q3MVQ3nKRLuzfgBEOrc+PoxkH7s1OQcbZxM2Z99I22k6ekh9F4KmoPY6FTxjQMh5rdNKPHz9FocaTkqlhHlwdb/1/0iaRI5WHEWDt6d+2ytLDckIb2/vrLWXdPrruOKk2DYS23Nx5m+5plREyBS9n0H9wIJFhR6/5FmaBWNDYehaUJ3AMRushVxapVbc1td0hJuBAMugK4aAg5ZH5K6onq44nknKVGneV3wcI+2UgoQkQlgSOc8F6Be2+6nqxXqDACo8P2gpOrhhnH6bZrtiU6i8LSBI8WnNnC17DYgVt9zhQEbUY+NNq9hqxQgR6M43vGJhULhCNnDcEhWp7akNMIaKIpFmJmM3l1EwutNZfKMDiiaQjo/zoCkM2vwP83Je040PvATbGPqkURXXSoHyKxJ4KppcYmGGZMpZ9HsmlvWK+9x1V/fNb/JwSvXtwUhArnIM+sJav5fAlEd2uidMoLa7X19a1KS/8LFyDLxROvvSlBGPHbArkUP3M/DwP/3U06j0kwQQRLLutqFRzPOjm/bmIRtkK4Si4NLoCAC4OGy1NRHaHLwgPfvdMaZl3DIp5BfyF4CNGONKA/gwvu7ltMgZbD9WWBBp4P+zPnrI8UEiiruGJjnkqtHl1A+vTtBkFhACJKxBSDJ2daLNpgjULEs5t/DKMrI7G5uGoScwRdNW1ph1ntjwifNMXTZHKImDtIki7HwlYSO23Fng/LAjrjUB5SlDzq1/YWesN2cnhBrnJdKcpp7wVR6H3pPZFIxd0s3XrzmjHmzlnE8nQL9ddx6lbCFMZZNBIdC0lO3Jj/EcL1rTdhOMOOQ/7qtq/DdqohtaXx/UABXVP84SuJ0sUG8JjcypBsbWU8kDJAWwwjBTfU9+2XmVvaOVEaaqSI9sjw9eF7wlN1lxFvrHfPnP3l1gkr1fwGLLbWStd+8UloMUUbdl3lViENEowBnpMRKDVe2/HTI+bn8Hw5hDjwJmzsKLkFLme5R3lekGK3B+z9txZ4X2KGoSP5nwMeZJ3VhKCEb9jr7Lyr04vxpPSJIswa2Biu2vR/0N93X7Um/524ob/e+2FmGnzVQ1BHNsn8NfB1y73WG0AM9ZZUQWT99Eo9XNUGopwj69mboiNFjdFcdcAMAdUjG2hyZm0WaMBWshLUlOBITggCL/rBnGUuZg3gIHzG/kjSeJquwB09BWgbObjQNqHV3B1zR1G7TEicFejyvxvWjV8KPYSxEQy341A06a9Ps0wurTEXftw61SHMY4zhY3iw7Rkge5cL5LRny1c419Y4ROgaL0H33Q/UGdTu44NjK1lvGT+SfaRYtNxR1YMWxSfeRHTxPkMEEAXBAR8JDcwdF7FGjlXaZfLC60lQxwnWOEkE608liXhEc5U1iaZworOlTEVJW5EcRU7PhtRGi/3pQ/4LXiujM6yfo23aphkwcO5oe+kLqQpG1B/5RmgjkQ4TUkdg= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1586d5f0-c6c4-4a86-b3af-08dd6e1e8370 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:32:29.2869 (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: 4c6TOlrJ3s39U1QEl6+sdu6mGClqavaYs9ZCBAFB96vbVAbSeIcuigNxm9teLNgvyM3UCdDUgHWUEC7zOlmKGSieTqjw3fnQY73WKvpzGzCu2Hr/zHtLPVNzgxCSjmGe X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 From: Lad Prabhakar Prepare for adding support for RZ/G3E and RZ/V2HP SoCs, which have a CRU-IP that is mostly identical to RZ/G2L but with different register offsets and additional registers. Introduce a flexible register mapping mechanism to handle these variations. Define the `rzg2l_cru_info` structure to store register mappings and pass it as part of the OF match data. Update the read/write functions to check out-of-bound accesses and use indexed register offsets from `rzg2l_cru_info`, ensuring compatibility across different SoC variants. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Implemented new rzg2l_cru_write/read() that now are checking out-of-bound accesses as suggested by LPinchart. - Fixed AMnMBxADDRL() and AMnMBxADDRH() as suggested by LPinchart. - Update commit body 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/drivers/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 #include "rzg2l-cru.h" +#include "rzg2l-cru-regs.h" static inline struct rzg2l_cru_dev *notifier_to_cru(struct v4l2_async_notifier *n) { @@ -269,6 +270,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) cru->dev = dev; cru->info = of_device_get_match_data(dev); + if (!cru->info) + return dev_err_probe(dev, -EINVAL, + "Failed to get OF match data\n"); irq = platform_get_irq(pdev, 0); if (irq < 0) @@ -317,8 +321,48 @@ static void rzg2l_cru_remove(struct platform_device *pdev) rzg2l_cru_dma_unregister(cru); } +static const u16 rzg2l_cru_regs[] = { + [CRUnCTRL] = 0x0, + [CRUnIE] = 0x4, + [CRUnINTS] = 0x8, + [CRUnRST] = 0xc, + [AMnMB1ADDRL] = 0x100, + [AMnMB1ADDRH] = 0x104, + [AMnMB2ADDRL] = 0x108, + [AMnMB2ADDRH] = 0x10c, + [AMnMB3ADDRL] = 0x110, + [AMnMB3ADDRH] = 0x114, + [AMnMB4ADDRL] = 0x118, + [AMnMB4ADDRH] = 0x11c, + [AMnMB5ADDRL] = 0x120, + [AMnMB5ADDRH] = 0x124, + [AMnMB6ADDRL] = 0x128, + [AMnMB6ADDRH] = 0x12c, + [AMnMB7ADDRL] = 0x130, + [AMnMB7ADDRH] = 0x134, + [AMnMB8ADDRL] = 0x138, + [AMnMB8ADDRH] = 0x13c, + [AMnMBVALID] = 0x148, + [AMnMBS] = 0x14c, + [AMnAXIATTR] = 0x158, + [AMnFIFOPNTR] = 0x168, + [AMnAXISTP] = 0x174, + [AMnAXISTPACK] = 0x178, + [ICnEN] = 0x200, + [ICnMC] = 0x208, + [ICnMS] = 0x254, + [ICnDMR] = 0x26c, +}; + +static const struct rzg2l_cru_info rzgl2_cru_info = { + .regs = rzg2l_cru_regs, +}; + static const struct of_device_id rzg2l_cru_of_id_table[] = { - { .compatible = "renesas,rzg2l-cru", }, + { + .compatible = "renesas,rzg2l-cru", + .data = &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/drivers/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 @@ /* HW CRU Registers Definition */ -/* CRU Control Register */ -#define CRUnCTRL 0x0 #define CRUnCTRL_VINSEL(x) ((x) << 0) -/* CRU Interrupt Enable Register */ -#define CRUnIE 0x4 #define CRUnIE_EFE BIT(17) -/* CRU Interrupt Status Register */ -#define CRUnINTS 0x8 #define CRUnINTS_SFS BIT(16) -/* CRU Reset Register */ -#define CRUnRST 0xc #define CRUnRST_VRESETN BIT(0) /* Memory Bank Base Address (Lower) Register for CRU Image Data */ -#define AMnMBxADDRL(x) (0x100 + ((x) * 8)) +#define AMnMBxADDRL(x) (AMnMB1ADDRL + (x) * 2) /* Memory Bank Base Address (Higher) Register for CRU Image Data */ -#define AMnMBxADDRH(x) (0x104 + ((x) * 8)) +#define AMnMBxADDRH(x) (AMnMB1ADDRH + (x) * 2) -/* Memory Bank Enable Register for CRU Image Data */ -#define AMnMBVALID 0x148 #define AMnMBVALID_MBVALID(x) GENMASK(x, 0) -/* Memory Bank Status Register for CRU Image Data */ -#define AMnMBS 0x14c #define AMnMBS_MBSTS 0x7 -/* AXI Master Transfer Setting Register for CRU Image Data */ -#define AMnAXIATTR 0x158 #define AMnAXIATTR_AXILEN_MASK GENMASK(3, 0) #define AMnAXIATTR_AXILEN (0xf) -/* 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) -/* AXI Master Transfer Stop Register for CRU Image Data */ -#define AMnAXISTP 0x174 #define AMnAXISTP_AXI_STOP BIT(0) -/* AXI Master Transfer Stop Status Register for CRU Image Data */ -#define AMnAXISTPACK 0x178 #define AMnAXISTPACK_AXI_STOP_ACK BIT(0) -/* CRU Image Processing Enable Register */ -#define ICnEN 0x200 #define ICnEN_ICEN BIT(0) -/* 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) -/* CRU Module Status Register */ -#define ICnMS 0x254 #define ICnMS_IA BIT(2) -/* CRU Data Output Mode Register */ -#define ICnDMR 0x26c #define ICnDMR_YCMODE_UYVY (1 << 4) +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; }; +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/drivers/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 value) +static void __rzg2l_cru_write(struct rzg2l_cru_dev *cru, u32 offset, u32 value) { - iowrite32(value, cru->base + offset); + const u16 *regs = 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 >= RZG2L_CRU_MAX_REG) || + WARN_ON(offset != CRUnCTRL && regs[offset] == 0)) + return; + + iowrite32(value, cru->base + regs[offset]); +} + +static u32 __rzg2l_cru_read(struct rzg2l_cru_dev *cru, u32 offset) +{ + const u16 *regs = 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 >= RZG2L_CRU_MAX_REG) || + WARN_ON(offset != CRUnCTRL && regs[offset] == 0)) + return 0; + + return ioread32(cru->base + regs[offset]); } -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 value) { - return ioread32(cru->base + offset); + const u16 *regs = cru->info->regs; + + BUILD_BUG_ON(offset >= RZG2L_CRU_MAX_REG); + + iowrite32(value, cru->base + regs[offset]); } +static __always_inline u32 +__rzg2l_cru_read_constant(struct rzg2l_cru_dev *cru, u32 offset) +{ + const u16 *regs = cru->info->regs; + + BUILD_BUG_ON(offset >= 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) From patchwork Fri Mar 28 17:29:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032300 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011016.outbound.protection.outlook.com [52.101.125.16]) (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 61BBC1DE899; Fri, 28 Mar 2025 17:32:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.16 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183164; cv=fail; b=AgJLszxYA7obT7VQCRP0Njb3fF0Hf2U0sCJ9J62VMpeKyaF+gLwQxnqXqusDf20EdU5juMDSifhapvfPHdsmdLOhR2hvZwYoB6Z5UMyc2FdKd2qeOhey5NoImwhJ1ufD78BKtt4euWZ7gUwGh7V+TO6PDKMSToEhqHyqp3XuMz0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183164; c=relaxed/simple; bh=b/qqiWfU2TOmFQJOhjJavmi9pjSIBAMTfFqVvQlDQWs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Q9FuFBNYtXzGP5S5xgrZ3djTYnYzKWXC/abpM1VKYu/+IWBSkyjckYwly7JLXgK+JoynNIqSKmwcddVqm5/3MM23BpgoLYnACOdm6BFAjkI6PwH4cPZn+vGPNRJQ1vV9pnWq44ffd17YZ9S12oXf7MwSDMGc84BPD53UaLCCFUk= 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=ikKIbPF/; arc=fail smtp.client-ip=52.101.125.16 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="ikKIbPF/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S1GGpapuLNqtuSHAVzyC4nABodFfuR+2rBdWkOOfqSrfPIJ2Rm82cHbAJb/codghaXlLFwhJNAj31WPMPiRdJRVQzmrZBIx7uxVCV13pGr3wrOFPqEV79mla2VAFKiVCUtHqPd+36Kkr/IVIJgPjHoiil/ku4mb3FHzeAf8GU9aUdX+q19cC3CCxOE/KWMqetZ4sBbfG4KzSDDtg1S+ORceoDXLbiM/eu5SktHRAG8bJHkYOeaATaDO4QxzVT4yiIHYr81r+3+5TzrVjH5TRDWODvfphT+GOmzcST9C0Qa++1EFwh0mQgxmmIDyi1lipGeR7QB6V2qGsDfjStWSE+w== 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=gGoAm2BkI7eJNp0jvuRUkbyrdvKV5ZTFut5ZDbIzDnsCxdODEjvtQ/aTtHtLvqafGhMU2CrX7DxlFfA0FR7InNkSaBC6i+G2Fx2Ll5W5XDrxqV1n9AYfyK2cJCaGhe8nd24PNh0U2u3R4I+DpN9216d/aFBYM72dZDlaG2x/fMa2iLLiTdJDgM/D4LWPabA3bxSadlFZe2Hr1seKlvmERZekRTTe1erxW3HhA2VkCZabGC3MHqKHEVKYq+RV5ZEolClANQmndm62O35KXzkWBSHpdJjo7ou1kdqxHsImPio0ngi4GAxaQnDZpUJnsw8s2WFokeSAlHB1QdpNSSOLjw== 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=ikKIbPF/EEvt3AHp6mxv+JsYHDz+YRL2nTNbWuJtD3MFs5O8MADnCZmpDZSIRbLPk0Cm1Ln37FnlHNRoBJ9pAff/6LltKafNW2xYGtZOZssWvaMi2koS+yluadOt4EOKYADvRr/4oGVnW8d9lFayABisKl7381SqDdnNzO9IAMs= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:32: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%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:32: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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 12/17] media: rzg2l-cru: Pass resolution limits via OF data Date: Fri, 28 Mar 2025 18:29:48 +0100 Message-ID: <20250328173032.423322-13-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b7860d8-d84e-4ff9-c72a-08dd6e1e8a1d 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: cg7NgfA020YSvJPtDE8S9xA8eJEONy00zoiEFts0fKnXTuHtUf0L5ErBYlebPnBdA33InuYoBdr0k5MDB9lF5+lxFumM44+4hKewgxlYBYwLshtIBLz6IMRF7wivEa+kVNA/02XNGmoaH13i8jM8E8ZrduApF/iRZq3QzRcfwqNs1kUbc5W8AcIUlIH/ffxeVAomxQnXIpbm1T9t59ObMFPx/+6TTcuUCa9UkE8BbCZSu127FyiXWVO3kwrGVp+aL2sz8/JvVDBGsy8pnSjLNP2JTPvKdPMUc7DmLWMrGqyQrFo4ZoQv8Nlhn/pm+NyOG7uI4gGKqpZyDBvmHBUevqbLkOY3OeBgm0f6NHrCntlAcOf5vkBIL8Ln14DncQvrRaNn5povPgoK9xOwBLPhEA6kMpg8IUnFS+ZjZNc9hOHyKx0i9iYCX/WAUCArpRzfOb7NeOYjBUQ82T0xO00d4MoFFVScdXn47SGE/j6SV0u7FcgM+whpIW/1xQoovPEmQuHWNZjzvGIxIxH87gJ5A2v+LPiE6YjkABx3xKPjCO66b0nTN0q/s0nbFGSZjhTebnAkbyNXkuOaUPq5KckYslSoM92YO3W2+2cMK8/0tms7L1Y8Eri03pHnm4BsHgRSkyhjdm0hndEi2eytvYNveth2BHJoZLIXEYlj4XurIMvq0K6SuFJMJZQWH+ipKi6HZVp3lfZob7bt3j3sLM6VOyJ6SWObAQUjGVF35DFY6bFRhsCtV4J6oiegE0zh/+PaxKc713vxQoskXXdADYh1L88iWOQW0dD9uKF73LzFyIvi5FbSedZss46poDgU9MlamF8ET/o52ngwA+TrWASc2wxZbdmWnBAeFP5PwdsGfsuuSGS2loemNJTrgwyjOvVeXZ4VnsqNg4WhLl+urvgTiHOCe/v7hhaLiwbXMbO/DpmtIlgA2WjMllpgUnIBJLNvzfVLqc0y8bwjERZtW7e/pVxRZ6hd8Axs9B9ZsxY01rAX+85GXx0hFlpx/zrK8PoBfACa8DzGoKhxlcyHHujbfnecfiE3v3E4j0PzO49ea9lA4YCKTHukLeFkewSK7niGWDapXMssYsuepQrA24Ifs3UgZf4lZ1GPuNiWYxXCduNfKt9JpGAo6h3c7U531xSBKt7G38yeDjJb/OAzIl5WnA1+UFTgKzFqdKWYFge8YvMPAYdYWRQ+rVfToief45Ap1UV4TzDSOv1vbbeI3m7UDgv7YGulmBZBbcDFb8bi4jWdGW/XcQ4KcSrgzYkGJL5Ywk6rsNmA+yspgUUWI4NcT+H+wkhTF5c25bb7rxi0LWp+Y55oeC4AZmBcrWO+5TLKBVVFwMnxlUmteS6+iXoZlpHxgi0L4qAFy3kn6ThsLxP7ErK09PP1qb9vXA0+ecxba0BLIQTjzsmCnRR0JF9pEKtTuDa4anifat/UIa7hLepDwApBpXHWnWx3dNejdm9IIypfsz7F5aVJxS+lEFYHNw== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qfJGOUvdfZ1eh7HFk4WPazcrpkJbfSYGw3KgyyTaOYAFCjK2JKikVucfRlzBqmcLFQ75j6Ko8sRrPX22doGx9FSr1wTfAEn+OPo6ny7KvthMudgkqJfortJOqh70ILG5ZWmx7lM0UBed78WO1kd0Ko0fmVVEdWuvHjNUB4PanNIMyKWXyOOIs2WeMsB8PjJfHxp/ZQjQ35WDGZOlyR0Ubtd3svROv7zo+9TsiXBibzj5rPjpPlcMNfEfYRx0lcnmzy+EpLPHJ4BmFxAXOS8H7Mb+r+kBbrw74BzQ5PkDDpGCiko3OZDUsxWuPgS/a3Md5m0XEGCvr8EOVv0XuBYxbe0sEGmFS9/+2t3dELCiL7PIpBIJpmhbH7cMe2Xz8kNW82jILlPoQ/8u8R33SRFH0zdeYse8ke1fBtt0Y9dztEI0NR3p3ZnahNGK6cIQKLhWADzNoJA0p5mNyCq9MLLDxA0z6m4wCdfLDHRr1PYJ1rClOJVs73zDx9CkF3fUSvzWU+u89mh+cjdj7u07ZYj+Rk5LQhBUyD3Cse5sdvowvdacNenZCRRLQEx5ty6wMVqrgu4Tjk1NfhZsEEUKyKqvjiaoejzbhYtZAWo3VrNwTq69CzWCqPcuZxPLGmzpoP6rpuTepGRNqTNpZh4UW+MqN7vbjNd9ViNmmgzi8SHM3zSpQ6TgEcAjeNWV+g0uGdkjTeZurAD9mfgEztYuHMg0qjDDw3ZEz83fhxmiavXH/+GI4bBMaDKA8zEHMEDyxVUW+qzld4ZhUrPN83q+O+5ipFQ2lrCT8a/ok54f8xBITcdtezd2rxk2VHQLAgPr0b0veVkZH0Xh/i+bXm2RaXh0ztKAkNuc29dOk8MyoLDQzwJy8cy1oshLTMqLKUD+u9fyqfvugzbBH3GIDk20PmxdaenISzGZ2AE0KxIFGZo4exQ0JisG9jUSDLdh0hu3J0CrOcFbMfp390RQKQ0SD2/NErWmrCoMGNPvwyUw7oMNn+rXlTR99mdz/LDcfHmaJ8i2YvKkjIlAs8qz6rI9CFhkcDfCsosSfzZu0rnyAJP3Mp27vUl2CLfyu9JFF9iGnmuKgWx0jxi7cctRW1VZLAWk0QCDOgN/dYQ8moVTrpN7Pvh7oZM3h0xgwYkHkUw7BUmkRae303UxfxL9MhPGrPIstnKcvHZTYZ3qd0RgDXdKDJeLWhnZkuKPKNaNg8rCwi41ieZJ9YxvPTUE89aqU1ePVwprewmjTZHRtcVKKnwatW9fdXek6XrOi4QxR25R4Gn4Uvg9yzb+i/kSOlokiHiYvMDmWG6FJ/Moq/5HdtgbiEnUeJwkB+6p2yvsERNto8UXxd+vmWVBHUyLTn/XUxq5GRY8ssjSOvvvOOx/5krczJhBGkhYN/W/89mthrAL94QtCnnGKBiYYlAe866t3qpZAxAPbcb/yQlImIEtUTBOqkL0JePoC+AGjDJZUzZ4OGwzdm09zStk7CFWWAzTHWMYnfjKbuO68D3BGkHfXAYg2Tx/JTjXV/pYiO2psy654vezYJU+evAtIgdhwOrKkpPAy6J1KDX+hBuHFliCjuJBtqr4LdVcs/4ArEBlCJNNSH+hKIx8SC7SxJqMrtjfz1+hRqAZXtT3JPzlv9Kqiscc3og= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b7860d8-d84e-4ff9-c72a-08dd6e1e8a1d X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:32:40.4933 (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: B4Soyoide21WNy9DrLSGDsY4vimWs/vQ9AkS1y6rBbWf64KNT827THyZIxMh79X1yxAIH8N85NUOFXaUpCJB3JQrg2rWm6Fe7cKeAYbcbRLyVVP+zKiz48Qlck0Oz5cN X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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[] = { }; static const struct rzg2l_cru_info rzgl2_cru_info = { + .max_width = 2800, + .max_height = 4095, .regs = rzg2l_cru_regs, }; 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 #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 enum rzg2l_csi2_pads { RZG2L_CRU_IP_SINK = 0, @@ -81,6 +79,8 @@ struct rzg2l_cru_ip_format { }; struct rzg2l_cru_info { + unsigned int max_width; + unsigned int max_height; const u16 *regs; }; 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 = v4l2_get_subdevdata(sd); + const struct rzg2l_cru_info *info = cru->info; struct v4l2_mbus_framefmt *src_format; struct v4l2_mbus_framefmt *sink_format; @@ -170,9 +172,9 @@ static int rzg2l_cru_ip_set_format(struct v4l2_subdev *sd, sink_format->ycbcr_enc = fmt->format.ycbcr_enc; sink_format->quantization = fmt->format.quantization; sink_format->width = 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 = clamp_t(u32, fmt->format.height, - RZG2L_CRU_MIN_INPUT_HEIGHT, RZG2L_CRU_MAX_INPUT_HEIGHT); + RZG2L_CRU_MIN_INPUT_HEIGHT, info->max_height); fmt->format = *sink_format; @@ -197,6 +199,9 @@ static int rzg2l_cru_ip_enum_frame_size(struct v4l2_subdev *sd, struct v4l2_subdev_state *state, struct v4l2_subdev_frame_size_enum *fse) { + struct rzg2l_cru_dev *cru = v4l2_get_subdevdata(sd); + const struct rzg2l_cru_info *info = cru->info; + if (fse->index != 0) return -EINVAL; @@ -205,8 +210,8 @@ static int rzg2l_cru_ip_enum_frame_size(struct v4l2_subdev *sd, fse->min_width = RZG2L_CRU_MIN_INPUT_WIDTH; fse->min_height = RZG2L_CRU_MIN_INPUT_HEIGHT; - fse->max_width = RZG2L_CRU_MAX_INPUT_WIDTH; - fse->max_height = RZG2L_CRU_MAX_INPUT_HEIGHT; + fse->max_width = info->max_width; + fse->max_height = info->max_height; return 0; } diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/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 = cru->info; const struct rzg2l_cru_ip_format *fmt; fmt = rzg2l_cru_ip_format_to_fmt(pix->pixelformat); @@ -758,8 +759,8 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru, } /* 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); pix->bytesperline = pix->width * fmt->bpp; pix->sizeimage = pix->bytesperline * pix->height; From patchwork Fri Mar 28 17:29:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032315 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010032.outbound.protection.outlook.com [52.101.229.32]) (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 862991DE8AA; Fri, 28 Mar 2025 17:32:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183176; cv=fail; b=r9T0I3wuGzQqo5LEP2UFZAWSB2y0QdsCey8G1p3r5vhP1S4Svug6ungYcIrwwhBup4RluBBNMEm+Z0RHJtAwAobzx1M/Q8rPMwe9PQsJJ7l7AGPu5gQuiemvQnGAWN4fREYiz7tmnON0c5Gjfcz42GcIGDmLAI4kKgBgv+T2/CU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183176; c=relaxed/simple; bh=72YViCBUc2DIx97riqsnuQVfu1D6fH2x6tjgOZq73dE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ANsAsLBTNHckmOO9yc3xjaB4bbJ4Km97wKno3ZFoxt0GUbBVU6K/nZi+onxJbFtyWrtO+Eb360Cl470AyY0dXVXAcvkgDnp0TRsIq4fhw/TPppqVJYBhmUIDhkM598zSTY2YOPAJUlplJiIoc9fXEQ9zal27Ehl3IRkoor9qpqE= 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=BdaLdY4w; arc=fail smtp.client-ip=52.101.229.32 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="BdaLdY4w" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BQx/OCzAk7/7oyxUWJKcmcDIZzRDxsHiJqk0FacpRKEmeSy5VjO3n3ePY3iYme5MKYtaEcN5+7xb+EQODCs6hxmVgd08sp+0P/YenEkjE9AMSWyMX2tfC+afRKrwumAO9p3Aiod3LKousoc5932uA97KyWiOXBS6ZL69OX0XE91qvVLD0T0mRf0k1xAw8AKOzVy76a9VFa/yL+T1pKCd/k++REnWatS9eR99jLbdOUQnIGlstJ92abpT7XYWW5bhZVhvqd4kChZI3pHDPdDV56SPkm52eTwznx1cRGfZqF82ddHNW8KMO+NlaVpEO1pZYUweUvghZhFeONVY3jX7qg== 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=uj/sNgo8Dza/0ahn25v30HSulEm2Y/LC1NBzbAHwG/4=; b=S0rrfOvpi75XnL12Y3o2lse8YtauvoYFZOTH3ZJrSeBGI8siXwXtEXmf4Y8LczGdU92mSZC9gUEx3I8bae8RAVDfAG8qdu6DAReFjBdMtBPZtiKyIq83OlpJFcio/vsoVbFQgNFzQCFxBYetN7dthtiy0ltcNsUAELbnUz+gYDYJTh1lG3D2wG/LPBNp9VgrkqvDwQ8tQ1Y+4tFdr7ewtaUjXgdd8jSWTY8stEvTiMX57DMjUz+J4szgnV7Ef4NVsM9O58AzWiBeVpCw+ECxuhBI7UMyAlohDFP9UFH/JMD8k9mwIU1Rl8ibQUi6czze4Emodw8ot97ZAcJUurRkaQ== 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=uj/sNgo8Dza/0ahn25v30HSulEm2Y/LC1NBzbAHwG/4=; b=BdaLdY4wWnQ+jKMoAdP5dF4c1UAS5qm0GU0KLtYacbMsFsNR7fgJdbqkH5ugmo9gIPHF4KDKjZ3KW82Y+PUwH5pJ5XufZROyeUy0FvLEPm5r+OQWVjM3wrOiUkQVpaghepIr1jN0E23dgrmYUMqc6SdQFXaOMQXnntAGxrH59aU= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:32:51 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:32:51 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 13/17] media: rzg2l-cru: Add image_conv offset to OF data Date: Fri, 28 Mar 2025 18:29:49 +0100 Message-ID: <20250328173032.423322-14-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 718ea1da-419b-4581-721e-08dd6e1e908f 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: glKGgH/mxejQEXhdTYyvSjHszeI3dc+tXpdxLqBhaOVLk5ay6oYyYKQz0m/PUNYrrJWmOzaZMuHDK25pxp52ynSCuGHalfgJ6UXpJOKarRhAi0gdnRFKhsO4cLxzJ3DDnToMulqBa4bOk0iwwTHy30mTJO9jmihpBig2MROWMPvQp5j5BhotPAleEViSgpV3imKApjcNL9BRSDTiQGNdTp8ORx1fRThMulCE2N50w81bYK+DP1t/hQSz7ijjsrs+IDBaVocegowkgd/vKDEBJwxaYN6kV0U3qIeC7zaSopimKVmzPenZHdQZuERUdofYF4sgv3ihDybXoOlfgmRDlGSW3Lx+Xgf7uB+eq80bCIrkrkg9KvzoCVRwD8dS6pfF8KA7/5hQyzMIdfLz1YIECXJOn1M2YXR4Ae0hBramE7XevDSEox/zXpDCROzBxma8xIUzBhCo+yE+Gt99D4eOOwjEL/xtkyONfdrMmG4RLO4wpYFnSXD5RAwefykdkjDqYVDX3JCdT1q1IzF7AyEZMxuqao0uJ9YBdtQS9DnKhBP9t1o901bOGrW9UHLohPAPJH8l1pJ5IgtbflUnHmrg1UznDKx/hXrR/tArMd2ObQ4Lrt1BAHWZlhPjdfF0Zknzuda21uWPrkASkM4kMmMdHXUjJu71FjL5fcSygerxXFfuMGB4CKY9YviQYLlhhaww/REF9f6Lk2mFPsRSJyvSjiuYpyvkX+54UaqiqPK8TfQXoU1FiHQZm7BqfIWuoaK6NLDpcQqMYF5ksnA/4Dbb4ZVT3T+2mZtQPYEyHhfqp/0bCGrt0m0N86xXT0HU0xjwVhZ0faRmwPTGUDJrmt5GzZLACLbEFhp5+saQZLAU7m1SpGXsDW/C/13egf6IKqnY+vKajS4KuDe2ksXBhdlq8N4cKpP+7PWxJ5rWKVitgYRvoxcJCjwNQSe8zSvXAv+4w3Iixx+ySip5qcVGefDHf0WEPdfBqElZfcWhm59k2kGGUVwldXQFvRNnQKGWj/2S6ayevfUhx2/VWYzWTs5KJo44n6Dtv31crYQMsLzdNGrEVGNhyDykiDnIYpHLCcusc8+ZDXX5o2utlcwaO26rJ+5IpCSn3EF1dfhrH/nYEJ1kgoKovJqIz8ADcqXEwpqeqKiScLPHW8vrBX1jAQ0gHvtiDUFzIzAU3x3p5JCTJl36rrZ5iJ051pYjAIbW9P3WBW/16y2USB1GY8ymH6NURHIdIBOR+UiC1DuXF6UqFJJCKKew7sdRKFdRCvQngAsNf9nwa+FUzAL9vZaF1/WVj9mXkplVLc+GLN5P3bfvjh78QModwKVmTzjV7GxfOpnmktU8UWPzFFNLJ8le31BS5iFEQfy2nmCVBIPQk5lpVp8Hscqqb257uuU9tEAaeKaBOamgQD2EN1oe0kLTN/UhSnHTLHCpfptin2fDBUOTUgRO6dk8kONzbMv16C+hFuB7Nn9dKPqM4lt7oA7MlWT37g== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GIYWujbGpMj1nIqHlRGgaLg8MS8IAh4e8jOPtEzXJRCmAwKCpWHKeJX9QiyHXMif+6gCABf9YzZZKOychHRAQLSj2wv6Li80FRDqdjfV5ynZJ0yFs1TciuNeazT1W9YK42BLehRNq/zbHu9AUcvsGYaJei8Iubw2yDU1lmnV/pKSoUPreOUwujFEf2JS+AtDUgZbYcIB1WjhApILXcK76y5IjCzun+ohTUkJUMJOcqNFrQ9UsI2jvQnJ8byxbqXl3nrFkK/W8fjW5aOPWGyApojWKXH3vHcGphEf1X0GWqrHI0hdRfDLYdrCNtdpymIqSx1+7RPiH8aL0haTUL5ELVI61/3KiI0AIVRHDRTyq+0NUZibpzMt8cTWyZ52qVtKkOrpxJsmgP2CqpcPdUsAPDMKWYP5kBMqPitPI/aG+EfjlS34yc62+CW92aEgQXVeDyqeTGIGz239h8Bm2REHdlSopnL8Jx1xkn8v3oPO06yLzswiKtaw823YGaob43EJ8iOeMXyjagVYDR9xpcHCZLJCo3SHH1Ih8dtsVxhA/+PYBKARKbbRMMRoWquJADgBLEGf3e4FRhjaz9xWkRDBm8DrnrWde/KqLcjKnp6VuegHWgxRNDOFP7HsS4AI61/am7To32UzBl7zxGO+1/pkDxWhR26xcEn6EMuyBYxeIOsQlTg13g83/xyRXtokIWuWSq+yLzz0Y/V1QG4OHaOLn2G7vwNS2I1NG/ImIqOOZK64SIy621kC5nQ1nHgV9ZmNdw5jqCRAlxmTMMx2rie7q1+6YtaR4uQpHckKQLPPN0dUKiURnIfNrBaNmVg60pvVdJKqYRWdFbNIDf1ONJRwtRGgUm5YrybWTqk0otkh6uXoORrJwnuy9lCDKp3aRFltVWaoKMaoBpzklqA4hVwwpARewB3mJ7GuK/vysFvlWYIwIbiOcFwwkEa84nCkLb7/WJEzxiPA4bBM3EZvxjebMFHW1BzKmV3O/0KZMpVjOmOTswd4eB6IW8wbLyQImuMDG16AHG7U7PuQHIkmdYgXXsiKwkoDjI44C8Qvi/45NWZpw8a9c1zkSHZ9D3oMs6ZFOyR5feOSgrRdX3dl5pZcOs+JyiiKHN2BzXvoU7ZRpb1k+qUVpo+degqgSl/UcA/RX9cj8icWWyIbYaqkpmrLZHrZ1c8gmfMGBGVr7pYe8BeTPFOsrtGNW8uRPoJAtpVjKvzS3cPFk9F3ei3lEbqZwj+Ln91vt92RLVJDInppIn72YS/aXvrmsVs02XrDFhnjR+zJaPkXDiOf1HHpf9kG+bf7J7I4eLZKZLgTh771k3BlmdDbBA5VsVr/Z1PmWlgV4pu12d6lXo9hA9yCn4ps7+WoNGSGaZOAOo28ENrvEBQUQGyM6VKt0qIRwTVcYA/5sjmeqfAHqob4EYXqawsY5oOfYIc1DqxO+GhZF2fZqfKiUvrTrKrkOnlvwonKXiUIVBGnSPx6LMOTfODansqS5JNYy57MljG/3sCTzd0bUfzfGzKUHVb3ItYAfpD52527OfNmvO2ATpJjoBi061BLMAdhYQBXBFEJET5RWonxBE3yJXuuSzeCOYZPPnxrYhfwPW0rFXffOPvIR1mdvF6CVJJwBrnGxIkbQS0xVNct9Ic= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 718ea1da-419b-4581-721e-08dd6e1e908f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:32:51.3282 (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: HHowxVvoz9+zTTdmZRPE9FWKmC59VG7Qn+HzMPf1t2tKdphrje+mNk9LZxjs0wLMwiofs7R1/lzXweo1ztzdXR4Wh9ry54lGSUCabZHOzrQ9fBeKRiWVl9Ao1p+0tlft X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 From: Lad Prabhakar Add `image_conv` field to the `rzg2l_cru_info` structure to store the register offset for image conversion control. RZ/G2L uses `ICnMC`, while RZ/G3E and RZ/V2H(P) use `ICnIPMC_C0`. Update `rzg2l_cru_initialize_image_conv()` and `rzg2l_cru_csi2_setup()` to use this `image_conv` offset from the OF data, facilitating future support for RZ/G3E and RZ/V2H(P) SoCs. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai Reviewed-by: Laurent Pinchart --- .../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/drivers/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[] = { static const struct rzg2l_cru_info rzgl2_cru_info = { .max_width = 2800, .max_height = 4095, + .image_conv = ICnMC, .regs = rzg2l_cru_regs, }; 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; }; diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 395c4d3d0f0fa..e13f633a687b2 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 = cru->info; u32 icnmc = ICnMC_INF(ip_fmt->datatype); - icnmc |= (rzg2l_cru_read(cru, ICnMC) & ~ICnMC_INF_MASK); + icnmc |= (rzg2l_cru_read(cru, info->image_conv) & ~ICnMC_INF_MASK); /* Set virtual channel CSI2 */ icnmc |= ICnMC_VCSEL(csi_vc); - rzg2l_cru_write(cru, ICnMC, icnmc); + rzg2l_cru_write(cru, info->image_conv, icnmc); } 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 = cru->info; const struct rzg2l_cru_ip_format *cru_video_fmt; const struct rzg2l_cru_ip_format *cru_ip_fmt; @@ -276,11 +278,11 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, /* If input and output use same colorspace, do bypass mode */ if (cru_ip_fmt->yuv == 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)); /* Set output data format */ rzg2l_cru_write(cru, ICnDMR, cru_video_fmt->icndmr); From patchwork Fri Mar 28 17:29:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032316 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010006.outbound.protection.outlook.com [52.101.229.6]) (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 8B5BB1DE8AA; Fri, 28 Mar 2025 17:33:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.6 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183186; cv=fail; b=H9nqwf3vojmSciCD8ZgRWiblWw/mKlE6aEWao+7a4M+HMwQ8vOfJdvO0XyeSQnBJUFJW7D0FPgN7mrmzAmE6ozYuc6FJEgv0AjyDAZUuE+adF2gY5j58EczTwqSgp3xaUnIp5OH+tw+1kF5nS3hIiMV87IuO3IVU6s8DGN0+QDI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183186; c=relaxed/simple; bh=ozVCo3+IWoZHaVSWLbiJkidQtl/bSmb8+e3pOf299mA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=C0SSAnWY7r1wsu/Jp8IEo6vbK6KuKe9YINMzqdrKHd3a8TID+tGpIMCm4McwghFSrqQajKP3EuZ2MIFNTzs0etc0e0aho9zzbf0UX2pW5NAYiu/v9W4mle0Xm1Bxx536Qov+OCztkO3aS63PUbS6kRKGuNRoyYdegmkl4hG4Law= 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=jgU4FERj; arc=fail smtp.client-ip=52.101.229.6 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="jgU4FERj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ns+fZU4btzw+QsR+KdDA7R4TCWkWa33ArU56b9imB4mhFb88JVGHwS1opoIACtaGLt1sswXfPslzQ83InMjeusQoF0t/YFouQywzzQErlrIN3KDcRFpsF0izQZsiDKWb6Y6RHuck/lN8nWnox0erCUxy1wey0E8f4EZRTLik18rRJPGSrC9ozGU6LbWaIVGspxqN1wBrobD7O4E4SFYqUzpe9fgW/Sf0s1UeTkk17tCV/zbytzP2QXCGDi63YEBI81hHNw91nh/lMfTj4n+Bfx0Ogf4VxGuRaEbzz8hk2iVccFV65Wk9NoxoAWBnQ9KSNPIzEDp2WPPwB3GI829diQ== 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=xolnwFB2U44+ABmra6vPJ4H1SEJQEoJ5QgqSZZ/4JcQ=; b=mRXy9EC1HWgD5khowLRmfJmEPEflNUcSbFbBxdc7VmEop/j9pn0joK7TjD9DpHV5jk0I2dkDYPmtXGG/dyXpBc6LvRcQN483KzftWzCvMLOqpqpzqN1HApEVw5Lbh3BwPGcHMTozylcEgf/xZcQmgO9N5pYQZ16C+iFij3JlzguwFi6FavvWj9qtCsYYtC23mzaG9E3tQpoFyXUG1WCVB6nQH7La6eBM2Wsam7THpmiJCnPlYGp5ELfp3NJ/oN0/64jg6PobruXMaQslBOVdHbGNovfOt/gTQ2MITF/w2A3/O1/Gj7b8iidsWNQafpyjj7qAscD3UUOsNs1QTNr7iA== 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=xolnwFB2U44+ABmra6vPJ4H1SEJQEoJ5QgqSZZ/4JcQ=; b=jgU4FERjM6EPh9pl66H75Wcg/tIB9ZcM4fL0OS2jyoL1mdfsExDr1hT7FqiBdq2jXb3j2j5D51K9TcV4pVpb07sB0w66N+pFdIEPYwjLEW5E784sTlKhV9DYrBfP9I8yqigOjc4GWYjb+qBDGlWFP2LK2dCT3joE0D5971fsSwc= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:33: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%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:33: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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 14/17] media: rzg2l-cru: Add IRQ handler to OF data Date: Fri, 28 Mar 2025 18:29:50 +0100 Message-ID: <20250328173032.423322-15-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b18d224-43e6-4b88-9884-08dd6e1e974c 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: 5jYAsa08yRdN2+pQSCg5ZPlMXBLiQpjAhJV+QGNzUiH+02GzTxmdJurka+RQRfBIwfeWL3kSUviyMvnKmEdTB5NRRmv/RgGTKlCRZRcxEQ9ljW86xcogmijav7h7xQlsRto/3NhBkR7ysw0YSb8OVbmHpmO+tjSKcDS4oSnN10Tt7aV6mZ1LD3s8oyOXeV+/Wk3XDpNMsZHquBHxNUB/sGzUVV5CNAOG5JgDjB5RLyx6KiFe+vq9TZRLZvjJ2H/LF5JoXEdGGJsr7MLMbKTuEnNBQa3eBm5Opy3Hj1aKAaoTfe47lBd3EasgM1admWOeI4RdcXQ0TTBLc0VNouoU0MmiLeCYRTFWHiOGL84oKmQqBlK/W6H0/hoRHLhlYW6ivN797MqoTYV3lKT6xI3gmtwBZWvne2GcMSRstQN2czF95nFl4h26dqZ2RHoyI3Tw9i1AJqe04AADC5ZDrt8Mids191CkLRMgTvy0WVQfTHZfAC4dboHCTs+5AoFiOe+o96pWKiloyDmYxztV64Gb0mCX5cxcYGpXvl0bjaopjQg9uI39UIwVMab98drCRuNCF67xU6VsdtwXI33ZZD5sjlQy/F5VykD6zd/JuJ25M0fgP79Adj/3NMgYgTYvElMuJMupx3Jlb7HL+ENXz/H0OEWDmVykm9oN7kEQTqImqjciQOy+/L2QKW8vALhgSrKFD0O96L5/9u0glmXkcVJRk/ktiaqA0ktu8x/alWcsRXCXl9by7v4DFeBS9o4NkClba4Dt/jHyMV6RVwHs2oAkvuPaJRTHHq2UQJFIcJmddy9ZiBGz2bWDPVWvIY+g2+ROPrFl1B/fzELXO5re4946KsYKyGIxZHb8TBglRm+CNYorSLVvWyn4m1jOyKvSdzp8BNP/9AIy5VKm17M2SSQYV8lHOVMfx8uhhTnxB2Jk7CHX/bgy7WK7BkrhbX7rgOJI3McdEPZaOKrBHNxtu4bx2h4KrQuYPBN5gSw0FwdMeAShLHE907BNszqfusZvErwjyGvctSNioMe6W605YmVW9KffTkJZ+RzGCvgyLeC8RleCwFyC6gqOiNpTbwFbq3myTnzJo2YKrXE+5ZIWNrXAGpPEKsf5Y74ccJPhFt6q++BgPjQ7kNwA7YODhLs4HT90evFJ8db4IIfcDJvra1RKCwENkjefWKiWoDPjbyhlKENrKyKxeMsGqcCbCUV+zqAnSb5Navj9AQc4QZbhs9oyZQbEdwwHudl9UfTPbixzRVF05BEnz07tgF0CFIi3nLy+wF2g7yktvLk2UeNuYzt/li/65aM7KsHsl7zQ2cnhsAEbd9EuprFOWa6cF0Ka/XRjSr0LL4sbCJBofHJxu2OT049g4vT80F3C2frc3d58cSIhaqR83u3hddddY7BNalKDq3lKcUDhucb85THmAvnd0LPUVcREZZYchlg9WkKy0QDxAMzN8tCz0YQdPOis23R3PmnSYiJKSF3dZ4Et/W/ydQ== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dEeBepj4L7uHFRZ/eNh5XdG8K4gnrH1KEnnpHuXonLzQtk/UXyaFrJFIuAYK+iWNOfNyu3Xcnt6F5kdFvoPMfmJs8iuAWLNT4kWRyP9nH+ZOOhyHxf6N4xHTa568/iUVESUJW4O6hI4+wSbVatMCnrUQ4ikcqJfCHVk/c7dfPoICjr+lzvKebl5Uv0odjdFuUECx7c8ljWY6vRwXpxLY/TPnPV36Kf8DzF1n3lZ0sqHkyfCjy2CvJNzZWmnTbE2mXi8yGQAloFbeIkk2sz1J7X87b/mplPj6jGi46qHQJ//7aycuVpmPCf0dgTp3jEAvSBodymCiBDLsMjlm3eqpSrkD+cbEQlFn2/EeBENgOch25e5zAxpqn22O5nFm9w9L9+NFMm22nWSa4r4KpxL/9F0JeGPgeOdjEaLgO0eJCtzSyF/lZzN6CsASp0d1GjSz3A2dApZTMqQAqw4RevCMQIpRHryUgr9GY3FmboXmEDGFC1pq1poqMYg20vmIUsmfatV4Ac96RPtAogc4nEfiw0l7lYf6tBIJtG1NGMDNkjnFgLCDkdzVaGt0TcL1bf30NDhfG9ub48E4lngOZgPNcxh07bPTlGGCYmf7vjz+h+udVq2bK9IDHbO4YlM2aeUnqjH6Qu7fR18rXzYP62VajrGC7SwmVc/jcnsxK3owDnKrUKbIrO00ykh3r3ke3zi80n1GoV4zYi8CDZ0wqxmT/jkH+ZJHIAXd/fvrNfa3y7RkZkOvYHfcvmDOhGjfVcKwcC320Wle8k7KdkMoAv0Ctpl28lDcbQ7k4Rj7MGLiNK4k3htf3mfrE3IqfQm6C0zrLWYOheaeiDrlc/t/AELDBlNoX6ARDmFCISosGfoPoexDdfSwfscKKmFuO7Hjg/3Oi0L5Ig9O9lIHr3hQbEooyW0wLX+lvI2Q39/9Chuj9PIy2IEMjd2i1rosID6iKuUG7cmUPcbqAAps5rnx0TjaELLOk7jxoaE3ZdaV0Qy7zLPoJRKX+A+qXBR6b1kxBOUrrH6rjvbulRWVaw/e6owsCKqVb071sY1hAJRJePX5CNNZreiICrncx/1/pARHe85iIoEg6wuFo4dCe1ZrTa3tGHRdWV6oWeegFNLQmZPyXp0ZhbZjrLqsg/Q3fUNbso8az+OfTcQjJNS3cbDi+btYFrq0jnWZG44PJ27HvyDmZn/nRFR762CMBDrBJDifsfzG+GnLzDdEgbLbt6t9W2Ms6EjxLEQ+mmdfAZyAnD7UivXaRI+HBNXXhm1UpFobzldHc9wL+5ubOcXlOlZ+xNvsFB+HJtbSojgmsU7phIFvvZN8HSpBv9iQoaraBGNvErTnRyi9GtyFr+0YiUP/me7DtmvUEtkcnhqX9zRNPEqGn2ujQyia6ArdWxIUYOHWYQuGboP3jMGQjNLwyq7la9NX1SFmvgVXmoRhRrkZrWVdYKMsHpBuCUAbNlNOaEyOTTnEd5839t+t0MoxzsSMz0200jRQvXbZOceaX+iLGeRivWGRF4PiVgWtbMPiZziK+t7jpHbjwF2xpYQlXIOlrdQzI2P0FzfXRu6/pggqDvJ73wgTHKyMFgZIRzlBKf2YdcAFOxOMNrpl5fGUVVYjFl3zKM3hqKnYSe4l8m5Mp2tdOZ0= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b18d224-43e6-4b88-9884-08dd6e1e974c X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:33:02.3995 (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: hR/tv0Tspn9IfqI0y6LfqQL+cm9CQNvltRS764OTVNKtFnkbtZOxfghibifUJ2PSkerHyItiug4J/Jbb6RTILSFNVa+0RuAEpHWBXAJabIX+RNTMdkc/TyuvYLk2FsTn X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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; - ret = devm_request_irq(dev, irq, rzg2l_cru_irq, 0, + ret = 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 = { .max_height = 4095, .image_conv = ICnMC, .regs = rzg2l_cru_regs, + .irq_handler = rzg2l_cru_irq, + .enable_interrupts = rzg2l_cru_enable_interrupts, + .disable_interrupts = rzg2l_cru_disable_interrupts, }; static const struct of_device_id rzg2l_cru_of_id_table[] = { 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, }; +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); }; /** @@ -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); +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/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index e13f633a687b2..3bfb30a61d9b4 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_dev *cru) spin_lock_irqsave(&cru->qlock, flags); /* Disable and clear the interrupt */ - rzg2l_cru_write(cru, CRUnIE, 0); - rzg2l_cru_write(cru, CRUnINTS, 0x001F0F0F); + cru->info->disable_interrupts(cru); /* 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; } +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 = rzg2l_cru_ip_get_src_fmt(cru); @@ -414,8 +424,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) rzg2l_cru_write(cru, CRUnRST, CRUnRST_VRESETN); /* Disable and clear the interrupt before using */ - rzg2l_cru_write(cru, CRUnIE, 0); - rzg2l_cru_write(cru, CRUnINTS, 0x001f000f); + cru->info->disable_interrupts(cru); /* Initialize the AXI master */ rzg2l_cru_initialize_axi(cru); @@ -428,7 +437,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) } /* Enable interrupt */ - rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); + cru->info->enable_interrupts(cru); /* Enable image processing reception */ rzg2l_cru_write(cru, ICnEN, ICnEN_ICEN); From patchwork Fri Mar 28 17:29:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032317 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010027.outbound.protection.outlook.com [52.101.229.27]) (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 760FD8248C; Fri, 28 Mar 2025 17:33:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183197; cv=fail; b=DYNIEJDdFVFlx1rNrzZQOqkfzEIuHOrtX8Wc/t7cgXletCeEmfKqzFn6oYaotkHo7u9Agb03lqaTrQ8pH21C0ag++Uqa8Gjgn96wt16qepOQl3CyKtzTBDB/NJfSBxvPtt0IcUeSAi7m/iMlOF0V4Df6eZJ93gRno3rYEnVmAZU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183197; c=relaxed/simple; bh=BejLPEl5rWU73gfBi7d7xG98Zvdrnk5y09LYgN0SnXQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=hdX83AJ9P8oS6kMjB1M//UMpR/DbGObmmBz6GzclroEPMZbQ9J2c6mvFQGn3BSwjIuGY/pyT8i6kHlZ+1LIW49bYW/YCebjQZvxTTN67ujbGoLCRxi3CgmlXZKDiAq7JoJmK1g257Sfw246mvqsRPCh4Czml+0gPPyUS/InHT9M= 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=HdASgHos; arc=fail smtp.client-ip=52.101.229.27 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="HdASgHos" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A4Be5E+QGYRLXiIa9n1bvq7X5P8uR+JKheWY43HiaTPtkBgqWpcjigG7QskBwRGxHR0mTzYCaT4Q/13qgN0nCTEJgOgveN9jMpmuYaA81afEw8RvL84eN7AuOtHZ/cx82fq3Chia3vpUZwSlqT9tQcXAfL1NOCzBAfmwu++z2PTqhG2AsbTJ9FVxDdxz2xmT8QWhZMyqhoebe1/A/bY52emjw4VXJxB5/QShtM3t6eIeXRdQNV+KQoDiY6ELhSbyFxT8gq+XImcKI3ynYeXtja/JDswx7s6UCG1CKDXup0eHcVSWH5GFO6uNKjDh9vZMCg/nd8P5rXq3gKjZE8H2LA== 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=CNb/KsPy9pTJcv6D76EKF7LPY7Mbj1mWJqvKwliBegM=; b=QW+Y6NhyDJ9hrGlu9Vkn+W8UBIyKhJJApp2jyGSjF2UwOB2WTlN3nUv7x342vg4LETD+fd53ffwap4E1lofPYGMg2TfQccSF+HzzypAHixHpeMJs522EHOqDbS2X+kaGFKcnbOmYkBaJLTzYJi54xNJHzZ26Ye0FdrzvAdbusSBxMRyYaprPpGD2FINIs7ftR4tsTuejnwyz6BxXar2VokeqG4TIPhBfHVOvu7PXMTlMXW0JOFUkW5LL9+C+xn9uucMFaU0cvnY3tt462YThrnMRubw5JYKjsqhGmIBuUK5PD0IyljosxMhKx/pJefiRyJL1R0AHd3r2Kx/KsLB92g== 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=CNb/KsPy9pTJcv6D76EKF7LPY7Mbj1mWJqvKwliBegM=; b=HdASgHos2xWjOpw1h0FHr351MDU14+ZDo0FgltbBhKJnksTfgF2YYwFVH+GGAcpt2chOEg9g/PkgB92iLVgW0OKg895jlejSqqeZjGDjv29/ulpyDlnBjR8cXD4Cyl26VKA/+98speOttMAcxvYeIZPezj2vUXYmjS9S2AymmNU= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:33:12 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:33:12 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 15/17] media: rzg2l-cru: Add function pointer to check if FIFO is empty Date: Fri, 28 Mar 2025 18:29:51 +0100 Message-ID: <20250328173032.423322-16-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 4df378ef-d9b0-48df-577d-08dd6e1e9d23 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: TqbCI3glMW7DGvEkj6J17RJocilGn6ROuMafMC0KmgRyBWf5e+Tw8nsFzTgewaB9mHTY36m8mDdUD97Fbp5mGZY7SKbnJq3cc8ht7IRJUPNE2QU9u6ywxR9D9emLrdOPMx5DANiD/e2aexEEv/TP9DuiGvXWOKmGQqv5oubS+ZCfY2T9N0OKbX8nQoQ7dUfEkoLDKhl49M0hGDpD+2ZAXJaocoWt62fVqXt9ZROFqis/HmNLrPw0dXfKnOTRdmZEwAUk1rW10RzgfEPlWDPvqv6TGCDFMPCBZXvVHG7DlppSc1zu9voygf8lMrvsJV1Ler7giGVj5ebIQraDZph8dIwswoOLeUVaM8ICP5m6U6jrsMRxtzJEn+Cn93FGtoi2PeVLJ6JO+0rdmYrPDLlx5ffsbSGC2fIo+VdT9fYrpOesUz9S7fq8ZKftqz4c849rffL4Qlr+uzXbjis6NXgsWlBkJBC8Q7CH0bI5cFJh4uXY98fhpL539M/Lz6Km5Rr43BWFuq/YLRpTyZb7//GmR6mGXXqpwaUz30G0Ynxuw97VM2UsYWukc0MjhHCLLdiEnph7QdsYLGvpxyMOsJWvBBh075dQzBEsTix/6vHs4GxhMpJosy6KAyROIv5vKitjAj0RkK5OAGjv/vtu+NfIORNQH87+lHs78hBY9g8azDK760qiLKG0okZ1w3/iLeVHiTKnAFGzBMzGS5lU17TXecX7yxtBrYblI6NiuSsFfrTW1MgS4zTCa5Z6YrC40moRgOPoQHsL7R7j3ZP/Gtl8fJAQZIr8CDM+XGKp7WcI+fsaNCLVYkunvMEq0NG7je9uYXVd3vnV7gtcVcdeRQNcYvp9qQcC+f6B/XaWaB+p94MJ4Z7qEFn588OBQGMZeaexwehFx6vkpxHqUPUtjwHsm9daTmBD0ZuzwX5Gx/abD+hrvPETQCAdCbCvDSKU4SKO1x3+TgOwxLMvtBOsLU9Dq0d9XdvXaCkgXH/LtmoceJBLpB8FkF0vWGRkuYQbYdcVXUO2U/mSvkIsIxX+nLzwJWwC8bSk6ldt9wOuLNqQQ93UXDtcRhLKk6j/an2bQXA53ofGKCuXyLem3oFrEqBDYTrzUdF8Qg+ncMHQMzlEHf/MpkaVCmUCaIp84b8uqR+jGTkC1pKUJ0g2TFjJuDdQACeM9longSfJP94whSmox/TtAC1PI/dW9riGmNlA2DWsrxTpTBEZoMYuqZP9u6TjyT++xMVo/sXIb387VbfnwFAtC5P8ZUXBKXVXw+HyR8yAu8jsj1LVuSTOhYRamz9qPn6XSOFM3QuBlh+znu7ANf5NnOJ3NPk5gQhFIGA8+UXUu8lPmV0heHYaYra7TRz6/hH+oiK6V8lPRdGftxeUUa8yaCDwEZimtwmDF3mGz8TQFl1GfaGH5qmAsQpL+2kAk0s5tqJ9GsI9V/CXsfrKwZQzCBTfTcR47FBN1b5aJubSCuXcAWs/3drDpSHcW2G/oQ== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NVjKwXCOEIFw5YoZaGER70JrhbNhxmKkr5QnIe7z5qWNKkKRkgcK85kKNIhwIBZ1kRWAbEuJh3wvoX6rKxy94DpmlQXQwhjiUvXLajxVd9jK502VkLqKD8jXwQjWAV0ZXYEwYbQmy5w+JfGNkVBETWzJpgiowCuZOe4UqImOJHM8JPWJVZvKfUF15xWbSXSNxsBWqle9NaA341RfKy5D2BmnRRSeyLBt8FB7Fx+m0yLCFQnUIsuzR8lf+eiHbo3Kqp6aY46s6m/y6XBPQGZK16WDDVfqHMkrRdm8VelrR5bboJKJ/8W5BoZjpThsFj3VFbnhYy38ywkKa4utMiWR+EOlVX/ZxLTu/5SprD7q/OhUhoKtx7ky8RcIetQvX8RgPR6B6/1PtW5Wa6ujX3+BJlFhx9Z4dm2W57w0tCtBrNppMLWNSmGvifyx/ulgzcpiFftYZUF73L0WEBJD8llHH5aaJUTOZsvKGLQYHi61YwsglhZQdOp6/m7ctWHPAnCm2Zebaa0NhArKJOEK9zf4S++RxgNc2fYJupzRvF3732VNv4rFu28I9tmnycLtkk9ugP04PrNu36SJ6djeiu7yZjJbYDyk5c6EN/Y3PxmLum55DqRWsGv9Wf3fNv+aWut3SLz1E99F7gdpli59HQtFMkBceQnXSJLvcjVf6ObE7Kx9a8MWDAB17LFbT0N0Ndq85RjdzBvOXap/sZTDQ13/ejNHbznkra09ATNeMLqBkQ5ome7Ag3lYTpwH2WGV6XFKuWIz6laKw/zShsJoHGOc56xGYQUkzey9Uw6U4RZ2B0JQGpzVGKkWx1tbmwx3QimGkDe0+Cl55PDveF91+exK5O7ZHyPfv+tCUg8XQxEvGA8JHeQtPRoF3YspZlzIxyRa55wBYYRZwzxk5l1eQVcdrOZTVFm6Q4wuqPWmJlT2z+EuS7DJxQEuNRHef2rgTxW1lVnCKA1k6bjtostJLULSPFjpLUawtE40tEpb1Cv0wCqQnfJlPTlE7i7zXkpufdR88xnF4gQ4J17JUya46I0x9jHJmApXruGG2EBU9E8gH54gl3umycBNpdzJgoI0NkEQCFh13RhZYMc3qybdccyIz4AETPMKb6s+I9mPgjvZkSmi4uEpTfYpX5BjrTHwhx5gbfjwkXpiBch1KVuHn2mxVKpNPVMjukR36DwK27dhGk2eZy4AlUFHXSDoqc8d85OVCkXETEn9VoUiAy5tIADjbK0hy43MXAfuCHaESkclohYr5jWfJReiPw3tSaXFYuyYSaRmWiD6tSmgTxINdAvlkROeP5V2U9cTJn3XIG1pBnQ4tf5S0+iXHU5uVI3vktGkziM38e5AYXqxqvRa4EARJWTTy00o+CewUONJKA0EAO6+vu4jjCy0spQu5CTLZI3D9GJGavRNtgqh4rE50VNFMiHPGCzfdUF4wkd80ROvRQ0Y775iWDdhFretcbLorosJ3cbQ5pPbSNDwpSJVHUNDUypctVAOzT/FBFxW0EEr9NwB8anh18EecECy/K1mFU4L/D9KH9TXoJnu7dL6D0Ln/CpivXw52MjsJL7pxTpg5oNHAXOeKJmMFN6bdHDZx6PSCmMhZ+fyCc0FMpfd9t4o4APQf1ZBkd6p0YR+3UD6ar0= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4df378ef-d9b0-48df-577d-08dd6e1e9d23 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:33:12.4176 (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: S+4/M0fY6vIj7aN6K3Cf8rQsg24uhpXqBJ/DIL0PNWvXaMFQKthpaMeuYCFJg30y0alReEQNLTFDxtLH+CC/8MxECNjrrVwcI3cwX2GZhgT/V+DpdHIVDuquIHKciyRB X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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 = { .irq_handler = rzg2l_cru_irq, .enable_interrupts = rzg2l_cru_enable_interrupts, .disable_interrupts = rzg2l_cru_disable_interrupts, + .fifo_empty = rzg2l_fifo_empty, }; static const struct of_device_id rzg2l_cru_of_id_table[] = { 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); }; /** @@ -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); +bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru); + #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 3bfb30a61d9b4..31848dc463381 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 rzg2l_cru_dev *cru, return 0; } -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 = rzg2l_cru_read(cru, AMnFIFOPNTR); + + amnfifopntr_w = amnfifopntr & AMnFIFOPNTR_FIFOWPNTR; + amnfifopntr_r_y = + (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16; + if (amnfifopntr_w == amnfifopntr_r_y) + return true; + + return amnfifopntr_w == amnfifopntr_r_y; +} + +void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) +{ unsigned int retries = 0; unsigned long flags; u32 icnms; @@ -320,12 +334,7 @@ void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) /* Wait until the FIFO becomes empty */ for (retries = 5; retries > 0; retries--) { - amnfifopntr = rzg2l_cru_read(cru, AMnFIFOPNTR); - - amnfifopntr_w = amnfifopntr & AMnFIFOPNTR_FIFOWPNTR; - amnfifopntr_r_y = - (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16; - if (amnfifopntr_w == amnfifopntr_r_y) + if (cru->info->fifo_empty(cru)) break; usleep_range(10, 20); From patchwork Fri Mar 28 17:29:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032318 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010065.outbound.protection.outlook.com [52.101.229.65]) (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 653391E22E6; Fri, 28 Mar 2025 17:33:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183206; cv=fail; b=NMhBEML48mi0j0g7JEZCZJ3I3Ryf/Ym/LpvoXRq0jK8IgjvW6fs9fSXIpOy9+0LLEuaZsMumVlUhMO+iZdxjIcRbonnjY9BwLXt25S0yaRd+cNsjj/Suol41a/K3jnvsLSWJgt9OuXegsyCNUZw19K+0kj7HT9J//6fANh3ZQBc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183206; c=relaxed/simple; bh=wsl7y7uOGcJSHiFcWJMWFcv84S1B3QEb5pApkwW7URE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fywXkecfdlziu0dGmoEe+EOzpa0oSBSizqnizwCAc9FArKVp3HvOQST6KjPtYpSn8cwmEqkYZ1skQ4UiiVh+b2k9Dq8jgYzsGr3EqUKRQp7Laji40yy1yJAAntpCLfn/JT6gqZeed6VBCKWJVo4tvX8Gpgoezt2RDnWvt2tvePs= 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=UTvvLUFb; arc=fail smtp.client-ip=52.101.229.65 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="UTvvLUFb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eu+7rmSdLltAwmho0r6soJWtpTpgJzGZkdoc/g0fdOfTgCHf5iyNAlvALM1CmnZEb0qO5iJsJ2owgxW9VToSqwepIzJkrjINqzedkL02Co0mOFehYjJUzgQn9omfh7yHk692u4GrXdhoMAnByRfWXF0B1PyIFVduAAPfPVtUw/M3i6ItcvGJMBXgN6QABsgS26G6J6jnJEeN5MchZax/Whgi9pE/agVPFUQJ1FPpIvotQnw+Tu3E2GbAzBhQBTC+C4C0giT8GwQ3wZnUpovxh1alzp4YF3nAKE+/nnP4FSGRnhUTwHmY2/Yyf+C4IDfeaMDZpvsZU/CxJquReJyhlA== 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=PDKPLWr81PGxfMO4ZHBjacoNXMKmIQNvXNl9P7GcS90=; b=rP9kEgyzXfaEG2g4CSYFaQtMWAYQBJoDVunYBTFter6dhMIHHyFWsM53QPz0JS9DFr5gowfAWs1IQXLEnp1t9YOX/ASL6HmfxixLA04RokGzakf8TCMxGGtirImmYAoZCjaRa3lllzZDuT2Di/vu3aQIpbjUr9j8DC/YFcgAmKvJEPNvuBPFBrWyo8KB007Hpdfh1aQRJJCcNuFEZbJfCBaRVcEsEVdq4g2LuN/rXdx0D0+a5G8s/6KAkl4EbWdw6Wko6PnMJnsCR1yFhYMh+ruqkdwgWiyOO/NaqWYxMcBNvhBWE/tT2AifmpstrKElGUB+rRkN9u2xCfWZ1GnsAw== 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=PDKPLWr81PGxfMO4ZHBjacoNXMKmIQNvXNl9P7GcS90=; b=UTvvLUFbD3UjYsmAgnU19ohEzNTdpef5faCLhuW3eX9ss2aHj1CbuQkruaFLuWua/+bOhhqmEK1vPBRRE1Pzhu4Ce07DGxVdllvBYEwrxaV/kKyQMTPet/HrADPuDB7FHsUnftgyrT+76YoHZDtZs4pGyotnMtDJPNwXHU3Unu8= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:33: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%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:33: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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 16/17] media: rzg2l-cru: Add function pointer to configure CSI Date: Fri, 28 Mar 2025 18:29:52 +0100 Message-ID: <20250328173032.423322-17-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: e3fe58f8-51dd-4f11-0d6f-08dd6e1ea319 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: UK0mlIT7tEKH86bNLyoc8OFlIHV9CjogJR62ZUxGKZ5xi/sWBoFA3sH8deLISQfCRJDDltks8caMLievNyLoOreaG08MXXQNmDaCka8HiPHVEmqWfZ+8iffFsT0x98LsNv3Yp7f9X4v3/n1ahw9UmPhEP1y4XLNrgCKFZEPvrSfSn/Ms4zPd0NOnlCVibCTrQ9HbPQ8ywmS4GzYItJ17XtwYpIAav3PB20HMqzs4RXLgNu7X5XMNDMDCVUV9Yj9zar7O6QI2v6b6+BOlRL2ed4vpLGhv7oyUpkjnByIXETJdaR7kYQBYzkuiTZdTwgiIf1vs9ZNjWpI3As01eTEH/0bHFZ7l9maOxryAROFkPbEtTZqqP+zB1mD4A/rmruhzVhlM5OSY4+p4iJ0T0npS00F4c8EFU01vxOAP5+ie0n/+kfspsQqmjp5wJ8ooR9k7eayhso997SGt5CqiHyi3p90/jVIbdWI9QfvYa1YN2Q/gENrxUxow3ZbGe3KZ412QDfI/kpf0WLDcIQMX+/Xc+IwjF1WnsnfADLt3F/vnHgE/93I1yOSCqvFZijx/uQIsqtGCUEcO0gyuLcltBzkvo3HXHbOd+WEjssf/hHV1W/SwosnQM4GKWcNeeR5B6HpLNoYSdun4lssvr+Y0CaHG3z+59rU3KnGDXsxapxKon+v5GHdk/1Glh+h2+3ebunrf+nLcM3pNaMECUZn/xi2NO+fwPB4mw1yWBov+Cb2cXDaZovs2w7mo51lEG9f12xNtq3lXyoAzPK1VwFklfiLG/F1aMGZvAZedKI0QxmV65EIKlA50e0TZkNofd8l85o/udLnvkyW8f2BMcsA8aXce39+dHaHd/4SLL4GktZ/Py08Rhtq2+R7ygUaFgsI5xRZHESKo2RE4GpP0KJKbCRVrWG3HKyU9OfAxJXfi3HMXICG64qLDhN8soNukTShAuiPmQZJcf4q0SDGFVHI0yN3MaeWbDcMlwANPVauGn80crMTC8Gn5VeU7eDFHB8+UQIF03+cQQSlAXq0jSQ7XKE5/qCPR5cIhb+grFn8xkdUtBEtD8sAVF6LPt1+4dGOfScR3VYz0noED8MizUd7hOCIWOGX4lSJW1bs7fidhtL5OUwwkZ65ojLgtoUcnRv6nDG9YuYJ9gUzXz3NkqrUJnIQAophNm4GD0poKIOa9bc5cKEpFSxn/mbo8TzzPUnCTPvJHvsRrNk88FsCmFL4lso6LEEupdqBL29GbIBBITk7Si4l5vvYtjM7OL4DqyzYWUVaoX3HBx31bX2fl2zVFheF9ZWgOUjrTI0Mm9LwdYJyXEyQsb8oDlfWYIAZ/0tc/F8XZisNfZZVggbroE/1hv5l3pPLed4UVTlUwMAou/veTJsXVkSes22GPSnrcIDQN3rbACoGW3YH/5IPxVN+913RfDYdGbmzbIYfu5P99CbotEGc9fpt8+zz3TsB97bvs+BuY+bs1FopA+J54ILpXiXAc8w== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pRXLzBrdrbscqygBf3QPn+xlZ++3ZNkXOTa7ULizmqJRwOK+WerMxIrqCSsq6touOMFr0+Pe5FMyDAcauNUkVN2TI7cLSU/den/sjVh6+s7RPRCmAcuXb1hTcqkv3X7WI8VPgq4gz0lOi+7cCDuXqWDCjkJaD2mIsv7opn0m4DWM7TZLeMKAjz2fcaAuBNunKBad0fpIExdEmiZW4ScGi0TQeAtKvHX2wEpLNQewTi4fDcjd4nI3b8ZvOzu5vrUjmziG/EUxvaxrFckKaamLHfhSH9p9iklj2FDLxKFSGebmi/eI4Kk+UOIRDZzqLnoDGACZKKeoMvRm7XoMOAfMHB9RFdsRJXSgRWefosdj9rBaaQEbPzj2NuKUhG5/a75QVEEmNkofHijUnQEUAEPfJDg7SucQb7OoOjMQxKDXjMYTHCKA2UQcQHDpa1WDKiHO8jU9YfzaVJ+qQfEG4jGwxbKTm617aSmCSKDtDiiZUQKIU7tlRwFZGOyJrTpG5N9BYBtC6LJC15VFa0YjO7MrSexdi7xodNVrS3br6yTuH3XrRjzlA5vcDsgPdC85JWIVQ3mK8+GC2TGTHNg0PnkYmEBVKRJDmmpskYZipeoinvdqdiWpHORdXleBaJfGMYm3L/Iq7eh14tPvuO7Tq9fcMBspblfoFiu1+tMlKHAwaEUwrGbsZXS1FYFyqNkXu57N5O1+WrJgowLghaG7owhQ3738X8jtxXfC6MG6mU9NTS89I1mFrNSLRUDx8mWqSqzEevnKz/uAq2IprTs1nZWMFka3InqEWY2srsrQFPnAqEKODGP69cKdyTLBrn/a9NEIAevg0J10UVpe/tOf27Lvt+iW7ZPVLpb+/16zqkMhd70dpuCj5zmRTnCtPLIeOA8zjfRdFKqKeGlMEtesubBEzg0PatNqe/OSMAsRc1cFD3HKF+BB6Yp3wIorcH3qSSeXlkNwv4EavtexGFe7b7hXHEwxKJhoHPLjwLdiEvTZMyGNtaPQynEXF1MpFvjNfSqEuOJvX0tik0K4K7X9YVJqUENtk96a8puJR5WnpXRseIgTJTzxgd0ByankGefcQyVvleqGg4bJb68ZhgrPS5WYmU0vY8HCdliFG0NKsTSgWmQdQW06+R4nMUYVqHWHwMBdOFMkcXKJHvD5KqUX2y3I4/yUF7FA2UW8+LuOxWPzCE/3qisJr9xBbZjrYdybX01ySHpZlaCJeSdfqwm1sF+9aKs4D18EZb8AG+wZSd/M/dqqsmF976abCOMU1PtC1MAHYuxXUTcZL2sX8JmDscskx52hmKkrhT520rtj/T3p5NZqH0Kvh8o2K6vNcPDUk6A7rwhaOKx5lDNj5Ai03AxSX957HTlxf/h/h5FBfcTkhPqciiTkdh5ufDwlSdrk2AAODqJeu0HusERqJovKVD0K7pQfsvJiqJkhkQiZkde1WL9Djn0QETx1PvJ+QryTOvkizsXK6FBP1ZxL0AdQn1XOZIzXTbf2Qez6Yl1Q8letGGyOG5148BQF5iuj7L9yB8ZwxZUmeJJ6Iz1sU8/cZGBLjcp0ikFylh7fWn6Re0FQzp/WUA9i5E/k63BxsaxtVtfvRi580jyTZAOsWBqex1pv7bNq72e9iZUkKQzMzUVwSJ8= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3fe58f8-51dd-4f11-0d6f-08dd6e1ea319 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:33:22.1890 (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: LNHiRmaIBExAtdpm8tgLlSljvvlovhe3ai96pkoCOq+J6kYAonsXUVqD8r3gmb/4nBkeNpN20chzAUgjXeS7ifRDCWCAb86lFF6+tTraJ9qTKYgE8t+ecCG8mRKG90mE X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 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/drivers/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 = { .enable_interrupts = rzg2l_cru_enable_interrupts, .disable_interrupts = rzg2l_cru_disable_interrupts, .fifo_empty = rzg2l_fifo_empty, + .csi_setup = rzg2l_cru_csi2_setup, }; static const struct of_device_id rzg2l_cru_of_id_table[] = { 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); }; /** @@ -187,5 +190,8 @@ void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru); void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); 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); #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 31848dc463381..748a0855b3245 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_dev *cru) rzg2l_cru_write(cru, AMnAXIATTR, amnaxiattr); } -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 = cru->info; u32 icnmc = 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; cru_ip_fmt = 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); /* Output format */ cru_video_fmt = rzg2l_cru_ip_format_to_fmt(cru->format.pixelformat); From patchwork Fri Mar 28 17:29:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 14032319 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010005.outbound.protection.outlook.com [52.101.229.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 8CE271DF257; Fri, 28 Mar 2025 17:33:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.5 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183218; cv=fail; b=gG7rapr+zng2IgEmVZWFjzzgv86rzVDE26/I4jiIzhj1tOO8p7H8Nmd9jz9wzSbldRIjEFHYBXaIuFh53UVc/UTOZr8zSOhD8UKtLxDtQg4B9NZLtCt6l/GAwKCl7sESv0x3hOh6Pj3rz4mBSi1ck0M63XMipd4/ojk0gx3ohnM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743183218; c=relaxed/simple; bh=OjvUSXuetAP9W/XLH4VGDv/JPgCiYom3wlE0TgKKBD4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BR92oXgXFc8BkVcGrXSusQAAxl3cickKore2AdHiwHtO60+TTZu5NFW4brdjtqx19OONrI/P/dvnMiMduVU2vuLsZMi5rTnCiPP7wew3m9jm+O1BDxXG/doR3M+a+Up4vwjW8N7ynHm8nD9YnFWDtmbC5jYtVSVqVuhsiD7TZXo= 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=BH63io1g; arc=fail smtp.client-ip=52.101.229.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="BH63io1g" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wtFMVDbOZXDuei8Zd8GZc4lzcSggsT/XEzszZ7cuTZtF83tyc+fzuB+RVnzWtger0FTYuK77HnJXpf4qDv+gul8hst9ffXNjP+z+WlFq0IveTNCcrYCMLGok8g9zyJs9Qsk1Fo8hcqL8nuYzKNAoa59AAdE9RLuTncTb46/iIF7ptFDWKH3Ccuv+PSDx1+DosQApCDHDGzV8seA2Cd4B5Yf8pIJ2DBYnd0k3acffhGPmf9DpXBlhoqXy3JmcVH+d6Z7U3+KixjdpU1U5rroygjNHuRf3d3aVTB/msYwGIfAjUlfz3db2aCl8QXgDAzrSXydVM3TBXX+S8031MF6Esw== 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=v83VJwlOlCmGdyWMlH2uH7VsPqWa8Tui17akM9EzLLc=; b=NoOjUJwbi0/n2L/VbuSsYLZlTDocFXT1QwboWn2fxoMDi3RX2IzIa0kNVPn2jpi0QB39vD9BRk3iXiKTdwaXSt9GKDuwhKQCbdQHJ180j1GEcg3WIJ6VDuuZvohN8uTziRs9S3T6EJTqLnPSjTUi2K0pLQw+G5MIeFz7V3CXv/40RVONhqirTAMqSSnTiL4HWZebL0/f6b/IAQru8V4ucJs2Wjo9J4hPpIOFYlBsqAcEMHmKMOMomE8Dj0bBkC7H0Ffu+pObJJfXeBqksoxbH69PNopzXR23IYAjsg7wKIoWXwQwULhgRs8rfDd56mj8fmB+yXJATgR2if01n8c4yg== 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=v83VJwlOlCmGdyWMlH2uH7VsPqWa8Tui17akM9EzLLc=; b=BH63io1gKzT1PS9GVb00s2xHlV6ORCIvHpVBX03d4hmGhx0OT39p5t1p1jkqRkIF+5vaYkWUCD5fiyn1NiFv5lqcOM0n+Hb3o3abnxCd09dnWADXnLVG6cnnN6t1Tnkfgw4rZjqxUoW13k1N4mMMZnAykEmsdlb62Zcft9DKgpE= 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 OS3PR01MB9720.jpnprd01.prod.outlook.com (2603:1096:604:1f1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Fri, 28 Mar 2025 17:33:34 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8534.043; Fri, 28 Mar 2025 17:33:34 +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_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 17/17] media: rzg2l-cru: Add support for RZ/G3E SoC Date: Fri, 28 Mar 2025 18:29:53 +0100 Message-ID: <20250328173032.423322-18-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> References: <20250328173032.423322-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB9720:EE_ X-MS-Office365-Filtering-Correlation-Id: 881b8e24-d20e-4658-5839-08dd6e1eaa66 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|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: pScLDhdrAbqFL/9G3TWEKtfCc9mOwhTnW/m+gPU3JO01ORdnhw8GTojpBM+xFTMpBoPcN+95i9E+KeKxfaj3RwU2FoaWuxg7Q+moI0g8ao0chyJ/3ePXGpHolABM1IEaZTToeSjK9X3faUZjwnecVtJDt0ofpRjSP82XKgQJfA3Sz7/bjtstbnWwd+I00ydcivG3AFN0D8Orp5lzAs6zMXg/kieNtzNb82Yb87FHhrLnP4BEiSYM+Qqm9w1HWm/cOmZ211432hkvVBB7S9AHTuo4iXSbPCBOLZ6LAGAV8RquqnkL5KumXsHGDD0mPgBJUjG3ANY3X9iNP7MVKUhtpUAHdKBaSNlSwz3rNugCb7t+Uh9lbW4xnfpCCEr49m589Hffv4sam5Xhpqdh25ByfPJwsAmL2RBb+HXg/NlA0TrRWKDOKd8C4/dgiXD+K/kgMOX8zZObWIE+jmRqN6YAh6Qry6f/hDTiLjV4rfrghqDzBmsmvZZMHpmQqfZl1sPdDMUnw8bkQXeoLiERgdnwxI6PW7lRdzc1a1PZmfWKkvj1/FFE8ksxt5lrSbGZoVn4oX/z57VSTvU9046wBK3F829ZWPQ9Qk+cC6qmAXu7mjqdjcA/Aq9gamQUJktO9wgmywNMvsaV7z2fQFcSHk4iBy29C0kxOfQ8gQnM63vv/Y7zdaOAhS8SdmKtp9bauh2Ajrnv8JEh4hVD76nfQTYZW5m3rVWaxMCJ0UtHkc155JKkx6g6NhCWq6AIQveVWrCDoTwBssOhE/ZhLILHbzh9ecjTppc75C4D/U9jBoDr/TNAPVWMC1VFDXb9YmoAkulrBauHQwqn9Sx0tb/I30WyBsP7GAfW49dqawn0Swy6CnV8J7fWOVeq4Z8jhTPYubwv5S+T4aXZ56AeLk/E9RRZMViPNXJhx0Y98v5wXxDOQ8fc4XHlZ6fGkt/e2x42oFdncNupjj90rEJlzWaPk6AzWcV4p4FHEsENB8qhzWR1S84fuEd4tvuc3x3mWWMcrf2Yf5b2xySMXnhEymL+7imhdkYHzv1KZ/YoJ6bY1DsKcOEwqwaLeHy+//3bl8wZlNV4kMzqzav4A0uRalK7LjsXH/2JCIIFB2oFM6bu4DdWF4YLbMWCWQoIJq90i4M2ZTe1r8dafwm2B/cqeumyksBaHsvhxXdcLntJvzDCcAmpqBBlbK4y4T1issS+w4rRhfhUkvxYiqSNQIDXZzrMtygkQdIN2Bu4tALpfqcw+atKO4uoFCuO5zbZthrhczTKPDTRiB51EJnQmuiaAXCFr88mRdp6fxLufUrknb18pH7O3H488UCdTLnQSfS4cBf6bCct9mQzBZTb6F1IGsZqfo3m9OcHY6zqe6vu6Iu9SdkVXsXhUosdAUrQ2WzS+CQxAtDxby1pybSpOWhPmceAPKkwMt72JlhDFKPld9telIZACJH/F8IB+SU3+Eo0gyNI1lwq8tNrZSLFtuU6o+7YNn/hIA== 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)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pInQbuRwqifybTNlU8PEGJYNfML5GvlHTGeR16TP1QiqD0NdN1dK7SBFXqruzBo4xX6acVdHac6tctZhBT1LD6IwgDqUuVV6hj4vJfc7bn6mBYwnXhYKh8R9kun65hwkdh35w0BO/5mNSMre24fl0/gYQhTHQWyIPSLLo6LcxulLcwPbBBmhg06EpSeWTS12ZLrBi/6Cm5mLwTSd+0/5Mn/EH7NfBT/DcbMVdnW+WXlqSHXcc6L+PZllnoavPz9ZzlGdzSafMQORSX3x8prPTloLYN1+BOyMMAHCwRbLW9Qh+saBAMOivIo++jKJ5T2y9LROcabAjuFHNx7co3P7j9HC5lFSvILLaCelJUGbyFOBw/SigMSk3QH/GAVPJ/FC/mxiBjS774PXkVdgV4mRR+5dokdyOV7j85lUW21CctXsFc1V6t5bczyjqX5VfQhKBp0SLyhU10n75sv1selwxx7FE0WA0YXXIf3DOzwvy6Hmjkpq16icMZJZr1osm0HrUC/v2bjeUpx8GiKH97T+NOPuBX1Ml4VZ2X4qY4k3bjJlmxNzy6TOf2jNjsGJ9Jc/FdBeCKPaaLjj4Vty9Jg1NxzR0fKGTLvnFpHcP/5LPu28RnOUM+fCaSeZAn7gaGBkzo4AXfLihOskT3Wr1XOTyPC0jYyNaEMSQAKz83QZkEXpxCwKM/j/4R4HewBU78Ya99oIbCtkOLZ1tSGNRs5chAU0mf/3wD0ImR+sv7ha1KqycbNmN3nYgWuc5jxhh1RdFHUIJXeL6hmBkh+zBj1ZfxgdlTlglV48AZLVbhT8UPcTkEn1zv+GVZxFV4pIN4howzag9RbfEY9h62zQFTR/Ccna/1l+N3o4ucGeTt25ZKVmpzcHhXhnafc0UA7iGHN7kJlEVZW/pS78Qw7M4aMQGgMYB/y8s4OPNj3NRy2g8jB+ExYBKVj7VvZ6VSUlJOds0ePNMMx2xrj9+tL2rvzRWYNgffEVipJRmGAQnE2bK2Ud3KhKnyADC0oS8FlpnVCcziOjKsjCmmwBR8g9u9SIbr3VBaoG0mxYVKOLCVXgCDfSleJXUnYRW/K6680k8V0pi6SwdOpEofuj+qoEc9PsDkAAirj4xECOM/Cw//KeF15LibuNxh0QGue5iaL6lFXQNuPE9tWNkst24Z3dpM+EFJsR1dHtCu42mk2MFwWWN3lAzmC1khRWBp18HoVD8YBMRXDu4X7zUfrCrP0nroPuJ73JI7IoWY1XQT9ZnWRFp3o16++6CbWtet2NMgF56SYdl7PkjCCDnZFb79mzS1n/6q2H3iGa9Fo6pgN5/OjZgCCzSV4nS/FOsNyujZIJW2rcahfAv5nx13hHZ79wYUAXiR3f6dqp/ozU6vRw4a9DiKSM3HSohU2JMHhDL2LeaNlut+c0TL5fS1S80kuUncm8ar41ismTy4FK7KryCWT7fUVdmLEixTfaAhxjALHfozLpOfLlKGSHa7k6sGLmrnj1qv/ck115hBvBrm0OYH2TObHKdsBKUpGYZRRkuwdhlkmCzDpsA84sKYXQw8izYerRyrM3v3w38c7dlUmhskkhmApXimWAbzsse8fWDK0aPS7IYqMhyt3v1UnTPJrDkawDXqRDzXBzQsaAUk8iZuwBkAI= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 881b8e24-d20e-4658-5839-08dd6e1eaa66 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2025 17:33:34.4412 (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: qbXtSNd9M80uTAU6q0T4lsdHUU/AwFzfB6BSsjB2GXZuticMJwFIZ7AWkfaer3YIP5bzWTP0/5biAmgOiKtu4CJgjdY9T1kUk+lRRKwb7cAN3cPXZJ+1rc8U2wtJYpv1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9720 From: Lad Prabhakar The CRU block on the Renesas RZ/G3E SoC is similar to the one found on the Renesas RZ/G2L SoC, with the following differences: - Additional registers rzg3e_cru_regs. - A different irq handler rzg3e_cru_irq. - A different rzg3e_cru_csi2_setup. - A different max input width. - Additional stride register. Introduce rzg3e_cru_info struct to handle differences between RZ/G2L and RZ/G3E and related RZ/G3E functions: - rzg3e_cru_enable_interrupts() - rzg3e_cru_enable_interrupts() - rz3e_fifo_empty() - rzg3e_cru_csi2_setup() - rzg3e_cru_get_current_slot() Add then support for the RZ/G3E SoC CRU block with the new compatible string "renesas,r9a09g047-cru". Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai Reviewed-by: Laurent Pinchart --- 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 LPinchart. Changes since v3: - Fixed kernel test robot warnings from rzg3e_cru_get_current_slot() and rzg3e_cru_irq() .../platform/renesas/rzg2l-cru/rzg2l-core.c | 62 +++++++ .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 25 +++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 13 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 171 +++++++++++++++++- 4 files changed, 270 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 3ae0cd83af164..1356be14eda8a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -290,6 +290,12 @@ static int rzg2l_cru_probe(struct platform_device *pdev) return ret; cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; + cru->buf_addr = devm_kmalloc_array(dev, cru->num_buf, + sizeof(dma_addr_t), GFP_KERNEL); + if (!cru->buf_addr) + return dev_err_probe(dev, -ENOMEM, + "Failed to init buf addr\n"); + pm_suspend_ignore_children(dev, true); ret = devm_pm_runtime_enable(dev); if (ret) @@ -321,6 +327,58 @@ static void rzg2l_cru_remove(struct platform_device *pdev) rzg2l_cru_dma_unregister(cru); } +static const u16 rzg3e_cru_regs[] = { + [CRUnCTRL] = 0x0, + [CRUnIE] = 0x4, + [CRUnIE2] = 0x8, + [CRUnINTS] = 0xc, + [CRUnINTS2] = 0x10, + [CRUnRST] = 0x18, + [AMnMB1ADDRL] = 0x40, + [AMnMB1ADDRH] = 0x44, + [AMnMB2ADDRL] = 0x48, + [AMnMB2ADDRH] = 0x4c, + [AMnMB3ADDRL] = 0x50, + [AMnMB3ADDRH] = 0x54, + [AMnMB4ADDRL] = 0x58, + [AMnMB4ADDRH] = 0x5c, + [AMnMB5ADDRL] = 0x60, + [AMnMB5ADDRH] = 0x64, + [AMnMB6ADDRL] = 0x68, + [AMnMB6ADDRH] = 0x6c, + [AMnMB7ADDRL] = 0x70, + [AMnMB7ADDRH] = 0x74, + [AMnMB8ADDRL] = 0x78, + [AMnMB8ADDRH] = 0x7c, + [AMnMBVALID] = 0x88, + [AMnMADRSL] = 0x8c, + [AMnMADRSH] = 0x90, + [AMnAXIATTR] = 0xec, + [AMnFIFOPNTR] = 0xf8, + [AMnAXISTP] = 0x110, + [AMnAXISTPACK] = 0x114, + [AMnIS] = 0x128, + [ICnEN] = 0x1f0, + [ICnSVCNUM] = 0x1f8, + [ICnSVC] = 0x1fc, + [ICnIPMC_C0] = 0x200, + [ICnMS] = 0x2d8, + [ICnDMR] = 0x304, +}; + +static const struct rzg2l_cru_info rzg3e_cru_info = { + .max_width = 4095, + .max_height = 4095, + .image_conv = ICnIPMC_C0, + .has_stride = true, + .regs = rzg3e_cru_regs, + .irq_handler = rzg3e_cru_irq, + .enable_interrupts = rzg3e_cru_enable_interrupts, + .disable_interrupts = rzg3e_cru_disable_interrupts, + .fifo_empty = rz3e_fifo_empty, + .csi_setup = rzg3e_cru_csi2_setup, +}; + static const u16 rzg2l_cru_regs[] = { [CRUnCTRL] = 0x0, [CRUnIE] = 0x4, @@ -367,6 +425,10 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { }; static const struct of_device_id rzg2l_cru_of_id_table[] = { + { + .compatible = "renesas,r9a09g047-cru", + .data = &rzg3e_cru_info, + }, { .compatible = "renesas,rzg2l-cru", .data = &rzgl2_cru_info, diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h b/drivers/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 @@ #define CRUnIE_EFE BIT(17) +#define CRUnIE2_FSxE(x) BIT(((x) * 3)) +#define CRUnIE2_FExE(x) BIT(((x) * 3) + 1) + #define CRUnINTS_SFS BIT(16) +#define CRUnINTS2_FSxS(x) BIT(((x) * 3)) + #define CRUnRST_VRESETN BIT(0) /* Memory Bank Base Address (Lower) Register for CRU Image Data */ @@ -32,7 +37,14 @@ #define AMnAXIATTR_AXILEN (0xf) #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) #define AMnAXISTP_AXI_STOP BIT(0) @@ -40,6 +52,11 @@ #define ICnEN_ICEN BIT(0) +#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..d68d833406865 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; + u8 svc_channel; + dma_addr_t *buf_addr; + struct v4l2_async_notifier notifier; 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); const struct v4l2_format_info *rzg2l_cru_format_from_pixel(u32 format); @@ -188,10 +195,16 @@ 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); +void rzg3e_cru_enable_interrupts(struct rzg2l_cru_dev *cru); +void rzg3e_cru_disable_interrupts(struct rzg2l_cru_dev *cru); 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); #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 748a0855b3245..da6d13e80a45a 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 +#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_dev *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] = addr; } /* @@ -224,6 +229,7 @@ static void rzg2l_cru_fill_hw_slot(struct rzg2l_cru_dev *cru, int slot) static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) { + const struct rzg2l_cru_info *info = cru->info; unsigned int slot; u32 amnaxiattr; @@ -236,12 +242,39 @@ static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) for (slot = 0; slot < cru->num_buf; slot++) rzg2l_cru_fill_hw_slot(cru, slot); + if (info->has_stride) { + u32 stride = cru->format.bytesperline; + u32 amnis; + + stride /= RZG2L_CRU_STRIDE_ALIGN; + amnis = 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 = rzg2l_cru_read(cru, AMnAXIATTR) & ~AMnAXIATTR_AXILEN_MASK; amnaxiattr |= AMnAXIATTR_AXILEN; rzg2l_cru_write(cru, AMnAXIATTR, amnaxiattr); } +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 = cru->info; + u32 icnmc = ICnMC_INF(ip_fmt->datatype); + + icnmc |= (rzg2l_cru_read(cru, info->image_conv) & ~ICnMC_INF_MASK); + + /* Set virtual channel CSI2 */ + icnmc |= 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 rzg2l_cru_dev *cru, return 0; } +bool rz3e_fifo_empty(struct rzg2l_cru_dev *cru) +{ + u32 amnfifopntr = rzg2l_cru_read(cru, AMnFIFOPNTR); + + if ((((amnfifopntr & AMnFIFOPNTR_FIFORPNTR_B1) >> 24) == + ((amnfifopntr & AMnFIFOPNTR_FIFOWPNTR_B1) >> 8)) && + (((amnfifopntr & AMnFIFOPNTR_FIFORPNTR_B0) >> 16) == + (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; } +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_dev *cru) if (ret < 0) return ret; csi_vc = ret; + cru->svc_channel = csi_vc; spin_lock_irqsave(&cru->qlock, flags); @@ -601,6 +662,107 @@ irqreturn_t rzg2l_cru_irq(int irq, void *data) return IRQ_RETVAL(handled); } +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 = rzg2l_cru_read(cru, AMnMADRSL); + amnmadrs |= ((u64)rzg2l_cru_read(cru, AMnMADRSH) << 32); + + /* Ensure amnmadrs is within this buffer range */ + for (slot = 0; slot < cru->num_buf; slot++) + if (amnmadrs >= 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 = data; + unsigned int handled = 0; + unsigned long flags; + u32 irq_status; + int slot; + + spin_lock_irqsave(&cru->qlock, flags); + irq_status = rzg2l_cru_read(cru, CRUnINTS2); + if (!irq_status) + goto done; + + dev_dbg(cru->dev, "CRUnINTS2 0x%x\n", irq_status); + + handled = 1; + + rzg2l_cru_write(cru, CRUnINTS2, rzg2l_cru_read(cru, CRUnINTS2)); + + /* Nothing to do if capture status is 'RZG2L_CRU_DMA_STOPPED' */ + if (cru->state == RZG2L_CRU_DMA_STOPPED) { + dev_dbg(cru->dev, "IRQ while state stopped\n"); + goto done; + } + + if (cru->state == RZG2L_CRU_DMA_STOPPING) { + if (irq_status & CRUnINTS2_FSxS(0) || + irq_status & CRUnINTS2_FSxS(1) || + irq_status & CRUnINTS2_FSxS(2) || + irq_status & CRUnINTS2_FSxS(3)) + dev_dbg(cru->dev, "IRQ while state stopping\n"); + goto done; + } + + slot = rzg3e_cru_get_current_slot(cru); + if (slot < 0) + goto done; + + dev_dbg(cru->dev, "Current written slot: %d\n", slot); + cru->buf_addr[slot] = 0; + + /* + * To hand buffers back in a known order to userspace start + * to capture first from slot 0. + */ + if (cru->state == RZG2L_CRU_DMA_STARTING) { + if (slot != 0) { + dev_dbg(cru->dev, "Starting sync slot: %d\n", slot); + goto done; + } + dev_dbg(cru->dev, "Capture start synced!\n"); + cru->state = RZG2L_CRU_DMA_RUNNING; + } + + /* Capture frame */ + if (cru->queue_buf[slot]) { + cru->queue_buf[slot]->field = cru->format.field; + cru->queue_buf[slot]->sequence = cru->sequence; + cru->queue_buf[slot]->vb2_buf.timestamp = ktime_get_ns(); + vb2_buffer_done(&cru->queue_buf[slot]->vb2_buf, + VB2_BUF_STATE_DONE); + cru->queue_buf[slot] = NULL; + } else { + /* Scratch buffer was used, dropping frame. */ + dev_dbg(cru->dev, "Dropping frame %u\n", cru->sequence); + } + + cru->sequence++; + + /* Prepare for next frame */ + rzg2l_cru_fill_hw_slot(cru, slot); + +done: + spin_unlock_irqrestore(&cru->qlock, flags); + return IRQ_RETVAL(handled); +} + static int rzg2l_cru_start_streaming_vq(struct vb2_queue *vq, unsigned int count) { struct rzg2l_cru_dev *cru = vb2_get_drv_priv(vq); @@ -782,7 +944,14 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru, v4l_bound_align_image(&pix->width, 320, info->max_width, 1, &pix->height, 240, info->max_height, 2, 0); - pix->bytesperline = pix->width * fmt->bpp; + if (info->has_stride) { + u32 stride = clamp(pix->bytesperline, pix->width * fmt->bpp, + RZG2L_CRU_STRIDE_MAX); + pix->bytesperline = round_up(stride, RZG2L_CRU_STRIDE_ALIGN); + } else { + pix->bytesperline = pix->width * fmt->bpp; + } + pix->sizeimage = pix->bytesperline * pix->height; dev_dbg(cru->dev, "Format %ux%u bpl: %u size: %u\n",