From patchwork Fri Feb 21 15:55:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985766 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010037.outbound.protection.outlook.com [52.101.228.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5DFA213E89; Fri, 21 Feb 2025 15:56:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153374; cv=fail; b=pSsVLr+9RLKayBa6bw836bqGTUn7+i5Wss1nBOxLzEn3+3sLcKvZrDQvcOTQx0PTGhf/5kTetDNMWDa3A6iCY0UP6Grb/mNL3f6a3jmmAoOYd6SuXYr8Rx5neOzprankRxU1B4knX60+eCZJZKbRgWaC7UMKCwNlur98XYGZ63k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153374; c=relaxed/simple; bh=86bwgMDoG9Ug5xvt62xPhaw9tjo74NQXOLRtluot2cY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=a2W8DllTIJcDyQ/CKzH01+zsYkMjpgBR+Ac+H77YhGNjXLhyZHqDcdNKTAbjcE07ge35LzPYeuxNAz5/oftps9JbKwJ0YTA0khC8dJF0q3ABqw/TBAxFh8iskwfOWA78j/WKCtcIK2SNw6+oPA82L7UX4KgTgY6rFITX+qfuj6A= 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=HP2Nnc0e; arc=fail smtp.client-ip=52.101.228.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="HP2Nnc0e" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RnXUeyZc1V+oJwgPla20HmZ68aBEHeTmgvERP/yLohdMvWKjjIKhyIMtAQwKwo70XH3V98fkjjoMi6LfdnVkFIRdM5D5oO+GP+vl76a3fmQcRQeEB0MdpOz2lIW8Bfk38aaoyby3LPrrpJTC3MtMbiRPYSHdIrzawgSogzXsUXadiP5uPJ/Ov4WA/1vS3ebUiobkCIxbHw+VqO7BGzUjWIMynvyrtMkMhpgCc+iwaOU3qCXQbMTYUBlYratqHZgu9rJ197qnvil3XdV5DinGK28sjI3tx/4nbJJNnCT0xxI4RkmViYlk6tKetLnqOPlFQc3YpXoVjOySdIpjmqadgg== 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=E+R9oYvcBSHRfr28Wv4dGw22J/KPypkzShv7Y6k0CfI=; b=M7VkE33Z8Fi6fSVx6glMkJamWychjH18F4r3PeqD+idzcc51sX+ov0EDDilzMNYwwJe5r+UBFzhmrSIvbcHizOP84pJ4uVMXky68VuIR/8dIE36soGNbjouFFsa5rsfDPvZbyTz9X3e6ak1ND5RdnakdTJv8DHV/L45EE96gVeso7B/cKj6v3yvo2c+9gWe2K9VFwg2mJSz4LKoZRyvzqUzS6nXt64i+KqyJ7e0CK5/5bZuQX/ChaE8BIdMWco9QH8tBu8jmYx/8jiSMciSB0Ez820YcIfSPuh9NeFcHik/qQzNEopeyNDpIhHEvs8C50QI83CfAB5daZjVa0QMpnQ== 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=E+R9oYvcBSHRfr28Wv4dGw22J/KPypkzShv7Y6k0CfI=; b=HP2Nnc0e6TrnodZ5TocnUqQ+6cSs322YL0GUFkQA4eoqxGdCzJO10e9pmH0BjQ6uuW9kU9v1AQVtvE5wgeqxgu/rUy00z00OOHdtoQ8i6/7D+y9m+IpMxl+1JRL8UP1PPaIz41IZLFw7u088vsOAYm1pL6CFj01uEoI8J0sNE7M= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56:10 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 15:56:10 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 01/18] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/V2H(P) SoC Date: Fri, 21 Feb 2025 16:55:15 +0100 Message-Id: <20250221155532.576759-2-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: e6bd2cd5-0ad9-457d-a069-08dd5290424d 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: ixV0sbDeM41x4KfoZ96V2aAJZTuq4xCOo9M/a4oylUamYz0xXgb7SaINbn/utHk2FaPAWXbeEDcvMW7KAqphhNZopqhM60BuRBlmFIceHc8aUwctMSzUiE37boYnldPh4KKWFINArwiV89r9ifE4kHZBSp0f6FoGPjDmkRPTa2BmBQjdFglr94Ry/c1TWflkPB4FTxsfe31FV8ViCCTGi7FiatCf+ZIAnQ2rHwJnpTokg1PQs4p6LjutGMVakGFyMLnmRIHKAng2FRmMs+/IoQwVF5Xgu4Hk7IjRUJChdtTKEg4t7G4Ujz9nqrl4wffkTfCSsvfI1mTQGhRbD5dvsuXXxEg4nvm32w3zoI0o/uEtGazVxZzbE0eWaT+kXw9V4O7j1L6Prc+WBLa7fD6DPcPnlDdaZxzN3Fl+O+FcBcS0PZSI3wTvxy0GAdwvFKqpmq5hHkjyWIQz7CF3KTfBA7S5q5KZCf86BRMPUZs1lLf/w2BM9MVeQkihQ4moFff+qEFFfQfUFhZfop1h7U+D9ScT01spOnXBQnpD8Mu2KvqaHyd2B4FQLzXD3YQ0V8yWasYo/06qqhzTemugLG72Qu+RNwiFTrhMdZW+tggOW5erm9wvH3GDngu0BcSkzn0JQEPWjg8cVn/zhp1scj6vxq42KqAY1CE2PjKGzoeALuVIuxy5mGxKs0fwyEvvGSmS/nZMnuVPlv5Tf44YKLch+L6nsOv0DPzqGzGWeoDDNGrngiM502WZ3oH4UB2aqql3R2xC9yYgA2xfEvfvPtVOOhessamxanlWQGPR8owvWchz2R0R+P0OnzEqYyE9JOIijN8P1oVJyhEqU6AzP4fHiNsMtpItxZutBA1vQmt9uRF6Ib9+ABC2XOOZPI1IcZLCt0c6VU5cCI6Hsf47rDOGDM5gGo6prZJag/TvI8DY8L8JSvRfIgQYJ/hHlRi8fh2CI7K7uInMPP3pAI0Wqx057NmKu1lY//yxPw3P6MqgoSsRt7kM0MB1zI3/Qbi5udA7lv75wHCy/W3bGrImRynZRw6aKdEurEPLCA82ngHEJXbE9L6k5z3Uu6UC0T9Iim8cymrzNlrb/5HFEOG6aNddt6DsLSs7GyrsmIcuo66jRduVGmoMDrEj0G0RlLeE1zmEdfPccdZhi6aNKl2ctwlPYDKJzPmDDBPrgJIDW3sl6yNwZOj/nXZ7jL2ix01a6QG9HFYESxd63gGJ1wAy7uUA5I7udE1HL4iFylrOgVU5l0JN470BJdDtSifXeNebe/HasRfK5K7PWfmwaFJUQtKPYwjAUGLOCnrLVip9Y8xqtvW2ICl8dKiJkgt71HLSo2JOuk07PCAMRDgANPyP3/6/i8abVjmX5IwWLDYxoAwZKu+WTYiU83tLUoyMbzZgP77z5AgxmUwSMq7aix5wAabY3YOPZ7+5cpRS/rOpzzk8AiQGKa+XDJf/K93ZfG7AOleY 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: clqN1dCtFqtCoQSTu/B5xFzAtNK1oX7HPrHqtW+tW+gcWkC8GF0MDEvPXk1T0drvqXo5UjfcvSDW8vDuQtAXQlCsT/1HOPBypHfmWnHoxLKhX6diS9npMixh7MXrDIe9Zp/XxJGwHfjd+fuCrAvUtV1XdLMf7LtZ/PxWyx4iMmiPSn0xoAb43rxXITZbxvWOx1LrtmYe3E40CdQbVZ5EJrmebKnZ40Aeb2qZHc1TPKGPaaaeaivcHDa0PN+FbGhMXD6IKPdWHrpFhAyT2idl9u+ZZ8A+OmqUXx36u0/gwBkGhfp99xGkjGihZxv24qDZIL0KyfjaCy6YILEfsns9D3M5BRvjamo9D1fJVcGShsnYTY3CJljvkYQ9HNFEAbRi+gnNz3J32d02UVMrZAmX9RvXq8Gw+gHsLrMXRQKE7Ds8lbT6/hbuL01iN2DxpiPSp+rHeeUBu75phX0KpGedw73qbg/2wwVTdPALInTa6Cptig12X9NcVfdOtvKqgWp3GfqDjyBo5HDTqV1epPI1W9xhJT7q16/L9pY58815cDyomPrwsTDnAWertdbcfMhXa4qZVIEjN6nU8webxQ+39TGw4vUsCgPZ0rjRfNngALFE7bRwwLnspoQeoJ+SbW3RSPbMY5cDi8HYgua0RkzLvsXEzh9WW31l3rGuBPST5TcoI8KeduaSbmYQQef3m7yIjnJJWrx88qKfEUrtkNiyOW4HDR5Jko/EJU3qXZ5t8gIHtgiAynsZOnLmkcknuffxgzED/IsNhfI1lgPs2Sev6APeBndUj5k8a6hUKHVB7hZ3c3KmRYY6bTli/5z0nYD9Kc/PEaAm6D2e3anh1td6/csKYrkREm+/TOlsi9+kOdLZ3QqQrCn231ADgkdnX2+qXo6EAHOvbcVN6ks+N53Bn6XxALyidKAwHMc4fLkPNhIh59WiFulad0ra8NadiP0GPPVWqpbaC2qy4d9bLFFhfk3vMf71z4SqDArDp1UYjU354GYKPW/lb9HPlpCQcx4uKMMmNIT+hFwRzzdcJgkaxcumdmtJuUfPhxtnKAV49GIQSJp9ITo5wa7M4W62EM079+YWvjpS9w+ToUJiUu09i5G8WAysQqaE/HFDhHg6kBGp2voyIR2P0LLwV9Wi8HRIV/W0dHYxWyId50V58TTu7iqP++/c/KCi8tjTwPO8+9/BFaPWNjk6pK3TvSH4kPaO84WFvGHxvYCx2PoTnIZQM0nQnsl4XYnH+mK0D564aB9YruiCrO9TRetlU1vJCXWESK1GthTXugbkbXVLcbYfOfiK1xBpRhKMNZZK7AwSt7epwdxHPAhQcPapc5IaijcLBLbEHyrzom0I0YkPKMXGs2BpvSTQWeD76wriFehoy7aP8D4nSK6zmweGew+uzcpHmtylURgeqZL1EdkMnE1fsm8J6JpLsSwL1F/RQ8t445t2IMALuteFA8H5kh1w+NcOoTC70DJ1r7ciKqCV0ZR19zC1GZJ1SMMn8WXq8opr235QLtqTQtDNiAwRZB/bHHSqZuUdt9kTt+wLobh5mnvAZPmhKLXnV9A/puHE2sOYXPgul/5AVMRn+ZvHPX18oeUM2PIXooOmAwgnqWAZytto6YoPHL46E+LGk65bTBa9TGQ= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e6bd2cd5-0ad9-457d-a069-08dd5290424d X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:10.0837 (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: q8QH6r0uuwQbGz6oRHfDYbLiEwmp0qhmb1bMbuZVQh3w54apS4CtW0W0rSIrwEj0sCCjiAoC4lgqp6m40nHIIvN4/sQwVInPSfP5iEBbPPcLQ7Du2IDPtZlLCLHYL7Qf X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. 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 .../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 7faa12fecd5b..1d7784e8af16 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: CRU_CMN_RSTB reset terminal or D-PHY reset 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 Feb 21 15:55:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985767 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011055.outbound.protection.outlook.com [40.107.74.55]) (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 7F098215067; Fri, 21 Feb 2025 15:56:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.55 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153380; cv=fail; b=Vpbb+3vfj+p5A/DZfydmpviKVqYOm/3THjx8S8H+PctguAzXPsYyS2FBYjRfsPuknFyF+v7le99bBKWABU3inX7qX9IFj5rJxr+/3Y/bB/MaDf4s2sllFwEwO+bHWXO+mLi081h9UmgLG016Iu/p/7gXO8t1dF4Jjc+FRBBZfRQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153380; c=relaxed/simple; bh=/+iffWuJrFDhSErbcz3W5TbGqu0OeU3loxr7Z3SCJGM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=molY2YoW00ogIxqW0LKtFkkq3kvAT5pKMXi9UF9ehg8lHxPWUDHYtK86diNbIORt5H3MPfVJn/Lvfy1kfYDsyuBunCd8u8xlXedmANMLvCYxUhpOavCB7PgLO8rAXm+NJ/ewYLjLRB5yjYrgvP2NGRKjKTdMIY02SfqSJLf54rE= 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=FDn5zu6M; arc=fail smtp.client-ip=40.107.74.55 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="FDn5zu6M" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tuyYxzzfib1hEMc6B6lIZ1/LOEUT20SweJTKT0C00j1uLBaTim3lNoqfqGMpx8ZLGPbpBfw54xtSuHEGfhxWN4sHr6jP1JtwmBQgPfZ9xTnJ5XYCR06mRkpQirFT9DQLNWYXcTBUTZFnS2I53vrUoMPH3D1dUIHds+UqUs+jtsjzNI8xDFL3cqjMshga2pd30n7mLH8YVQVE9Luh26HgJ+AP11QZ71NKClbuNVSFICnYXZ1u+Ddbq1Ok01VpR3EaKy2W5vtUu6Ufnrm3VH/MKvltpFtZKRMlbqj7FmPouHHrhCOwT+po9lSLxlU9EchLyU6CfTNgM0WEZ/VSmFEzbw== 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=IiH7eArCBFGOUW1AYF7aYkseDfrf7XEPGWF+2XGAIPI=; b=jbK3ubzWuuXqQEZXy9fdaJSqTYaGMO7tuTHYrgYn7ViV/kGTfOmgVafcjsJXKcRfiZg/MIKZ5iH1LZ6YGFsGAB+/dqa94joFMMeWMFXpMTA/gRQbX2fvJfbtwUOnlb6hWe8dmaWnh5Q2ThQKuYMWTwoXIp+vs2E7laYQfSKNQ3FfdJ6rbtYa+mjUEHYvugfOqaQuUutKH/VcHvihs4bkqk+U3OMES1k4am9SNKdf0Wr37fZ7zJUYVGcpz+TXjZTNWgpiHymoYZ0bJ780phkv/zrAkKXAdfbbnoVXikput8lS7I8dxnX7RrlZM+lYMepOQ0uVyqVMO826IsYUhlq4nw== 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=IiH7eArCBFGOUW1AYF7aYkseDfrf7XEPGWF+2XGAIPI=; b=FDn5zu6MJltdBtdNYvZTWOId2bF75yks2D1n8akJzUzxxmxd5K9fqjY/P+ciUSG1FDbBw6mI3ubdRW2+Bwi+D7I7/9bIhuoo5CBEihgroTcVez7UEbk0h4XfbYrW9Fwrxf6V8/T5W+sh9/aNRiSPFOYCPGGdl8lqyrVDRqEKgXc= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56:16 +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.8466.016; Fri, 21 Feb 2025 15:56: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, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 02/18] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/G3E CSI-2 block Date: Fri, 21 Feb 2025 16:55:16 +0100 Message-Id: <20250221155532.576759-3-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 664a7307-72e9-4169-9a48-08dd529045da 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: n60hQgPD3pYYbqbSRgwu9VHcYIOng2flmbypSNpgbSQ6L446jB8dAyurRNEQ3talYUdvGVsGtPNWGQyFy63G+LtMrTL/UKx/YItFxOrqc6yZTIOgkgKsV0t7djiAVQ4lEaCCwHrTku18iJ2LMBD2wBEOOe/SqJvtpRuTlVUU9Qm414uY2Iqzt8k9vAt2lpX2J/J4//WGkdZ+vrMXaGTrntrIPJiALSf4mrFszPfwft3ybOimkVToFsOb63K3gbUA8GdH67Ngp22drbSpgM6fMQ5Xoz/8/JlTqL8IA6h4aBYekpTpIP2QgQCtH7pQDYpBAGYU6aOkxQw7sD5BUlhaSpJhQl91t6B+VZin63R4u9iYG4PGbcq9HfuHIYlIWzF8zcCFrZBHuJNFx8m6/cy6E7kp/wFEeeJe3P3c5nYBjrKkXJnXlSWVxx0OLFtvo7NVJWxCg/uV0ScCg/8gc1A1U61fLVgV4mv6Z5AygKRMA/XDcTYM35nxuH62Oox1TySt/1HIzqI8nNraq6/YzVR6a2w7KFVnR93+d4WQ5qvf7WmUGAPGOg56KzPbkCOCjDkW532WLwATW7dYSvdCYrRw20DoMF/Q1GPvJ05h5CkN1C7y5vbVaHZ29/unuHADAUUmToL2VlsTAcQms0m63a4GqESpqecdA0gMFXEj7sNjg93EfTbNLFb7OV6Bjefm8m/D52hrT5Rfp1IoWRqNAFyuARJldP1BTAUH6N1C1nBU0AXudEUt/QMGvCQBL60aQUtIp+o0pnJPbwA3eQoF4z1IDV4Ff1JQLhGP7+RQSeOW/m/dJT97rjUxurTzo0DP3arjlANv7vo1pgG847LVFPc55ItIuTRu+ml1CLYXF8DC7TrC/xclAxKPY8L7yHWM3Pr7SfMnbfQlCl+xEhk4fQ1XCJBKELhmWh7pJW9ZwGEd15zv6VXsm0reiU4ULmVDLqAmsfTxSVsBngxkdktv6VMnk8trgcQov4d6ZtcBEj57hp4eES9PNFRFP9exUQb1IYls1dvMmnNx8Z7uDK7CNKypIXDLfk0Bj14JHVCAcg7n5/L1NXoaPaI4f0MfaH4HdoeNBZynNqiOK90JFyP8pXN+CEOrocpFERp2EJg7Hwhc13MKFrUnVnZi+UsPGlvhhMDB8m2eAJl6csEbJivaXLbplclR3/tU5k40NZdWFD9rFUePRzb7kIL/6wNGH89ufGiyhMRTLEET1FwEUYeIqr3mOyHeoiWDOLefH8493h4FMQn2+MWcdXSKUrfgFkXQ5s9y+ynFwo7gW3NhIDkXxkTUSfJGdMRZdpqnMu9+iucYI2LPy+qmfL9mpuGQbN22BwOzcs+IZJOKb7Jd65Qc9Z7YKQQDYF8MXO30oUqQX1O0CGRl0xBCOBtbfvIkW0RPm4VVPu4RKBSylCkjQFgG/sFnMgTuDKQfg8oxjG4FcZK8tRX2FLljBmdHoMCahZHVma0I 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: Z7sWi4hVrVkRi6Nkx6KppJ20ZPGAU96zxbu/dSFZFoNVUYmDr/srRIM6pFzb45/05nAryDVMZ1lrz7FbNNBnGuTF4Sk9Z8dO7f52DZPk2bdPVUppU6YKUMBlNpZxep6He0GZ0baOuhChxR/hEzzo/FxqIjvlGxIVSIRseVOQSf6an7HJvrUmsrEwxVni1naZmXF4olV+H34/7HH1MeSORBfzjHzsdUe2xE9dzG43BHuKidoXI99juewSbPdaQV6men8V/QwFli4mQJTS15HSJM+ykHDhkM+aURduoNvSjiuzoNVqP/ojvx0EsNlLvi+jEkopVjwCSvEGAUIatdTsYp2mC2QtZmkEDYGSBqXUGwTna5zeIg1OORfrLqEZNMU2ImClXhv0l5N8D0Z0hjhUYh4lerxaAEtQy9/cE70mnUSPKC2pVfw3mRyrxb1pWT9RDhm396Sr11TW4NUGQw7Qz99YDgdwzVeD/oh21yv96WpZuuYyPMsDfI2sqgckN8tCABj6kxVJTZ8XoWJ/EwiUgSRChnG0L8TXG5A19ZtvmuaowmhpwUyPYyYYudfLtKu2Soi7FFo1MQ3ipitqWt+bUnKOixansBS4RuHZiSiFGWEsjNIMR/9Vi8iouVL3pljKWgxz0+CBD5/YDQfHzQR9eM6YGWKfpPQPaJrJyyxwD0GFll2xrpGpySe6ohseNbE2TvhcrRMJFWL5dpMGGmuQmBZRYOvvsEIn3Z6uLrYmR6KWej2o/E8Tvx6NcM7AAD7ubCCCzgqLHF3wCzR4YeaF7U4x0qo2b+8SyCtSU35irzCsxiwZDTzaZ5J3g+/qpR9zpDaUea7Vg4oX2+HOEOtmma44FPUUOOXEK1ALUX6cPxU+Tk3MTfluhL8CWs3TtUWj6EIv5oxph6TbXYINv6mEJ1OYZ7AT0IQ+l18QlFG7BUBjGxrRVwYBNpCHQqw/bIOcpHLoTqHN9lno6AkkRNHucvrVG0OkQX2T6qPBN804lGuVh1RDVMuYO1ZufGxddn6gijnDkBfSHq7u/NYVC1FqmS3bHN4zUls94v2kfgeqrsLn7qRSLlYzR3g3J3ZntRBm6WVOD1RNJJXk75zEGth3HnVChi+V7DMePom5WIJ9YnaBaucwV5uvxogIX4duLe4clTDvCwOmEiKJfjBQkpUpFGtA1YOuaLnjtchZ1H27ow8GKyj/ySeSqwZ7ekBcAjLUDr9FhPmTWTqtosS7EbuqZYoViKlcBcmw+lfQmXkCRKXIoX3jxNvEzLfVUaQuTkwF7vz7XlBP2yi/XIY0RMxt7PTaAsrRXc7vDuSgSLZiwloYGlqwRYo9My1t1b8E2Lg409iHeQC88D0d5RwxJQMycoRzheL3s0H10g6rQ/bVwqEeHTz7plfnJlIX1v83dHYhQyrOrfjPjsoUNSIyyMB5Gg1F86FTJY4/XpriTATrjOSzwWWjpbuvwLhhS1Rl9vpb3vDJhcEAnDCPV4Q4+qn41NeTJ99bAXZouf3yVHfFnSUdr56/qop63Nc2mYD2Im3WFiRgKCRE6flo8PnjM3oD7bULWPF6VZ/oGsaA8HL941J5GPd3VozwJEuM8UtM8qNzMt3Q5Gb+gWZ7mcHybsDCTNjaQQmfY/7wPu4jZc02PTE= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 664a7307-72e9-4169-9a48-08dd529045da X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:16.1165 (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: Do5bG9Wg3rPdsJxYU4Je0HU7X4b2XRwqpFP1pX4a9OL0fTAKMBpKptN8D4Lbm2Oqy9bs+LMfmNI1M6iixfeAWIZHO7omFH2F23JXdOwTH6wia/so8fC+IUUEW3/NTfp8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Tommaso Merciai --- .../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 1d7784e8af16..9b7ed86ef14b 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 Feb 21 15:55:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985768 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011062.outbound.protection.outlook.com [52.101.125.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 911C621518B; Fri, 21 Feb 2025 15:56:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.62 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153386; cv=fail; b=d1KBDwUcNF7Gn4ul7kDxfzhiodcy2O/rBaFMiqaMqjHDD8KwnaL2tL4AB8NrwUGrQ0XAhBNIJ4u3nI6GytC6PgYXtcbDlKI7RFodfztwbwP1r5FOr0Cv3GcBpFTzG8sNFoYld9LG9l15ZzoFRhVg7i/TZ2laoDvcoAE1xiBQaMU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153386; c=relaxed/simple; bh=wg+VkVASWdnS2Hs69XbXc+G8Ifu1bb5T8CFbndYrdA8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=e5ZCPsKgxfJ8mJ93hDrgiJbjYkwQYHzd/pPiDdmAQdb0nW4LXg57Q2yQDit5BIKP/2+k8Lnoc9Ksj/v8SYjylblv9VvzD8pr6/BvPfwWmBGmdVpjjN0CAd4ume0h2VdOSAOnWdkDJ26VKNKltBGeWf1dIhw8fP4ni/MhfbMWpqI= 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=WSH6rYIc; arc=fail smtp.client-ip=52.101.125.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="WSH6rYIc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G9rd7cVI86jHXIRyhJKfB3+6IXU5KVGOXpfOtBqDq8AZjGDvXEZIsdcud0BOGDeyYJP+I2XZ0uGRGl+Vog1XB/tjbAT+sqiF9bEuljjgvDrmF4/N05ClUxvvQvZ7Mjmc6wFuB6znjQF4EuVQkuwJ2ymSA5xr3aVVMfa+Xhg/5yOXH8WJCUJgTu7v8NZng2xZIxMpPrPnHpZo4yPoz+DRn17OFtV1A6OnJSvcPmmNq9WJ/sT6MMsw7QKI1pVCaF0RqC8s/SHoEIuUz1Jlk/T0yDGaYOxVcIQ/E1tGNMF1Irfjgamw3dnrDN23ev7XxoHsNwnvZapY+UX2T/xnPcjJSA== 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=W+C3hZF+BEIQeo9FQB2B1Sn9VFLb97c3qDDm+ZuOkAc=; b=M8yvyB1ZTPtvwE+Md+vPPFTX1bIdBx9jVxjhLMr0Z2gydJqg7/LhA5uvVpkMgLFNay+0FqVgnG6y2ufDgMp2PsdV+QcMtabzOVpynZKOSh2NiOb++cbSbpRmeix3An1RNCLcMyZHK5lrfzMs41vePTLohCwBcl9bpTAJUxFhaqCNNUuZVpwgKe95JgG1BQKAvjA3CRCXFZskZjdeBGRNyqiKadFeM8r3c74Ad3P5zjNEBZ5jJSk1a98cMkMlTEdJJ2BsOIeORBratSWlYKMc2fhgvZAjnotvwGZjbnWSP9sNgHYHy+41v7GUZZXfeqceJTFiGb43N9SQ4UAi7rlEeg== 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=W+C3hZF+BEIQeo9FQB2B1Sn9VFLb97c3qDDm+ZuOkAc=; b=WSH6rYIc+2zLJ1+E5RIEHdpDuvB5MwYhTqKxaU44p4q1dqH8q3cfntpQBrhoCcH+3QehSVLs3djLmKznyVgQRoiHEWsud9gHG8A/zuJAQZIVFJ//ID3WRpmAqeCxiaF8KZzqpZPmFl0R0i6676QiAQr0DFFpI2Glum0adWZx2Qk= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56: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.8466.016; Fri, 21 Feb 2025 15:56: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, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 03/18] media: dt-bindings: renesas,rzg2l-cru: Document Renesas RZ/G3E SoC Date: Fri, 21 Feb 2025 16:55:17 +0100 Message-Id: <20250221155532.576759-4-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: eb24e993-91f9-4fa1-1479-08dd52904978 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: hnw5H4iQo08fZbY7oNlJWzAoXp6VNJmu1iBA266SO3XbeEeCaevnlkBwYOgsLhNyutMKHf7Q5AcIMRtfeQXXRqnlNPGUWeJUqIoVo48nZlYCVtnlXqlZ/FFWz0FUXRg7PbdfToMC44JOjWospDIH3nnpfhIfucE5k+810FlXT700VWbYmGxoyfR2v8+/N/cv8G3XqEn+cuIqEj0G5rK4BH0rm/WsO3c89JCcpCj36/WQ6ouphTxfvJgbPoa0hf3qUTfMpZnLu0vmyj8ZoLmQ3O7ASdxIIu9o8i05EY1Xxw2akaVr3VhMAt5w6N9X+7v50COpWlBa0alIRgQTLUYmBFaKdugexB/vpY7AEn7Tw/GaQICKt2ynVX02ka6QWGfBnZCf15L1vM5O5dVkUXO3jkwMKhRNKQi2v+V6oSu0jkAjSMXQ/jNAD8VPvyGWUxfUTfS8ifkJT7sJVtYIn1vLOspi4bs0kLh2LXuy+eXx7p4c1j0AyRXCIYsA96Rwb0le9pXMCXkGbGxnZfV51A2KmRhBOfKZvJZdCvnFoUWWdvxLV9Fice+vBaMWNZGKxvQQUox3Eds1PKNudWzXZ/gQ7E1wMBvPG8dp+kCVyPMw5k+gfa+ar3ZJ23s4IdPsQUYAq89VPZxI0m6T3YvVV59xQErAx8WRTPTWnXLLw4K8r251mX36+ZDvPOkYOQwiH+a+obQN5hVALCpgCZ1zhydnpBV/98wXRX5oReMEYlYXi7tWjVigWyVzZhMwh95V+N5e9nAx95cbDL58Pv31WzGsFm/KnVUtaRHC2XjPkpw+Gr8/7F2a9mMk3tnV0mVWPXCThFP/3A7JD013Fx37yQK03Ly4DvPZ9iHZKjj4Skj6DEDOHB6RwOAackzP7Fp3m5DzTt2DymO4UvXd+rEJkQnjBMqRzR/NdPzPO54/5jz1gzpbnfAq2zsIE2Fm52zupRQm8laZLjGuJM/fYRAsGyqdaREAhmRsm6+r6+MZBYpmUgbAXzJ5ysBS4e/SGhlvDyVYu7wz31kB5QHIgPi5f+PuUJRyxHj7vul10XPM3nURfLxuGeWRr8RR2WdyO1SOIqY1/XHa/OCy2JdpwnFeG9tFRvbhJ8YGmowq92DP2LZATY40Gc8yQkaOK2n8tmDtsG77j0JrDrIgvUVFPh8mLJNWB49mTkSnSQoBCjzpcx2WIbCfj8Mebwc4gCqgUx2psoTeHS6jVc+PJaxldIHTOIr5g8iFL27jNPQJVVWjeup9DWg521Bh588RBmsDhC2MFrf8LFemj+92hvA0RFFlSLd+084Lf+fUjNmvLbXHk+Sug/+38f9K+uzOYnD/bwMKweubNRBpommX88X/72lBG8AP6D8lmQQu1i+KFWQGytiox9t+frVfViAb0VGJR5OPDqz7BfHGKIaUL59tkHaUl6PpmBL7al02N31S3OodWtv5yILTrGJpn4m2CAmDzgN5Lj+h 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: TA60kKoCmzyr+xkC3duSYPFbu+HpdNKuMr796fHu/iOkeV6eVC4p7c87Z7q5rCTcvnq4csMCmHdVoQrgZTD6ODI9W7J41w9j/Ge2n9pPbk8OE6Ik42NLrNpQ3fEdcMj62oQpFS1s86CTG0SXT/iXUj3ixd6ffCaG6T5pzKVvAyNMBsDRouvX8AcUv2VaxTho/GPgk1dY9ECZ3Atv9xLvh7/nKEjeWfl+9ggQYB+ArKTld/a+8EwLkvb87bpzUXrAWzHrZO+8dr4obLqbJPBNZZWACR28xAY0QCqloURuZwz17ZAMfZOylBGlFHBMv4+ke/FmMMg/gSMQBZkUIn9kaH0UvgK0mVt2vZsNbCLzt8zcfKl6fwMzareXODDTfNJAXyiwn00wKPap9OEfv2PtN5IHWmTA6gVelrfydXQz33Lj76a6VzhteObKizXzgLS6iGQNdDpqUTkwfKAWDE3ZdHDvJYAcxW1k8xQJoc1SbeJzfwGWdI7jqL01f8Ohd2A9F8tkwRe9JKiLSzx5ZJkZ4IGM5p5UrHfrgCefetc7yqJ0HC0IhBvuC3c9lIHbDercqfgW8xTDSuKJ1X4jpb8CRuj2nZ62hcTfSwsNZ1VP0pGo7/Amb66QIah4s7h+qJYxl4xsodOt1FUQwiJYC2eSoldFZs55uf2O8qTcQ7cxtGmhCUKtE59WXCF+UkzSzoFF7kduCtEHRMnSH9+8HJwQ62KWl63mLl6D8qAAj5+QEQbu9/+B2gHpfQfxsLNaElGiJ7sO4VbU9dD+N6LTbM5RB48a6GKeoIIiA4Ra3RIRRw/MpDqSeJiDuzP5bJKnJJ2wo7GW/zKXOnJGr76RhjhcoNswjIe5ZRntT+ezEDHYtVlSDtWV31GK545bektGoGhQ9NvwVvhPbgwfQin0IBkX8BCTHOQbCM1mdKvm1YJWHaVaLKn40zIrO9SNWF+GQLxtjZRa0FM9v+BNsc+GoL9G7NwW18CkDXil04KAkqBLAYGIDYV2wcnSe49G8QRwU2wbsKlWhH702iJuq51uDQKzXU6+N5CtCGOqcLhQlkOjZObZiNP/Dpy+lLvL+c6EtT0ujdLEUO43hHWXRWSqxJu0EgAGzRj9SR4BkC2o5GpTnFduxpNdupjhHOuq4A75vspNaOKXPW9oOUD9ur0AemBPBRDzGF+bzcUzgpwp3wHu4jdziMQaisLvyBA2HnrrPbDDctDs6W6vtQ5Qa3QevXANzqCCYSt7Z/ks6A2u6sexdh831Dtlm8k6EU0QyqD/Bzog/NkSzYlm04rr+EXsGfEripj98A91hKmCr9PU+Zbp1IDDkUni26NCArIMlIqwNwqq/G94QFwd//hwYASLNF62P2ZWmD8wsdP2XsuGG7c+rHYTI40NyAmtGAEbupcvM1vRN039CclSo7IEemdweCXvKNteZEQzEudQsw0OPr0oh/Vm08lEweQ6AhSdI6veS6ADCSXay0Uqx30WXbE5vSWpIlb31Vt2sx+A/GNm2aR4BsBpLRUurRK1JImkBLcmwuP+AEgpZUWzgGHmpLZzuDe9O5vyakfY0ZgkryBs1up9ePrtA35krW/umI97D+02Tr4Cu1l5LU6lE/5+evvrtU3ND4WX6iCSmWFY6ksC0RunXyk= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb24e993-91f9-4fa1-1479-08dd52904978 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:22.1014 (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: 8/AZNlOsneESakEhkNUA37Cnz/GYqp4RepXMNVBrgV3hwUrUcSgLTmaSCTLLqhVxV/dw3fuDSJRjNhNKnwLutBYqFStLDKRkObJwz+5Bj+rvvgmOdmAlYlXBlxRzNSN6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Tommaso Merciai --- Changes since v1: - Use oneOf for interrupts and interrupt-names - Handle interrupts and interrupt names base on soc variants. .../bindings/media/renesas,rzg2l-cru.yaml | 65 +++++++++++++++---- 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml b/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml index bc1245127025..47e18690fa57 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml @@ -17,24 +17,43 @@ description: 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 Feb 21 15:55:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985769 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011071.outbound.protection.outlook.com [52.101.125.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 859D821518B; Fri, 21 Feb 2025 15:56:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153395; cv=fail; b=kEwLHQhJcUQNfdd++g/lgcth64JrtzL0wl+YKS540pFvE+k/rLIqdQ8qyWeAXjCivQTv2cOAtZMVNTsZM+hZX45Z3RzvjqbuVr2gg8rt2SZnH942oRmTztfd4IMClVhNnBaJJ5CffxHGuKGTxHT4oyaHrCyxDc/bQOa18layRKA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153395; c=relaxed/simple; bh=QF9QNoc9bnQwMKc3EEFpjjOFxFzRK9z1VydoIxcOX+I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=gHVNVLSffQ7jayhdIuAy9saw3Df6AMOV3C1dIvpDGYZbQb1u/n/8R8wHIcW8mLsOSDnN7w21sXznLn+0Pj2oHoP7/pH6G4HI+Sq/7EwZIJWYY5luNE3lzdWf/sgbEOYlQeQ7AlNNLifBebkPcB1Id2aN3wVhvKnBzzshYjm6AiE= 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=OpZjgJrR; arc=fail smtp.client-ip=52.101.125.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="OpZjgJrR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kCWIiFYnQIDezbZlrZfzIcgXlWpEwS3C84hVhh5Q8fpAd2VN0GzxKwEUDEZg8OFHif8pjLLhou122bTWQ9k5EDLHkKpdlswAgZIrHmE1TkN51XP6duU4zIC68cEAbFI+KU8AAd8lQp0xHITp1YaIGqDfFlSsqLshA4DtnlYsNP8VRxJKbEJvB2x8ALGRADhRFPusU20RqgEodvVDIxJALREgR/gm0oP+Bm20Q29M/cvjEEw3NyU+gE9krFMRhN7d4IZk7tooKr9Q84lOXLwI6ZhYhjlvbgf/eNwn8ocevp2AulaTlShqfssdb8rV8KaG+iongCVDdvMJV0zMIuFSYw== 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=3+TlBtuqBUCzJiDNjEnoVWMywswc5rmFUPfKuM4e/Nc=; b=rDqkkNOuCiUBFFVdvapY6PQFG3fIdzWS0SU85NU9EmX2sY4CeKI3MxCn6/KLuqQS8BD6Hxs0qemkZzY1v7ghhXWrQamIAwDqDCKuDHm7lHUsHDr9poAfFotKc2vokJgNMqXxUZ4amJFg84VE9tILcNyoF2wyW+nKjY08o/a7Hw2bHjPj9sb1n2b/Iji1rB0xfD6l3Fi6jrf379wWOLFT7ugEhg3Yd8jpi0VQsxISLiV6nUHMP5Wpnf/JUYbl2tzCQFKcudQtEb3SqDJLWsCVmWKX5n6QctWIMA/ApzEYTfQNRlzKH3u+tSthVRQXLUwSGcJY67Pb5X8QbD+VhR0A2w== 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=3+TlBtuqBUCzJiDNjEnoVWMywswc5rmFUPfKuM4e/Nc=; b=OpZjgJrRjXvakgGEL+UOFojPEgHvxmTrEiukRyq4Meh7WJaOUdH51qIW7R3D1nie3MWlKL3k3oifRlGS7XH7M6otmD84/U5CCFgPGCGbk1AwI0o80vF98bzOTpv8FzcfoW9jNwV3EJu7uUaIwFfQdWq5uhVYJ5COnxqvLhLm7Xo= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56:30 +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.8466.016; Fri, 21 Feb 2025 15:56:30 +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 , Philipp Zabel , 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 v2 04/18] media: rzg2l-cru: csi2: Use local variable for struct device in rzg2l_csi2_probe() Date: Fri, 21 Feb 2025 16:55:18 +0100 Message-Id: <20250221155532.576759-5-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: c65cfbd8-cf88-43b2-3617-08dd52904e3b 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: hCsndrisc4bLmB7fP6M2vOTcOoU+mkkiCNffqwkDYUwtX7WkYnxXrGCB30rtVS470zb0P+J0pb8W2vuTNEONohvV6i0ch6bOkc1lr6kE9M/tWWh/iDAbOiX8SPaNnBNLvKb7KfGABqHZWo6Bgm9sIDXdtd3FILHMvA52nEE15qEyu9FJNl1hpM5bX1dLtiXCxPFYG4LBzoGjhRFxRjwAIh1rEY8FqVyA/nRhHXN/ucFV/NH2mcsFKyqks6qYahFgcsgc0QL8FTnqvKiRFi/VBao1l/dlY/Crs+QphlHClk/oykNtFlRxQW352yaUY9NZjzDBYZDoDgfW7ugh/TnAtJ1ALOuH2ZUpgfgV8K3dIJMXhdHdx1bD972WYVwd1bIxnuLr8o2T7Wl+BrL4EbvYxcyCwEicnqEvrLsCGmCuWfHQ4VIjqxx69ju3ZBZe+RWmJR/tLZWfQQ9KzUoEZND00ViVCXXBTXghSRdTA8J4BWzbKzkYevnO5QhD+gydKi1HPVfc46P+UIbzD4oOpRnWeLUIH4qqn1dUwd+xM/xE8oa6re3dbt6JG4DYsq0GPTJgZml5FCQlrmWorauURpEGuhi9QwMlmFqlpJQQ9FVy8jHuQjvbMbXna5vcqDVUe9MUYnMgnIC9o6xV8uwUpSBWho4NzN8rix5gUdOXq+dtNzSrcQjIAu5C2w2CgUK2KXKCFgQArukr6nQ3lMZJuvUbCgI5n0oRsRv8UIiEvvF/gpJciY/OFXNbuS/B0vQ9SkBveBH8IooAHVy8aKGhhCLreEvU78/Ji8AfDswxOP+8B3yRiTWFm/NkMEjlNUMUx00MGHR/qR16FCqTJamYv6lucbT3C5C8FOqkcq1sWmkJkrhKOf2Xj2TYfTCL9J8PKEAQJg3TWxez+XQV/OIcQUUKPENKaU4IqOnI5DziHT5Vv4lT/m7GUP3FTpIfx5P+ktEmYV/G7V5hlwegeFsmGBQRR3sbiGE17vGXjZtC1Zi1PKwuAbb78G1mCX5Lp4qcSVMN515qsdPcYyeGAgzXEfh8M4A+0UFsy5hhO8kW2ly7JLKXjlYJCjTz0TVIFD9gkSa814PubErOkGaBWY50YV8ms4BOjMY9rb/WHxyGjXHl/jH0d88nUV3CrPJz7D5QIYLX4kb/7Idn/c5RSwDMiJamd4HAPuNzVjzDFOxbUABdJiIiTG6p8ZNfP0A3/QFnk+KFxSDO4s2Gq4ukwd+aGLJYHm+d5XZnBFL9bA/1KJv7P3Y+hCGSNUPoBPMwiPLhB+kJ5Pbhg5LU5fVWuVJ73hP+xbFuANEsPHhpKx4IrkczwpUtKhnHOF1wtUZCqXQstpVQUIuAH9G6KQjXRzDyuDOP14OZgSRmOFAWFvuWoXKD3W0NqN+w7t/zWRpPdU//QS+b3k7qLVMiWF0mwewYlgvCyB93QGhmsKKZ0EL61otWv4j5WAQYKHSP1xtTh2CPAUZs 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: jxPS/dGFmSneKX7HMwZNDFdZzJ+szgmcLX3qE8eJUNwjABxByzmNIeg3ANl+J8Z/x7ovhkqs3RoNJ7gbaoJKnbZrXffDexXQsryjIfBnScbEM8cyDVdivXl0+Ql7YUrgXPJskiHWyscG/aA1/CHvNUu4++Xa7bqt2YlNUhmErGP9FYdMhYRugFpzo5naOGF27E4o3XFp9vX5ZxvlNRYbh29ieiYeMXp7OeP1ZCRTcV9w8bPypoBAy9YyABojkY8+9XDhrADUkDbq46tRToZoG7JP5KJ6dY77BEoeJzSWmJ/53OiJgAOqCQajYC0wUMDGMY0EEkvoJJHGn1fW52B9V2+q8fgLXryoFGQUC6j1rHushyzxU62+VmFQ67pcPEvfrS9qLQ0wpDhRn+XeWWuzEoaegRiFbcxNIN7Knz6Z1x30NsRdn0lIpB1C1raLh1E9U8oCcxfp8xszEJFEjwHS9P9krrFGpQozQkECXedl/IW6WMrHP1zmmIDnX940fOYKORNIW5ZPz874tJk2y3Qoyz5Y0cD3eJwy6mRI+F1vh/JSCwx7trzyhXwcZ06Ub1LxrHnUmlxL/3LUE1U3hcAkV5Drnj6BL2ssFgwcvHqSKFKIk+lcIuV9COz9Cg1OFSjUGdPI41R5wtG/ISjQ/JKrKOYobqsM9hGJ5jEliEHnPDFNr+Ig1I5mcFj4GjgdMLW3aMlhP2L+vzpp1gDRfODOLXE32h7i6pOrjg+q65aNHO739L0ZkZOb35KkHAWdEh74HbkJHCybKekJ48fytqCgVXOWuNIFWMhgFWWMifiyl1FmKNWbd41griELET0gEMuJSH/CAbWFB9AmWA6vNCMTBsHFBCu3IDchv4YTnfYirfRhSlL6zvloWZbmbBQIkHxr505LmGpBA+F7M1ZKRdSSF4S9mx/drAFaYEV1JuCMV6fDXlFFQxgvS2+jylLDtXUtagvZe0zNLrEw/YOBjOf4NUokdTwCv9RAd956S3AUUzKiYG2lmdUwUuw1nPiBko8n4Q6+VGANQjuyPu1RE9WcSfktqlJQBzld01Pox0IjBUfqykF3KYbuMdb8EFlNvfZTrQZgJTxNiFL5StbqImQqeTB9Y7IddHfCaW5klSj1CQdRopr2xpt9z2LyvEPS2CfNBJ/OOqp41jgK7Mlrm6tJdJZRq2uu92RRzTO31raJhCZ8M9uUmSEHQtWf5s1bmtjzfqgsvhN8F/S5f+1pstLNEh3DmNJztA+Yo2B2W2YOaN/P/WiU+uRMjD3lLY2uPFvh3b07aqn4+OUBUL6Zzv4ySScysSz2u3s5Gfte/9ys6Oj5GQdrsPFBIa9H2MnEe4FoXxecA0pE3UCbS2tCbbvK4WOfKTTjaCFpY2xXHmTLateu0JqWfL1qi/wV07j1a2XtZiL6GdXf1aM3yVZkhdlz+UmnYnf7qnnd2cR9Xm+LvgUNbmJKyy8rfh4cjS6V12MCbcWmfumaNuJYWObNfk5FHsV9RnrxP9gln2Wd5p3mHkZrGVyqAa9FaB2aIAqsCz6r59mECj2waMmd++fdHqGg3cEYW/eQr7RSVWI6o7gzLdxiwjEVdkw55NzCQgbqrHnQDvDMrdXMIMrmjJ9X4jY/RnJTrCfMcJxmF51biLuCBUM= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: c65cfbd8-cf88-43b2-3617-08dd52904e3b X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:30.0973 (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: 4/myV1TLUbNHGiEOxRxhtX3RAsnJZExcGr3SdDXOKybIXYGazF1Vp/tvkZrmHAS6wOJUyoypEtULGJ20danChpRb1jPD57XGvU5EFQg9wLArB8Oeyom4X8tnPOppW4sC X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 From: Lad Prabhakar Use a local variable for the struct device pointers. This increases code readability with shortened lines. 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 881e910dce02..948f1917b830 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -764,10 +764,11 @@ static const struct media_entity_operations rzg2l_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 Feb 21 15:55:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985770 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010037.outbound.protection.outlook.com [52.101.229.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FD73215795; Fri, 21 Feb 2025 15:56:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153404; cv=fail; b=ut+HonnVzlAzxo5UzxT9sFQ9yoaKrE33vgDnXUEJPtL9FP9dJAhubGbpBbX+1H5iQE9DUxxr+Xbtyp/PvgQT96IFJvqrvkd4K5eAirxtcdxxhuiNt3VLf8HrrV61V49jwF5udLtBAe4s1tU+P2B52tVqdNkn6URGvxFuFUj0bAY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153404; c=relaxed/simple; bh=wCKCI6WSjGlgD5gbyVFS/L2vwHzB8xqFA6ZA4/OfsOs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=BdW9Ld/H+8DsJZgg4vCBFfPEEMmONZHGfpTHiI/UuroQUJVLDLHSUJ0X9Me9/MKrbh1EOKZhHNc+t4+duyk3tGNMivuhtIiXHwwIk+ZqwH1fQtW1QpZZtutj5svGSmoy3fu9b84sqy4a3gZMMH+UPa4YMpRQcSyqzBON6PN6M34= 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=A6gwZ45C; arc=fail smtp.client-ip=52.101.229.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="A6gwZ45C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mcN1/Y+k9e/+Zbh1Uqi2a7D72aqYi+Km7lV6xmVa/3VsdMyIF8xX9iSynm/yZD4PyAXoqZeuraDaq8m41Cpoz8RubE/si5GMpOIAj7Hf/eRQlu8UGChbUgIEBtvOptcx6+9i+0BG9Hy3GHn/VDOqtD1OUswnI5J5nCDMfK+Jxu3TijEoju1cIMnKfJVS30her4fAe2Wbta9/xYsqj+qkWSS306VHVdnQWzrelkIjhfYHochRi/DHIoniZJB4e3C6SRbAbb9Xdw/CSVE2R4T1QHk4zB80qBWDoqLYwtoFmAXSdtJcJfP3jgJ+9YTZzMckCRAPdl7bVoejpUIjb+vS7g== 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=fkQce5Zi/NDVlO/Bx5ct4uCZbxUGkg1aS+8xKlpn1G8=; b=pOMP9imMQQFaGBb1hqUxHsH6RxqCxLpH5JNJ7wqxk9BFwy5PgF5HSZwOKgJw1dPwqcODy2R9s+8qtoJ9fx7HYepKGcYYx2oR2dwHaBfRieWSMDrpz4TzumbmkVOYOTICo22OwWiRexjbWWzmomraoTVJPhtKg+Ck0cfWdEA0iJNr0GQbeah82CdlxYcQRc4cktBmQ0sj9I4zGzwMBvSxUVCFTMzLw/iQ539G9zsPU+OGADg48mvM+WslN5sac3GpdKWmje1qCeNxHVe/v06mtYeqxaG6GfC7j1TaClqTNbxX56rOcLuf3QveeX6nHWddCLnD5PwpOXNVqbLSKH0Lkw== 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=fkQce5Zi/NDVlO/Bx5ct4uCZbxUGkg1aS+8xKlpn1G8=; b=A6gwZ45CAsnN9doKjIl8j5KCIs25ONhvgWFwEXGmcKykO/1IyJM0LOFsoTCx93qyia+1JLktVh8net5kCtlOHwmqcvORVLRoF+jVDKhBlzvMFTAhPCddABqSOOouiaxs0SiEopQ6DCRvIFfBcdF27WXAzCAoqXEtyxj60V+rcN0= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56:37 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 15:56:37 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, 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 v2 05/18] media: rzg2l-cru: csi2: Use devm_pm_runtime_enable() Date: Fri, 21 Feb 2025 16:55:19 +0100 Message-Id: <20250221155532.576759-6-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: e2213e12-3806-444c-6d19-08dd529052c3 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: GgNcYPI3DX4lRyMfrllzDtvZQlg8e9zIu5CXI8lNv88bJKs6ia8DIzXqArtE5tHkUNN9T4CnfGbEdFxdoPyE8TT+Qk5Y83iomy1XGK9CgkIZGd98pSduahnJDFUqzhksAl8Gc1EnzgXtvvW4QYxitnNuuKW8D+w5L5B2oLEuns6fC8itWwSd9ZPYvhGS1UA09NkpPe2L1+LYHyqOtyG/aCtCJxcdzyQVplVrFyU2wh/lwICwXHaamsmKnIk1LB57qAfDGYUPNVb9oxav9q/WqbDS7mtiIVKOHGsggdVY3PXhOueX887kkOqjwXVm9ObPeKCY/9qZZN+WEX4j5k758VRlVxHJvVm4/dDO2soHPtuy1ipRBGwGA7GMlC3Qw4KrVBC1ryl406kPY9xVQTo9OEWhiQpfTn0v+JdTdGTfPfTFpV3lxwuPL4zhysXja9KVilEwXYH7kff+6La25Sd2Zri4looBZk2BV/Xfr2AKk0IlIhgTCJnpu4r74joqDsqpzZjfwbKj+wa59AylDXeTe1BupZ6MwUuHV8HO5YtxIgrLYwWdVwSWpaERgB82CCskpPqPtoTw0edvinRzz85WiSeUpFByX38071f2zqkeyjY+0G1f+q862BvmfIyV3tpeKSuL8BPshkFiXFZt6/lZ65x++3ekHBR2KNZbB8gkFi/vnDkSsMgF+deKIz9VRN54qOC6deSFvL2eprK83PYUA7L+zoyqApf5HzbOknRHM0UWabv5qjC+OhvLNoXErbpAEpbcxhGrxxEhfwTSyZ+Gjw5a7yhfa5NEFtgBiFFqoAgF3noAj/aHwTJL9qU0znnWYVYLQpMR68zRZXzPtj8ODkGR/kLNkO5TJq/FuRUWJVQ9LG203P1H4zdVUyIcfWA8yTtX1kci4VEO9dOmDrft5qqIupxWFIByx8Z7FHd0E0QDkyMlwiKWjCT25UAF1S8ynQF/s5cgpTw/MDdydRIB686csXQc/KuCeFpog5jiW95oKLHtnfHPu9u6b4CVOxzqJrq7U5sPlGpPwrYOqir3atlG8XBkJR8C9lpnTiDB5mFDHATNCVtfGLYklWz8O2hUHNrQwJ7w5WY8NC6mO5W0AhWni+5GOJveuAu7pnb75L3MQrHuyPqLkFiB/7JzsmDN6G8YdAEm+YRZ3/R78joJPNjDPqqHQXkdKR1lWYE2X7tFU5XPFeUb2Ftf2vHKMPPKgTWxkLCjHoL1DMkq13wZkVx5vAcx6ae66tRAmOQrNbf8zuGAr27azLdlNLKXRUjBhmmNVeQyQA0w9+r3e2NM6qz+KkObIkbjiUEdV03kyWrLht3a7hgUVLBfFU05nVTXbLC7WJsOb2CKFGm9JbLZi89MGnPQVXsmXyGh4wA1UMDBnfTAhbuy8aTFLyjNuf8Ewfg+lx7YUowzY9UNXYSAg+uKWPKUlFkCR/C/n0neC6Sln+5zrqVQ5tP14v/zKCVq 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: kMvrB2VrEERxD35X5ZE8w0Fjz9ES1VMXocpzx2D0D7BOSagw7DprZSbzWNWfoi+8SSVFjTGd7aNZgQTx79Ljx+U1BDN8/nYNDQooXCpU1wJ4MYgBeyvQtEEnZqVwmXMkLmAK8hahn4uP7z5OkgVtWc9/UFvDyi64XqU4HZ7PV6UzYIW43/FkL/vcdJAgABzKGVpSozFSR7ms+V3IsAvn0MQgrm0lupeQVoAlDWvLXC/iv1YYp3ZugEzZavI/1dsh5UiyLVHl/KweCxIG3CqAGjeVQ4A9xDLUuqH6pfBgixFqyeoc4EMyISXgK3aTx2b/nSXA+ntOoaby8Kl5PEK3dLHy4T627s1Vx2mXwaWgs1On58ua9DDYMOXCnrNMhYU459iRGzfq1CplIbGRlc+712Drh08jBo4oFwigVUpTiGJbhyQsYv3u9Ev7qu5iVJbRYiE/CccRtUMjDFU1zMgGKQbl/TSaCztpvO4apV7FaUdClCRM5Ks398C5sixcjUXoqQ1A3cmUmWCxqOza31lauue+/FOD7JHprYxgVYb771B9Ip2YJKNXZ7yjHRx5TVh9tDC93DaLz4Qpg3im9RNdeYJ/R0d8xNRFeTUDEwflm84yQFk3FUdjzGQuEVsrskLKFXXtv/LTrr2svfBhaYle23nAWOldbM0WiTkM6C2LSwQGbZKCDu6ikXuloaYMdwrLuyKdSv7uNzWG85D26OWgBQ79J1TsNlrsVU3g093FMe1OP9sYt6YWmx9UYoOCXrnu5i/+b28FDhanVg7dxWxt4t6QNSbxniNyKGRyXbgGKUG1pOlQC+4twyj+oJw7vpQKKVMkgkPJvjErwPMfm9pmRbZVIDzZMBb/oFilFq6nWp1wUP6eMBXQAfBR663GiupFfGxpNfzfBrlwer5vVW5uvQJool4JCDitC7wNuneDLZQsWMF2z1Ff9uX2bU3dHUl+62484nGdFMNe1lmVnkElLrHANCg/wGuM1TcPPTK054S21Y/qnld3k4D3d4qXyhPwKxQhqpzw+uyIjHCtp7883RrvBhuYUNkOv2Gy6coDJ3nsZzzz3Ir1R3IK5/fmUcGJzZ79fuw+mWMJAXCT5WF4Tofh+yf8oCmDRRjVGhY+aFe2WaaufksQ9BvijwvsWC9zQhSQAS626HobDiBzAKq8uNEIMcsXRJ/5omnbtNvhjv2LA0f/9bitU4s8/UxfAyVacsOZ4J0jcs49B+Q2NGgsuISUxlwd+py7f6/W+usIrWe+eYg8AcaWFKeLvsHoxWWxMznLdvioegY1ALZ6IiGJF0h+p78Od2pG04r257KgQK9Qwz/9nflU63VWBGfKtW1ih3AZJpuSfuWpv5a4+6uoDC4tyfHve+AF2GKrM0Mm8pbc/KUcQtIJt8s1jJCGaqPryGGL5JLm7Mv3zfArEHc3pZjwnFUL5+mxA8U0emO/PyOghp6iePM2sC/dFMpFElG2UmZyw2VHEiwCMUvQVVY8FH5ttNkY082M5vg9EGPS6GaShyWjI9UV7D7L8DTt+7iHB3D6nb8cRHk2YdzORkFvNfj6/7EWDxQR8MNoRQ3X3pEZAwyfV82HW5cgWMBAGb5+Sz3SlptfqrxkbPsqwhRHnu21J8kgKuvHnC2maR62NXw= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2213e12-3806-444c-6d19-08dd529052c3 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:37.7084 (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: r5VFBPlo7yXlaQVrd93/UXvxlYCIFZUA8na61gDhMeABI2arcwVj6jcDESy8aYrtIqfpt97SVptmdcfcY/eyFIwFtSnbB5cYUxK/Wn/FVx9pzKh9qM1A3phBz7ZR7Q2E X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Tommaso Merciai --- Changes since v1: - 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 948f1917b830..4ccf7c5ea58b 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -805,11 +805,13 @@ static int rzg2l_csi2_probe(struct platform_device *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 Feb 21 15:55:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985771 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 54F0E215F4A; Fri, 21 Feb 2025 15:56:46 +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=1740153409; cv=fail; b=axx1iQ6lqWwAy0JLm+FcU7iod5swJ9zqOBMk+zyse4z9j+9nsJJoYjaJtHMlpg+ISRXVmGVYMnJAxbWXgrUn2cz7MlXXaQlicy7uOwloOO78Cai8mVtQzAwyZ7E6oxH6gZGCm2dzZkEPuh+hzzYgvsFTuSaNcRNBnnJl+yunrAY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153409; c=relaxed/simple; bh=QrZu0X2dwVSo8QpnPrHJf4kLaOZztoTgRcADkqaC8dE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=P0CqX4KXjs9CuRtRIFxtzXIj2v5ZtK4TgPoM2RGVKKM/L870HpRJGfS5NHLkmr1MQrW4SVf2ijeNY4aLn3CxI9vW14ugEpNNK0oMOCCtszbqf2d4MY9gr1Ww3eLsa1G2Z/nnbP6TWDibBufqp3qtGoUWkz87RcUzJHByia0xS4k= 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=bHYUgCcX; 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="bHYUgCcX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nNdO2q0kHYM0cg4J6J8R0l4BM6DXh7jGkflhlCQqJMirizvcqYqTJwf4f/5MfKI/z8pUOPa8NgcSf2Hi7YPEzW/HOiskS+8GKQi2YIIP6DlEnlCbTwOBzUiSvo9HfsQDR1CVhsPsg9pb7hbtCFZcReAjYKg8NJaoPUDLCgaZBxE0Zj8Llpu8eeiobF8Z++QDLqH92eLgh5Ew9xQ5m2oTQu8Ejir4LSL1J+umEk2cowfSUo8j88y8KRDFjMWZZ04nTf74XyzGvu1j45HX+0sUCwhD+HgqshLO3QPJUTOrSkMCNBnYUXFFvBl9DoHzqQr7s0SArr02a4CNcKh+c9Gusg== 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=Lzue8yDsZvJmoftv0/dkXZytC6UpQW7Gmi8GFsOmbUc=; b=QvZttsFkDQQxiE8pK6pDzNhtONBmzHFJR9DbJI4QJNkoDPmbquzulqWL23tBssNMbtMELwEcp6yOsB+M2trIStEsQKkyVV5KjgYP6zw/lZMbIqTcufaPY7WHyv5MMeXibBiHKYUIb32fQD+7hav4ZQR5zHXeg90e1gfx1Au/zcQ2+MpNHxNr12d28sHn4FdiPpfWeaQYN745K/Rn9DRb/XIdrziEKofRZJkh02cLlt4y3wcmQwIDyZAJmJ1JBzONq5ZE3WjoTny4w0InyFjWjXoMxh7SM7GetmskV1tjiVOcvpY4UAZ9PSmpko3s0wk3EjJJqvB23BD6qn2d/X7HbA== 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=Lzue8yDsZvJmoftv0/dkXZytC6UpQW7Gmi8GFsOmbUc=; b=bHYUgCcXNttETaKgIYvT1ObWsHVwItiWCEaVMEs7hn01wxHl9Kd4ogslf3/IWFGxojz8OTHgHblrL/TRWRZfhQT90CC9S/2hRVSSxGw6QFfxqJNuT4cHayNhQdncat06LzsNPxA1jaGKnNnbMvRkCawF2Or3J43J9CbHYrdW29g= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56:44 +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.8466.016; Fri, 21 Feb 2025 15:56:44 +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 v2 06/18] media: rzg2l-cru: rzg2l-core: Use local variable for struct device in rzg2l_cru_probe() Date: Fri, 21 Feb 2025 16:55:20 +0100 Message-Id: <20250221155532.576759-7-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 71907617-3df9-4ae8-9220-08dd5290572e 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: joyDfya8+UjthAD/24eI765Ja8pDJ/Vi/KtPvZaCqxa/+pNsBiuomma3ZYBVCSM475U3Pemgs27UKf9EM3JJIL+1SPKQ0cKRxgNkvg2dnlP7Tg+X1xgVTP1UddN8RAw7v12tS/SMUwaLkLtJZiW4pK1BQqaJktMwFiamnIgjdxQ5mzKAP/YWuEmaGB/3l91pojL1HjFbOI8e9UlUkeJA+1ROGXVdxX7QPMEVrlFgis7DF6L8IZF1aRgb5duyCACRBx+/KM/VP3FIRQCY2TN84x7Kpeu/jqd2H48RWQ66Nn/OPpRfFPe67RCXRcNUQ27MeqDihd8wDVURv3BfCtS2AT0RLIzqsDm6tKg1m9UmflEhJr3HUquyB/MUpTUbTVsEC5Mp3qHzDyAEDAXIQNmyIwIoIHZZ9KZoXWzuuJZE7DeeNpvF2AX3hXB9VqM01iBXpd8N9S1723oNwiSMh8pL05062sKZeZLvVM3c+Ryg7x8q/K9YX6ilJLkxDgN1ZmiCur8Ky8MpvF/4fr2WaGLzKIMHf53lfoPY8FNy1noYO1iXe9O3m3oJN0Gyx6XPMWoAERuY7HT49WjN6J2sJqhyJHeuLcnZHD/o3LjVvHV+1dBFU8SOVJESoqzsVNWc0jHPgBm2znNBq9223NAxmaZxXl/ccCcihZz5qdeI45OHoj38fzQtT4CyWByjJqOFXCvUKUO5HPZefnuF6qPO56IOb1A69rxMEBCt6f5XypK2bJrnFQzeL65aegD+VKGTMBI/Wa5cHkb/IK3A7GDZIrCVTXEZtSBSz609B/jNpbaOCw+VE/c8Eo8PlkP7sIdlkC3q2BU94eqkf+m2wszzjjrAATZGQ2UmqzJaq9Zrp6dnj+ygJW7ly0/vWQkqyKO/dv957gEMH1zJDLAFwc5J24OIoK74ccEfkf78PIhKG8RvKWh6jmzWJH+AKIJoivVSvOC7XnI+cimgnaLhy0S4vc15B1N1Tx1rI0TSKkahYNoyl9wjlnYgo/gMNHMig7sNXkqcjiIkXuTVaOY5+uH5LZH9qGaVL2F/UF4y23vWOknI5id/jO9ZSeZpSobw2i+2UsEDOymFFXq84u4g4gc/GhucPVm2t/76948iVqY5tUFDvn2IN8Vp3AU3ai9bOcN15tNxRCj5nOnsP2Ta8efkvWR10+Bq6+INPJ3tNXzyguOzkEyC6bCmW/uTrkAPix9LFs0BZUj79o1CaZtEDRmEnf6DvxrO6lYAnYoJDKw65tJ0/I3uxWwd0rcjWnJoJTWAHNZL5lYs+hyn7GtVP/ght2t63vGvOHkuu/YL32hJQBkkYuaYrMmZ2N3J/COXCtFQho3M0HdCQ3w+R0BUVX2UbqimWtgVJyDLJRUPYtFszzyMN41AZNLBkDp5u3TOcLsY4KlZgY/SmJPG8hDEyY12CKqM1rXVADbaIfxCp8Kwsz7o2Kd7xbLWtXvLiw5/05zH06d3 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: UxccKtFd3MKNtJl3RgbSMNiMoBC5NEjNrCepDNF3ZyeI2mdCs4iXwpomgij/w+pm938sGXjbH7gr+QTjCmn8SrahPAhfQQH5ycKE/1rLGGvf+3cX1xgSVmo4SdojVil4lOZkPYym5K4eWUUIKMWwun/ePOYY2lUXY/FYkp0ARxU7Jgd5tLvJ/1JasOtwhfRt5xZXivFZf750gtAOyHLl5/l+unfxtRZ4dSYk06U9xSOX15/DS2IrNsuLfBrjQAXt4GapRFAKuAOV4ct+cKhIoCTkb3Fhn7MPI+X51JIAXlaBxakj6NTqe5OYaY7TuPucSsPYT0UAMnuTlLH4mO8dtPKSdiy2XXr1HkrrBglqGoqO3fhUqJbGF1164Mh02yA1r/PBmY7JSxPc+3RdzGI6NoK3aibFj1dNqlpPyBUvVHn01LxQuhzXNEVxxggRneNt77WlupPRT00NSRgjMXYIEzublzJcKKqnBmstxga9WB1XdAESsVOceet305igNeBIhZj4ta8CyojAjZjOESR6fE/VqFNqRqz+eA83T124kvFHpmdovg5SvVewJXI5kb/Uqe9PycWmGx/6aEOyTYB9z3WMSxbbS2J0y+nkWukaFEAy7g9xhrVCsPnRYSOq08Ya8jpaTqD18PNCIYQC2GlPuxD4qBpIYCeIHPWdlbj6lbW0hwYFAR2V2OgWTEiVWNTdA/WCDAfjvqC3ZnXAPm9bE6AKE9dkRk8q1noAcCR/VCX70khqLp+0pepKyDXaIk85U7KbWAIL4XipjlYtfYYsfYPpfDp/CNabQtdiY0943dC9rXagovhLlnJC6AF4cEn7M/jQzITsmGq0dzEUjh1aFa/8enEkL4KHkEuD9rm/R9kl4wdvrKNEQ/Iq2G6X89OMYxxTs5o+qatfQnKo30Ks8YRN7HqAhgWWCdSQHi7G5R38ASpUSulecYQX1JILGgEhiO0Q41ASNVCW14jHHY6mUKU1cRU9tsYOUqoh2k+L3r8tmrvaIG/LYJLnI11sd6dBakkcuMF/S0kbdEMXuZJTlKSaBWeuDZ9Bw8n13wmq/+QYp1QBN5QTFNKmz6XSI8QNU4cnpBSWMmzmfcwxGd15y12aXQqjyRrvzZf+5C6+aNfLuNfXPzqWwfyrXBCqxXT8FQQUVK19g6Pae4eKYccknCZBkn/+q/sdgVzlBSNaHw2wY7PmdRYQJTzipxg/IABCsNSW/WIpq9+2RfT1mYqB/MfKTEpV3hQgQB4L/FTze54pVCitZV/qkqvuWHOaGnc4Loe4eHjd6v4fS9amyLM5ygCbAMQNrHVOd9LS8aTK+mCOwYAJ1wyRRSMCCnnjwObZ+7i5h/TAfccDs3LA8HaHPKOmohF3yZvmcKlYRqbekWAX4mQgjYWL1o7eg8uPGZKQCcDLklFrAo5q9URhLJM5fjfB4L20yhrw3neP/0oYICkJHUHasOdSPKY9ngeesSv2ZLoMUU2ur5fiJodI/a0Lzn3XoqeyLjaxv/+nIcj/IBkthdDthifzdOQ7KEx2uoIj4nrYelbmR32c2b8aqUIa/uWQP50xQgE9oVnD2HsuksOx6kxRtUlrMmBLEDGgkYiQbSrIrX7ygVJwv3W5JeY/tOBiCwTZ6YCrvod1/3LXbV0= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 71907617-3df9-4ae8-9220-08dd5290572e X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:44.8900 (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: JGMHhMpHF52eb2rwdYOU+eXG2G34FKNY2N8wrCNVqtgLF9EWE1hlxmonQ3pc8GTUUd5jVegSx3K4K5t/iTk8tsxgtO5mBDhAOsmEwq1QMBgemcL6SBpHujbGdQ0n9YrG X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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 89be584a4988..70fed0ce45ea 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -240,10 +240,11 @@ static int rzg2l_cru_media_init(struct rzg2l_cru_dev *cru) 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 Feb 21 15:55:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985772 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011021.outbound.protection.outlook.com [52.101.125.21]) (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 A2701216E01; Fri, 21 Feb 2025 15:56:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153416; cv=fail; b=PmEGPJj9+7+60IrFwm47WUsABsug/puJuBmmy6EhXwK9ieGmj1H92a2MRMi27LDZUq7mkTjtZLZ4+zIWq36R1L2/L7zp43DBl4ViAgvJV/jrXg/aLjZKzEvkCH1akxYQZckcqdrtgPQlA9LoiLl3NZZvhtf+mjFXmnhOjpH6n9s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153416; c=relaxed/simple; bh=slh3G2oieQgOUg5Vt9FbUp4o3cMZXXgHJGb1/tpQk9Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Gj6UtHuR2YtC4SQxMxTv2OH5y2qbdsub71+T7+N3BnS96NW57cH97Ppb/IUNkCLiasUep0Bh1aoUOck9jI5xp5OgP6FnFbD0EMqJSAeq7PY2Y5BtoJoOkJu6vpZa47kvKnMK1FSHkxlkKcD6afLFoOPAaeqHJcBYiGbzBAlWXz0= 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=S+3gwj2g; arc=fail smtp.client-ip=52.101.125.21 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="S+3gwj2g" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qNP1MHrgv5NFWYK3EAZP7aCyetPWY5YoeOPsriGsJY5VpfXj/kvb0nMY1wU7uB5VOmxH5AGo08ojq3w+9aU/MKNgtyS9CTrL43CJTQjoWJCvDO/W/EQQ+apjsjuPaJeKukOMPbZ1fXU8fr6Oi7T6TLaJQ9KAPq7mMaRKDodWTPa8GQuJJYi9OLXxE0/pvXigZ9CgZavJiKP6D138XlkgQ/+dgjaf9EdgoUSWqQcEPjfr2p8RWWc74UQsSTnj9rpkygMK8d8RFZ0HUy4tfniJBbXSzhbby+yHfcLMAWuLofjARhhTWJRzDHYPpbfPaSmntK4Pn8pLgolVAEJZRtKL/A== 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=o8NpoojfVYRTwDwpmwwW3haaNs8+dqmsEy3CQ7ATX0o=; b=o7UnVC9GfvBAo58da4hgidlCv03pZHPTVcjQMJ3EP7B6AT/3FJ8WISie5+16rADQyvlYRwIRD3rhBQnS8Q2oKv5BD3NAQPxtladjmOZ+sHTALWJ/kXN8hYHO7JzF6ePTgjUgydWmm+AELjbFXBwst5/1nK1jHekHiqYyKtlkNJCUfCIW8bNngiR0khAvzMJ8oI/sv64U5gsYJPdwgry8dBU/0s64JvTFFGw8u3IjPZ7xWb27eWvyb5KZBd7sS7IlXqKlLag3T0e9sFVBPYQz0dz8i0GzXvXGxSSNiyGC05tLiWiDGnsKhNJTQL8sJGfgVc3CV6PQrwFAsojlCBwzEQ== 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=o8NpoojfVYRTwDwpmwwW3haaNs8+dqmsEy3CQ7ATX0o=; b=S+3gwj2goKVr3TPxJth6MZAFwF1YCdfeAwjqxRIXT0CalCxfgIAza2z/ZB0UHxxdupuj5Fiv4Zrhr4DZ09jA+IvoAuFdpFxY0uVaCB1mEIFqMkh3LHfL41ua326eBDSVUULGFJ/Kkb1yW5sqna6DPUYupovsDam2YfZ/Mmyq7YA= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56: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.8466.016; Fri, 21 Feb 2025 15:56: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?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 07/18] media: rzg2l-cru: rzg2l-core: Use devm_pm_runtime_enable() Date: Fri, 21 Feb 2025 16:55:21 +0100 Message-Id: <20250221155532.576759-8-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b521cfc-99b3-4f49-7ffd-08dd52905b48 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: xkY/pHjfMd27qConoW5IIvTVMbknrOBt/ZpGruQ/y7FexmOc9Bq9gjHBSqTu3YHBsRkKtrKKjhCG0oAg6B7l20DRuQZ3Wx22UfW2daeKJTfADu3bWTGfXoQJvdfNgqvNv0rzi/o4rGmoaOW8YDM5i6a3qYlAYFVGUv3GJK3M6UCEDNee1tQ/Ew2c8VZr2iDtDDBlXr33GF5nkWqqvuC4aPOhaYj5n5dE330arb9J5B+AMxFOQz6KKv1M445s6Jz3w3KHE8+xBCTM8KeQfe2DKMVcZmwwbl1rLx3MBF5KtfszYiEIbPvGIyZQyDCbUmDIOcOK/9XVV4HZ+BP0OlBFVFbiZmoc7MnphQx1xQNxAI32CbXJIk4Ar3XoiNF2yLyzqsZ6mu2uftKFUY5Kpy/VGhBAJrvnBx8xJgmdvuvHd+zyRP4+WA44eei45SsIZcbXlCL/SU47rw2SZOG+PirI8k1rLkgjvHNPRvjtP9ursHf2aDOHoghJesup7T/z3ZE4ZgeRcB7NfhFdpLFdGD4Ap2yfTrK/I74RfOWO3fEoAcx/yE0EZCiM8SOmAdBvShhkpYmo4N8gJTM4GwdRyLyuBPLGJsUdb+PGuXzHRAK6uqwiPFWhR5bhjnEcaLUPq8hTIpMF+edB2Ep2m/+IV3+D2A22Z4dFoU88e7U6JjHaHOKHFQ8oW68FmmX34ivmO2jBB/NoCaENqY8o/MlipMa9cILVrO2vMr2EkoYkUp9xBw8LSR87WI3XFxfmf8oDFyZLLH/ZK206vTX8Wwea64nqS3Rz5RRGgmLhV0zDztPTbMNN62+JxeaMt4DT/0ILJ7kUm+onSSOH9dSueUguGl1Npkaq6un/vE2CClsKtc1VmmHg19qOgKf+29wzMpxEsXsrV2MJnp9U4A3/Eh+yfcZJkM2f9ix804G7s2a/1SeUi6FYAys21Lv95m/K7A/8LoU7UhDibzMkUVkRkrFj+Owy0FfqAdlh4kOVJ8pCGNlJB7BG1TBHHp6hmfs9bhkw9p1iB5/mSpZiOb5Dkfy4sZhVBrcNCoQ1f3+keLxV9344DjUofb4ID97dhy7UlELm7iV5v9NJfAHiCmB5Xglr2BEB97Jq5fH8z+AErz3PQ7l1mmW+lm6dVIYTAsUQQpQTU5vhhM271iwiI9R80CYrnvjon7K3xuZ09+csDo6EdJW84K/WtVBXE8ee2yFlJOdFfjdCsFkQ/Q+tsu/1YRZpjpENxep442YGUKPCI8bjNbCZKMqDZCfgohQgeXvRQkLvGg14Csh83LB7/lkCgA2L293IUInsBjtufiq7ylUqRKHe2f2p5TPJo07zyuH3e+jBs5p/YZsDGw/7dPUgGSf7UPUttUgP2K6qDH+texcorT8rziFczMUBWb0dT8161mmCrAZXVnl1JozrKwyLiTHG/imsGqX+i3eRfkKCw2ce5kDuK0LOh8jzHDICajEFEAzumjU1 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: KigRZOiRqD6J74xFYN01twcCDqBSG4Dzu/oXLNcUtQRCzngdSw3R8vpvGmlxVWWsXYYsXW9gcB8TacidAmxy1cGEr2egBMFCItBs1wYHEt0yLOegaVBuhmBk5G8mjqdN5PKSS0jeYUEg3q60VwGiiSPVuusju/UvVyFCkkGZP+V60UuY2GJtdPNg2I5CxsPMyEFk/kebP0z3wEU5ZD2p1H4WvVku25lxlpd0DALG/A4FZR314BqMY6qvOWL2lmwJIl96Ewr7LD8EdKYjoB7jITGsyr7MFttl36QAzvL99ipfZzhc5LlHmu1dKorq1sTtdfZN65kidzZPgmswaGziylrYwh9xldyBCPfQdLJBpnSbO/T9SRLIdHpoWTavA1897DOOaOBpqZW5paKT/LfXFXkz5veAOxPhXWJsihRE7pKRdPv0TBpZoyOapwFxbSF8gSgqz0QZORDiVhS9RN+ZPNsazuK6sCP5NYcVrJbjAkciak8KXb7pXiZ2jN1hq3zQ1JA6pvW2cTHLbAu+9Af76y9v1fb5Bfw+Ep+lLGkcShb6o11ulNOhhRXeVJpZ15lVuaowoa+Jz/PMwza/QuDzE5sxF7lbJq/3PoGxwZgUl6Rt5bDsr94caXd2T9EFypZMm0vXtjmoDscC2yhrBVt3IohnA2u6MeEiEABA4PlNajrW7+bIqlHLC0Mz1AaGXm0PZiPt+rj2PVbvAyRfbcvzxTOMz6XSePiNNZRfFVQ2y0G0Jx1O12iWkbg2mb6/BQfUHUsI61nq/csJrl5zxUxMM8UvdmCBvLQG+48BhEcW1q0WRolfamip63YDGKXY6JemY4vCR+pmj+mClQ/QKBrpju66SH11GzxZmm5TRNZvnqcym2pY1xTtkjJ8v7xyoG8pALVetud+yAe0md4Ta5E2RnSl5q9zH8KT4zdMapifDTM0lJagXypVW8NzjtHv1//isvD4g2RsDcF9flHU1EgtWrlr3SSVzwMlkn/rpiTJ3uX6HeA7lukAtnsRVZjxiooPKmC2bvIDsrVuJl5FWZ6gxN2qeiWvUpY7tHTX6u4tJQEA8/Ba7XVzzf0efl46xWqPSRuGfe9pq1Bw9AFVTfwrJbIOJxSigfeSFYKEu9NHn3jo1ZMH/n/d1wNvy07D5AUDdWVitdMdKpNLCIWuxyZWIw6n7rBANFSQUKxBsnq0FY2uZ8c+R4JHbXov5dlc3igyVHlAUqjmpL7YQIqQLzkE7Y5y6T6Tnfw2bZNWLMPI4PpNI3A+cCnzFBgj2wNcDT+RlJ0wRuD7Z6QaEJsu9Zu9HffQFxs4izw5Nv7wjLGV8+8nJtlp6DAcDyMmHGdMipwK1wbok8PreusQOAxYVK9j06QfQ7Gkx3UdUXpYDdfgTD3GtMeGGPUsuzhD/xtxOW/wumBGLmBgb4j61TkZjg4/WF4fUjxYeqcdLDstsArcIohZRJEZ7UtJLBr9EUoimViNNqdvZp6d9TZXMIWWAT0uCouDdQx/KJoMfhq5xACqn/Ew98hpfta+ZtI4PS0KpuwxqKSiVVQRlRdlY6juS9lGmEoGver3HIL55VxBg6/+4O4cFEmUZTZEFFIouWwwm8EKg6YDLYsj3tzajFz6QILX9QDURYnxzveqxxqimLD29Tw= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b521cfc-99b3-4f49-7ffd-08dd52905b48 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:51.7595 (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: tz/uh5QHM+iPm+Qbl3jbMfl1FtLTx410mT/0ippMhPNMv43JX7RYLO9zA3a52XUKoAzgslvLWI4ZRMkcevCfSuNqgadyPpIO+aXEGon03npT7Vc4NJbF6dYiV1w8DRFc X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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: Biju Das Signed-off-by: Tommaso Merciai --- Changes since v1: - Fixed DMA leak as suggested by LPinchart - 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 70fed0ce45ea..eed9d2bd0841 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -287,7 +287,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) 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 Feb 21 15:55:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985773 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 BC6C7217716; Fri, 21 Feb 2025 15:57:00 +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=1740153423; cv=fail; b=KBlrMpfpNECWaWV1YMcCJOFhc5LW9pppWq+3bqNdWfMI8nWVa/tdbiYI9PDnRvvFLi07x4XyXh0Tefx73MueR8IhuJ+dVCRUaBvxx3aCkNLxIDdkJ0V5LY7pGTko1VBucR951zHOUOKkMixL9eSmzDfHeexOY/o1aMIdKNhPO3s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153423; c=relaxed/simple; bh=UW5hHbUy6F/nQQ3ZA5N1OXE5tULody86fDa54bsKEIs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=L9XwwU9ZgLFalA2IH9ftiBN2t/BzrIPBiOFYy2785jnO6BzLm2Tn2JzCZDmwpOVixPk7hhY5Jw0Uez5t/TVpO/hHCpPLXmL+O/peMmVWV0P/AbOVRRabewnmw0BWQb92lV5nKicZmz1L7I9yNTIV2z0/xpKYQYUt4yKyx/Hnfcw= 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=oHHbYn1/; 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="oHHbYn1/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fhcr5DNfetvXATbqpUpxBhE+HQ47Mx7x7r+q6gN9QoDfvhbhxbQYxZSQCAXNRag3ffwqYxw5Xl1997JiyE9q9kkvbIvTNALo3Bp+UkeyN1wzW+U2DIHSTV1Cbsjnm4UB/yShmbNPIK5AGm8WMOGkJLwhPFICyJboJicue8E/sW+RMxl/CUGpfMdlkQrnB2QHR7875piIZ+4O2ZRL5J3nKpuqmnqgotDKWgPa8Q9vAF/H1vwBeLxMaqZCIKgthNuauvVHiVtA8C2kBa1p62ZzzgAHskwQwXbreCCJSSfXirLGA2XoLo0ELw8WPeiJXqcgByE8jfC3o7RLAKSj8NLpGw== 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=kfX5GzW27tF7wcUIbX1rO/nYBVGXiWCEqwh00fpdLbI=; b=fEeSnNZBpYQN1/pI5+6DjMjiiJVDOCtwKvtjByPy7MsvSV0+lEeysk722fTxtPEMHEnAt93UqWUPmAj9YodOVZz6dSYH663ir/8WdAzSkjgpZCuCqoZAuStPr2eI7cytUYegK7oRZuuieTA8Ajz44bSVi69ZYx6uMErrapQ3SagM/UGZNTmQPZaAX9Zzah0BMQKZss4SgcqlPZjBLvGUqvwH9mGTOHW9/wb7rx7N8CV553vXyzoRVhMTg7QmWjBsWkDeyBEBivUiUtXMQTMqy9dhMML+WASdTpL8iW74jIFj/OSn+BCNNEwkbaO/68BLA15GgtyXiCubl7wSrFv86A== 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=kfX5GzW27tF7wcUIbX1rO/nYBVGXiWCEqwh00fpdLbI=; b=oHHbYn1/VFLAwibM9zvJN5uDOFHiKXFGiZIBOgItPo08H+3aKArhrzrKQrYw6lu8G/RJgLRF/Vpc5IbGp/Y5/ihMoZcS+UH4GuJr64ys2DBqFvSB76Qc/UiHGlYS4ZZzIraDKnsRikQTo3SIZ6tV++8q1d05w+u+hWpHER0pHsw= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:56:58 +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.8466.016; Fri, 21 Feb 2025 15:56:58 +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 v2 08/18] media: rzg2l-cru: csi2: Introduce SoC-specific D-PHY handling Date: Fri, 21 Feb 2025 16:55:22 +0100 Message-Id: <20250221155532.576759-9-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 68d01f44-7d5a-4d46-2bdf-08dd52905f62 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: 6Vu6Wpi8DSDDVMOBGtG1Vd+E+dpoWOWVF3dSnJSlSiPV2/bkxAYie1/qWPwXnCB68Si/BZUNtWfB4o5OpADTz/y8uKoNBDU8wfpkbqbR+wlRxJ+qKx3nQelgrMo3OBlld/fxWaQQfh60HOd0Qd2XSC9uXS7oFjKJ4aGrU2kZISE+b1NxTePdELAc6cmNJYXeMs3til2/coWyMUu1aH/KiPxcU5IhRUUdFPiAl6uv5BzMNXwTVdpMnTZ+HB/VlpF08xSv1AClpXGmeb/BbbLxPKK1ttNE9OJyM/JMeNhWOVBg1cnwoVDRC71ZLSADGLsMm4Vu2WuBVN1SpjKw6hiAtGXdhi/8UJlXmbrQfzQtxXYEky67qUzEwMRey64G6dmA7QSztM6pycMnULgiA1k5QsWdD9zAzl/Hn3XG69Xy+qQ+m7wKBsS6Qjud0a8Fo5TRg1OanFKKWFTnHwlRMNdNxaGBJmeMyUbQ2ehHhyadqzqV2FgalI86EBPF9aKBcUtZGdHE0b3MhbJaGYP3Bp32Ubrd6lIGtrEoouweIPxWyiBMtzJULmkNpR9DhHGbwZbxlujklsdUTnDaZr9Obfmaw9S2LUCXGgjUgKkiCRfiXkxxxgbpcOPl2BP+FYk8h2XTTnNfamqWtaS2qBzhoc2jVK6YYNP7tlXheWAismEn+Jb6ZG8NpeZKNFJMms0b/me/YsFY0jw/9B2oB77A68xMxgrnv2lIH15BJIVx8xtlByzLa+uCnRXoirlF6WChy2Ktve3cUzFKTwOeynusMV/9VPzLJdLWjBSSN5Sug0f4pVdOrXEjOPE2bwcpS8t/s5axAPz45rOHRXXr+arDhKss9MeXBZpRlpqbySdsHgpo5ANF069AgiWTQyHq85Io9maxT1zPlzhN3Zs5aOTcMuz9UMZnWgHI6FrJAMdmvVV63D2Zuc2Pis2O8IOI7GhXruWrf8hfxqCDz9tUqFcNcFwU4A4JG2XtU8pFpBu64LCRbGoigkPONHInrmwfnT3Cp49GYLLCtJ21IA1p24M6d1pLM1q8dzK1js3awDh2/4qd6K6N/ilcsDGrg9orMSOh1vexiVye34//Y6oyyZ5d9rCoNznY8KG+wGhVMJGOtC+SdZgrncXF6zarHArdaXNlJRcNRgmr1x4joFwT6xAyAFF3KZoPb2Cyjylju15KKHBCAkQ+EUIAIricpiVFh3gtpKYBSQYfq6hp14r6QNYDf4ZcZenclBvSOgM2WzaNzgwy2L6F89hr1ddUwyD43PP4NBSyDiJbJj3Bhnaq/9AMOo/BK6L/aI3mRkete3Peq1McZtcyOWHsOpGgGu7CeDL2lZD/B/D0HJaG1+BNCEHxjs+MIQcapg5/SGn6XQW7ETQ/udHg0Cod//Kx1ctQ2nolvGWP4KpzDvbbEmYgK8k4hb0GPCQPkupWUs7VBFqccnkVfUG7ql95aNZspPY+DecsSM/d 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: 1pWpxsdpADvIPJOfoDCXuhJYU+CnuqZ1aQqXcKF3GpSkYDHyEX7ATPZF5oYXwb2eSzC+Mw0FPHvldoGKFFvCxJkHXvwbDx9bAbRO129fVCeK7IaG5tRyKmwtV9xChc2prA35WCKhlT0CtSMTxVXofHIUHPgxGVD6HpqGSfz+7jOtlVAVaAXoyREELjZaFMs8pJHcnGSuVsAGTZNKbLCkUpfzbocaa98tPP3B6LncpC2HWfzag8pCLgRggyTTYw5nQtTheziJA/37kUAQPKW0a/WHMK6MIA8Xv3YaMU1DOanQwfNAdw3N2QXJ4NJ8xJdlXCFhFoPsQ5TMf1zpRMJk4NsqP931OIcyQoD0QeaPg4JXYAGH7W4LP/wrwkKRoSestcE7IU63GkwTpb0NH0ryt2x2O/jyq+wIUWB+ql0afSorCdGXGi8eHDkyxklm2VhXG5hkS2U/vQ1ImlLVA1iVVMtJa5+EXa+CknW/f0CmjuNd2z1E3ze7zkh8Aj8arZJSFHdRxFD73LoydmeLbAew5OqSkjw6p15bhERbnW8eWl4LacaGF9fH9dqdHsB1QWE8k/Z1tVs1d4yLX7aJP5Z24rGCRRGJzMcKDWQbUR2tY+FsuZ6BqFoBhLTgs73YyGn0NjnmcsosXdhkJ1jgSXxdthofzqug0FNJezxJaV3wOKz/RPaUEWJgCgHSsjf7i20wI65dnRGZG7KoOCh66YrCqrLQDYzPAxRnG563bV9XYBfSMHKc5sMMfeolDTdy28mPesdbZ5U/ZWrwLs4ovi39jQUy26BVP51KvpAVyRMNRLzFH0sRFeMHIAgXr5uU1nGNBScpiQOmXCmAriifbDvoySpoEGLiEyITkbUVx/O00LA6kA3GG0TD/IYORzGt1/NB7SWTAFYAecqVek+sxlMSz9flQoHFKJNzkC0Ftmysoj/kDCyKfzdK3aWy40qvO6OwHs3iMnMntUnINbLLYV4SJ+MH7YITOPkk1i/j3sSJ4XCiR0MrzMrdOKERhONAKZxSG3y8v/vi/hJd/m84lp9NGC+sTvvfpNG5ayc+ZGCGDqrzHPbrl6w4pL4l2NmkmblcN0/YFz+r5Stewh6NUWFmw3IB+JLH2UOz4v8Y44nSoDzbyXltECvPfkKFyIMR/t/9ezG7U88r3dp79NnpEcr6rEuTpd25/Y+hmA0q0SZ6mZC3k1MqYV2zmMW/UED3OBwMa2qpxbGsjUefM5/beAygi0sjZnNWEqtryArYZSSANxqMDo7VHvkS/YJcaqJqXCNnybHEd5m6gG941s107AZf4rYNu0RBhCNJdYrBZX1m+4PovKJ2KQxl1Ihb8p/Fva8RG2B2Q3LkJmLVtBIiK/JOouCkSPsexJc+1bmSYXfaoVUMgNKByyATA3mbfUAXE9MzBvWF7K0MhwD5LkunhU0S/yzyRxuiVDj/kpSuOk0OC9LYNfkiiprZtnBd9mkC3eEqQeQg6fOFv2XYjUXL+SAYFghcMTA68zPnVS5jgdzpV9yV3fVUpeMQrSfOxfX/8RoO8zb8ADuJCOE7nb5rkL3v9gSEoElCAoShuTl6EhlexKh3HIXw2nakzoEuxjuCOcQSorIoQ+XjDhe+IEytmv4vnoryEymN58MBTlNHL3Qq4IU= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68d01f44-7d5a-4d46-2bdf-08dd52905f62 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:56:58.8701 (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: KsvRg+cQWmRhthIXOfPI8ntyG1Te8Bt4mWbhUmoEkIMhhHEGwcGka/YDXVZKNXJgIwl5ztaWaCVz6sT7jBnXVJfc58jdd7xse+Pm/bfeJvEToHtnK/IxSfyrtwCM3EwA X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../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 4ccf7c5ea58b..3a4e720ba732 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; @@ -360,9 +366,9 @@ 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 +778,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); @@ -890,8 +900,16 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops = { rzg2l_csi2_pm_runtime_resume, NULL) }; +static const struct rzg2l_csi2_info rzg2l_csi2_info = { + .dphy_enable = rzg2l_csi2_dphy_enable, + .dphy_disable = rzg2l_csi2_dphy_disable, +}; + 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 Feb 21 15:55:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985774 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010041.outbound.protection.outlook.com [52.101.229.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 DC9B821B9D5; Fri, 21 Feb 2025 15:57:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153429; cv=fail; b=PkPULXOZb/+5AfG+XSTfNyZ41Fsn3ayD3xkTurd3e1ltPZC8nYgEFlorxjW+iII9PC879U3wfGWE8AikpU1wMGG6mN1D0FzmxQ/KYqoWGEkmR9VC0/F3k9vhB/NukWUx2tekLTBXrvAP0omht9jkUGYPvtSP3bQyc9FQbrUsoSs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153429; c=relaxed/simple; bh=WKkwdYiL4CBa/DIu3RohlqULDM8g2a2N1ymi/k1HuDU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Lvh792aiyf5GfYwjeta0V3zF8vlqU0jYGOundkLJWWnzxTLgeT0+/O2Vp6hQvz6FwfG7T+f6r62PkLSCPgT5rGGVYFQl4JiQz7DaoUB+fjICzyupriOVmbwzlDLB+3c6sFzRqVQl68MfBUEZjCI0VE9dU43VDUaC9aJlRZqxSq4= 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=HZzegMLD; arc=fail smtp.client-ip=52.101.229.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="HZzegMLD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y3mWqsJGXSO1nf8VBhf9Ec9Sc5QTg6wyzz/I3TS9IgFywU2v7+sDuvevSps538xCuj7MdYCFUuKSPcBmCxLrJoPm8AMWYSb29F9Plp3J7I+FbJ6f4aEg0hu/ICtBUSiIaEQuDYIsFIbhxIZOuD8N1gwNVqImILKjGYun/l+I7znydzUz7BF2ap9llzczr8l6PuDEaPhme06XFOPIGtVicZYAhcs2bq0zcUyXJy2XUupypw6Lns2MAPoCDva6yQDC4CUTafW8BqDuHAF3EA1t+gd/J7H4FjSLiXLC7G45oVsQefRd8UVFhHEpJ9jzNFVV20kPV4bTpMbjTqS4ARBeGA== 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=uhyGBc2Tk2OI/DoBghINmV5KUVjdxtEAm+DlKVq8uJY=; b=AkrADeJlix7r5wd5wvNHnImB15WpjqfPgmXAVlp5MXTD4ZVCcO1BG8j8k2cE+KVtUftF7gfNWs2AhH7xfhrdtdzEv6shSFOpwIN8NhWBFfRVCdNe65df3dN20dhCEyvJEKjJszuyNvZjfBpY31+GjLfDUQ97t6OccQJBmdLgQMY6YTsvHFv7SBn8Q252WJXMVifalH7KG49ka+GEB/RGyYqb6aK/GaaiVHoLz6bEy3p2r3H4CcVmOEACvKlr8sP2s9uK/mSlXPtToqfgdpeUC+wnxjkeO5ESZwxnnJ+kw4Rw8JJxBHpXND33cYtDY4Crxdc3934fC/xHzVeFFtrUww== 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=uhyGBc2Tk2OI/DoBghINmV5KUVjdxtEAm+DlKVq8uJY=; b=HZzegMLDBG/4FsT3ctxWZzCNjCIJpmy4BEDBsemg/E/tqcP0hx7io/d34nofOqt4F95KKP4wGe6Pl+UViy6BjW5dvkypw40icsC9RtJsQQB4MXZkEep4dU1PoTKyaC/teiPVrVne8OvZ+QG7m+2CGYNTliRHicjBsNKTkkZSxgg= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:57:06 +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.8466.016; Fri, 21 Feb 2025 15:57:06 +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 v2 09/18] media: rzg2l-cru: csi2: Make system clock optional for RZ/V2H(P) SoC Date: Fri, 21 Feb 2025 16:55:23 +0100 Message-Id: <20250221155532.576759-10-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 0eb37cce-bb9a-4f93-7c69-08dd5290639a 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: bf3mjmv6dKyYlm8dSP4slQ/WrKaa7261G7eRh06d/gQnN7bVGJiG6jgkVVJ8Z17U+Nx9DHodgyVZxDY3CSKmxwl/Xr/WwTltxo0TiuddhjPaE7byCrzIeZN5HwW6muvucDVbz88mOORBRoV4WDRX+n18AkCFRcJAizXcHn/I7nYLymikZsQaDyKWBEBxgHNH/nheKzxROV6zjSt4onQZ1QtrOByCKMMHosRL85+gJpMA0X31ALkFPT4vVuHZ3XLUlDOE3JVbfppeu9T8Y2PyxeBhK63g9ENSsB8GJrZlkR81ELoSDNfAOxVLF5UZi3hRidwYsqba4YebB3pfOKKdc6d/a201SRFCV5xW1ewgdtW5lMV0dXDUk6OoN3yP1tYdEYIHKn32kTjW9Iw52ehAlt05MoamLPQQMRQ4d3OE5kwZSDmtn3WKoX/c354V1okqmcbQzyljk9NK7amXEniQVlRtUnsvkXGhbS7kEgZ9s/V1WKsSdAGspD0BoFcaDxHmi5A2yVl3d/0hxK1G5wQfdHtPZyaa9knmCxRi4ZyOXY3lrd0Pd6tfKL0TiM0MWhQI0tRcxGZYdElGqfEnibLWQkskNWKO5axfHzZZvoC244qo7o6FD/sHCTkK4mopfJjUlUwsNPDx4h+EWobk+PPoujik+HGVcjqBPgSyUUsttGvoxPkx9Nk/OHVkq+EQyquLiGf/mQYJ9WC9Jwoq+cXq9EnTAw6gaRqVh9VUrW2kodD1LS1saaaH43MwIke/JEcEkXhhyNccd6LUMF26uoxi8Nbq1q7aPIN3xMauqQj3mBVD2kug6r8r1uuhP/ojL9QK+swzxSFk80jmoCYMriZ+FCdbYhOrXjtyOyf9WcpWFA/T2mix7QemymctLLUXViZscUPOdz+NcK0aIqulyFuyOG18SzPVQBOfwbAPIcdIZOxKyGyIslFMXVB4xQUIGYK+bG60ZfkaguymtoIN2/yZ5t5OAXPlPCOwoVo5W7G8+90S2hiv2Hh9uCklHmujvT03pIibbgKtqgFVCdXZy2lypTk+68N6IZMah+tWKhRXGU+r8G/o6WYHtTm6ZBUs9Rq7zO0gAUn8qKawLPOf5D84PTkUeE95bnbXjUFGGBQp3rqSElioxxzRs5KG2CXCqlSQDdmvam73WcqmeVeKQu+QAvctMY8cnwVc8ThJQJgerwCvys4eWAHBjMEDIg49+oWAhsJ9mfPNOPTCTk/QBo/4xq1aMBpE4xzBM0JMPBkyE6ZrAnF63a4IjwvisXMQiPwLOY3Ri4YhvfF8sfEOf/g+PaaxotJPLWW01yTuDn+Nmy8dAPpe5FVs+pu8llMHldTMhtzMy2gCfgbWgGrVuOi3P7Zl1D9SaMPt8SjbgoZHaKA/wnlpAHEYcWmvGoZZWy2iiy5pzjScC15oC9lm2N7Jbn1KicD2XhGxEytHatEv6LmLwo5o2NTvkbc88ch55pif 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: mhZ4KS3IdyHr502dt9ZHmr1LYzhHkIaviPXPXNF2iGxXH88ydIhLFEb+j8JLDdkwlP+GynoQKZE7YkS3OYTyrMAE/Ots9cZ8ak3SZfY0nyCkoFoJcMxCv34EB2dcScYgWbu+AhNWiG381oJTFJ6QbtEdN1qtaZlcBsvbfO3VqkPIHZHHCGHyd9neImLYgLTrPYsrDDwkPtTiaFAnX2FB5V/hu/EoGSoKOlVeMkUEmgv2Nvcf2N2GIvyLYPJeWfYtUkfBjGhe7IPN97tGKtTmhTfaFJFNGM3PARMtSrU1OP0sZyLOJDtLeYsd+xPe7uAmaTJpqEWq43iqKX03XSm2Vb9PNSHGnwLPr2JNvlCiXodlPQqQXm7NpwZF/e+GU1OlUir4OdzFLQ3WR5xJboZgG0EJ7TALKlZVdiTucDOOmrtp2hkh1VUtB4q+YriePfJ8R7qRY760AEwd9bWNq0hcIqW0a6YQ8CrdA5jyR16tSNAxit/8E8KNR7dj22LDoaaQ2zNfTdh9B1bE8IkMpZvQFSxyIzZn2KloCLfxfolNIJSbs1vd/FEbjqSHkdoSpXoulrv5njymtF3zXgsZ4RDkDqBTnKG7j+aEKrLvHAQbBDrdObG3lPM0kts6uzgdXjpQxl9SlqcubuHHJ/tyJWyXXgc/AuTb0fk/tBfylLHy7l4rCGkVMwBYv9Yajmh7NAJW6I7dPnm1emdds8gHXaQInOqmMWisv+L5boCvvjmhg66GdkemBpJCeYNFgPnSduUackjwDSBI2ys7fMq4VxXHH06hAGdHNRhv0ZEDEfyv8Iu6nlj+F8ddAsEjxyHCd3hEphnaVKzOxH8BkCo4VVW9bga0ycAiA3xTSc3/SqMR9CAG5ZRz6xRMNRE7B2egEADXGzbNdSq8LVkYfQBOUpvoRRBDE9X4tWLWFj7zoyr8WtTgWWKb7e8G9gjZt3qbsJXyL0RZZ7iGXD7m0+AcJ+ib/Bd28ALxMfQzce8G1tYJCehrEE17Ax53iVXKPpjXN0GOufLLmc7/78PRN3Q5BZRtnonJ2fT2sEZa6Q83P2zPz8es1jkrRNTDjvwabnl6SDwiY2kMftADdUvxxytOCr3r9ZLYagw9hTWRJ/No2qLJSlCY1/SaM4pqlwDCfRRfUl/HjLmwv9JfklsU24YhnJ/EtSkr89UzwsuRlrljSLZlQXRnfzkO/R0b/aR/gLFGWc5brnPcPofp0vfqfOC77/STSbRcAN8Vm73HHqCQDvKC4EG/Or2nfeMp7+Ntp5SLfus5tLKrLyzCV9lGogKSMsmYKt82bRxl8M5yc3J5R0BhNaJphpVD4dWao20O4+i3oMFzA4OtcXx8ywUGG9TqkVAyvW/y9pLzNiKeYPjAkuWkCiYGVKulwpFwa3FokqlpnMgGaZpgun1IqOMGs7vHSUUkG88mC2ATORi1Kp269GHke7FLXlWTnAZ5sJrWFWzKacirk20dDT71XnHaO8OdvDwqWm8aWP03IoWKnlE5iYNGbzvdlnsET+0PZ/BSEC3vrp6TBJyqFB9L/zqS8yx5FuF3qAWNdUHq4TVswtDKxAYbuwxarfLC4JD+yhUGb2k8qxGJOuDmXKQxBAJXugCOXUSEdQ4H7quibCUeYl/oBPt1NjE= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0eb37cce-bb9a-4f93-7c69-08dd5290639a X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:57:05.9933 (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: XYH37z2EagkXhfJoy+qigqzVelb/rnUrr+yhRawI+ENzXILU26fKe1vufmk0702Yhub60vm7+bf+5tG9rgol8pKGa7P2wLVpC4R4xyOXuPnh/s/4/gF9PaP5W+dEiBeJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 From: Lad Prabhakar The RZ/V2H(P) SoC does not provide a `system` clock for the CSI-2 interface. To accommodate this, use `devm_clk_get_optional()` instead of `devm_clk_get()` when retrieving the clock. This patch is in preparation for adding support for RZ/V2H(P) SoC. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 3a4e720ba732..771fa35558be 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -796,7 +796,7 @@ 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"); + csi2->sysclk = devm_clk_get_optional(dev, "system"); if (IS_ERR(csi2->sysclk)) return dev_err_probe(dev, PTR_ERR(csi2->sysclk), "Failed to get system clk\n"); From patchwork Fri Feb 21 15:55:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985775 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011060.outbound.protection.outlook.com [52.101.125.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66DB71E7C38; Fri, 21 Feb 2025 15:57:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153438; cv=fail; b=ZLFTq/p/Dg+yZgA7Zg47mfFXKcymZtyPdltWB2anBmx8qpKBDx3x+E9gh5aOcP1woLtsYKO724DJ1CQ5w/OvH65PdCUOkvP5QcAg8U6aZChsd/cT6WP3Cq1X7cCdfsmkczSuR3HfgfoR2j5It024RmXJzZQ7l3zMEjvA8oCK+3c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153438; c=relaxed/simple; bh=5CDcBORnwLFMRk1+u44fUeXx8CBFAkm+lTkbJ6137TY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=MAgCmpFabYlcCA7giV2GRmoBoqZz+aOBejqvcmA144t/yu0SIE0nS/vyImH10STYJvI7jzSeHaMOaf9DiS1hdHbBg9jnpLz3o7rJeQrBlma6uGpB7kBE81HPerjZKvZ4EcJb/D47lM5jJd/d0MFR0eyizyv8Ct0MNqRGGuprbJ0= 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=G3yZ1C8h; arc=fail smtp.client-ip=52.101.125.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="G3yZ1C8h" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iTADSh/l8mbxJf73M6QKS0+H3v3A8Q/jaWZIOQFgTHhhbwiwJ8ebOSeYZnPwmttIgSuYdzYKQwi4++dP2XbQs9FI3YdJBeaADgjWEt9AXCglcy+2qpokTmR27b/Dkwkhs/bIUV3EGDlM6y/Rr9fq6WMguPVaTAK97DwjAOaRd4AGkoBvJkppAvMnqphIB3no+plYdDpKGAdR93Qip9kW1RHhuYzzgeugkjf95LkRf6VxFKmlMwz6+NxgocjUodzB81pJKb+VD/mlCgUM5sTu6ubIsJQ4Z2LDq/E4s31O5ARcd3pYQBBmcs0mVJAP4/Rt6cYGzg1sei9CMn/GoAlylA== 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=IJ7Z10fm7V0DBep0xiiKRQ85rmemgNv5HGIRRA5TswA=; b=Yv3EbOqUoflh+r1mM7ZDY6B+qschy6cw9e+HsnYhtcD/SWShe0XkJIe6zBfeCP3GMiktVO1xBwMqSzt6jIDVDDgZwm02rTsW94ht85hHCd1EBGPhld6SU/o3qvw2Oiot+LKO2xENvhp2kwdYQETZcR5u+24pMz9cZF/dhjVBVBQFfOk9HHpTIDPREF4FlHe+o/TLyU/PXxnmB50AsEJMPi8w7l+zek5Em3wgwlD7lEUKHJ6nGLFgv3G9Ei1TyFzfpew88LUukMuGpfDEmV8eiuH21HYsiaFSzj5YCkajO1I/M1P9hBy6XvTqreajlpdgG+VByIRe3t0ePaSdpHk/cA== 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=IJ7Z10fm7V0DBep0xiiKRQ85rmemgNv5HGIRRA5TswA=; b=G3yZ1C8hAIX9jMRrDW48D80QbrfTKuJYZQP1llAzVbSz3GbLMEZP4zfn2Ii92vzW8dbd7DwSKN1Knm+U6qEf7G3VrOUtrqDUa++GCtKe0ty01XCj4B4H71cZeagRztwAvYNnBxc5X9uR3mWWV1ZEKv2wMnKjAVD65aDcW/EWMsk= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:57:13 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 15:57:13 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , 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 v2 10/18] media: rzg2l-cru: csi2: Add support for RZ/V2H(P) SoC Date: Fri, 21 Feb 2025 16:55:24 +0100 Message-Id: <20250221155532.576759-11-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 19635dbe-5330-40ec-b90d-08dd52906809 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: lv/3zGPIfncrao4UztHTGdkETfhHjiQSaoRXSDT7sgPyf5hRb97ICYxjc/Z3H/caCbFkd+uH1Wj510iHCJlFAsZWYCPkw294oHJ2EqUfcBDSZR8wt/Ob/CnTK3FhBcydV0QI1h+/4uuA4rjdnrqEYHEd0WS/CUoQv8zAkRTZaSsgQzVUlAf/K6MAi7/G0ZGSxI+ppBVcsEBy/9CsnXbedfs0l2Oze3rWtjnEW7zgdLhbZuFW30re3gqR0gzhPCb5Q2H5P/Gn1v1NEa8U+Xx7rmA64m+Dd/ZBXqdvj/PLLXauckNtihAljbqh40BtQ1AFQP5pua17ruzw0LSynag4ErhpEWplKHzxwZxwQ7QdCs7XtDfBT/LwuXCHQL2fcQV+HhOH/gZf7NH2dWoD6JyUwFomdaAmZjWnQm2C/kmVPyp656JvtdSoeegdVZXzrWJIHcl2gXksZYOzqAe0URXfzbkBca6ZRs9NiWeNfxo1OAtmioLbYp6LV8w9ZL7sUZgxwKwhf5X914hj/e1PrgEJBZzEgMHbqF46KB0Hoo/gCpBC1xeT6EDp9EYlPR2KezAtYuhI/ek+bQLETfdM614n7oU3JLJnEYfGwg3z3ORw7xXCNyUz7RX4nz/syDuXvrCpxqW1dccsdOgfOu9GTVuKJlEv+0ofElb2uvvRcL+CSbtQtXi3AeuGVYTpeLrPIybvKad5C3qrl4w2u9unSgB1fD2UI2xMscYxqwCe9U5bqoD6jwBsfiAwgZqqC9b/DMnTyJyV77A0haOgegq7dZ6ZRMpWWpFz3NEI6AB4/G2q2uxw3TPRv90UiRC5ADBneJJ7MpVtl9A/vJKyrUKKogfZQXDLcEHExvUy6kwzfdff7hqa4H2r8cjxySNarQihkMbk+CtwTLEH3hN/eLmDn+lVc4+eantD+YJtMmTbBqw7EA1hBPdL02oq2USz4YCO48lZk9WDLi8m9NBpWCJON24ImSBzBvemzd9gBjZQK4mbHillnlbiV2Rp2nCoM5H7RKjq+UzGisdKHLHEquUlE/SyCMRa+3nYbgDBVt3OVYH5a5MSXFUYKLjx2f0oon9QJWshhYHUW7AYcj6Ars1Vb4ZtvuJma3Bv+viO3Aqa2HflPaqWBH/x7FP16QhiSJ1D8LqkNMHjhQDQB1JPUb/TVR+7mM1tdsnccJ0toy2eG9qoAck+xKePB07b/nkK62rwx6ekE5qeW0Wf/bwq6g0mG2EupFunA5aeh+rs0u1iP14h5zb1L3tvaxlbmHTni/wMMzA7KTtyvwm/I4NTScTsAYcrlutwnduY+YFBbzDzzOS+2QMWMzNgDHSdAQGTIph1lCoV2bhwVWXqv4NPT5nFPEts3Pxeqx7JbdrWhTYkgX1KiSWHB9pKKS7dWMDjniufNz7uMm0inYoLd/FscHi3QPEXOx3H4xndZbSdRLiO9tfWBcUyhEwhRyQt6G2gXxUrlOmb 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: 4eLIwUDGwKrKQcJRKKyo4gtjBh/TO+JnKL+h6o0mPvVb1kaHC2gcbvMU4IIoSvHPwsv7slTyCOdSoBg8M8N9+E3zguZTMMazx7hSchT/d4jJn6k4oV/zC834nVUTRQ0nLvmMxc/UCK7pt8f8eNPtMrL5mgX/k/xsWPJJZHQtuMJrPn+xbohjN3VzO2MolvK1qR5/g1yMa+XRsLA+i4BfakddCVsXlGWGb9Kv9df20X/sZoLLKuhA4BYQZJP7im9SP/5iopAh5FbzTp0aomVM+tUpoBZ2FZ9ji0cz80HrncdA5/MPD2URRToG08AkN2J6Vu5RevMhPO88SU09TZARwXuNBK3ELXzqdyBU2M2tKn8vB+YAJFDbcDHenGp122iJR7fLAWOdCcbrTTcByv00DUygCU1/4hZGWNCvJXlRnFP7sNaKKXfFXHEz13KtpS0fLZHEOwlMeMM50sgWkG62xjQbUaNhmPErSgQCT40PYQW2fBvSJ+/2747Za6vfyITB4r8IPvmVLdwt52B1721EcfyoCIJNKBJBO31IiDf/gKqLDAhZzK/GxkL9+x33Hid/Yy/sYTBad2G1bncFQ76zZJVeJ4el840qdXxzVkxBTpx8kxF0dN+K1NfMq2dMNtKRB35ADrhtz84Xspgh+5OaFYilvDGUkMalmMbUES6w8X2fjU87NormH7SRJeKPQwCX7gg6JQIEGXVzWs4nncD8J3qJq0jhT2ZGC/TEGOfnGGGKISsY3vAucqGKMvDw2DbCHLpq1fX5bba9+v4ZJhl7UAEAIw0ze8DPxtVyyjdcR8/zauk1cCGi0U3wHcM+jd4BS+k/oy6Z7P6ZKhgZIjIo4x5L6cF0Gwj+LY+xBzEgb82+5luOjEfOUdzI3+NWOg/hGFfJWxGft+nX4bTwsSrNjqjtYCwMQZLgzhTF0EagvqNrZds+GNpdNe8WgfXR8zTj8vcrcd4fciIK7Axw9rZBQe1Vx4u8jzRoqqkpT0GWmCITeCwWM7/BzzH+3Sa+y8ujkAASkhj9bCQrqDKdCA7/gjJVxLXSf/PAcIs7ckYfwgpQDbhmNpA+fuRURUXLcD6J6E1+Uy7PZBkzu8Cenv2di81ozztXlXGuDBNWiq4hr3A/etkPpGzIfbAZ7qHUzD8/4gYeVQM4a4z86FZJcuCOYScIr+94HRP48Gi+rdFKrUul5C6wTBB2Q+DgKqIrsM92Y2n15d4jYwaY30KuS0F8DwTlGw7bmnBtlCdxTF8N9mCsoH4ocBcLoZUpOQWCuAUYyAh0ft/ftDUK+A6r64aomDiGkUIN1g7B0Gr/n20QGN7zqpnpCp53Nh9UE5+ll3hG0fn/0DpS0Igg7BQiJ9vs0J3YBuGIq8vxpqfDz3nCYNKM25rGdlOXOQ3FI/Bn7Q0fsee2OzoSQvY+6C7YpaTQt0kSNwKRS7xcgqIV1Fxm9uSs/lJlwkGDbcMt24RJDeUV4CocyvmWdHakerUh3P66eX3AAWJJi6AoFiVCwk43FMVVNXAWmqezA4b1ubsxKOgnoPFjbOM7IDBqiP/Epekh9j0WDGFLeXoMw0/ySol/orzmMyDjYhqK7B91KJ8HZHrdj0PUREXo0XpU961gH2uIU6aUhe4VKLsZxEWJijUwIQQ= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19635dbe-5330-40ec-b90d-08dd52906809 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:57:13.3889 (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: oFz9Gs3pAwq60pQRu2LewEDXghGTOP0VCQ/Dr8LlEH4536ZChKI168OK4BLpO0X9LLwwhjdIWanvnn5VV5lLFWwbPXBOEDTzmifo47ufCEmznYWs+KkoVKQCDb5ROXg/ X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 771fa35558be..cd452c84f101 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 @@ -139,6 +148,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, @@ -427,6 +460,58 @@ 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; + + rzg2l_csi2_write(csi2, CRUm_SWAPCTL, 0); + + 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; + + 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 int rzg2l_csi2_mipi_link_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 = sd_to_csi2(sd); @@ -900,12 +985,21 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops = { rzg2l_csi2_pm_runtime_resume, NULL) }; +static const struct rzg2l_csi2_info rzv2h_csi2_info = { + .dphy_enable = rzv2h_csi2_dphy_enable, + .dphy_disable = rzv2h_csi2_dphy_disable, +}; + static const struct rzg2l_csi2_info rzg2l_csi2_info = { .dphy_enable = rzg2l_csi2_dphy_enable, .dphy_disable = rzg2l_csi2_dphy_disable, }; 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 Feb 21 15:55:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985776 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 005381E3DFC; Fri, 21 Feb 2025 15:57:26 +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=1740153449; cv=fail; b=XLngOHqmR6YghAaT8OJHDqM6mvlRLKIFKCfiGm0EXxGocuETLDXzNybqE7P0JoAy2n8FE3Z8r9haosKqyVWKbbzzgNMf9ogkXVhQ5wGN0iQXo9tHT8bZhxmsxDOHUQKQ8B1LMdAGYlaTy31q4mhTmCYlKf6RuxJsFO4QbDxw1zY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153449; c=relaxed/simple; bh=WjQFUyLz65Xlo4Xkq3cU90l7h+N2WnAMzhaHT49lbOM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Qk+ZX/dC+iCjPc66+B8BcIjQOr6zBijsDgMwD+t4Fkobv/Xql9PffKO/CRn47Jyc/5Z7yuStivbXhMFs+z3cq0yrv0Gd3aUYaLl7kvfTbbfmzOiIWlvOnZseb/WIEKDec3j7AUARSUldeTJZoFBo3jOUOyek1fMC3D7Zm+ktQa8= 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=spuc6Zip; 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="spuc6Zip" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Cgvg/TCW+3tXXPy2+/C8NI2R+rmKgGWPeX83GlPdio/8tRvHpuQ+H1dUvioTwgfyrVEu50Zrj8qGvJNMus9cZE6U3yzu5Mm8v8PHJ8PBCGoVpgknWgWY1VPTz7bdIj6tgkrea6+lnmAVQyp8dwlibX4YJW1rcB5RNm9FtaDHCWnhFXlVcH45mcCknbd9yw6KjLdyJZMDCIRCX8F5OX6yCpVuUWOyJvJwf7TYFqVW9KEJ3bl3qtvYPehZt+mZ2IKSXQxCzXJ5W+PRET6cYv59G7PEKERKBj3mOOEXqGs5s7E9GWQCBXwKZyisdNQVLfOupfB2fNYJlNnr/mUgG5fG5A== 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=OjKNglkcoYNKxZHVb7txnbXClDVQ+o/dJ0ULOpZv3q4=; b=X/TVL16yFkVqjcCi3JUMQ/cQP+SAAL9aryC9lPCvt8rD04e+Z+EvOPNM0Ieasmy/UjEdPaE94NHU/gPoy6/1bRZkCYqHdCwd8Uh2DJDUcSw770hYv/hRGtOGu/94RshyOKGH2WMLA8PaTmtBmOsZquq2DlbiCJFkVdFDsRZ4FvopB/LW0rwPiMoOHDRy6wYNhWvwxifiKX/ERp9wL+XFvvDC3Bxx1we+ZgTc4OXa/5dnCcI9SutqlfzzrwgcntM6RXdn7JLHImxNFw6rtAojqISyvxFl4RWwWaHY4ezuX0sLEXoQ1BMPxUkgmVDTgHBM4yyxG446+bQeceika6296g== 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=OjKNglkcoYNKxZHVb7txnbXClDVQ+o/dJ0ULOpZv3q4=; b=spuc6ZipA7YyHFzYQwiXiXLAnZm7/s5Nq8minAESYHKVT1ZWWHwGKH8w3xLkxnjSW0PK4A3vhpBwSiL7o/jXYYS6GxuePuHcx0aqlUWMj0rvT3KnCkZlNjXU/dpUbxFo3Fv33WurADnyNuROzSHxWd5ZZo8tm/iWQnxb2mHPvAQ= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:57:25 +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.8466.016; Fri, 21 Feb 2025 15:57:25 +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 v2 11/18] media: rzg2l-cru: Add register mapping support Date: Fri, 21 Feb 2025 16:55:25 +0100 Message-Id: <20250221155532.576759-12-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 9efe55f5-6720-40cc-02a0-08dd52906f13 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: 81AzEvbrElVqBtSNc0QOYfgS8peMNv3ly3aHVpe9R7xcKXinheH2GuagTg2nptSjLq+FKxm9okB8Ycqxvc1eB+LfSFdglaOQhx+n64TeMxl+GvmmqV59EN9eSg2PiuEfY80UvEMFqNVe7Zpxzr/9Fr9rHbdjJKKsj6ipn8LYVNCaYuPFfuMPg/uqxuhHTZ0aEd9WValq5zbS45ZjfwpSXudnng2CZyu6zoqirECEN2PKEy5sGxP/LovPkf2K/XcwCwaHYkT8J8IIlcpVsrumhhhzON5jFMgGOVVugOfAGvdRBQPLihPXcXbztXZyQG5FAfULmVgZcVfJB7WV2feCxrw19xhd/mMXMyUyOJZGdiLf5D7AKvPmvS0ndCjvu4xiZ29L5UBdxSzavRnUxSk+DQB5jeCQATPttFDCa1JFQSLLCwte+kdpMbGDzr3kXs+RXrJZM9TPIxRWMcOhR82ralFQFZqNgzmccR8O+/M/7+Bvp7FtGEKeEI2uqh3PWJQPmghImsOBr/9zvHbnFH+5QFB+qieeholNlRwFs0aNuwtWqZ/Dw93F9201yRJEqftid7/JaqL7J3oKbruxYaANGUYtDDBkuQWDc3uZ9s80WLBbAH8K5vb+UrzeyZxrydWedU1bwKB5Qi9oKWPpoJlcQ+OzWgD52hfGcEIaMyE5rMe7QNxY2gZnNAGNLQiwePE2oJMJ5CaIidqieT+0aJ4ZsNtoS+5LRl9OVN516Q8Wywg+iCeY/HNi+MP7BTIBG2b3j/j/IPFR5+nxcB9Gzx5O4LotGbIVzwaKjGPUryhM0R0G9c4e5J7btLlxeZZ74iMG2AwesCP4QUfLWded9yiLcHj3RmschCSsgejaRPWuoQNTC03cyw19zqfoheX8Wwz32jFzi6ihwLES+o+wtfgLL3NffmzDVo+PIoidRk+9Yy5W1X6ADQKjOs4uj8VNitrNIBs1OS8SwzkHO3HxgBsZ9DySVUPu2bMQF2ag0uZuJ/8jxbC0FmrYsseHmy7RDFhhlp/QKMSpPGSX+EgGhZXbZ+gAzb8MCbN0ZX48gS+SalHFSdBFpm64xjkyHet7Yx7fwl7Yhd0FLyDfwnXG3bqIsRsmPGtZHjIedw2K853izR0pV/72avu5TElLYH8FpsQKfptdx7s7nCdRlkQuna5bV4B5QYiNb1I1VMPs+wsyCfSyBdQ1A0evsdKmbbw0vG3sJ0i3Zl8UtW8V0zD1LZTsDWpFyg7Cokfx3lriOnsJgxdjbmee5NcoBu1ecJApcWwG1DasaNgKSwyh3vSpjMPwnMpfKCVEQUnZlevg69+Jxztaai4PfuPRJ4MhpO90+F29gZBxtToOlTpAJJFkpJhigpXL4gqUP5YaeT5v/P7AovIWy4AgO4Ma7bSFp2Pbj5Y6ncJsbgdOa6zbTu+gi2YBDJC4izQgUizVx2M0It4PQ2tUjz2n6hxb4IRr9Axi9/Au 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: 0+TclWyVmKFCpJXzLezaTRSretGWxZGxD6JVkXtwMVBrjtOz3c68x/ZIicgn5nggE5XV627XfMYl7ofl94SOP+ger883jwQL27yqgmjdoTm9sXrZyYsoZ//3+oR2iXFTdgn5cEJ+DDARo6kYJfzN4pJPiZNgf9+Aiz/48GVpsgBY8cIl4bHySs7QacozJgk/ttoyAiKqdRlC7RUamaMb3NF+aTm2v63kdhFdZ65V8PSYnTuamt4u1yscWNP8EXjZ037AOCBap+dF1y1XMNFkQVHY3tifDsvszRRTxUeiDt/yygHG2iDYDIVvzZNdEArKFZ/8GLAihZhoKt9yYZoRT7mWezIHlXGJ1qCtHMEpWi5QZAmlGU8zeiN6AVoEEwFq8+gyLQsyXAs1pwUApMaqfdNiFJcpWqKKZMxr9ZDOZynDr1kfgfY4fOt+71/yPSygU+BgWUcoEEJTcx1xbrHsFkSdtlGryIwGwEqdcSwQsryUzzlw5E4rYTqdwFgRYqKwjBJwXg8iqwVsrYog+9yKmrvlIE+T5IJ9MfrZbbs4w8fr7t/jDO93PQddWHRERDHWUCO3R6q7nlp9rBgWIw1VtV0wixMCt5Xv+sVWIOXUWotrgpcXiW6CZl/cCebTjh/81GC/rmJFC/Vii2zGNoQv80HjDajbofDpcDuCqUR9SlyvHQCVmWrS0HPWtYvCHVSzrdiPrqy6odO+T11eEVMaJINsyQ1x3OzaZhugnqEEEUgb5oNlKKnuP7dopFcK2oGhX+mZGjjpppuPt2PqH2nUaUvAyPYD+UUMD7WhbJ2IwvMsE7xrZ8ouRmSSz60fm6VWAoaH8DitIUo7eIZMoUThOJH0owhmtE15cIxHC95DPS9a83QttflcSnluG7/M2+511c1qEhqOeYPs9KWVCTvBrZLKwAHaFV5P+Ecpz0SNazTg2UQNPAXBVU5JFpk2PR6NFuXMcoU/8l+nqP5TG1UK2ISkC4G5rwoSPtkyj4zJIk+2PbgQFr7XrmyEEsw803GRWGZrD0xC4OoH8l1eLlVFicRC6EvW4K4WDreJ1mHnEqxtJWeFdBaz+RFjaT25SG0pefFWjriZZTiRC7LAupFQt6QawGIXcyXI7j4n78ZVLX60HoP4jRAJtgGWq4Nafy+IrmjrcSthSpuYFM8WUhyXWmkMz4TnGHiqDXyYjTu/7fd6erwSZHK3R5s0Y+XJd7M0BYDKSpM7zmoJqIkc+ct6gHNpUazLF+OWdJiUeNp/xCd11HBNCCChWVQeS52YR+44FzDyQbNEUHF1O2LyHhwnSFWqCWRdgaKk9T5UmqH0YbE5i1L7okhfEJG2e5RIjOWTSyIkXRn6pj7p3xqoHcgzJfAh9kOSR1PySGpGPb2gZDbGBhblVtQWtgElrlQIq6UU4EkkBWTu6d37B7GOQNuwykyrURv7zabU7UjqX9Pdss+/8+lLjtEj1J4/i9PHwZWrNP1tFf7sH6AOPlZmhvUpACnmYVQGj/I3KZHe1tZdp0QPsUWelTGsxWa8BhmCgsgeMgnFVGz3psCxrJLfYT5VZ7+tI4c8vhvDsZi4SVJhR6OhKzii06gct4XoqiDUUao72HFxgRlFIHeA93IhG4YCs3TqSpcbTrenhzDMp4zcjfU= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9efe55f5-6720-40cc-02a0-08dd52906f13 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:57:24.9803 (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: WYZTh+kGGwwoJrfwmPP74z+vSdG5SSWrVjzWxpfP1ghLbKowmOIGlpGgRq//y209bTR7MnBhPON7nWoSb3P78U7F5E3WwAHN9/dpiQ1dniYl9I08Rjtar5ErX/1P2HBS X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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 use indexed register offsets from `rzg2l_cru_info`, ensuring compatibility across different SoC variants. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../platform/renesas/rzg2l-cru/rzg2l-core.c | 46 ++++++++++++- .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 65 ++++++++++--------- .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 4 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 12 ++-- 4 files changed, 92 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 eed9d2bd0841..abc2a979833a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -22,6 +22,7 @@ #include #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 1c9f22118a5d..82920db7134e 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,76 @@ /* 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(base, x) ((base) + (x) * 2) /* Memory Bank Base Address (Higher) Register for CRU Image Data */ -#define AMnMBxADDRH(x) (0x104 + ((x) * 8)) +#define AMnMBxADDRH(base, x) AMnMBxADDRL(base, x) -/* 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 */ +}; + #endif /* __RZG2L_CRU_REGS_H__ */ diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 8b898ce05b84..00c3f7458e20 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -80,6 +80,10 @@ struct rzg2l_cru_ip_format { bool yuv; }; +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 cd69c8a686d3..f25fd9b35c55 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -44,12 +44,16 @@ struct rzg2l_cru_buffer { */ 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; + + iowrite32(value, cru->base + regs[offset]); } static u32 rzg2l_cru_read(struct rzg2l_cru_dev *cru, u32 offset) { - return ioread32(cru->base + offset); + const u16 *regs = cru->info->regs; + + return ioread32(cru->base + regs[offset]); } /* Need to hold qlock before calling */ @@ -132,8 +136,8 @@ static void rzg2l_cru_set_slot_addr(struct rzg2l_cru_dev *cru, return; /* Currently, we just use the buffer in 32 bits address */ - rzg2l_cru_write(cru, AMnMBxADDRL(slot), addr); - rzg2l_cru_write(cru, AMnMBxADDRH(slot), 0); + rzg2l_cru_write(cru, AMnMBxADDRL(AMnMB1ADDRL, slot), addr); + rzg2l_cru_write(cru, AMnMBxADDRH(AMnMB1ADDRH, slot), 0); } /* From patchwork Fri Feb 21 15:55:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985777 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010040.outbound.protection.outlook.com [52.101.228.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E2435207E1E; Fri, 21 Feb 2025 15:57:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153458; cv=fail; b=Hzi5Ha18K1TMmOl1SAR6vQKdDR7U98QsiY8REZtqZOjx1NwjQk4yRH5CHAmNfaQsgsWOQMXjoS0gB3g4wKXO4X2POu8di25CDvk2b1uQ7b8fBc8r020ZB6tBpAkOLbQog3MvhcrGP2Duf5rHVTobPd5OZng85je1q9C3mcCKuE0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153458; c=relaxed/simple; bh=V5Stixy/6BaO4rcAxriztSbKXy3ECeZV2E4p/8Qzlio=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=bbeRrLkreZNyrDuUqyTC5BRusDIf0kLbS4vvNLswZMi6U8JCiqvRwiLsuYYV5dlXDSTmArN+l6EqcGAgYc5itkCtQ/tyMViMaHCPTE+tcpxH7U5C6avNHwpmCDROFPq/tZ7jzgxQLbcXgO4keLB6eDzAb05xwjaEckbyq/EEB70= 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=R7Ea5daK; arc=fail smtp.client-ip=52.101.228.40 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="R7Ea5daK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Vb5Lw98d7yPtObDUp0BDgtGuHYa5kUClXKJ1Sk9WAa6sWAO3Ty70D9TFAtRgNl1drHy5qR+deaRERLzMfsFxyFj0Q+gu28AXY09igr99Odv2rHyjFDCuGIMpKPFxxeA46KPMm3npPnJ0GCBRIccAHBCulIrEzKn7jM+QPIbhkY+aqTcswR49WgDs/KNdAWUBrMIcn8LIjr550mOu0YlAtSIbk21TOucPwxN1t2C92X4z8DZYpY3F+b25fxORSq7s0ugO40kpVszU5eueUuZlis46vgnhfp6wxLWvIonXSV4ReyvHYcmCYa3a0chSw85MvscgBVcgSTnZL1IdfzyR2A== 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=cU9UktduBZik6EBYwmN35/IeILz4SStfRNLsCqnu+ms=; b=J+f3hwi1MCaNZ6vFaNNAcyuh44SkLOLejbFRhMQQZAR6Li5MxFAYTJ/7ceZj9ftURcxEtzsjxPP074Tiq3X6yqSm6bJhSTuZxBE66ueaJQpON2q7KPi6Dtd4ZVZaef7aAJo4UGv/p+xlVLyLb8y+m90FQxUZTsqzLOPSu8bpkoOMytluD1hgbXsEdlPTZ2t8+bozM6W/ITMv4G8mh+b5HF6UohxDo3SuE8rxeB2r5dVvaZIJ+yilq+yGVvct/5p3sKZddTx2y577GlM38EF3EtRMTvBJJenbYsmbXLgnRS+QrEtHL4T81vjKzYkJeAfny820SV2ZF2Ce/WydQqFxsw== 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=cU9UktduBZik6EBYwmN35/IeILz4SStfRNLsCqnu+ms=; b=R7Ea5daKRClRl0S0Hwwbj1wGuiESwpttSmZwm/UluoR5IrOAMTfY+48jvJxb+xuIl0kVPE/SV1Gkm1c7P8eJuNNadjFxOFrk40XFoqAQhfLX2vPqzZisypfj1FJn3EiHExV2icrOm+PZyrLntACM3I4D78T4SHxzlseF+K6ayH4= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:57: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.8466.016; Fri, 21 Feb 2025 15:57: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 v2 12/18] media: rzg2l-cru: Pass resolution limits via OF data Date: Fri, 21 Feb 2025 16:55:26 +0100 Message-Id: <20250221155532.576759-13-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: ae191571-398a-4b56-ecef-08dd529074d2 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: evyxKuW33syIGBF6Ncnyl3cGEcfAm4B5sXiFwgDjHTayuyuTMlEFuzdpMBn1cOhtkSz/mhK94NHQlh+es8x6MvwI7SbCDgKwZMgay0b20E556s8aeCQgoMqF+EKiYpQSj7LJJ5drt8meuVdJkUhsduBWguF8EKS62ExcK+072OIbQ3qJnxCdCLQokcWeq1inG54f0+/NWE60ygcY6tkfDdLvZX0b40uAsPv7awuxkeh/hcNct8ZskCaHgeTj9yj6kiOaBKxxWaKoDmLKT4ZWnEtY6IAN2wml+p6U3SRRK2n4hS08i1hnx0v6CW+9aSGVvsl87UjMOVB46vT2tqUEsiSLbCvGFm7I75QnNPDwoLl9IBzO0M59zUPriIbDt3gaMHkLzJB8Wf/pwGpVuMD6yhfezwepzS/l6vMvTSEYwTH0ZgZDtPAhwxawxikPTxsJDWGHl8UXRS8zBk34TtqCnU88WjK1UW1nbVto/PRVJvKHZsreJ19C8H3DJECMBcZwiJip/FnLVzd2elVYMmghYsGs7phpK1w2TCgIH6q3c0OeTw3aKYkKnS8TN5JKGXaR1CmJHGweGKneNeNsqhB7Ul1taf0q0BdpMnZ7rFX6Y5jUlMuo0I5dkykBoG2vHST+3PrNkxAhdKkM8S13d0uUZ/bUMbNzsWAUfKYPzWis3mg4ptApWfVkWOT/vzNKnxBKWq4HoSJXQDnwOHYHY68qcIHm5Qzjg8IRwQm9eS/D56HMkw4+tGsTGYbFfLyXjepl0GT/qNuVvD96BzMKtKoRDKA1Qc4XhBOBbKyraN0JLwQjjWIR0GRS51YHRgoqzlSB/2XdnSJ6mqHpJrcGrgEEeUbQVAoI4U9iXXIEiiVNRlGqXJILuG4+w4WJvXo0/8aHp22HzZbhBdwkPVMVoEOgoYY+otimyDWfrNJp+7fDZXNjRhkxjoCk/aq1BE5C3nR9TWd3biWZIcVKKgCY1isZkF0TYDLS5rF6HFpWKHxzOoxNvlg+QItB+VasgeZJLoFCmAk6V8o3QJDCoYy3pOnNJg1QCpxhGsTZReIcBfJayELHffiPLcXMz6LTU+wTqrPTFQPQnE8FZlOVdBOEF/0IivQlXjHaYsZE6zbr095TIebFx1kh16baD/UvyrQmoRrU6b7BVxNbjnnyY15RaDxP+rD6JVMATv7h+/QsJEGFZy5ro4YRbWopoLAlDwTrlF5gprWraK3Kk3i0YGEuiAvDRV1s56usTFhJOpp9KCtPoag++pVa/343mntjfCgh1qqENrS1cyz8+uQlz33yL03vuLuGM5gZf8iRBCAqVmKwgpUZe6CDiLQ4mANImSLfosrbyQv/AzQEXBkVBUBq1xrBaL/uBAYvAnTEavhKF0CrnJtX73J9owqWmmb7p7rMpVm4wBv/USgQIhGQGZo7hHBYvRV/CHOo+SM2S8LpgkhKZe1i0cz+gQPRbjOK57a+1oB1 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: JrRBxB/4K0FUI+0o2J0I+ZWc99ogchZI8807F9+11vDKTGJi4evg4RDOhBI/H2KXoRFF94aNlfD5DKgKugoVfZ8EpDN0iyx670bGIeuGFjXm0mVtocqIdiAvq/+Lyde7QW3492PynNabXluUPr9PVemDCC0yha10nqjyeoMIKsdypfoq0odNkPkh1xqu3rCBKbGVOU32hI8kpGL897iDWdUmcXOgY/NUSz0BpiWqnb/UW9+5UUbiVEmVmJcTyBkn5e4eoVkFwaNHHO0qDnvan3MIAjxFmxMZgsezZaYkFQSF2PrazaBLdTS5SOJK+8iRmc0NHRGhVuBj5jCOV55Guggic1NTWThNl2J805kWndfBgulGvVz8ZNYFbQbNgKyv7IyLrDdcnQKj98oTe6KcFtgN/kzxy4HpSlmDoEjN5KmL4X0Eo6n7bbB2M7Cpcdx7hrJ5rM1iw5hYJhKT4S5n4ouOOuShVri8ju4m68FOs423bwHeJO3cHoNw5EifKehyeTt1uCjVoMZ3Or9S+mVEGx0b2WgRL3UZWkej3DO9gyJW2Nb5NAdiRa4FqabGHIzB3E2QOp6tjVYPql3bjpQFExt/UgW9vqzzHqOGBNEOOPWD61yBzDeSSoOxweLG2MZ8hmDVt9Vi2WMOqTAgSxA3cjQOSHYPK9dfggmxKNKAOMo+Yp2rhnCs4tbG6AioTViYNnGcBL7jEOwTjGsDhkGivtWP7ziOmgXHUGGYGHttC9iBrmnNTrVfZzIcDj3W9MwokGk4fshyCw8kViMDbZTiIQijqUDMizsWk/uq4eYisqOwfkojDp750X/vsyQaMiIN5NbSqb5ja3rqKwHDAZILCySk4SzH2gn0+yQzut+S7Wf1XS06lvy7c+ru9r/GGLcdihQqf/AgoN7yxuP0z8FZDXsF/OonKjN5kNKKhJNKpRGCdsKyMet+hBEBp4/cj9A8LL/L6zDUyb/Ye4wMJqdHyD4e+xrMJk+GK7L8b2Q4zA22HSUL6bl/sPBh4CHM6oH6Q4sP3qFJTiJbGVKSJapbF+XRUD+fhh0fY8qLhc9QU5IAkPLsOuVY+ZfgggEcTANN5N8YILPfha9sPZWcRRsrORfL4+RLhGP4Y6+GLkTm8odkecFHuSAgQH3kMjGpGIEUGgR1edGo89gXHPtg/JpgLSyFy1LIBHYGAZPAPlCUXIiHR/GT1QhjhybkVbkaQ/o3bGBqvVXwr9Z6c70VNqX3a0NUBvB0BmNAxdqZDJyO4FDuz14wJHQossCDFx6hmzJ3hihn+CzxkVhX0Eu4whdOUUFsf3kAZr/AdqDjdP/Jb+LzUGwyqPmzoLIEZQAsrZ7wCKZeGGK4ytHD0pXUmLF3TH7kJG79RZD6QqcGHQ1tu+Q1VQcATPnqhM9eAzkbzJL3RZ9waomd6dRbwh2Mq5Rfp38D0LO/dK+5psxTJPfFRNYiLfdL/sSrY9FnD5AoLMYZkhvsQVUzAGLSVGhPnSBqLN62JKd9JSyTWAzGPV8h0WhyB7PiSw2bpeoj/J7tjztZ+GpX97nmklANQQhXoBWjMKaY6VRZFdgTNAXF+geLMXMmx9T0kVMWkN1HElC0KFjcJX0gyufKK+K/+lwrrum01KjKqPwg+QZ8MQhQck+BruQ= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae191571-398a-4b56-ecef-08dd529074d2 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:57:34.8575 (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: CSkFFVokyzdKtLjkqedGqhcUkAbbuhsa84hMSUChGrleS68LI58mn0u83rsCaJxwfh2jvmpDFhReiBSFc28aNsmsk6r97auvCGrl7ZW1crkXP6JR/t2i0XzdpIgv6+Yv X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../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 abc2a979833a..19f93b7fe6fb 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -355,6 +355,8 @@ static const u16 rzg2l_cru_regs[] = { }; 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 00c3f7458e20..6a621073948a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -27,9 +27,7 @@ #define RZG2L_CRU_CSI2_VCHANNEL 4 #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 76a2b451f1da..7836c7cd53dc 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c @@ -148,6 +148,8 @@ static int rzg2l_cru_ip_set_format(struct v4l2_subdev *sd, struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) { + struct rzg2l_cru_dev *cru = 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 f25fd9b35c55..9e5e79c6ca98 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -690,6 +690,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); @@ -712,8 +713,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 Feb 21 15:55:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985778 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010006.outbound.protection.outlook.com [52.101.228.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 C6EB51367; Fri, 21 Feb 2025 15:57:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.6 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153467; cv=fail; b=svrf8Yp4hu3OLm2DKSYSaOLemcNvX0WjnmY1SPfvs0l6NWlODCWUy2Gkhu0WfP3vHHQaW/Ds9JiU60stIFMyaLIIQNJKbyiUKazEYAVLacF0otHQ7LSUUCgRjtTKxLQhxV58wBvJIPoA6VbTWSVPb9RHMnORnGTJeHMQO2f5lnM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153467; c=relaxed/simple; bh=SuXFXKaCzGPDoj8ow7o7UaRCJzx5n62XrAQt9ipsOdo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=QEL7OToeZID3VeYbU1RIKQgXk77PFYwQCLLWvczkYHZ/s/9t0tf+zlKROotC341CWn72CfZj8gr5UTX3YwMejp09M6qb85359NRhXJDUGEK071zDmo8vBbpmcOajfMsuvkspAkxWPvbkHntyJCONypNEUxnKjtX+cJEVqG2aB1U= 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=kvLgo+YG; arc=fail smtp.client-ip=52.101.228.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="kvLgo+YG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cXcl+5TKUHvCKUc0DYzLWwjAeJtjyPWy7o40pHjA/jliK6SzRiFguxO9QWTjuzKckeKFJmwyA0lyWFEqHfWKkx42KwxAb9JoZXdl8yZJ06DURz7bSOaN/QxLMujEVlq1ZctO+o+bDsjxU4lfsp26s289OGRZ29zhJ14b3X1ARVeBupi2dYTZreb8B1z+eHbAnXIbcBvePLUe8fBEytHDry2xer14ecOhE887cBCtf9d+q89pLwrOXoXbflAEuahdNz+PI5fPyfAgA36GbycE2yNvr1hYHAql57kbPXS3lsrQRjuLj4rImb4ZR+rHIYSBH3NvVlk/GrbF31F45rShIA== 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=50LaY/mDBjT7QUg+lyikrAnw8aa4Y5rxKQ9JIVMGeno=; b=XOfMMP02k03+e7hjCJ9BLnz7Xvnhrlq2J6F977iBOFrfrLFAwQvydcxQRMP9uLvvGmIBhHVbwH0MAMeM7ogIcpO5KlRiKTJ4Ka7q0/55GF3AOee3O15DWZwiiSD7ebrl9Q0f5LmJmBRnn56nO+rvQ9Jnxqmxc7kM+coJHqfDtHnsN2QhSuk9rzVlJOUue4BYr+LKLYWOw2HK4uSPjeXy1K7JyJ54yD8OWDj1gSSWVD0P0FwmwFeki5Q6jOudl+Ka5RSvwKALjtVrC5K2rwX+H1waaLSC4G4Sd7nVCbbypNSz8OT4w708t25ksXlFLyLTM7pYXJYQAd5nYIe5bXb8GA== 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=50LaY/mDBjT7QUg+lyikrAnw8aa4Y5rxKQ9JIVMGeno=; b=kvLgo+YGy7LxdbF2FG++jiaEqS+INFq8VC7sns1SL0As3DCiyCxkrOqOS+Cl49tC1rM4fyXJETSS51N9lopd1gl9Okh5CZC/0u/s4ODUBuMI0TsH8LQ6pyz1jiIFZe6OJWU2GpQbdsvX1IHHFA2lzVQ4p7IAMIJ4BADCIHxrhhg= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:57: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.8466.016; Fri, 21 Feb 2025 15:57:43 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 13/18] media: rzg2l-cru: Add image_conv offset to OF data Date: Fri, 21 Feb 2025 16:55:27 +0100 Message-Id: <20250221155532.576759-14-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: a70efbdc-2a69-438c-1fad-08dd52907a52 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: vHfgFF1LL8u9fqzEytqGNpTof+mpb5kEl0sngOVPN64tjbykQ4hKbBxTVJSIFSZEZuDge4HIJ0yoa3n75vDNb1T3b790jJg5Jjf8ikwu1VbDxROXLvK2qLnNc7EPCTmFBcU6BjIrK9WzWrumbB+rroHBSXP4xAFwxXQZ0ssYfEprjcex5pXskv92pwWhYtKoULTDhKCfSjVdNNwCVjqO1A5e5zu7lHS96awRm42VDAxvcWJlIoK5e9Ll7+U0rxVtI8hId9Z1NxHEfu9MoFbWRiMuDAtXXzThOXfiAS89+dFVp5SGJ/deSB3q7zWN/zUmeWViJJzTlN3pGhiXtKJD3c7DsbVkq8RgKsbvY9HCgXYaRfjJpQ9SG2sD/iaKCIZ1wdjb6QluxM7m7H/sI0WQD7+3mL0Pgto947ENQiIYoTJFeA8HM2I59OGzYk3Zu6gKGMwK4ldY4X1Iz8iWo3x8QrCMXADQSlniS49RQ9xywjXiJWiLSmuWJUrnWGbslnaneyXw3Oc8I9VOxqFfFagv7rsjlFxWY5eGuGwKbsugA6FdYrtWIpyCN1JQnwNYmM26JRk5Xn6aez4X3tMxW/MVdm7FIKfqunwFhsKjpPSMM+wK03d7AnJ2qk5etnvcrasTy2aVnSMA/SYqjmUZLxbLvjx4mVrNBK3ppWUc4B9Fp+q73pZwhvusEGLnyLF/1BqEtakvJvm45au9EnZ0cRX/GXzFzg6diLVjjieWWCGFomq4uy9sZFxcFqnpRSBoLTSxT/27Ph9ELm5LYLLSfWnpd0tF/8Vng+Y6QlzKXnz4Vk/xbP2zTgaYn0MrhtKPVK3frISPPCoFc5dGGOJfwgC1L3zUVX6bTsh2ogLOe+kW9tx9aknCpdldzgpP4ppXSmNaN3SpabURGVi9CE2waf3sGIvUIZ+hYqnHbs2zasOzdY2+SKKkrnPyT29VO6UlRq/AgZB5pZDr4E2sxTtYdh/UzAUl3D7sU1nbX1CtQX8MGluKIEqF4IRiIk0mbPMuuNi+ab/u+kP6bkx1576/ocq/6aG04rFfDc1kgGNiKYUpabcsp/mrJB35oPDCNYvj9FHzfHY4Q8VCpqLq7cBh++Opkvy+6OPoaFs5xoEMNMtU4a0/9id7azpeg+LxIE2oBz0QTurEU+kIdeUJo2MdM6O4wxFNY0SUcpo7UAJ9J81GCAchwwXM0BRKmYepfPnE6Yu1Iefne3SRi6wQzsOT6zuCUvaLjrA7puLxPID6Z6WtTa9eIKiOIC2V9Tez1QNF9nKiTPQT0clw6aj6RSI10Uk4vNCWzOcZ5DSH4KZJhdlXodZzIAx79AptdbORP4qKVUFf3bnUkCz5bOIm+PH4ctmDNc79kSaB1b5b5TIrhHFKO1ijxoAN0pVg7AFr8Vv6ED8F9MoFgcOwzOtDVDhD2EEaLAsWpfxq91TVZna1JwqI9ohoEfh+osq8sLO1T9SgMqUo 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: d/8JlPdShlMpEBUvWJ+nDvecoNjoNhtT0Hfh/LgCWOkNvZHyb1AYf68g7dr+FOrhqPhKfGqQeP5pt5QlI0GQ3It3hIL10pqt+51ckBjN2tICZqS5PrKAemjXSyycqN1LP+yQ47csqpjiEw/v2iTQIoHMBl3ZJQyJZyyGuPOakwT27Vh9e9cGh8Ae7Ws8oJvq0QO9RM542SEvOdYYMmwz2UkpMoi1oxQNKWD4w9RLYMlN7DjNldfcVy9TnCnPEOMZEGf8ZTWjE0jJMFpNUrpEh6eHkbwD/sjdowUEoGxnJLTkputTHTZlZXGuaMsRjeru91Az7kNjemwcA44lvCViqSPVRCXxZuusl+jeyKMqsOrBji2/d52nA7PZ+Coh8eKzyNeFfzXFBIDIqjHVp8bLYKjtpnJH4VygQKRuGWWUy2rG4GkbmdPSk8DyT1LK0pUA/nCQVFbUPUD2ZDtc8xZ6HKDZIqg2YcUIYNXRLlFwNkNJ+/tpuyKnD/N6t9ZUa5uX/idKQDY2H5kXsZGnc37scViA+2i+qzqxsaEGbVxt0ZjGQHMeUPqgeSRgh4g6pXbk3FBQQrllzxKdo8wjE0kOiPvx5W8GpWmzCJIpRtR1hH3xZvNLuqjZzcmxxlYgp1dRypFo/EBa9yHkC78W+fJVnWRQKlq4oP7u1GC25UdEqF/4HJ/AyxASSyPGgket/VrsTJCjQUZ6KJUQ+AbZqmG7Tb/SeE9SgUWLNnJrIKafRrMAfzhz7dsdpxxGRu9oC57u+KPHeFVfpK1JnTF7z+61h+B2ctcwGOngaPeogmRnHrql6O312YltRwE5ClEreuyCM+4fRJvR698f7l89cvjiGsK1Caw9wKz2pxMCUe1/K5wtJywHx+fKrPLwCbdn2+UynjLvox21nyNeBqVQwOLWZMkJH0FW239olhcn3CzjYjAopFBNdfO5dJTRnYy/Rk3d6YsvOpZhLPiAgFy/Hgyrls+vO+k/ylnSqPpS+iOf1EZ29kJyRTKrH8muy290HwJxlJr8Rdfa0iMSR/gr32A1YeMY1uRcHBJqHV8zEUG2tJmnQyzcZT4o8rjYFuyHI6cunkqzEE3dsjLTc6+C8h3jYAFKxxhlf250ODRzoV4wcdC7VN5MxwSGBKwMJc0xSkPlc/vfjcdkuRnZGM4lacCXdbDDKnDvwUjW7ejKiWUQP7x+LS1mb7bzGASLzirp3mrCMxHC3AeeBL1UNjAXcozJLFGUB74a27iG1Wuv5wwQjUgKSOiJxJatS/ONHjfmZs27Q74B1Au5Pw1czdVvhpUKpmJgF5mU6GR20tXmJ/wcC3Kq5z78Rvxc/GBKcKzzFeREnLqw+zxXl+tW1KiZJEIcniAkkDwj1qOMURN9NbX+VUpxFajiAn4oOfZSSN5W2fVdSyaN12otyMrV4iur0FauKqTIRuhw5QPnsz1IAnTrH1v/S10QxgV+o+Vh0BBzJZU31pvjoQmx11ZQKrJkgRY1qx3XU9tWIMfixpYyPO23TJg0BbWgSOF9Q1J4hzLpVmXbLlV0INzVVUV33pxcJ3aEWikQqwuX5b9j1JmldSqTc0yM965niAOEJtdWsyl/WhOBZiOxXz2MjGMKPksoU45zWimEXfacN5KTUVsP1NOIrzU= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: a70efbdc-2a69-438c-1fad-08dd52907a52 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:57:43.8404 (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: CfipJ535Ekx9DfamX7NPpe7YXS0FDrVMaut7/MfFwL4ET6H3xc+Lg6d+acw/zn0mdl5Sgi0+AZnZyo3jHTV3Bg0oPlwvQLIg5TutjrC8V0Y3b3DakUcy4qdNXD5Jj7hW X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 From: Lad Prabhakar Add `image_conv` field to the `rzg2l_cru_info` structure to store the register offset for image conversion control. RZ/G2L uses `ICnMC`, while RZ/G3E and RZ/V2H(P) use `ICnIPMC_C0`. Update `rzg2l_cru_initialize_image_conv()` and `rzg2l_cru_csi2_setup()` to use this `image_conv` offset from the OF data, facilitating future support for RZ/G3E and RZ/V2H(P) SoCs. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 + .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 1 + .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 14 ++++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 19f93b7fe6fb..7e94ae803967 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -357,6 +357,7 @@ static const u16 rzg2l_cru_regs[] = { 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 6a621073948a..ca156772b949 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -81,6 +81,7 @@ struct rzg2l_cru_ip_format { struct rzg2l_cru_info { unsigned int max_width; unsigned int max_height; + u16 image_conv; const u16 *regs; }; diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 9e5e79c6ca98..022da19dd88a 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -200,20 +200,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; @@ -230,11 +232,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 Feb 21 15:55:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985779 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010018.outbound.protection.outlook.com [52.101.228.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1FE51367; Fri, 21 Feb 2025 15:57:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153475; cv=fail; b=XVk8d7WH4rUJuIxROQsNT7CXB2NCvAyVWBiLS0PI/iw4ke2ypU3tXWAtpIetuR2BPTZH6lYg1Npjcvls0l/EtUzS0k/K0qGKCg99i/c9XfgTdTDo2tBdvSSWUo/RYBD1c5W15yLpW7AVhrPkyurCXg6YQq0LlrupkaJUhbdnIxY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153475; c=relaxed/simple; bh=7vVzaqF02CFOnOLGFRPQm8Cx+MRMFpdPG+oL+x0CL7E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=CIh+4OecWqBruSpHQXB2uGuEEopoqqQXaEMmLQvoYE9DEt83UWXzIPVnUGMM0LRo/2YhOQIP9dyZkAwqY02KYfKofjtN0SeDV5XZ5OvHy7RMu0SsS6n05oCOpFn0xXltE0Pt9kcl6mYipBzImtnmEjaNPy2hoIR7qXviJuqScDE= 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=rdJqsdXS; arc=fail smtp.client-ip=52.101.228.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="rdJqsdXS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pYT84+wU/Ii0LVpo+R7AL8OzvD6ZtTrQ1pVmCuxOV9eTT4IHRKQjYbY+yylA+n09twWXRxnGsMmxnBjBayw8wKhE1JpqDAKINsZrB/eoolx5OQ95wDhh+cQgr8/WYUPJxqFzdcTHp5DMl3yT0XLTuaa0GYSvj9izFaLwX9Nl/pZtr9dQ5eimm4qGptVFbwTRhMjP+KmiQdQrv1PFh01hgKKEjlQDLhOwjqtRnKGvpJVW7qbl80qLwKOoZBLPh3NUnfG5MVxEpo+KpLYlmpQtDuz7zX1Ie939gjaH2goSK+CBqZO85VnnT3rfEKVjb0xbZwNWORro0JNx//lgCXrhzA== 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=duLs9zN+ItDmJlrF/eAUjdoJV8oTAEWWh1bx9evYqtI=; b=JZUWZI75SFkLhB9uSk1gJOy2lNI3wg83FQTVGD0JgJn5m9SXkEOq8Xp2X6VNZTwv/VJ1k4+POLWV3plGc6fZOw7SfedYEcAKtmFgNj3bgqBUQQgudvMjZvvqGa9T/RNHxVfx2mO+Rw5TiaH90Ii9eywIR6SYc2q5q9PHTMg+rC3oXLeDrhA1Kopk4Quj50FyX7bQzlRHOqbeHwO/mtZPzIw1dN+J02mU5D4dGv0FaX9epSEyOez9hFbEuO5x5TuWG9dwGVqlj0SLVMggtzyJqzvf9OlIlRM8hOznGyFFBef8LgSoX19qSN9QCXLTiAMmj99fYBpQ1uizlfhqWGnl+Q== 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=duLs9zN+ItDmJlrF/eAUjdoJV8oTAEWWh1bx9evYqtI=; b=rdJqsdXSdqmMqq+mCXky9k6uy1yom9/nJPOC3q9NiGi+Fkab/P+/dBmnRKg/ODtgAVTFbYL8/DK/3GZHFunZw2OlgD1jc+XsWIR0wyO4WwgKgDOx43tii+gfqDUJZeo/hbxRXwNQ3j4vfg3inDykKtUiL+G+6Cuu2IMC5aayCQs= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:57: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.8466.016; Fri, 21 Feb 2025 15:57: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?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 14/18] media: rzg2l-cru: Add IRQ handler to OF data Date: Fri, 21 Feb 2025 16:55:28 +0100 Message-Id: <20250221155532.576759-15-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d614f05-c119-4b96-6e21-08dd52907ef1 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: LXsU+axnlxFk98yvKieYXjlVtfmOmGq96knO2pNJVmr522B7Mdqqt6DSfIizpIuvj5lVzdRPEqo4HRdeYHV256NrtT2UWALH255stZAIwtsT4SxjCJCkDC2eSJU6iYSzW5uHnNQUxxQ9zR2iTOrDocFdHlSEKD14I/woySGFgL69k2qhiL+moXvV32U68ggMR1BbVZZB61p50JeUda9vFWGDLAWXe/2Go4UZ4b0rvR4DFSAhvuyte7yANg2E+HQ69V1LvFSwtBghl5J2osQIhEp6z9Nec9SkEDGdSIu2lOzQTD0izddT+x2JjeV+KiMyUSl6b+bNz0ZlS5VrU2qicZOR0gIiu1YzFUdvKnBwqklCvgH9cLbL0dHlzGx7Ibnn08yv4T/enzviOifQptv3xkm/vGsaA4Kg1HEOaeiVD8NdNvv1qkM7lggsIZwA1ULESorMPdciASJFdLTt2+zA6VnzU6i6/5OgwqJWeGmwpC4H6CyGABIVjzci1H9s5mjxk+4uOCpaOmF93sxNZbVkwQVBsX8kqY+dL2jYZVUHa/eMbvgR5JY9DXLja9LBywUlu4xj9S8B6MmgbHiPgU44LpMjwhA//JOghUulwru92s9or/mv9oBc5ITKzXi2hde9dldw/Tpma206Ck0pdZp2UMu1KS61b0kwj+MQkcmnvwDfKtmItU7J7l1c5jRgAXGD3sZ4rjKu43fu0GCq/4FACK9+A4Ts4M91CmuXpnw1Q4rJ4Yv+VgNlWve5evq0sfkBCO0L8ufEXagpW/2UmqvnfNJTgYqX8zMCn95uh+mkAo/Xg7ab4g0levTSNwTILfYQJEhVgsCMWSw96Z9AoZ7gFCxgzEXggftK1IgJTRFgmZDi/Dp5I5D+QA6m+kDEzgYsS0aGNX5EcElUZzWqtL3+s9x/+5vXLz3MmE0IPjFe3E+QfTYyZXOL8nippi+T4/7u4KQdLco9y3pBoHPNDNbNs86hFmQYSeEjaibGIA0wxwctRgpY3ZvnMlqBu0dIK11PXVn5XHMPeAmDDzaMdO33IG1afTUuud1kYY2Ennik2Z+RZRd+0bt2UCOT4ZMz6fbviajTD+RIUbSe4tq+qeOUmp+U30XQ9AjcInfX75ESg2TFAwJhMS/btJPvgVe79CN6oCcupevrxso3MwDNUPg0HiK2slzghq92DreorxsAVrvJovJ2wHxzPB+pn1Y/R8Z4i5+bsZzdBCr7E90LlbW9wpjBhnVb3BMOkAI29MnMbbWk+gGCN839v9y4Y/5jmpAssvU+yhqpIg8nR40KNzA7f4j0U5aKAW7oxtNCZqPS8eNRA1IvlO2DOX7y3NbgDlPrj7nUhZyv0LylbRrRd/TNo2Zk4qwzUswYu32f2QMsY6CeirbRtyHDia7+ty7dzU6SA6TVgzWYh84URtCpK4MYZkUb+XfLAR0znd1nBUegO5QytqfBz57nHTwRWfarcHNq 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: fPU0A10Z14+r2PBbTPEIGq2kPuTqCRiySTioHoH9vR8Ru10nOb2USpdDvpO1QeMvlEgY94WfG5OJep4XBk+6xJ9kOyL15imDDRsR2ftA3V6FcNWGImDXNIDbnXWmyt0q6zZieDhp1FTOxcvZj69Z1/mlpLOcvpjLNKUBRLwHKleRDjIrLF9cfCYQ+EoOzzXjv5XFNPY6n8dSd57QnsT5al/Eqzmtbl6DMbyIXeZi6/CZxsSjyikfyZOMgcpgLPQWiimoL9sbS0bTPs/zI6UB7V0Uwj/ihLzOEUvjmK4hr/kCvBejzPuHx/sxFsM11CPAQEFwtcDI1uZ45hnkbmHBmmVp9CtZyq3LS77qM/3EzsqfEfLop1ltngiV830453bU5UtCRYRDFocHwnnF/WTgv1nFs/S4IX4DF43lTtNbAOAZJJNtQh+ET8H3LlacoUBpYuzqZcgCtR6cytjcyaBYVmXF0nVa82iC3C73GHcy6Xv7WVSPZAZPFreIOSdXIdfsfpXmF69fu6LuXqLDlC/yiqs079LU0I19y/guuZjotUhCi/TbdPr8iHsvYLGVUYq7x4jcCuoc9FTAagoMkHD0SvL+Hi7cl7c9JdLLzut7Un2r7//FjMkx4xCvJVklBCLtp9oJJrLhaTSgr3fHKNUf/pDUBCVnX4rM+dexxdpnuwKsG+DhxLM8pKH4JRNWY7QB60zKTYMi1Lplo6nN4Dk/kJ/pEekBYUCRnjm5+DPp/iWMPXCllPaoPMN5MGV8lrQUlRwzyqL6M2VZtzWUhIf3Vx0gfJaV4MWJUBgi2eb5tU6/cI6AisLEsFzfJwbSWvAGLhF+GdgC77BT6eyY9OmfE4hi3JIPneptpIVdkpNrya35BGsJwpWnbIPfyYvZWYX45O3v4Y2p68cKcRwXVZ0P5kxBzD/0+FwVbxwiN1erWnNPDFYkGD8jwieTPKmaDe6sP4XG77Z9RjE1q9Fp+uPCZbenxKFvoOpabLuYbk+3rnHGIyJ9Rk73nYPtwUtREeHKKoNvfBlOZIxwalLs7s3FtgE34x75wQRFldhxv+ezBtePCqS4bY5hWyGkJUD6Oj21U8f5xW1NSsiTrS4dGEslNrnzLbXJpRqhTTnUzKX94y6U2+uimIpvIA1WbaCvY/P84UPxfH3VDqEG/FISzNFIKm2VNgZ01LzM5uBM/NwI0BsdggmADeU1JsEu6MvBs/r0zaWlDNjj2qi6M5vs9YDuEn+ze3nUDzV+aIFRYg8eJzjKUPvmm8AYAbtm4uq2NwugvnsOjZkfc/C6gFiUeOkFmAWD5AB7UomoJP0sF/4hKMZu4VGmC20kNLS5XqsOy8o95O7sBJ25NQgrcIKONWnTFA/JQh22aG/rGuNw2VGNScoVLCWVYGMya5lHjFgfKGe0NnA3zCWXG8OBXOoeoxHefj85YV2sJ3+RWYe5Qj2zc04UF/QdOxgKRnMkAfnxIxjG1BRo/tywlpez0/mvLJb1G3jgSQOcAZR8/mlHJkOmt/CEaBzAjq1wed0ilm5hTwoC4mEf6om9wd0+FZZDuFqG2vkMQNAWnTg10xbDQRgSZ7Pl4D0RlUaopU4BQmKA4puhzcWU41rv2kD1ws7EDmPvR018bYTKLIjo6yH3B+0ucxE= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d614f05-c119-4b96-6e21-08dd52907ef1 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:57:51.8216 (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: PtnjuJQ9wsXUMQ+LtnCJG2khv8iOgVM6m+4KYahXxeRQNRUHdULImHI/6EoPRLI0FtTjNS6YLFJi45bhkQlkVnx9M8iLVZaCiavDoG/PrNicp+MpdZU3JeCh+0MTzHtW X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 3 ++- drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 1 + 2 files changed, 3 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 7e94ae803967..510e55496e8e 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,7 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { .max_height = 4095, .image_conv = ICnMC, .regs = rzg2l_cru_regs, + .irq_handler = rzg2l_cru_irq, }; 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 ca156772b949..32bea35c8c1f 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -83,6 +83,7 @@ struct rzg2l_cru_info { unsigned int max_height; u16 image_conv; const u16 *regs; + irqreturn_t (*irq_handler)(int irq, void *data); }; /** From patchwork Fri Feb 21 15:55:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985780 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010052.outbound.protection.outlook.com [52.101.228.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93BC2210F65; Fri, 21 Feb 2025 15:58:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153485; cv=fail; b=QgfKNMvJnT58pZd+9DCQ2pbU0GU7s972DlFZMFHSu4AgXtPS7MCeEvd5n4lS3t/4fGuAhjEwB+2pA+lSWVOnC0V5dv1YVQugpVTvObU06LrTdrvrda1yJHLkcOXPAjDU7URWWny53RU/X9JLiyYk4vmPNiC4LzB8lSF6rBgYtzA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153485; c=relaxed/simple; bh=5qr+to9uEOnZD0TGjUHiU0Nfc4v0kj9BIUcOmOusIuI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=nQ/ooDfN78SVxc8Wve/zM6ccRsyenFr/kSw8nFsxRFyMzKKVPFiJanM4A0H0JdZBwEFcCMOEMaKuHadgDQlXglmy3Y4midtGKDdhI4m6SBAWHnsDvHAro+Ioyff4Ob+jc4GMR1XzPEfbhkpF0pgQNLEHCTw3Grf+dzfgbrVoeNk= 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=QJiM8a+C; arc=fail smtp.client-ip=52.101.228.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="QJiM8a+C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KZRWeRKaa3UR9U6HLVpFoGyEHH/eWgNRRlIE1syIzKXzh5eI6yK7/yWfdEgspbN70iYdlJN7fle48czc8hiommKh+IoFe2UYFTL095O+pOMnu/vFhLJZPT94zRQjzOkWs7gnGSQGNx2H/KyICCab5Khlq42m35FYCvxnuPOQ5/mTWCWKx9i8pcjHjIa+3WAsWLuoSbkCudrbXmNfUtrkAVYAu/3YV2uvn0wb5btwz6HCzx3lNpMgS6h/0/jtHL+Y83NkqTvMcPiNSKPb05Wsx4Zx5IyqY3Vo+jjzVaL4o7TF0ahC1znxNnjbK1KXKX/RX1zgIY8Rw0pOeSLKu6HlvA== 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=hcYRYkLA9DHGPBbZgq7Y2D1G9k35c5xh5CIE8wYbkgw=; b=D9l/RZbJ9BiUPZS9SZmHXaSQYeFT4GN2+wuOWw0m19oucMABvqCxkEG7oXR8/ip/khRnuecP4KJ67mThGI7tvl4fty2OyU5cPABmb/xsg9boDqKvRPNNW4AuQERgMda+hiUak+uirCopfo7N58ERE3HhuDC10QBt6BDwl0fvQ38AtoMMjxIaMfKKMj0cTG+h+uUzmUq78jBGoqYBj509Ybi/4pyN66fFuN5p9UGDmhCEjrTqJVVfm3A3Xdze+pXbyctORbCoK/5xvl5VZJ1jGNAkwz5E5w2zDkoK/93E/2McLekUmd99lTeugVAlCGhY2wmXl2h0dDSZFKxI9JMelw== 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=hcYRYkLA9DHGPBbZgq7Y2D1G9k35c5xh5CIE8wYbkgw=; b=QJiM8a+CdXdJxvOLd4Jv16iMFUI6h9LxvJ0qpfm8emJ1OF+egXk/G+VU9pMDRumqeoVLUSztNKkVpSXp6GTjtj4l0z0BuRGjIpx1kbMx8qW3cA+VL4TmXbetPbsjs/h/idvOxtyMV/aWaf8tyn+oDz16qw8tNwBngxH2LYVl1B8= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:58:01 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 15:58:01 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 15/18] media: rzg2l-cru: Add function pointers to enable and disable interrupts Date: Fri, 21 Feb 2025 16:55:29 +0100 Message-Id: <20250221155532.576759-16-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 768fe6aa-cad1-456c-806a-08dd5290847b 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: HTRoluBbrIAXRqNUXX3Tb06CN7WR1UVRqOgezhrbTESttLDzSO7YL9k3svYIk9Gd8aE7FM8zzvY+1I2B9WKXvcEaMZa+VzaaupgRuhr6uP8yoQfSeCqg8E5Rb7TYkOdggrz5bYWiSDZPvz5M/p8R2x2cbXJ+eM+CvabyLUrCp+zGFtg+nOSK9BWJpaGGEVQ8HjgcBaA7pyx3zkh55OpKNwA/kyRBA50DiNez8tvmVMTW9QNKBX9xgqpHGGCvsvHB4qpRf7gdeXzGfbu83cfcJeL2rAZ6s23+CY9glyqCyfgS20RUKF/nWmmefVOv+worbQ6Ijtz8w8riL+BbpuSNDvsLKZuQ/bcmSR0PkKeMcqQQ2bsV2W4WprVCEpUinDTDePfu+QVhxLgE2vz81m+KvdQcNdSgLKkWxnFsD1M/pN1n63wohzh42tlJ3p77OEF5FTCyF29M5ONJPQ4JelxvnOxeBd/r5UqoIjE+/UTQp8tx7bvQKQ/iw80GDPj+x/SWnZ0Y1RMs5Csl7YxJv7No9tc3Z9HNBZWeg0B5nEKBHqTHT0MNqrBUP+oV8vvCV3/AvKRh66v5UgdFtPPrVZoTruLpMCzXrgUyjDsCOimrBiA4cKBcDv9jfxfQlE5eJTOrcforQa0NyC/Pcy4CS+v/fyomCOxeQJC9qEGw+ewTSKukUP66DmHORhpP+zoEra1LhKLDOe1Lgo+bvXZA6ewjDyW1XznAufuBSXTK5y8Iu1mykt+ECWSe5Eu3GzDXeBEukl0oF9CZVFlSbdr/hu37BLPDjChne/V0gNKrB7W5OOMLnv3y2SKIzjiClTdL0X9mNLpvE42+sZvyGTX0OM/RmmUc+/rSxBE3ERyMa1CiHKOmb5fgy+oez5Dp2RiM+7WdU+2XsbihYu8jHB94tOXIaaOULdwRiMllukhAUO0gYbEzjN2VemuWpHJ2z7t/ZNX62mpHMfAsvgTCSMlJ4+b64SwaplptxyQrGKtWlg3PgR0iFKcYiyyunNsKqVKi3Y9gFMEUyBvlYnsgg0y57ZmQgv4nRl9huzREBSAq0KZ+pc4KaU95dDUDD/Q+a3xajMJHyUvkyByUTYPUNM6ZOXsF8UVyP8HbO7sqbQ/cYZKGvtl8uUFNLO8NORtcyzUl9qHLQovd3abZXWhYwwEzX0oNuvhDLIJGs4oRarer0PN+UAicYoeteAW3nR5KL9Ln1gWq8cL7I5wzPLDtZzY8LqmwZTRz9KKIuDaOZEoO0PTgEfP+tVAsMQwky9cMZjvq2MXufeEWWPtL8x94e3WO+l1cnmcSqbNO9sV8O7/H523/N7afkhfno8PreUbXrZBl4G3/VRU0vQbI9TcWbSdiag03jteUaLSF32Ksf/E899SnU3O8O/LFtcrtglaGsDEUc2XVfXDVqKdQ3ekmdhWSXMaGdlgFEGhtrdF5DNF3CSHzAynJ1YCuc7UnblZjQIbiNIhy 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: IqW7FPSPHmIkge05Rit0eZsgCvXyyUP3w/7oL4weH8DuIvPBKJcB5FWOCI9xMzOcAM8PgR7Ap+xD+JDnXlkoocQqtlO2DFM1PemUPn/gzRa6LrazOw1Xqul6ZztusyU2SylHaQTLTDQvuogZBIDbIwMfLINlfs7x+CS4IHBGl9T7oXwpuMxP4hfUsiP4LyDz5chonUY04P/fpz5TITht2DRl0kf4/3OVhXSIBxlKI2l+2938FA0nl4lGJpACfHXo13EQ8lO8SGV8VKNi368SEUnJQwkEIjMNRLmmYJBQ/Slu3DJDtJ2yZsEDADS66MX4OnvJgpyIkGPdcAPhUsV2V7xooPIVZNDTr3WyTISe7+cZz4t3AGcdep5pEvFhvh1SD5M42kng2VSv6TFTWZXFLgsFJVdIb+PyFLL7PDR4Df85H43ONMAbrqgATehrUbSctVTCEXd4iqkqVTYURgqFZWf6mkNxFsKVOGl1Ws0a/uipF5ATEG4MCu1+oKcZBbpIj4hEDNEYNm/MFkF5qhILz//4RS+2w15+hwT3PAgp6deSm7qwBlOKmDTOvk2j5fnziiqPfj2WSEB+qR7y/ieXXVsld7q8qrlg2DIXlNnyZPqkCam0dCKFEArGvIMoOjRVjQy27F+o2ezKY7x9GslHe6hNkSkw2CSV3rnLNuPHApe+wo2J9V+P8kB9F4AvMtPODif8RSSly0d3qORzMVwgSbeM8/+DC3ryI6MHDY5dAR6g8LgaVV+1YrYNn0YCCQFYmI8Ko/7RyC2SKnwNRfrZ+nJ8iSaNtQsG7MVjMSL1NnMsbUTS961fyBuRVQ1CX5mIOGM3XNtVN2IbCyl7fXSpwtj1dMdTyEgiF+Mz7Uumf3caFKw0orJljizg6wk9wjK3rvHscdaIebs9qyOkmB0UkySOB/UUmPz4eWY8UcyQs4RXM5IOsr/fk4O6nzvleOAy8Ib1vgmh4Tt52f5T2LhGFC5NLyYWOKiC5Gghj3qQsA3crRQojXWfJ+jwx2nqHrIdptuQK4TdyKVFdcXRDfuWaA1t2/GGvzerI2UDwyxkmweZFchsl7k+bcEFNLrjCmDnVuaCzbNoyqJMUNkEO6wCsCuAK8jBisq01U3EL6rmD44gpNUIxcbUZfk2dFqH+TY1wMa4WgtJBxwiXLZWouDawun844ICstRc8mFoQJFpxIsx7/7zBYqDpAeOdYc+I/1L5mqt+TPhtps1cThDcbijPf+4bAruVst8buVSOEVZTHB81rlCoG7yacWD3cphd9sqLm1ODadI5Mo4Ssba0IyhH4j6Mu2hpils5MsNoeB2fplaAKfobV3L/bZZXgAcs9nYaGtYyAmMxKtBE5c6ddMghZ6aj70CLfVX5DC0429IKTEyo2fu2UOdkUgFmIDpLChdgrNsbNQgXJxdfiMiCmc1BodYl7MsB9MWhYklCjnvjIRY6RFowx4ZMUUchEzOhFU5YUV+lFrqckl6doliCjV0RMaOOi/22O/j6Wt8H5cKqb7HTmGSxIM5BtSK86P6E1U3E2KSDyccJaLM3zVXDtcpbAxnpfVP5Hyx4vbJwmy8e3/YXHLxHKNgXVM2EXbBoDrFXHbcO+Nsexdz/sb4vxYiuMk5PZk+Rq/JEuRJbcPShPc= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 768fe6aa-cad1-456c-806a-08dd5290847b X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:58:01.1215 (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: C8q9TvNA0DFs1C8ANwbl4gCPf4OjILKeeajcVqKEt4IsDeZxFEmyRoxGi/TxfG176GmNgInoOqmfRdhSxdbYQgbUpYaUy3PYF5sZoPkJ1L5oMUmFSIGHifIHQTkRwEqA X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 From: Lad Prabhakar 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../platform/renesas/rzg2l-cru/rzg2l-core.c | 2 ++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 7 +++++++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 19 ++++++++++++++----- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 510e55496e8e..302f792cb415 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -360,6 +360,8 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { .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 32bea35c8c1f..3f694044d8cd 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -34,6 +34,8 @@ enum rzg2l_csi2_pads { RZG2L_CRU_IP_SOURCE, }; +struct rzg2l_cru_dev; + /** * enum rzg2l_cru_dma_state - DMA states * @RZG2L_CRU_DMA_STOPPED: No operation in progress @@ -84,6 +86,8 @@ struct rzg2l_cru_info { 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); }; /** @@ -178,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 022da19dd88a..5ffa3173af62 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -254,8 +254,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); @@ -347,6 +346,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); @@ -368,8 +378,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); @@ -382,7 +391,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 Feb 21 15:55:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985781 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011002.outbound.protection.outlook.com [52.101.125.2]) (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 288462116EA; Fri, 21 Feb 2025 15:58:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153494; cv=fail; b=YjWaKySdAMagh5St0cBreftKr7Tn0dTm5iAO6HK4preE/cp53Ws8x/Itt27khT1MLqASC1aR4SBcrquP2pv0T6+HwpM4nVQ9JgycMbfvera3lehbBKk2/gX00xeGaFN5/Hv8YjXgcIoPpc2qm2sw7kjlWcNj24rAqyNNWMPHK9s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153494; c=relaxed/simple; bh=1sDYQDoOEeuGEoe6yAxt+VMolFFSdq9kJOAIfCqZ2qU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=k87z8fJjB4gp3g/XcvQ8pHmYEsvZpQ6ac2kqle3/4PoFko3byoGVKF6LUdMprwT25iIYSaomlYRiya2onKEGwQ8FhL5rOrPxo76Mo0d8EBwmgOB8b7hrkUH3mJSbcrdUtKIkQKz3F8g/r4xr2SdDmP/GWkaWj3qPH4p7/S6J0MY= 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=f/IpJ+l1; arc=fail smtp.client-ip=52.101.125.2 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="f/IpJ+l1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=m7qmOJ1sgUAswN0nuN8TiKVtFjhXTpxWqW+mSaN4CVgIcENgg4T88oCSr2vjKPNq+2lnlhMqXdnVdkbHDt27Fdle4VgiKMo7ErHRErYoMiDln8arlyzf/BL1UwLl/Ii3wOPbCyv1O6qxaBEXu+crV7bFCTk4jS9bveAL49byFI37FL6dZZirEowtqJWGL5zXO0BCfJjCCHvIybhlksHf8hn/WnzXMUkyyXcb0w677urShkM75Q8AGXMCbCUUh1CnmCSvZj//O6nIxDwWGtU93Rp0KA7l3UzWhVpKpNPJ/Pdr2GtoaT8pK0fYiziCGJeSBq4/J6ftXh3Sy9sJ8VK0fQ== 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=F31cvkbVIVlo9iA0laqNSZSnZbbOcWMUrKRl6EsMnrA=; b=V+3eJkdseugdOLkKEPDlDvEGkDO8o9KvB/ABbinwudkJXzYIbNdK9CWWRBhnvK9urMbWEKQYPLJvtQeL5lSXhlsxg3gULKUOnMNZRZ0PMRR8WU6XMB/kWEb3JroneSR7S3IHhMh9AF4mcJEX+uTIGxIT5QS/YstEM5svs3ZZm9OiDj4q5LxKViNZaYdJjdd2AjelIGpWc6UjTK3cud4BSIwU2EsiKNPIDeo7v/M/2blG84Yjv/6K0KJmbkEKKBZgsYovrMps2hDFuZ9ecgsWIqniiTpey/7vnZGCZR/NhR1cbltQHx/sNrKuqM1CKhaD5f52RHxFKV8yTytgOy+8wg== 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=F31cvkbVIVlo9iA0laqNSZSnZbbOcWMUrKRl6EsMnrA=; b=f/IpJ+l1hGNjxZ3sLVgSnezKogCGyRIxy07XL7oN7k8RloyxKv1346H48HHruWD9wqz+W1H/M5zl6w8e12UwbB+XRLYw6DI/yBAyQ0emhjvYB+gYzfuwIxTZNOJ7Ze0BFR1yoJscz1g9EBbtyVjvEvbCSGLTSaqET5W1+5+X+bw= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:58:10 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 15:58:10 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, 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 v2 16/18] media: rzg2l-cru: Add function pointer to check if FIFO is empty Date: Fri, 21 Feb 2025 16:55:30 +0100 Message-Id: <20250221155532.576759-17-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b4a3238-0d23-45a9-fb95-08dd529089f9 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: KNeKTX3tBnJbertVfXal0TZ58dGQ0iGIowTONi3jWHcNld6PgVrsL6fa7F7WxUYez8Rk3435kVexr7PUml+5xdHRaBCnnIhQ2xbii+IT72PTsJZp+kbHo98H+WQz342eliMcujIDgt5lsIIlT7mnR8KCHgQKxO7EqCcTa6QBCi2IQZOwDG3Zp4mfgTlLuqkHcr7stxDH34h/U/E4jOfRpk1+XR+chT4fdXLh8v0U5UVEpANysaTw/EvZLMXCfA11BcxTtfHoEEleqorQUe79hFLVZ+jnXvBYTOt6YSRmdxv7oNchIOu8Oc79lst5IgBpK2Z+IzpLJu/iDNadNH6pBpIUWa1WcZnd6PVd+lWYaIPIXyReTuGsVuPfkbOeQ82a+MXO52hjHP/0ee4lR70958OO5oRCmj2bg11miLb+Z7SyNwjZjW5UadJA0u2MJCW8oVzGzMVEguNd8e/HRswnt07smAauZqt9+iCXyCdS/369Bjnm6gRMywjxGuaoaC4vbyA1+kCj422asZv1S6l/xPW3I2R+UzUFHcewvJ503NxpJ8GuPBJrvhud6vgwepT6LLzJIQ63jAQMVhRAwD2fCgXDEFCO89ihgVZGwE/4NSDHEzsoZzmE9qfX2EIWYXk7Z+a19ZmhrQK0bxbPbABXiS4zn4tLmBb7noS1qzwysxvYviNPLvUFwu7jLPH7nZBC86IapZ+MjDPNUVAUMUra+KNHb7+Oa+RqtxDRZfuGefaGzM7j6pg5W35lhlA2bnheOP94WtZ9yTjEvPhQ0oy6MVNGlP497FOEPwOFuAiF9zTfAlGpjB8x68klXy9BGxsSfGbopGBPuif790M5W7MZ/gDaNMQZolJBjkXBLqmrdf/D6QFf1yMF1Vul3Nq1Dofygr5Od0kAI+eG/VMY/tRYIR7D2cXmnHsrvMmCOinSNjDx5xn8CqkgXAk35jX39/owyX9D67VR8t72ktlGDi0e/dWCn0AXbRocXiPopX0QdijucuR+UnZvIjEvv6vcJz3CeyrSp0YwOsBQm2gCz/z3pLq37zErSPfShUSljNtYOQBMYPG6Wrl7zGpa6eqROeFrljzhNFIq1Xc9z8Rcpp8YcjvZ/lM5BAahIRmoDfXEmxsRUhSQAjcxZYtM2knDYwppSwhWvssSNTL73gIoQw0bU95MEvEQQR6wi8EruRFlVD6thmBRY56MZ0guuTwxmVdmkILMecNZYl3EEFSWEJ5a6I8YpVXfCpOCunh79X37poog5a6qrL1a3LqcB71ttc5IXT4+aQ7N40eyVcoss0XEfxKtlQZJU2ERC29aexvXSvlP4oyMvGcUp2/dlt0UVVQ/83EgT7Fyg/YraC6nZZTZsjAmF76N4MqhdkKOkjSZ/0wl0AgIjWlEbCsVTdXF1vG6TSaIMYd2SXxuO3zVONWNW7IdetNFr5m56O+i0OZ2evIk6eh3itmeqJZ20L8/gvoi 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: Y1ekdy3/pQ2lgBmKza5/7hzhDYNshFQzFnia+kIvbBFoUm3f21s0ut9vNkrf8Hg2nU+eobzm92SEs+QblBrjhql4dT/oivf7FGPxKhg5IvL04Wo01yfRbT16LMSrmKKnx9OpMrEDMtDW+xc7A2QlJ8NpOnMC0hW3KEddAbFpIRvVmM7eQko9BLvwTuVdVIP4L32bjNP5OxK/e4NuCVqnoNC6D2LcGPEQcOY9H9YFSZfYgJvv9TiaYlV8TZvjG8xwXrS8ewXcrm9e30Cg4awAOd+YOqY770YROCNQZ+IS9PnQjq1ai+rXjHL6mvBh1GnfZBE+qByMqsg6R+EVAWD08aBsSqctNL4wiyYOwXZCCoTdUnXvYzIDTiWEWOWIMPitfBUHAFk0H4Vd2l8PoqR/FEZdfNs7+P2tQjIR+eLQKPrj9g5vByGVensyfPotcgocfie5WRXzjb2lO2dPRun9MPe0/Bc3DD7+VyDwxJzDUsmsLAUi849Imvrxt3fzw4dy3uLunHRsWsvHNVskG/W/9/rsNnk1DK7eEck+GWI4HKmDW2P4znvL9FG/S6rDqf5oxe3LHOD82QaWn0v47K3EHolWthawHUVy5LZky1MG1Mcb2cqk53mazTwG9lnMNDqHoVbVH4rxgGkqOj69qjg8lg8itd1YLNGz5FxRonVs4OfCR0P9Z/XefkFTC1KcObGdpCV2ufTrIENyX8LUEI0Xn9+0vS3XOsm/qyJ6aJlpIz1c9oWtcojhHf9lJGeTaHdQrOJ2GrkeconjhOgio8ywNrdKPJ+SZiUyHjH4zFfHDoAYHN25ngVD//k3c8d1ChnvO5K+nrHgRw9nd73jMZ4uKmBZxPbd0C0yx6BjvRmZflXudyapZM7EsHPn15uMGlQTO3s+Sq2M4uvaCM45RZo3HBOw9hwR8cAo0slExUt8/4Owc/IjNSOUfXZQFRtgZS8wTbDV83AmMH6+Mv1oKzBmnIf94GYDo/syiaU/qz/qbsfSf2MzULgvJ6c7zu3r8GZFY6Sl05FdK+6qBYHPS21wVQejwGP8w6CMEngMEd70/q+DOE3/bfA4xOnttyKSvR8NArzKAz1w+aJwYV4EjFGzSE//NaW3V582K6cdZnDkejkEovYlAPNzJzkrY7I6XJiCTtd1mbql7G/JLkIqyCmbGUyWS3coFpn/8EBUXzE75q4J9EINw10qmaXQmZrDNRNJy+z9+/0G5Q3frluWX5QUNb1WB1yOdfuxoWj7vHVesG8fCYP1gZviVnYfZM/CXkLCQTWiDkLqRxHc8IMJ2XS32KNyJzVv0++o5lM7zb/aiMouJEemXEJHxcJ5Q9cn9dQXLjvSBiZfW/je6K84FWt7lPfBXqLqwBx4kmoX4o7mZDFCueyUw4phvhqDYwJTHDvKAtSzyrLnoufAwYwoKEnkxdidkFHI3A6eODD2k+kDfmpVOxOF3I2/sU1ic1Lhg5GKyi2uJLwNJ1WmyVLF8iMsGVH22isUlFSnC8+Xx4REM8/End+MVme8B1rOnsZPjc4fvr9Dzp6CDfxIJwt5YWdVyMQbLbJS/1NmFxRmf3usH0tGHsKyLYta2TsBbE/foFuSr9tiL1+rjvAtFQ2oEJ4yaEd+vTBiuNke73+FDXrpe9k= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8b4a3238-0d23-45a9-fb95-08dd529089f9 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:58:10.0976 (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: d1Y6cmQAIYUovHszjcG7fwfF9VeqAuJbZDL7A4XdihMVkKXzmRnrAxH8KcfIV2cEUImtGcdYsoEtlQxPtF6DYcenKFxkysvckntIuQYxy0uAqOI6OPThUdr0KKtMp8lE X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- .../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 302f792cb415..e4fb3e12d6bf 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -362,6 +362,7 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { .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 3f694044d8cd..2e17bfef43ce 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -88,6 +88,7 @@ struct rzg2l_cru_info { irqreturn_t (*irq_handler)(int irq, void *data); void (*enable_interrupts)(struct rzg2l_cru_dev *cru); void (*disable_interrupts)(struct rzg2l_cru_dev *cru); + bool (*fifo_empty)(struct rzg2l_cru_dev *cru); }; /** @@ -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 5ffa3173af62..7cc83486ce03 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -244,9 +244,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 false; +} + +void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) +{ unsigned int retries = 0; unsigned long flags; u32 icnms; @@ -274,12 +288,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 Feb 21 15:55:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985782 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010019.outbound.protection.outlook.com [52.101.228.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D128A2236E0; Fri, 21 Feb 2025 15:58:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.19 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153502; cv=fail; b=U2vBRjrpVf92S8lo9F2uEdk0vnwIWDQXC6poBGllCfROOgwKFp3Kx03NXrYQTuIRlfI4Kzvu+EvfbUUM4bAmBoQEqAd0rwsAS2J3XiAwV4/QWPNOl9G1wRGu13mNUjwbsDOW/FjnjORmC6lj1JN+cP2F/SQ1cUe12vDlzjZ/eqo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153502; c=relaxed/simple; bh=F6dWHq0rVZkyfY063JrpCYZBQDx3hm60IJXDxWt8o7k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=MUb/tonu9X7l+i2NvAdyZRdSv1HLAuV2jWbhCGvQNpPadfaSmszXGhAE96GDpx5EEqK6RsXGLtKIyVzEp789H1y53O7O8CyDWP4hXdIXhHBeK7ZWbwa7dDzWK3iVmnNTJxaPbz5Yfphj7SQ0GDHC9jgb44GvJtHsXxxIplW7HbM= 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=CzkdD7CU; arc=fail smtp.client-ip=52.101.228.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="CzkdD7CU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wZcljm6EhZpOKkwgJ4XBNhQnrRy0UC8QQzgOVl9nRrB2QopEgirW/xkN0VZYmndYJ5jvOp2SLVHH/4USsSCsRdbFzlvsYt29obfQB9Eorv2bXFHfFHTS2K086dKWGtAjjD8sX72phVw5bS+oHGGsMeF3i8l0UJuQVb6714SXY02Nq+rSozfrT2Ki5rXOrCrZ+AJucne9Gu3v/2E2qR3z9RJOUceHVB3N1mrF0l8FxCkiUq7li0jjj+45nCRj65bNKzNVY1/bWixbjufjvRtG5oSVhRKKTFHltqzvmLVtJ7dYmE2qAu86vfU1I6Y7cHpCduuMXjVkDJZjomL5UI0E+A== 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=sloMBBhdkpnsJw+lfTO0V6K2slOG2MsKd7C4Hlza99s=; b=CtKn3VjrbahM8COulQko4R32X51xgmnSzdCL5V3dOXyU8rXWNrGxzwqw8FFf/T8/JOYdRhSywkRprm5KF2HqWsTBTliVPHdnF2gtNnPWQ+gY40D4uf0ZgrRDGPHcBsViF7lI1x973EnNI3uRcZe4A75heA5yXpRlqPbqZtXIbMX/2cw/pwxbbgBSWJbmdkMzsgoZwkOjRfToXsqWF4puSDaAaWGz77IshSnYWl8lx/oMhgrk9qmID2HUa9Ge8yYjWcyJ+MavcK1miZJqEj6cLABvWKsw4UZRL3ug0tI2XXt37m28aRMdnRIj9kjRngNsLsFkRxx6otVGkd01cuSkXw== 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=sloMBBhdkpnsJw+lfTO0V6K2slOG2MsKd7C4Hlza99s=; b=CzkdD7CU76kFhAkfw0UhEHKQeh1ocVDXTFUmRiQFzCKJoqcVmZhmwzLpq+M5nwc4H3ir+VBOkmTz5980PlPUEMwgP6QrxnFCe3ELheEPPFYJ1y/bFBJ8RiK/PKKLMq/TcbnEEXurppmxkrGmgeutA6UhBd9RzS5rvAUpD2DR8bg= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:58: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.8466.016; Fri, 21 Feb 2025 15:58: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 , 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 v2 17/18] media: rzg2l-cru: Add function pointer to configure CSI Date: Fri, 21 Feb 2025 16:55:31 +0100 Message-Id: <20250221155532.576759-18-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: ed83e93d-710a-410d-a31d-08dd52908f34 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: 0RPX4kqaKdszOU3edmrUopzEt5lUEX3Boqol53nB2SZzC4q4q/+2tLEhpqsABMccxZqaH7XAGVr/M3QAruqtuHC2chp/USXR43ltdT9wEMn+HBDKx17UscBkzX/u8OoazQr9LAFo3BKtYgtg4lvgscWVrdeLh3hy/gI2gLQ91MQZXrVeBg29AodaeAyUGfq/gmm0PIoEqy0Tjm21sG17Iqoj58To19FTGCtEWssIA6kS4FxytAXLcirAI0QE9E4rHq/vM8wy002u4PmmzEDOvmBpGcHnFeEvZh7j6UzHWmCn5M7HathvrXR1XHtL/fzjiwzdnjYbPaSWT6+NjcR/Zbo4tACSL70ErCuQaQHDkCGveUTM7CGBN8iSGSO3KESz0slA24ef/vFfhIdvsrPaT7R7jTNmDRGGO3nVlexGtCp6hgSeL/aTVuvvyazjECP3FJwWw1cBolrXpkCd8+VJDHJ6jmies8HBGjTTOyGN1C+H2td6Gr+CBRqhAriOkPPZKVtMTLybgDWmk4cAhbkIv8Jnss0J46eupqtLNEdDJ+aFVZtl2VrLWjRKNXNr475bF9QsDIoqQEjTibtrMcLwEnlR7806sT//FNADGFAHiQqs8E92LTD6aIenWYgL4J7K2vtxOtm+QZ7AAcznLichhLfSbDUg2ppMadT8+ZmlP5FXKKRmpT4u+mkEtcd+uYK6Zc9/6JOny725l6sXG8Ev2PivlzmFckMpSQRHSsxjDO1p/wxJ/7UuU6f67LGtFo4eSbCmFgbql219j5NM/IpG32xa58lZcS1JRBg9/ICg7aW029YfV2jDZNBhbTb4iNbsoc3S3yRP1dvsXP/07ownMqMuzn6GEZ4BGVvfHU1LB/XODvwMDDNRKjvN/81Hovfghp4WXowomwszT/5I2KIawfiDdKsx3v8N/senRagnJWv+rp1ibUPaJcfmSDjjPzoVRZADF1uVJFVAAcvmt3grfIsB2en7LvhPE9gs/tGtlaT9QxggWHQdWdNg5Yx43Jwv5yq8MXT9KfMl9nPOiekLocoPJOZsrnP1L4MCg8s3Tgsoq6QSSt4QUnWVh607AiA1rHwDvqUvIa1eP7r02J3EoXLujtPswU0WPujsm6ZlOGstdPdplpqee1/lN12BeGfxXW/NVQ/fYmsxDXCPXQcgptVF9BrrzW8cfRtoLTBYNKiAQQOUClciXSGpSFbyWqg5+cxLx7oIgHsF2+IwFuPZX8Dqr0KGe2KU4gXbE5fudT+MXS6CsFxa20CyAj01ThPGEc6QJ1H8wN4t2baltcJPnEMGJjTQRz0YujpHQEf1IB7+oIVKwAJjzqP/U1SGMTIbmn0RGhz4qpWP4bi9ST4Iich8rI7aN63bkW+MbmpzhfxLbqg/8ecyX4LDX6+yK4Ey6czdV6gbJ2e8NAejgF9LLmS/tNjxnfJ1PS0ptk4CxCMtxZCsynLz9VUQGsGFU74g 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: Zu6ov/6ju/q1u1VxOtrBIzCKWcLS4IrQtr3crtJmbywbmZabP/nEqo7pIUlla6M8ECvsgDAIoLRMTIfqC5Q73fbM7J8m74lswaUH2riijhYSpetlKmmSJI/1JGpd9O4E7fPO1k3mwd0zddE4aam7IT7EZM+GUgFjly9UrTLXAktv7qT2Xe8nMyn6egwvpSgcH9SAxoxnpMqCEjTJo7/oprH+XWvs9Sp1F4dw+XXu69AWKLMF9t8xyPmV2xgIaWXrR6xMoIGu0FiY7Q9zsLsqUQP7x4CCgCR6pv6wvuPSjik3SuVFC8bYMSyOIa2NOuo+udHrDwIpwIBB3VO/zD+xaRRxeSKfljw0SIfhqZoaYs6V57ardvaZhokUfqKFkiCHldGsLsBYfxrpmdxC5htZdRI0AcmjaUMVVSmNHIkerkUXRD7L+hTYdsW4EPMc8S/+N4/2nSbfUBqPynjzIOrRrppGPljGHq5wsjINHVvd5Haf3bNQO/c/bWGj71dKhRkpoIZ2VhEWG5eXxIBQHVyfIClzfFqTsOvGZVRPTy3D/bVJRWl09oQZ3pjy0CNGLa7hOCAZtYb2qr0E1gfoPjz4ZxyCEzB5ssWOR/sHVZnGMGfDBbTZCllwkdC6WjFzKNryo5ev6MA1QEyC0PRUcGVPhT2gl2szQlbLCe5uJ/xNjuNsj3cwoDwR/ZsgAlO5qO0ovbIiT+Rn3Q0u2OoTF+5r9Gkk9LodtDK2A0gaUhpCzJCj+I0GuqzAkXFONqwgI1uaDIUsjQaF5LOjJgrDkbasT1cxss1t5m+wV9kxXzBw/g8d39zEa0XO1vb+jjXvxsofHh+8pu3nrqepzaqE+Q+F5zT1uzPKkJaB0GzFfGBZ9E7wPpAx35dtX3N6GxX0qHUqe68O4zumdiQ24uD9wHPgDoDMk76ibGw5mMhOy/bX+/LULIVHp/VZe0I0ZLmBPLxC1cORG6yWwaC4LQzN8BjvC7iAGSgk7ebEtQS7pLmrlGi3e1W6StlQHWVxZoxuAl4fLUJq+nslIswqOUorZptD5Y2UWYi29HFc6DMemyqPTaqpRx2VLjUXehFBE7L0nTGwINFitzhBkB+STDDYj+kxnkPzNs/RwC4WRc1SfKIcSLesswVCTVDIqDY6nA5hE+E+/xKpJdtHONiYAm6TN3yDKz5UyINqU9+Ic8uDkiek6MBjupSCdIjPFXxoHNuN3r1d3AGnWvkOGKSZtUdtgvR9sgeAgVTsiyc0jS4ZKDiyY5XYCexat6VmxtJEZjv+xLRsCaymSpaHQF7vrnQ8jrEISixYfyPFGIFmVwN0svn080BrgpqoKGROiVYkhmCtUGDtHBiOfv8HI/MzvLwhfIyon+qRfBVsFA3+axbGxCw9Uz9i/CZTbimicFtl9Vh532u8Y1lF16s11JegWegqX3c4N4HqHDoRHVHNI/kiIRnojOBKhvdEAlyDFHjky0+rjUntcelOcXKdKVBPrACyHXBPE5+8ox1xfmJNvSBmmOm88kgJnjc0hrm3ghkfhUOlOYBXWQQfHZmJI+KQPen7iEyLhHnaPzba1DhTK51P0hAZauOMIji4GP4n5b1q+N1/kFO36v6ea0P9wYqFBmt6qR++jC9cw3nQtwyetqpNfTKO5+I= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed83e93d-710a-410d-a31d-08dd52908f34 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:58:18.9049 (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: L3i0oC0YGojjt3pPBRp4dyoo+Y9FPffdmn4H4SmYCVAmx1tupFrzWAQIDhVSoAehkFWP1xHlwX2JAtpr6f4f5TsGWS3RIoRRUyBGhCsCTsqL8yxHTkIGNQwTiKXzLmCW X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- 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 e4fb3e12d6bf..3ae0cd83af16 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -363,6 +363,7 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { .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 2e17bfef43ce..ccaba5220f1c 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -89,6 +89,9 @@ struct rzg2l_cru_info { void (*enable_interrupts)(struct rzg2l_cru_dev *cru); void (*disable_interrupts)(struct rzg2l_cru_dev *cru); bool (*fifo_empty)(struct rzg2l_cru_dev *cru); + void (*csi_setup)(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc); }; /** @@ -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 7cc83486ce03..637c9c9f9ba8 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -196,9 +196,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); @@ -220,7 +220,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 Feb 21 15:55:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13985783 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010008.outbound.protection.outlook.com [52.101.228.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F7201EE00F; Fri, 21 Feb 2025 15:58:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153514; cv=fail; b=rxMu2K0fUWjkpw1oQ3YNbpUAtGHtLoFhyTSiNz/66Hwl70Uy43Kcbw27me75jwdPbpSJfv2CBGcozh+wA1H3z1FXvacffOeiCzavwILIh1DFdyroLPrhybHuwebcWc0lxPze6ysgzAdL4+6UARK3h5Y7UyQo34B5+fzT70/gY94= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740153514; c=relaxed/simple; bh=xm0AWk27Hxy3Kzr0ZDgZweB03EaI1UF2iJk6X0XJl1I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=g/iNNPZhCTB33brajJpEmcRUdJRpW9aIrKq+NPoXMWrG1yTLiQhPuAwUAX1Wfd5L2awEQIMecFkVfNZVkwbUHuJp83OnRHK3CvSODzm1ZN9onsQCASoz19O4i7BfoFYVm7QUl5EMJwY9GZD7FNrrldc/He40wujbrDB1geo6tk4= 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=RTN9IlGq; arc=fail smtp.client-ip=52.101.228.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="RTN9IlGq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=igGsAWTGDIkJV142SJwPiZ31rqG3D5J8ML8dYwIkTkBRIwvgw2j6zGFbADh1sHzj6FEiiVGuZibXu2tG9N9AwIcM2CLpYjF1INdF7t3wHLxuUAm/f1L30PZW6fH/GEFTdRui477k/dQel6pZpf2F9FMQfe5AIIH8/5gliViNAzbK29Y2DjtB8IT+M+25noUh1UgH9o95/bCl1gToklAQ/Wp8mofBPDobQ25cihNceGJTYP3nS+N/Hic+s6DOaYx+MtA800pQRhaJPNZ370D+KGrt4uFfe4GtX/09ZmqMxP424/5byXOLHczd/sOnX9xkpoX6jQFB03ZehGek+55cQA== 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=0bXJv7hTJAADpXNsJl93H+ct1hXv51n/WFZlIjOJCR0=; b=FxWVwvs81in6St6m6XayYUkycLsjZ1MLifQrIkt1Ji95bhz21v1Ly1UgmGedUqxu5mSDT14l/aarjnffM6j2x9Ne4Idd5TNbkh5dC8anIKOcodQKz/qkaRj82iWNYZ2VeQ5wPLAap0Ol0QwrX9p7gaqn6trNAnnT/wk335wCUrl+ob0YV1NJg78Vj+aR4OfNbFvxuw18q5E1q79vD1yM8lAnp61IO3NJob9WymzOiMpvdPVXD2jBOq+pWg8zPVEIkuZUEwe7trZQGMZrI8xn9jji+OvJ6ge8MUU9qT99YYuOD+SEzEPrf+GtKaUOiEChpYhZoxjl/lPaGzx/YwqIUg== 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=0bXJv7hTJAADpXNsJl93H+ct1hXv51n/WFZlIjOJCR0=; b=RTN9IlGqG2eVwBB2v9UnOb+WMunZj4DlakPO42Kzcxz8YIzkbVh2/kXcbdaMKdW9uQQAsFSPtRkf5fls2mIQTQhVYaxoPIrpy0xJv8HkJR3LlFCWKPVOpfM3CdLRhXHTPgWRFoN1ijje2fR9hQc36843E8BodnqwmI0r5Kipr5w= 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 TYCPR01MB6238.jpnprd01.prod.outlook.com (2603:1096:400:7d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.17; Fri, 21 Feb 2025 15:58:30 +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.8466.016; Fri, 21 Feb 2025 15:58:30 +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 v2 18/18] media: rzg2l-cru: Add support for RZ/G3E SoC Date: Fri, 21 Feb 2025 16:55:32 +0100 Message-Id: <20250221155532.576759-19-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> References: <20250221155532.576759-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::17) 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_|TYCPR01MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: 856e5bb7-6eb9-46d5-a766-08dd529095e3 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: tL/ZzCL/oFn5iLbtJjGKWN2MND1WkbbaH/kkEiE78z2NBr1XI2uuWYuEu7GNZSU+Nxz7UrbWknAaGC3X0Q62CeiDQcd9DKS2KpimM0/bOF9ZUnOQoUhQRqLqsrI0St7qqNgkU9766tsgyRTE2+Ah0ca4UGCedpmHVKdpRqFc5mFHzk46I+1+8wXN09sRDvyYMuGA9eef37MQgOcIdbR1xI8/cdEQvwZ1SbFgL8qZYb3YWOQ/1Im4pg+md16f+UQ41YVRrFRXih6VKadGBt5wdkQcRluRF5lBYOUZo0bDN8nr7wyC7NMAc8g+sdIZPFY69c5qQRA9ij6s8aUE891y24QQGvMCz/x48+G0IUZX+I2HhD+g73oMxUGeFr3e2ZaiTIqFeWNMaCrd2ZZNKB4I/XgwtCVW3hhHbLoqT0dhW3nR9lVtI50ZYKhgKkRvw4wJd3Lx4ThavX26EvUj/uRd2GN5ggyytUwt/wMtm8DY98L5wdit1nZf2JydL6OeHh7lGKVvreFz5+j37XSB1CfZvUUf2cB40fz97Ag+KSiZFvXsIYj63Bx3N/ZmQz9zfiNgoeF98SCN3g1sYiMrsPntQU06UwEWj4K7J+ofudqwRj26xBgTwtr0vHiJ7Aa6qqw8uLXeWp0egADoqVuggl7m23NWu4v2Xp6VuwKYHVEHoH8dJVsRIY4nvQHS1AMvL5U02HwEqp7qxNQuqChhEbE7UXsKY5WHuYxJNZfWvZQBqm+aoVwHk9q1bumKNrjbVcAyhbNEfWAVmcPWr77vw2iJBU3V9ltmVDbF6UzxYnOWyxRmxdRtncC5jchVTSLA1Kma16BfgUUl4BYT+rOKsxbTQpH5DtG/4hR1mhgRGu0EGuOs6kPF8NTQFlXKxW703xgDI1EAIemmmEM9qByJBO9datg+W4LfnjIhP4dvtq46H9nuJv1whu7t0ZL8ruZY2KWvZQPLxF9kxSzYEh0BFkHQZBNZtq6Kc35A8t7mJ/h57dw1kDhR/0R8oa10L7THtfEZoFjDUPOaJilQnIzDerUyv24iQSzgASuJuQcLeq2+DfEDOWPPhkdfSiYr1TXzNZZOmomJDk7pWFwVlFhm1vddkKBj/7va5Y9upvvgh2pzpXX9YEhOfbIf1vx6wMAX69LqBnDRQB2FTz2PWgJhpCk/j8okhl6mXNwSoS+uIaAjSTa82QaoQkFrj0F6ynJ4YFeeg+Dqw6rCncBMmIjFIMSkCkpTynugWVbRwIrmOQRkb+C+k1tRjhIuo5ekvBF5kNr15SOoKEtXuK+kx6ogT+cQMdhhV+GoTki02RwegfOXinsqgWmUS+/cUXa3T3GlAGtIfYF10rFhwyGmEvDZv24aGnWh9r6Axb3RAveXqU0qTQcfTHhxLgZoIKMf9h9kE8qMlE1oYtJO0Wc33TKEM6CH35iQsvlbTm3uJ01+oaD9TidPSj4UmSx0o7HBQlWqwrmx 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: rPAoLRIAhgPsqz/9XnKRo/MtC7sc7fttfEFpyPE4wtu+uUB3c5Fxhy98FFHrkpwswu3iniyMhG+QbfSKC94oIvztC0rcdcnlxULWkvqkR6JThPlJLSTYp6/vVDZCotmfkzIz8kdn18d6SXEIHkuk+5UfY57iOQTC/FQE29dXeYamqFtVyBEnAnV2KO2ydMSFahn6e89XzuRNZtFw87sqAgn4fTneEPyaHEWNQYbin+g/0oXprVY32zma5l2uJwEiW8eAymiirpUqK893rnvaPTj2pXKxo++p1MefA8r+2IN46JGxj3cBdBS0CXFHPgazq0NWqIKrd4K/RB0ZSMXuWx2SRJvtZFXQ313+a6a9s4nL1HbBuF1y1VkKxPz0cPylk/ruOOvbmIgXnp8hyKhq+vTB+VakZMP6GarUHqMW5SVr3BeqXB4dy5rN/riehVLiTEARZSfO583QDWdYR/u08tRNuxI6VdGqGMkUydwH/zm0GeEVmQl0gT4qFchKIkAd7B0NDYdGfPFJy3ZQudUXntGduE6tCtpbobkIZ69Bw6Q/LPtOFXq4NAihNmuoL0w1NplpBlHjJGlwU4sF0jtNR5DF0t8oR3/2aAE4TfLJUeZqoWEDQ1hsGwYEw2cj36huzflT0r6JKX7Y9LYQQyy8kkc47kgxUypM37uP9EaX+herqjckDACv/WmMW9iTZWBcmu03iKoIyJl7ok7pxQICdZ7gBTdfnntaWu3cFN+/eV3s8Hrg1fL+jdwxE6snmKuwRxMN9e4wf9VZpSou8vNKcrQD/fdpgyLZ6U5rAmp/xw/MIvBwe25IXId3LbtaXDbs6kJGYoplwzxeTQynaDxT0CmnKhsoedVgJeKqwk/UREhgLFj9Oq4R4T27JEEfv36B2I5+LlrjZjiPqv+nGlJf8v87FvlO51+wJGGkh0G0mCKBXhwIDfLwh2xWWzAtJo2bsux+6Z+uiQ6eqbb+zLxuoTLXbs/ON7ZYN6kgBciKOef9IAeXjA+pEGz4zFwEegUTy61tMvTuaXPci6lFhHDA3US6UWD+heCO8p329JAUbaLYNniPfAwfmZEzNK+64LISOIjC6UBbfanXW9abaG4fl2FhsJSjo8CqvCLVQQmqgT5ZzOkDsn/eSIzNlcICvSoLyJv8dCFcUZU2MIs5ZMmGMvBIPoPENGEt3tvHxLDRTPXH3hHPREDzmvjWdfoTKYPYUHu7ma4AB+cdVlub8AlVBZpSdrWZZvESYJVsiVHM+eykh6EscjdBlx/2VMWgVPliHJRHuBbHpBR3z4n5zQi3AjAM6WjxOpqWenI5TCTYoT3avAhXZnp0KWt0zn7pvujdFJ0Tp76OURwc3AN/vTP9WSYJCiYtpPCNCWqoJNPCOaQToc+uWKNbNTxZV/p0lZOjUToAxKeRkP6RC+ppP3DTMhdut/7/eIcJLsNfeizFi40X7U0RFwuOUhSfBPc0LZDjvN7br/7A7pXu6hhETTd5tTFhNtIPb3h/aFZEinSGnMRzMbugpxP2U71ML15DneasUoFjWnxRbFooNVjH0prb/It4PMsLENai+my24uGOgV8lQq5Rc9t0EjfHBlp66/FjRoyL4BXMT7rqMCvb585iGRH92+oohjnRtuDdFr03qT4= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 856e5bb7-6eb9-46d5-a766-08dd529095e3 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 15:58:30.1235 (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: +ZF9pEBl+9LEyDuJJGSa8WKV8vArDqbUkBGlsKFGqNoxiGdkYaSyS5VspISb+nfov4bztt4pklUFU5yHd+uuTLgm8mBm9T8FmksIVHzmtfkpdTrtXJVyoY6heviTBd7X X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB6238 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. 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 --- .../platform/renesas/rzg2l-cru/rzg2l-core.c | 63 +++++++ .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 25 +++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 18 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 178 +++++++++++++++++- 4 files changed, 282 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 3ae0cd83af16..075a3aa8af29 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -290,6 +290,13 @@ static int rzg2l_cru_probe(struct platform_device *pdev) return ret; cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; + cru->mem_banks = devm_kmalloc_array(dev, cru->num_buf, + sizeof(struct rzg2l_cru_mem_bank), + GFP_KERNEL); + if (!cru->mem_banks) + return dev_err_probe(dev, -ENOMEM, + "Failed to init mem banks\n"); + pm_suspend_ignore_children(dev, true); ret = devm_pm_runtime_enable(dev); if (ret) @@ -321,6 +328,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, + .stride = 128, + .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 +426,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 82920db7134e..1646d1e2953c 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 */ }; diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h index ccaba5220f1c..3301379c132c 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -84,6 +84,7 @@ struct rzg2l_cru_info { unsigned int max_width; unsigned int max_height; u16 image_conv; + u16 stride; const u16 *regs; irqreturn_t (*irq_handler)(int irq, void *data); void (*enable_interrupts)(struct rzg2l_cru_dev *cru); @@ -94,6 +95,11 @@ struct rzg2l_cru_info { u8 csi_vc); }; +struct rzg2l_cru_mem_bank { + dma_addr_t addrl; + dma_addr_t addrh; +}; + /** * struct rzg2l_cru_dev - Renesas CRU device structure * @dev: (OF) device @@ -108,6 +114,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 + * @mem_banks: Memory addresses where current video data is written. * @notifier: V4L2 asynchronous subdevs notifier * * @ip: Image processing subdev info @@ -144,6 +152,9 @@ struct rzg2l_cru_dev { struct v4l2_device v4l2_dev; u8 num_buf; + u8 svc_channel; + struct rzg2l_cru_mem_bank *mem_banks; + struct v4l2_async_notifier notifier; struct rzg2l_cru_ip ip; @@ -175,6 +186,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 +200,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 637c9c9f9ba8..efd70c13704e 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -138,6 +138,9 @@ 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(AMnMB1ADDRL, slot), addr); rzg2l_cru_write(cru, AMnMBxADDRH(AMnMB1ADDRH, slot), 0); + + cru->mem_banks[slot].addrl = lower_32_bits(addr); + cru->mem_banks[slot].addrh = upper_32_bits(addr); } /* @@ -176,7 +179,7 @@ static void rzg2l_cru_fill_hw_slot(struct rzg2l_cru_dev *cru, int slot) rzg2l_cru_set_slot_addr(cru, slot, phys_addr); } -static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) +static int rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) { unsigned int slot; u32 amnaxiattr; @@ -190,10 +193,45 @@ 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 (cru->info->stride) { + u32 stride = cru->format.bytesperline; + u32 amnis; + + if (stride % cru->info->stride) { + dev_err(cru->dev, + "Bytesperline must be multiple of %u bytes\n", + cru->info->stride); + return -EINVAL; + } + stride = stride / cru->info->stride; + 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); + + return 0; +} + +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, cru->svc_channel); + 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, @@ -244,6 +282,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; @@ -355,6 +406,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); @@ -377,6 +442,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); @@ -390,7 +456,11 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) cru->info->disable_interrupts(cru); /* Initialize the AXI master */ - rzg2l_cru_initialize_axi(cru); + ret = rzg2l_cru_initialize_axi(cru); + if (ret) { + spin_unlock_irqrestore(&cru->qlock, flags); + return ret; + } /* Initialize image convert */ ret = rzg2l_cru_initialize_image_conv(cru, fmt, csi_vc); @@ -555,6 +625,110 @@ 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) +{ + dma_addr_t amnmadrs; + unsigned int slot; + + amnmadrs = rzg2l_cru_read(cru, AMnMADRSL); + amnmadrs |= ((dma_addr_t)rzg2l_cru_read(cru, AMnMADRSH) << 32); + + for (slot = 0; slot < cru->num_buf; slot++) { + dma_addr_t buf_addr; + + buf_addr = cru->mem_banks[slot].addrh << 32 | + cru->mem_banks[slot].addrl; + + /* Ensure amnmadrs is within this buffer range */ + if (amnmadrs >= buf_addr && + amnmadrs < buf_addr + 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; + unsigned int slot; + u32 irq_status; + + 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->mem_banks[slot].addrl = 0; + cru->mem_banks[slot].addrh = 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);