From patchwork Wed Feb 26 15:23: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: 13992634 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011007.outbound.protection.outlook.com [40.107.74.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF48221D3E7; Wed, 26 Feb 2025 15:25:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.7 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583526; cv=fail; b=tIMupLBDOmor0E+R38hklcvQZpmngigw+jJEm+wUDNl+r6wucij2x311llPYXJWp23UIynjU8hBHPniI+vcRRZZVUhdSCYwgoTEYvLP6zYPj+KHVEgcqAs+rp3qly/WlTkzg5gFWtpviF1GGhlu1qGPbY1ZAq22A/uVeUr7EMVg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583526; c=relaxed/simple; bh=dO8wJXyxuJjrbj/VsoL/Aj52CkSGklGdjMOzLN26zCA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GFLvw2X/KB9UqYIn2rt5VP0Sw6tvO7EwSMnnaV4E4fEDyEg8faTFNHEmGt6plFuHupDkyDLmxJVM/HyJaEeSMERA3c9bYWP4P5DeTcWLz7zc5JIJSyk9pmBvYsuhd2R4+HPfuBtLuBRRJmxNYhbz7WR91Se6VCNlx6PLyzxN4e0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=DcjvRCM2; arc=fail smtp.client-ip=40.107.74.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="DcjvRCM2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o/NrvQrjhbQYUehjbNOrF9UkO1Xf/Xd9jESRwARKvDNhzeHDyVdkaSiLUoDO0GuEujOgxdLICCPInoPV2eqDTf5xMwgeM4bktovbiRzX+turc3mQ3fJBtMCC7N5/Hecyi4JuLnNXsnCkETMfKJcDYh6p1/4O3ZZHQQLNKSaK3KuRtDnaQtzDhLa3IVkgogxtepxyQPdz3Ik7cXNQGIxaY+xxgjy+8RVQISmHcbmW7xdlQe/fyCT/v8IYZNxHVLsrjBVS/n4Fz9GgQvvSnk5XFDh4opQGwi1h2bdXRw961B350rNoNJ90i6I7I04ErFtPMEbgSx7oyMPXQzMVkgcMUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IC7ZTZXhR1ZCtvs4E7WEo/lx4IYGsVXWRPr359WfHmU=; b=x4QKaZ+KKBneuMkizYptt7LEpR62fN3+hx2cUR+ZRPvVrrRbBK1ncjDDxheAAVkrznsDcn1rCX3wLqrZH2Qsa8QbXn726+aZsGlwfEFH/et9jaAkvXjf/bsyU2KddAO9xErz3hYzTBUOMetU90MVnzsYHzFAn/lQEJfTI/P3tfs8+k64cfBriWTurdd5/sp5pim/VUTY9UmjlBEcysG0Dfw3iJCcNEuYe6iAjw2dqvBTGxtfdw+aVJqY5yTtKCF/1EFSsdjQWj0xizNvV/J0NI2Mpuc0Bo6YNkqaS6/wG5imzJ+33CDgcJHR9Rt/vt2MAcbI6HjFd6gq/BeHUEFFAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IC7ZTZXhR1ZCtvs4E7WEo/lx4IYGsVXWRPr359WfHmU=; b=DcjvRCM2vqM5kwGlNw1YDwg0n8mAUqTkRnOC5m3KlyptUqZYgJXa8SuvNPfFOfuLHyU/SJHuAomXq0+hIqUT6PW+AC+akNx4XjOOGS7GiINcvz9vZXBrJTtF0rR7oFOWPNb7wHe5kdpqX1EsFIIJ3DJn0Tom8Tdd9t2sMQGl1YE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:21 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:21 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Rob Herring , Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 01/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/V2H(P) SoC Date: Wed, 26 Feb 2025 16:23:25 +0100 Message-ID: <20250226152418.1132337-2-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e953801-3f80-451f-ebc8-08dd5679c873 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: 94QW+wdjYkFrGiH2hlfFn+AHwFanXohKd4PQe8TCkoHAzmBeSrehrH8wFPq0cOr+2x7WZiLZEZ9HswTHAOBEpG6gvvcdy0y6iYuySAr6XLVLNFpLuRK2SI4N9VQGmoCMu0MIM1fCFv5eCSNFCDgDGfK7Hj6Ix5BynHrN3L/ViboRDlvZyxkYm+dj+G6s33kqtiTRPLoPjHnV809AVk7ranhBSk1LJ59cd+FtXP/ZR0ZHasD9kbyTYBufX+Oe9cUlXc/LTS3hSsB1tOHaTKPXdnsWQEPxZkXYO36D7Ny/1md6ateeWOQrkn8rrKXaI5GQBDXOOA7o5BUCJbifllwIdT0vcN5G+xZLfTJRQumsepN62Ud2GAIK32Kk0bhUTlcWE+Vm+Y0drpereATHr8a2QNMZ0Ni16B+SknJAiYDvTVKCEJrZheyVGJ9jQ2cWh7aCLCwBq6QjCQg89VIYOpcP7vlCTB4coUzDzjoaJpFzz38ZCNyNLXA3gcvlr0/EWR5uazlaH5q3TXrCdiMNDuIfvVIezg8CMne33qoI73o2Me93zlekec5OOfx9gWpcMFyJR3WwVi5a/raJUZ/OVk7RIGPG7d6yADHjoWH17+cBkmV+opAA+GUetqaJ2axV8Ta4HlU4ftq6C5mQVsfa6O/pI20s2nt4sec8YCbfRrq8z+hZJM8zLxISXGDQygw6W5sMYnLHNFKWui5oj5ZzkEx5ZM9weMjR5jaBGJHJI8Es/XFOEzFxTblAMAqjZRqKcHKPKIBqpF75QzdIBdsNEJKxZB4TQSnQu03PJyXPN1I7pE5aqjStfydIX4WAHn7v+EMfobj/UQ8xKKWqtMSuOn/NrRmJBcL/b70sQ3xfvrcmMLQfpmyVnaDRPvTjY+jY/yyj66i8UKGKTWZ5aYSm8jnHL76P+o9PnLUu5D6B4ps7RlptX6njEPv52tyxfeq49bY5wLWlBxEXrmcgtFGn2ax92rd4wYLyWXmTeKVgac2luftmwOtb4p5QBLlR0XldV/AL+P/We3H97crtBxqAspkkaScD59JP3rniSayEV4cmZQLzoDlniw+vHNwiDexVcsU1nE2Uq/y8if7uDHa/agpdiTOrx0mWO50yejaly6CTEeU2k5zZDXuo4+2uTOSvv3IwCSEGNNdkwpuYXzlC68MMf1rNXYqg3vQe2poyxUpd3HptSnk0hSyft1EyLy7E+t6Vuf9PNKM79qwNKKVYbIbt155nbtetfLL0RWlPNa5acceZvMGDy/XsKb8JDwgEwxAVUmlgnnlXxkhgCWjdtgqid0DeqNnMcUn71AplEmhq09rgUxXCAI4P+EmUVQqhfT9Mk6MgKqAa5cGFIR5hSz2JSfjhIYdy+95hc8OaSIT9waVrfqbPltbI1lMypYJfefqQO3+5BxeKp/eShmVlSpK4VJCthn0fluoeVN7lpY88W5e1GX3pOcdfCy8IkdMJtAZl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k5/uH2vVpxBzSc8mSJcnkINtiQ3jTQkDT4n0qexs5h30SsfkHZiM5o3fIVtoOtPUFIELufX+L4kgluBoTsEonQf6ipMcWNmi86/LQaQmVv4RqREZ4cw/N2Acc+t8Xaf2v5VWcie39T/AuxG4wMk/mUM2drkaz6FEdtQxtVIhbUcZHz0Te8x9CnkDlf583lad+GjpY9HtyYaNgqTbGUmcepmN2cuYFnIMEH3Wm429HOCfUzV8HvcztLftmYhSY0RTQ79vmr8ofZ179VgzqQOuhzoifdu6c6yScmdJbaqHr9VSkg4GUSs/mjZaMHeKlq8gV2EARLkh+q/WvMgwOHFyul5ZehLhGw2o2p9PeIikQOuVTRdQZHptV0wz5hJxS/sN3UMthwC+GNUGBP1oEny5ZfEhBxlxnWcOyyRXRyqoUlm6GO9paYBVrKHsMuwrAhACCXDFv9VWqk+Q81FxlWVYy0RhAtaPPFHHHHC4Rn0Pj0I5OR1+DIOmAP7IquyVebo05hjy1qQZktBwQA+rbxtWbPfsTLtksb60dug6fsjT04JztJKBqBu05/vw3Fl3qy8mP9byf5KR1J/POT4O1bVmPfJeVCT9V/Ri75X+RJCIxV3rQG+KUrb07gm93Ocvc5Cl5L0roVN1D8sErmW9g0ydIRdB/a2+41MimJCtYlY3Pqr2nXAFxETv5VoyyT88zKp/lvcsg0El2MtiXHyB/QeXFkwfTBnFD2PR79E2FNUKalrczXIJYj86Dxr+8zMennY+TvsiKX8mM2OfsG8o4IZZ1Y1XX6xMelLZjpUAfHHkBQc9XMER6NCdog+U0AkvouQ9Ab30cKR9UQwOttpOtnHOE7LaYwt5SE+enPcIUpbKwbBkNCaOxxBxJIsC2YzeWB+mvpOGGWpmaNiDxtkUGXRcRoXGsrB3ceSdEe2qkHuTY5y1hu6V0jspr1xT8E0tF/AQpokvaLlozWnQ7Q/iBZq8k1kUicg/A337dKIWaX/zfwFpu+WqmZo1t53FbeSAIE0OvQFBvJQt86sLcvJoP6kptROhLa4VKu3l3XoJ51ym/Yx35/F5vd+GNpbOz7gqCpGUSuTCosSpNh9G0pg8rAESCLlbJMUpbnuJHp02cbbC5FhImECKRJRLaxtIfo3GZPQzfUqi8hDxz0tzILXQrG4GqyHXug8nd3m8BVD4NpoiSVtzxTmsMW0PFc1bgO/ek7djWavpHputRioibQTAN3yxYOvPVJcsBcZWEPY2lEWS5J2os4sRrIAFqVoh9ri9X4ibMBIrPYlg8K5r1lGOy/udTtmOuHF0DrWMMRfsDfsWbFF+5LuhupVc5VFe2en8BX32zRg0FbHf4YqGCsv05vs62Bu7bn0wdBNzkzwBgiQ4YE4bHB0cY1NF4lqpLMnxP3cX0FgT6gxoSGi4YWIaKloEZf6wCesYb2nK2T3nAiNgRm+2AXwR8yS0G/eIR+sK324K4VgKVRWOORQZEKdTnFvDNrcHnYErFwG2FqM0G9oHR8eH7so8E66Vam+4xEdUfNjpWI71vwDCj274JZnL9Q2DpbYF2toxV3t30Oz6TJawdr0nk0Z7T0R3iqNMwFVQ/I8gqGLyKeptHCH8LlZWPVHj1aDObMrOf1p635ZJfSkbs74= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e953801-3f80-451f-ebc8-08dd5679c873 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:21.3765 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5Hm9qHvRi/wN2unpAFgOZxYHB/gVPQTSY+ZsWr0CRvB+qWkZ5IZZ2yTLTLA715MVgd6AZH8rDsRMkloaSY1TI+4l6VCySqhEDhBENWjmXhSJi5LCbBAlfM7aE8AQ58Fl X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 From: Lad Prabhakar The MIPI CSI-2 block on the Renesas RZ/V2H(P) SoC is similar to the one found on the Renesas RZ/G2L SoC, with the following differences: - A different D-PHY - Additional registers for the MIPI CSI-2 link - Only two clocks Add a new compatible string, `renesas,r9a09g057-csi2`, for the RZ/V2H(P) SoC. Reviewed-by: Rob Herring (Arm) Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v1: - Dropped empty line as suggested by LPinchart - Fixed minItems into else conditional block as suggested by RHerring Changes since v2: - Collected tags - Fixed CRU_CMN_RSTB description as suggested by LPinchart .../bindings/media/renesas,rzg2l-csi2.yaml | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml index 7faa12fecd5b..784ba88c9b8f 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml @@ -17,12 +17,14 @@ description: 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,8 @@ properties: resets: items: - description: CRU_PRESETN reset terminal - - description: CRU_CMN_RSTB reset terminal + - description: + CRU_CMN_RSTB reset terminal (all but RZ/V2H(P)) or D-PHY reset (RZ/V2H(P)) reset-names: items: @@ -101,6 +112,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 Wed Feb 26 15:23: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: 13992635 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010060.outbound.protection.outlook.com [52.101.229.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D14E3227E8C; Wed, 26 Feb 2025 15:25:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583532; cv=fail; b=Sbg0gFfOWOhdFL68nJiVe8WX3VdkyJ7YGyxepMWWoziTsZaOpCUPFjT4KDenAZ2T9X4eMGFNEU2roGUzourH9rhn9kwAGzJ0tBIRmCNq/OPA0/jsLZklSqAGHilHUOkthKEDP7rinUQ62xMvvSwV+w9DcyLWlmcuB2PPqPzHWxE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583532; c=relaxed/simple; bh=PZtVuZgD0emfI/MeiU7kj8XJcg/h1dCcpCgIwdrV4ew=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=nHAwyttx2I5EUWfuy8Z0u2XUrv+E2Ea7H0+Q0oVLcS2L+xLdwaxT18iim1AQlP/ndo1+R1+XI9Or0PPwbBvibXplyWTs2AaYPIVnlmgUuq1c0Pt2oXXzkMvjeQOhtZAm2gWI2pkyVxsnx6fVQ9/KjY1Wa/bQFlVCT/WBQM28jVw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=AgjAx2n2; arc=fail smtp.client-ip=52.101.229.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="AgjAx2n2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t2aFkVGXK+YA0v1Vam0q5zbWwqe2ZjjaT4OXxbDuLHTPlw4R0Fa1TZdKu7/btSapoETlCXf3Z0z2ePSBUzsxuNatAgUYz/NMhDUBWMwsEqcSBzFpvceHs4AlaIIEvVodK0Bh4so6aHbCkxrwypilxZalmXCUGRIFQRC1XpFqZYI97F3BTo8tnQNZZXirjuN6PNdQlvljUBm/nlmQ43u1NGFECpBrFfeG7RpLywdE0pjVWA/CrE+XBfMfBSYCVp/ZD97vSSpprDqrDAVV39AtS9iXNHOfWer7Smk5/h9TmsaUYjR57t+ZmHQnr3hzlaU8IExe33U6/Sch06w2ulu0CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=csEGu3K8RSPvn/cNhtYuZmSgd2SAWhqhRDaSl2VQfJA=; b=aT4PkEjiiIcqvgpQ2Z89Q1Vd5hZE0VI2rqUg1ZMweIVzwAZcE0mkvS/8m4qcDXmRD7TPi6bWVaBlSB5L6hzxhfeyQgo+2fBc82UiMhT2BZ+eqFoCEGfcGuYOyiGRqU9BmzMP9liLGKGLNV6VfmMWlEFq2WQ0TO2CQrYaGzMT3THmhRPZQKb+7JwaKxYuwwo1tk5DwC3CFV9hD7g3QVr+MSFOKxf2GYo+vmA1ZUeqj9JeRX22qwTNxYhpJPcF6K1J3NZMF/QiKzB3ITEsnoSBTGD6v0pEWDarXVohmL6+4MCNCsVMCxOv1ni/7cEVhIBJtjujHyrBQ86YOwzpzKNHBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=csEGu3K8RSPvn/cNhtYuZmSgd2SAWhqhRDaSl2VQfJA=; b=AgjAx2n2WpT9d7+12b2GdEDI0C1T6Ghp63+A1b4aHyt0t3CJhD2IMPmvaSPTFQVGiyICo5uoawa/F2Qrh2/JLqPiSqQp6EE478O5ecu43wE1lB2WuDPGo27U1K8rQUfypxJC/Y0hvXF49W/PDuUPrrCAg/pjMu+GAApwCiiJRWw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:27 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:27 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 02/17] media: dt-bindings: renesas,rzg2l-csi2: Document Renesas RZ/G3E CSI-2 block Date: Wed, 26 Feb 2025 16:23:26 +0100 Message-ID: <20250226152418.1132337-3-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 84b08753-74cf-46a2-d90e-08dd5679cc2c X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: z0ROyQxOEcUbSHNyAgnIBAXKF1sot4Fjoy+zARqqgL9DVWp/Kmw4r0/EQjPHobLs0EKtlzBPBpAfVpuSAaepAsr9ZWztQFgUYebDViu7m2TWWzGG9FMC/HiLuhDDVgHVTAWkscC1wxGWsDRa2/JUa/PqIlfw799oePRraRypXLJ3YIkutIgq+0AmckF5vcCKWaHKKRzHez2i9XY5UI6v4PVyw77EWFGTql9Y9YGMtY57lXIvngHaz+mWphCrVyLu04CRsMoExPZhLXBu17foVJJrg/mM1Ll5WqEGPNR/h9/aRODxMWbhzPOLN3Z/eLoOrE9Pn/HH+2ro/fx58lX/UPvE7BnkgXGXVx5dla/9QvNC0KbIjJUNhYDrPWjgWmD18yIesmWlfrL5YH5OjNrn3M+2DFE8zpEHFAjdo+Qe8RjdOU/no4UjjXU2GK4BKdSNQI+d22s1HEljsNAqDMKnVAP1eERNjx8NShwaNTMaCZjSXzn8FDWgROyYFycVNhLbz+/iQTzPUwjpRnNbULH2OCCchoXlzm7LtwF49Ivrb2CDKfYtPep67XFS5/Qkb+fXSWr+/nxeLBkOdMFt1w5CbnY37r5BU4+Z/0oxyzFFQFSsTsC6brTfn0FnL7oBT0q0ivdLnSXNLLNd/mDdZC/ZbCW8nYX25glJMWRPQdI2e4MdEC+zDXqDyXfbLMTS9U7TbDrLBoIO5sVx7uidcMVS8r3x1nMlWk1VZvreaBM0Fer6mBadX8AsRcfQkYXvD0yW3SaftLqh+9TvTyCC9fhnZKXthzd1GNa1orwzgh9CuKWPeltYPCiVeOFf87tv7QYNEkj8DNGfSzlmmOwv0msx2NRtx/01tliIPkwMMqWoDjp2Ezqv1VAH1+fvV8Kgnbt6Ys40n2hMfm1WcpO54VnmF8lQw8XoM7bBNIVNu1Mp7BNPhwKGvejZ0Z4HRWqc/YcIeptEV54sxM+Nlixi/O/C2azRWEf1DRcQXAS5kDkN5HocH60BRo5kQ/tmIiICfievkxntl1NRCQ7kKHgtTEKYHoWvVSlk6kvmVTw3u+MiiLQE0fB7qYW8yph8ko4lduhDOQ90FwMjwHsCf5DQM2qaRXjVkVgZzKTJCyfrmzVLjhQPDVs2QATN6QZI923NTKmT4hvpSMNH1nzfajbmXKq48E+ZI+sKJrYoj79AWcFKzVWe/11gy+rmFFHFCDgCyhRprCJg4eeZiqQwHigX3XW5fZmyUmsjAQ7KbFALJKpKEF6t5zBVn0SNcFLGo/t0SeY3XLnXH/dgJ/Uba3lhkdW4lSRGbuk78WqtYK2+PxhNzy27O3RPTEPpAboEXK2t5H39vo9aT06+cxCxCjgu26S/Wyo1FD9q4pr5Xgl1j/L1tOAViCoAACkeey7dBo75blmPSSlQPE2FeHseEd9VUcZf2T3fciBTqSDGJrBqSvXXA6cB4sXdR3m5M0NhL7QXKkXT X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: In8H+4J0m6HYbwMIQdVBtVv93fESOkn7H0Z68VCVxbg9MxzwNRleCdNItZg36NBiy/VCk0cTYEQaSKk3PIgrP7O4ZJmlpI4OHsC2kAI8eWWeBxcq1BcVGYUhXCBzTEqAVEvoZEyP+oZIPoM9h8tgw7tZ/9paYgyIb1z0JxyAjTeuzE4UCzZgl4yJXLwvYccgE8gN1XIYc2LiIcMLCzDxSSU8nV9vn60e218d0SJTv9O0cG1OjHGYU4LhQNu62j3j5+/mVz74WtZplySd46CGvwBvhLqLm0DfbmavqvAbRTADtiiMs1X02iiVvl6u+NPJTXl84gb3ngwlWI7CF37GlNeZiCiiwK9TS/ruK3QUK+N3hkXnzq24TxIKp42B0mXZhING3FeSqaYgcsWNEebZEgt4Q3e1MJ8Gv56k+QIoVmavgJ7DtNG8VKszWPbxaD76WE8TjIWGllhcYJgARJ1ARawwpnZ/cQ+OMr/YmyU3RSEeBii07PKlN0poKAY9v794K40DNcliKOfRrzEsjf8v9DosATGAL1msKIAlsJvYIje48gHrHjqrnnvXGGzWckf5lelvLS0/YUw8m8AEGfLXBis4SwRcQyKfU1RdcYyNEauHyCIaTHH6cqbR9CrJoaQiOKXPQ+lgb3U1d9Ao6uC4Tao8/6GzFXoNF20N71d1F/YhaIM4OmrMcOREbvLrl2HrnkNW+/eAboGmHjpqCaESXBfIGYN1FeM2Wx9wIz4m5m+Ot9B+4lIHDPJx0ZM/eKZVBilRGi3qfMTfNu2uTOwzT5VMRrca/7bP7Y2pAs2yzGXV3FmJqBh15ELIDxpaEH+mk5eFnjpiXVzQv2ec1s6G8aTu0Y0OBjYSe44AFEBCAaAInGndSFDperO1sfQiBySjdyKUZHtefc1Oaqip5WgLrOj4T6yxKfxQkcWLdtByK+AUp/KuRqLBKFUE7b3/z/D/PpGx/eBGyitmrl2GvREppfxek4uho3LeJvc/1vpLMdmz2lWBl3SmKXLWRULzIykz2fqOQJDCB3g7gQQ3FwIBJqAXTImt8l5GUKuOabLBRAnS79StXGK6eqfloT/ut2PcEaGyS1AdAjK0DivgEOlfySktWCYwsU/ZVvoEDED13LQWnzpRuB+j8f5XndJTPbeY/2cR5Bh3o2ONKAsw2WDjQpsvyEDhmRFxE8ZxWnDO6lrevlpo/XjUO8R2CQ5LJAVCtx/f1/1Z04pfMGP3TKtV133nH4TZIFG8dlZLM3Jdwwt+Hx7wxmQhP4g6qjgaWMpJ3WUqNfKAzqr6BEVgFHn+Qujs8JCymzPUkLw5inqRV+lisc9EPSMoqOoGl66ZZy/Y999yPxwlvfKacpqNh1pbAc27Nr4oGFLHt26s5QVC+okUpEzj56OQA3pZT/BEqTM3dfHnG9x2kn2N0DxCS9hxhTu4xbkMZy6Fj6TeHZWbz2cmsfHNoqRd+U6JCENa1RMnpOcqNMNq1FZEvozmTCZYUxW61XQMB5ltbvuhxVTXuKQN51VRCfuRtJbMgZlSipQkcuSXPHrXrh1948rAHHGOwToTnL87+j/Z2M26VPtvS50lIb4cFRFmXNbmrZeHpsCHmq9T6loJhAfFzV5Uht98aSXhxnXbwrk/pW6YKejuEX4= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84b08753-74cf-46a2-d90e-08dd5679cc2c X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:27.3903 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bED4QPfndob/uw2LlJn1ObaSbl2xvbj1PbeHNxEUNrvl/b+Z9WHpLPf4CnEIkujxursLvxJZCMHwvkHH0A0QfApAVzUG4a2UjCu8y4CgYPq2Pvatxzl5GF2wmtP6l7Js X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Document the CSI-2 block which is part of CRU found in Renesas RZ/G3E SoC. The CSI-2 block on the RZ/G3E SoC is identical to one found on the RZ/V2H(P) SoC. Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Signed-off-by: Tommaso Merciai --- Changes since v2: - Fixed CRU_CMN_RSTB as suggested by LPinchart - Collected tags. .../devicetree/bindings/media/renesas,rzg2l-csi2.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml index 784ba88c9b8f..02297509a48e 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml @@ -24,6 +24,9 @@ properties: - renesas,r9a07g044-csi2 # RZ/G2{L,LC} - renesas,r9a07g054-csi2 # RZ/V2L - const: renesas,rzg2l-csi2 + - items: + - const: renesas,r9a09g047-csi2 # RZ/G3E + - const: renesas,r9a09g057-csi2 - const: renesas,r9a09g057-csi2 # RZ/V2H(P) reg: @@ -59,8 +62,8 @@ properties: items: - description: CRU_PRESETN reset terminal - description: - CRU_CMN_RSTB reset terminal (all but RZ/V2H(P)) or D-PHY reset (RZ/V2H(P)) - + CRU_CMN_RSTB reset terminal (except for RZ/V2H(P) and RZ/G3E) or + D-PHY reset (for RZ/V2H(P) and RZ/G3E). reset-names: items: - const: presetn From patchwork Wed Feb 26 15:23: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: 13992636 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011037.outbound.protection.outlook.com [40.107.74.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F5B4227EB1; Wed, 26 Feb 2025 15:25:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.37 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583538; cv=fail; b=HRZVtksHmz6N10ecmPMyfutaCL2Ojr5tF2OTEDcM2HsjsX3Vv7+Q4Nf+SEt0eJujtCbWXi7ijaHZUtP48dJyPxx/uSymrZwxVZbuf5+EuBe6RXrt6v+8IegOWtNBL/dODePioGa6SbEPiK2VPA9Rl/Wwxgsxy8s4vQe4XxWL24s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583538; c=relaxed/simple; bh=cF9wpA8XAhmDShSXhU2RlgzRnvv3u+SXE4OSiXkNLPc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=uSWKS5U7BPtm+6GvrS0JH4cARHNvmNfA91WBcuWSaiPAEVHYqMNPPakgRdPzR62OIQjTWx3WTMY17TnY0AkW6SQ3Zc0Jc68+g2vhA0cALXOK68UaRqIqp65by8qaf2l7MilWukwN6CKbQvgqRggNYRtIX2tViUTeYqmE8OtsrK8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=TD3+XV4k; arc=fail smtp.client-ip=40.107.74.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="TD3+XV4k" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WG3qDud/0z9XEHjGiCYmXHIvFyj0GrRhB54oSlgFpFWWya5wtvDf4bCO6JE67birjyZ95OpzgskolxsqzidELeLmaFhOcQNXlckONvNBsQded9osNAUhUeq/SuRhdskadcelFCnv/v9M2EGsnR3LVSVpso1DWKIlyLCfP063mCwBGdPSWxyo05fPMYP36Sla5+BtJKvzWG0EqQ6Mjw9GKJXVxGDo1LZW8Hlit8BB8MqmQuniN5Vdv2fdzWEc/pkHrtgQVrBypYmotQUTKk7CoSMWefvpE96TX/7wIqaxs472EeqswvEbztLKkiU2vJ48kQuyVyBlxytjpO6Co7IZPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nUdNFuf+p+rt8Ez7EJQNxigIcs88ficfH2BK/x1Kdm8=; b=L4xzmWqTTBMX7wVLly/TPKOBXMT8pHr0zf2qD5S3wvxvEoBDz8BUA/ejWqVLm6vcfoevQDakMgHDrKim0Xx8h0yzT22ZWCKrTsDTLpbflSj1wsSSv9VIVKkRm7Hvm0/sSTfljeRxjrGiGd21ObqjkkQFAir0dohA17cuODqrCMUD/Km9dvDkmV1B8Un9sKandIoPCOPWjwuZzgKVFQfo2i9KzS+kSK73ddDEID3FnTL602I8MwMGombHfCGTHHDPRp8aVWHkFimLWnAiJPFgIU2EKyBEeUD2bBhTVj672jJD2TAqpjJnO+OhryYlcv0RDX0yEVhf9/HX3DE/aABVtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nUdNFuf+p+rt8Ez7EJQNxigIcs88ficfH2BK/x1Kdm8=; b=TD3+XV4kVDY8vLgkahokPat5Dx5zB25u+W0NV/wq2oHXD0HejE4kgwf83QRERVlYVBDTsqHoRK4CWgi25eu6iQXG+OfigopDIZcFhMUPGNm/+FlAmJkdXQS7h43P+x2iymEVFueief8A5CzMNDWIiJnOU4OVrdgB5DSI/mL2qdo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:33 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:33 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Rob Herring , Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 03/17] media: dt-bindings: renesas,rzg2l-cru: Document Renesas RZ/G3E SoC Date: Wed, 26 Feb 2025 16:23:27 +0100 Message-ID: <20250226152418.1132337-4-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 44eb811d-4e84-4805-e23f-08dd5679cfa8 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: iOmhy0JBNQiOMuQ3KIbkSfIdywXPGaLFNvKu8VT6jjM7q6/ilyBeaiq12w7lqSKNbQSu67fhBqWTU+CGH1pQ3+y5m8fIdbZaqQ5Tb7ehQcymc0GOEHAFxrnrUz08x20dCRwQ6YdCpydoUGafj/4kUYc8EWq6gZswy609imLPii3TxcIVgA+rJU7XbCPkW4CAlooaMufIHL5mVJjBZVKXbqQ4C5PH711TmyqtUUqh8mXmE0kAYSRLSlQW06v2HGLMcYNsb+wBVREorh4opXMNT7Yc0M8fipdozuebNOYbvAmoCN5c5P20KrprNAyqzxVHbFvr/B3vTzbhXPYdYmRz4lFiBVaKQpot+Y3gI9ondOL6tjewS/XUnkD0/Z83HFGSQ6BUlOYq3uA+HFPwwKrvp3ax9Ik9L4IQ2lJPbrws9WTZbKXi4DoNXFkbKURY+L3GtCd7HK3t+FcarxUs/e2MRXQXAzTAsnZPj1J6RvyeRObbPV0XcgnyJYV/ahmNsXrE1BQMoIMyJ7EZOQ8mLxzSgSiBYIwmf/BHRYbXZmJ5tL3ol0qP0mUuF8jEjw7DJPfz32FglISxJPyaxCEMRduiygctdjoMT2c705SxunyQFIDmRyO6N5+BCAC0kEO2AKUeaAlJr8Ze9DcBa5d9lNmqkT4oN9GlKl1/V+ULtnVuJAMo90OEBwhCn+XwX/xEH3QPrasfBBuCi0pK1KXMyoNg4hll6Ko1tEPLOh0zKbi0lWTLQZ0H1s0Vo7BOoGAojRGQ1Qiol6muQdm89a6DUd9zxqNd7Tpn2SWLqbOpnTYTmVyw5KrOpr/vOM1CZ7mJNNTjmEmuLevJUA99/LdKcCzCKCZtiFm7PJooRn/yUHbSKJ7PJjjhaAR4qyxFm0TmD/3ITBllCEhZGNTOCKPpHbLQAVzYnvme6Vl+iBYl+xBng7XStZutyILhnm1X6VDjjBKvaJo3QfYB86m7B7s8EEF0Up9dlplCWfbNOJmDBO7QzN4ZPRYyq5YRhH5eUMr4OcT+HQX/O62GjOh/86d+OFd2j6rzD+u1x0ilQGeL4r28F6gRuZzjK3qbojLsG/j7ZYOqJp6G9Gc2lb5pHLO46wiW8TLa+iATMWqBkrmGu24F8ezXaBW94CK0PYVG5YB6XvAHzK/o2PxIPQk6v28DTAnLIpnr6Xz5GXP9bV/dcl0outp50pqeox8VJzApajKrAWkJBGdXg5ugpvH2T+rB+T3MUVR4Vd2RhBBpHFCqsa7yyeAxETJ726PmP8fR/5QAkRYzQ6rVtfURvw1grXXgCb3XRrMMTHVAZ18BdUHZNJ+joZS3a0v9y6z26QiWltY4Acl75hMYjvegPf2eOlbwfs5NhA3rnvNABixh5Pz5vC2MSBUz3DSvk0+IgE+k/RTefw02sIWiy1UdTWrfMY6U7oRCImiqzTiHs4p0QYMgrgeEJM3twescwTHiIGTzYEv1u9B1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dgBfwTNelmg9t5Bc8OR4SqONiceRyAyZwY9dEZNkLmZL1sTz/ozZVc8+xM2kmeqhWgfHExmMkYHjACUes/QQ5J/JY4jmPL5Y2ucW7l9tmGVevAWTBq/pJhgOv/44hKXFsx5qQI0kv3WIkkvzEFfywdMMA2+U9nGAr1sAkzt8V+J+BA0iFaJgSZpn31EI7vttU7XLSioRy3ztPYjVF4t9PJfdQIZwTj6L02oP6UJDKW627Z9o058PM1epN+rHsdjhkG8pa6bu7r4L3WvpD81Vb8PRtqjJXYh4FR8ulYs807lgU6FV8awUu5jrvkbHa/TUJ2l2Xg8LleACMvOB+E3HzRVVsJXtxayRlNYXH+Ec7bsqA2tb/TEaWrXwHczOTdb+k/wyYkPp4O4cuc4Ul9FV/mHRKGCTOhk0QxDMidFW9BVNspwY2FBXOZq+EAnKPVn2WSzv6JtBdfO82BahCQLxmWYWbneVqusjExDGeoCB8h71WRE+x8s1B0NxE4Xsnh14PZwuAfMTgTN9eX5EjkFeT51m2XM2UT8MQquHofaeGJSVDkivBiUaQfPRJDQXvuMuAoRhLsPAGKPJE7Tm6pyOwvr2/7QIyBCv0TClgF54D/Z4VfqLeGmQ736tgY88pbvN037jg1kIxmSDeo25YOlcVy/CGxgo8sVGrqVJpCzW5f/RPKI5UX2huDqRirjp1xVlKeQ/7MmHvBeaZTMaEvvJg0BtThDOVc8UToY3pJw4aCQyljMmYwJX+e6nen1UkR8GkKErNt2VTwXQ4p61lPDRrf8cfG+HAHRH8UzAwO9C+qNmvUOTbHGCenqROtHTLfYhEUq8LzzM8LImm3PnFuJZOUbO3uqWX+KCc10CyDYURi4DR/HHBom3zn5v9BE48jBH57vUfziJIavtYgGJu5Oewvjj+hcOQhQyAv7JWQ8tT3eS7yaT5qcpuKmT6fAQbTj/dQUYKHGze1g9QqLCZEfxCGfIpwz6fZhYLUTUrEQBoKe2lSlPHuCjW/2FccmEDV40ddz60MbjvJTQ16T7wRmOjJaXiQoFoF0OmP2Uw++H5r5Swl21M2beUVBKs7NppLZ3Mn8PL6Q7/u8wnz39qh5ETWIqdP96d3VlmiuQAFkrOswOGbJVE1KopRl5CYv/P4YV5HnTGL/vsFadyKmkAztO9WKKDSKS3VXK6wY4FR/ns37Lkk/rxDcbeipd1uN2WgrRBZhygl4U5M2SAoR/1DYZccXh3PHVXmBIqUnldp368atjgyRiMJQhSzUM3euWCnrWb5ii6ksqGRpIX6YrbSph0A6BfCdRJ4hF7F2ANWfXasZmr4eENXGF1IfhGk8jFudCQWMaPCK5vR5UGq+AgCdv7KJIGsSXKcIyUCx9Jfsc6sy3GgaN3PQTFp9j99oT0ONyLAok9FvgpsWmArDwLkm6VxCzIKXuDIyKCdKbo9W9ghBvaIxo9wgHClww/TqAuwdBdkpp95O0wqGlgCyPZQIjZO9hIKsDW8jbnbp+JP8WtuVNY6izVRU7OjSCkAYKn6WWzN28m8GaZZvlm33jY5tzuc+g//yGJjPM4o+yLRbbHrdlo4luIyLA+G9kvqVC2ziopHbAqI3lKm98QAoCDcbi5LOKW24h0rq9HBLVywOyXm8= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44eb811d-4e84-4805-e23f-08dd5679cfa8 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:33.4606 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WQ6PXCG44bxeOLyBr/i0BiJzKljFBEUOY5GzZCJex9f/tqRgi4gZe1gsNJhZXsOuw3Qk4FfQ1xhvYxZjr8xRfgHUe5COAjbCyLI/9oL4LARnDf5ZQGyg80P5oxx3msLX X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 The CRU block found on the Renesas RZ/G3E ("R9A09G047") SoC has five interrupts: - image_conv: image_conv irq - axi_mst_err: AXI master error level irq - vd_addr_wend: Video data AXI master addr 0 write end irq - sd_addr_wend: Statistics data AXI master addr 0 write end irq - vsd_addr_wend: Video statistics data AXI master addr 0 write end irq This IP has only one input port 'port@1' similar to the RZ/G2UL CRU. Document the CRU block found on the Renesas RZ/G3E ("R9A09G047") SoC. Reviewed-by: Rob Herring (Arm) Signed-off-by: Tommaso Merciai --- Changes since v1: - Use oneOf for interrupts and interrupt-names - Handle interrupts and interrupt names base on soc variants Changes since v2: - Collected tag. .../bindings/media/renesas,rzg2l-cru.yaml | 65 +++++++++++++++---- 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml b/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml index bc1245127025..47e18690fa57 100644 --- a/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml +++ b/Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml @@ -17,24 +17,43 @@ description: 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 Wed Feb 26 15:23: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: 13992665 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011068.outbound.protection.outlook.com [40.107.74.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99DBD225A59; Wed, 26 Feb 2025 15:25:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583545; cv=fail; b=BYUh52YyZ6v96laPaevmrUoHRO/pnWBxPaotfDFpcpXB6sWRg2lbdIUdVsqK04ltqoj8sJ42tXUOgYHybBSfOOBuH671Q0OOUVwRYtkRzC6pImskpAyynHyrMA1R7TBYrig7FxOd7cxfdM3VzTvG0XgpdLciyqX6VqPl6pSKfIM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583545; c=relaxed/simple; bh=OImP8N868sA9svr2gZKEzGmfQNaho8sk6AxuzXYzlMY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=W4i7P56MSkNfHYWqJGLtg28YhRQuHzJDZYJ7xfqbwjZaTR5V8txeClTt0SH7/+4PENglLyWPOIl/V0bQoSGsTSwsdOmWgtTWrdBb3uGOSOHQWvkBSIlZnRENsJ6IYf+69HWgEjmQjp5q0BYGPYdF6TkXogD45Sj2/puU5lfvuMo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=CwualKRi; arc=fail smtp.client-ip=40.107.74.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="CwualKRi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u3ckYOnHnEUXyJIu37Bam4gaTcI8sOXIATPQ9d2jIjr7pu87DmlFFLe8O0sIHf98jV/fVwOPKZVL8QTqn0cUEQp3AU+8QManwXlh/9W8iqaYCbo3i2kiIn5wvLudOTWw3Gc7M3NNQIxYY4L7f/SyuZ6wROv8lINpdYE6oohzJbEDs6fVe8wKk+bGNnmW7B+Oq924I1Gz8qa97JOLwmp2y2JSQX1B9OiWZXQzZC2QLvNWCt7JOVz7UvplCugt0Z9cWb2Jew5T1RhVAQ5J1i1y1VxauTqidvQBqEPr5Hd9e6fk1P3b+WJLTanamlCAlXfxZhv91lrhyGo9PhMVX1Gvyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PePgfD4GrURJ0pUGRT4e7YSpUFXsAzxMurwfw5TYoNE=; b=tt9/tQcbXyetxL61IwLAPhQysc54dBUmHebmUmRgfL2LjSI9UfdC24tab1en6o/TGxTe9vlObHa26Dm4qeaFUzejHGFU/JAV6tIoM1HNtEEhcAiHB5LGPDzo4ryWUcxIRFRlyUrMwTjr3d4Xe9yqwFOXO2vBQJnRDzx9ytutR8e/tohtiUb4N0ju+EQfCyD9ri5M/xsmNq4yz2xVfi2NiodMuChG7ntYW1t9dwpkmvHJlM111A8CHA/xGubZFzeGNb95oWy8h7UOOHQPtteTkbbIUTF+EVpQbZqBNp9uY1rlYKyTpN6bihoQvaf7T4on650bGNy0PUHzeC6aNU8lZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PePgfD4GrURJ0pUGRT4e7YSpUFXsAzxMurwfw5TYoNE=; b=CwualKRibUM6ItPobijCGp54FzSs9SoZf0l+AuvV14YUJhStSWOTX7jmMWvzHNg9bzKtzb7YWvM1w3WcjmigrZNenZvxcqXRzWzoGXLXdkYkCbFOYoOAq+NjrsZLEiV5zUPsH3GvdWt/mEzigho3QMstpKrjBcHPFwLeLWqFV90= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:41 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:41 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 04/17] media: rzg2l-cru: csi2: Use local variable for struct device in rzg2l_csi2_probe() Date: Wed, 26 Feb 2025 16:23:28 +0100 Message-ID: <20250226152418.1132337-5-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d1ac6e3-0e96-402a-bcce-08dd5679d478 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: chWlmsA/oDiGWLUWqI/tLuesIERh65o4DEObnnsWQ203Ww6P4IUvMqA1+EMigmH5ktKYX46G95H931qqeMvywlxG7Aei9gYnRYPoMHbPIImOGS/G1609ilvHMaMg4mQaE73mNqSFdiXbLrjDHYohIX7p4OrQ2h0tfA07GdLDHIA2C4ucSymCSjmtbtQ0jiFXLrUPP8sDWN7tNS/Er+uGrxL9sT0KiheZXCtAZfgH5FCLwrwkKzhdZuy/GzD7UkvhV52rps8Miw6Bz1+tRvxCSEvpsvWQphWcJ0X7tkhVxpAjmkmckDdN86jfTKO+mdxAGn+bIfipGs6D4TJ42kxNfc3kUdooQalboOAc1YedpZtU00lJkCWr/+II517tbIh32PMRtFpUBMTQ3S72s1dKR5MIomA0LBj4fjMxGZxHR2NrCAAifbvAE0OYzQQfseNf2eyAbl7BweTXFuXhMpRSDflFjZEI+60rHbAzPfWCL7QBxP6wweIVx0msKcaggFubSBg/jrIzh42f7WDyz0On94ZJbhXdL9Mw5+Iva+Nw0sIWkcXE/jRObwH//U1xeqwfTmtLvcu1NPhNgLFkXryEf6R0LighgpxCvHb/UkSqKv6KESzXU5QUdK0NrVboqr0szQTfMBkYvkvOg33r/2j8fP5O0tnVT6lor85DLXKFZQm/ZhTf9rPZsex1sWBfiBWMVpXivq7eXh49ANWKirqQdZCzW1BT29oVSLCbrufJb1Pa7SteGjMuoM3AUVfVbYMkVZUnMBltJz76+Np/n03l9LmNl3hRysQUBkHyS+9zp0tEzZTN6vpEHa4rPtAxYPMRL3vNOrf+1xv9O73BVvge/83+nFmHodxTg8If6U2mD3QL3sv/1b7aJ/IQKvoWdDWT/ci7FZB1F2ETkbNdjBl2ulwR3qIEAMY0xM0U6eQXpilYSG+g2IwMXcxIPRrDzCdZ8bvSJ42/MmO0iLrjNpF2J3DY6mPPVwfJcVufYx7RA8IYMFGTrmGOQfFwr7p/vM6TToZcTJJGApI5N9vSUkjFFtO4KI9MUsPLi8RElrI57hEdTDXQjEvO/gdruzWgrVmW39N5oirNr83RUkCtStnfZSSKqhJiNLRtbJTS1Tx5B5ohVCBI8WozFSPhbmtXO9Wng0KVJ0b8X8765NuhJbN0el4KLrzPTFFMkjqaZ9VKTvWE8BmfKhgEaV4kST0LVpjFCCVSugFdswNttp8Kr8Dw0zFwY812HYt0UFKWCqyOulMc6Tdv/ig+hIqqnqSeIJuVJQCC9kRP12J7nko3pfs+RfqmLa0tIyP7Tx684SU0j0pczX9qzDhcmg+iFMuaCa4HV1BRIkcRWM/njjOqsc7b1fZdZ0fw8SdmCwSm9aoGwWESJtR/PjHc1NTl8RpQ3+GseW5DHmMyew6MCHt0bUjxs9cJF76PwAD/AFmFPO9tnL/nLlcFa5+fbQkKWHIb4WlJ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QztOnmlHZk9Ak3AdY4/4Nj6Vpf0K7CRteOeePpknSwblCl4usLOYINrH7WDqtmCbFGI7p4edGqEUKFVwrMYYTh8hRa7xZL3xzQcg81vu21rkM7tSgDG+g4V1UfQ/ifzCFFzTPz2CZF1yJYS9D1Hx/oZVhSI2OdTIZ4tfEzr6bYbViEsRp5+ljB6Br4Ubj+ZtJ61qTcdnxnsr1HymbwZJr6cljCNTLg4gRYyXu6STbfyQF1s88EC50lGqzfrDNDBlkCZ85hCLyj8epnKqWMDLpWKgMcaPwiTzwWua0fvrh7vdVzmn0+ORrMAfxWsr7ojzSMmiikJWeUyRwOR7qi+UqMLn5gs7kBGsZweYzSi5eR4CSY2dSp7P+6ZkUhvQtqsI4ZFQHrhOMUpaRRmlbbPsGRwQn1BZENF0UxjOjyjogqsEj6LaLAueohhvQ7Rjsw81gPMvBZaYNNpUQbfVQtEPUjFLcR02yLE1k1HQc/qdQegJ0pqT/H87frwFCyjkiEKlyUOCawM6T7n6kFoH+0+ywsB9duI5pYsaJBDRXpd57rX4vS83amTlZNKOjnCAiktZ/ns0/D4/Z89UF1a3SHB3hUYlqy0zJk4NPTb81d8qLriNwDapharTsZiAcQXyoAeUq2XTydb9W0pVbQbSyxzOJMdPbOYYcgiSrSut3Wx0lL2uk0V7ps7U5RC5k0o7RMUDztSADyEcvwV7oeoZg3eRwGbheuf8bJoz7SKbKEh1tLw+lPjDaFXlpGwwO9/z2V/Tb0ZEc9ltp1OlkWy3D1YFa9EF0zYwQrdWb8s2jZ2hQyA7WJZIbOdLIe9rMSE7JtlWWKQn8sgxoVEhp4904apD7kQ2C1aPByw1+GOCGFw0SqsnBVYYtfuX0MlIjlqXhj3sLWjVCdL2/x+Q5wVbn+yOhpukJP8B4Dua90QzsOQYqOM9+dorj4jrDU8je6laD3bOlOKjj50Cso5rm/lIiuVr4RBNrMyaKWULQ+rOuX3zi7npx/qO3AgK6tPZjApiDt2SjqKomy5bkuYjnT1Of8SDfVnx+QihjzEWZnEwecm2NoUDlCDcqqRBMnUEjlhJfhefBqtm7+kGiv3WJclR9s82AVXSfJBGwOBaqxVZ3dRpCh4Cgrh+YZLRgGDhu+5HQA/YiR2IeSgYV6vZhhbpqqqYbVZynks4CLXOAd4SCZEla26yYHYDudRzNymCvEf2ghGQQ1+3ro7UulCbCVnaYUHf5+WCaXl/YqdnbYx5s1sOcshdvxsqFD/Nfhl21cVMVty6T73uFG5gANX2MYSC6gQk0EmzjUKG8tXECxquU+NWZd21R3Cg3rDeyTtRmsXJ1PyViBULDZ9VYhwdW3rHbMH/c2o2I/qllTauZ6hvP60Ph4ja++Kasj9M/2xvtqULRIp6M941oiEEsI5FwvBQyS3CnbPuEYceeAcbwkdQRn7FxMNfHCL6E74aEQlrsGqAVOdf0oDBta5D6+RYSoHulVDZitSviPEwqjbPtS0KeZmSjZ8mF4ROfaXta6NvH7fORkDlwj1kxWOkAcCUHWdElYu5NytvlrIJRzyUPI+yjNDd38XkHd8Z6UnYKJal6pEg9LnhKasLoDGHnGbSggnSx6yW6RgU78LNlKxYe7s/d6RRktY= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d1ac6e3-0e96-402a-bcce-08dd5679d478 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:41.3296 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lEm4kvQuOF5yzPtU3dsGxeDHRFR98as1WiYyCEDOaVco9wtgM4D3LBa7rL0o9rVGZkKHoc6ye49zksjSvLYaEgl18eyOP0UmYfB2sr21BsDKO9Fh5X2u6nny7P8Fxd4a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 From: Lad Prabhakar Use a local variable for the struct device pointers. This increases code readability with shortened lines. Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v1: - Fixed commit msg and commit body as suggested by LPinchart - Collected tags .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 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 Wed Feb 26 15:23: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: 13992666 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011071.outbound.protection.outlook.com [40.107.74.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CB3C22A4E6; Wed, 26 Feb 2025 15:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583553; cv=fail; b=BOYG5fzsG7DDBgJ1Gz5JvABzWDrnDHQni4W3hta36i2QEkkBcrRQbeRNJzchMhxHmpL7679vZheRZ+w62DNygFzvOA0miUko/Y9Hxwk2/E506jwaD5FCNuzvCoIfIiwz/7+PscKr36d8sLQBLS1rbcvmCYR6k/nFGXEGWNMd6FA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583553; c=relaxed/simple; bh=9j4nPijH4a1+cIb9R/wA4gjImTTmMrJZfHI4NuQOBVM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=WVT8xn18qTBytTh//WuFrHZ5D73BB7s1e2SI/Zf4OZZyDqKOhx3VeJOHYJu0ICWmIyCYgjThC7Jj7cw8bf+WQOQQuovPhlWWh5fWvTFYOXrkBwM5CKx9wH3XjzZqinLCFrMc1EOTd+56M3g4MYvFWGz1Ce/U6XDVVhRttnx1ayo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=Q0KsTCoJ; arc=fail smtp.client-ip=40.107.74.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="Q0KsTCoJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S5MXbkgfd94997NXP2j4JjnkBUwOiD3+SjGaioxiPST3pkhl7OAxVvQKOXo6fnQrZghPe+YEqzt4uzxnGTLCkoqki/gpJTBjk/0T7EhaMKZy+GAvsKhmbvhfm67gb4qX1jj3LziAtWkc3fZre8bihucL5OpaEB8VGxvEhriYpdm5B1WxqmPCWazQ0gug2OHugH6f/NOyiDfq7+6ZSK6C1ldpQgXFOmRIz5oyiR2W83u5YbkUkRkSUIIeA2O4OLhW42AVdKzgi7We1XycVGmzKCTnsNh6/wHV+scG2LBeOnZuOmD21z5K3pb4jzVHkLkjFl0YggSUJhuHHUyBivjSJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4QqV2NgZjXgYjDJN6Evb6jvF0zTwv9S7UT5OmB6zxDc=; b=AYfV0G/LLpioJRckld7OBh20HhvLeb9b3bmaVIqdB+4N9S8aGu2AWRMDxFAMWwsOI+D7yuffF4LgnMQYbbqeyj4L/bRrjcuDW5klst9QFdWIhEwxeRlXl6X2NV/aR7PgfLTZzf9v7BMAIK1/n0YDW9G/efgjxiQTZ0TMrU+w8PxRArcbMRG3fgnOAZD5qmUvxcgbqP2r8I6/pKSiHeiTtCI4AcU+uxKku+MPQ80t49rsGuDRErTwx/zMhAHjKgLHEIy0GAtLIn+WC/oejO2YLCMLGVvaGNwWyGywD5LKgcE9EPUICnMZbldbBnfgrGIVtJ9mZx2gxzqYIqc0KPMZgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4QqV2NgZjXgYjDJN6Evb6jvF0zTwv9S7UT5OmB6zxDc=; b=Q0KsTCoJpnuWvXxrA9eKpzlBR22V1X8mMn7GsGhCPZzHXYopH8udNyUzvgivRxpRk03XUNPvIdLxHaYD0dpJsDesEXAy1cQd0dppPRySYpgewSA9ebhk6ETs42hH9SEK7/v0kas0XDEAqsX6SsXAxMesuiWypegQ+Vrxz6cuA0g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:49 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:49 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 05/17] media: rzg2l-cru: csi2: Use devm_pm_runtime_enable() Date: Wed, 26 Feb 2025 16:23:29 +0100 Message-ID: <20250226152418.1132337-6-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 12a63815-a949-4e8d-0473-08dd5679d8eb X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: QcoPoDZn9DuTpzbcFGUn2pWoCnTLYzXCRGVNgqFV6AjXgfUb8N6CWRmYVMVBeEz72J3/QlMtnH/vDqVUh9Ep1oTSfHOPAO0w6AMfHqlbXPugZgtD7tjGFMd2mFNtC0c4ZkubDD3d62TsrvZMBAm3xP6SDv6sHm9XxcFBCpMng0iuZKskjBlb4sRR2mumowxfzNfOFkMtV3cOBs2qX9Ko5XYCFh/NnlJ4JI62h+YiTydt7u6yMXoxqpEw4DC0IJiMQMnx7MxuQP6QeHK6MXbCQpHZDogKQoLvsTFYdvxQkYyvVFmCAs/DYk3iXjZWEcVXl7TbW5lodFUNXNesiMdLKp5VXztT4dqhCAuPW+shPi7nNxlbOrwGfQ346apps5cS6J5Yz/QU0uOf5tAWvo6iVfa9jST6lkNgmwtknXmz7mNn4eTO9ZvY0RLLLgDgcLPwodwfg06N1bpjcRRixd/Pf3j0S09a47HyssqS4nE9ySt7Ijsgoa2l9SReG3r6nLHgzlJNCNTFBRR5dQxeqsm+v383vPW3dwztUq5MNGZ6qW+OCO4Ryzi7DerXOZ3sn4RifZmM42vptu2sepNqwSzfIw3R3wm7jY9Fm+0fBAXSybs4nXbUI0XKWLpLJ97j/lJ/JvAH6f2djtazDFr7toa1NMCVVvXbDsAN73tzljRquiz7z6eZwpzRK2HRsepBZhA8toFkTHTZjhqLT8LH/nx4LPvaSSgRl7QL3ss5zBJQcxv/Vk27Xjv7lklVyRMaRhq2ZhwJdX64qP6vh9lO+L1N7tb72snOeHe6b9YjRW67le/3mrqfoEWOXXgvabXJo+gcTmek1lukVHdthApwGsuZ0TyvunKg37tY5hyOuFElciriI7lwG7J54qJRROu7JP4vdWevnp/sfpjcNK/C2gY7f0B0wAnBf8c6x6nyWPN3/EgSGjWxcti5CGV+LwHsuXI4YtPUB1MyeC15g/3mNJWYFsKfAy+WZexioo5+V35AtHDktX9Z5pE/hWky1A+TnzEmxzDoMNkruzgN97BVcS1JZsCIRbDCEHMVkgtr3FeHDTrEKn/Rp/8fVwf3UFb40Vr0zlant8lqUltruep9MCjix1ORDtc1bORUqApsCq27poipxDCuyAJoeLAHh2HBCj7pvvM1DaBRS9YHWQwW30iYJqmF416dbuj/wsBaFbUmLxbJVMdGWQQz17mQZMeSYQXxCPoT/ePFofrQfu+jy0UvBgcVWJo/sWz9krxbM97icVdkGDfbzoNIBrQMLkuErDI+Bf3SoSdlGXrCvPiJ9D7DV6QcD8rC3EIpeC8pBncFOE0oxdONVYBfutN4NZvv1PRMSqIcvF9DoSK2tMoLLnqsxPtr63aLuDxKh85uDT5mlXrvBv8zSHLfEp5rNGhKlKZW0/x6O3fVcEjrcp3F9TG0US7u8h98UOYu3S7gvo8eHh6fVvKxfqeHgbK86Qd9NZJB X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BAx9XoP0/4B3wzheCnS3kBkZzo8xDjZZUvdlxDqKgcZF/rnMesRi17ka3m4gVoVoh7jnokm2TocqL6lMuB2IYatP7q4smS0Z+e8geazULipkDQU6aUDJpTtePeXefGu02Fq1+pkXeHqj0z8qKviOAgKFn7sXSK89y1a8wt/a8xESDTy5EODq+O7tOfhpaOZPNiaeIhlVSRPJhWlr9BWtoSEAkRtlku+X2QjZ7Sv6hfw8ym+p0V7lv6Xt0RX8B7fA2vy7k5iMsk/x3/b+h9tJ/u9nVSb14LHh75yWKyD0iyB6+DETP7+J8nN379MFV/ddU8CXChFqBIEygKucrhL6ZQ1cPqRvFqL3pEipVzGnHOwmrzDYEn16QdGuMDUBikSkTQPPEnmQPv3VCxVuW5E5LK8tXoycyKZv8XVKFMVJSiOlMT5Q+eqolZkeYnHEpKQOr2HLFDLfVNRl/qTXsAZn2elI8IkA+7SG9cIOLfN6dwqZ/fqTq3ON3O6JB4iAhDJIJImiXGrkZUR7scCpTKDGhU7KSzgFYDWZhuJzanqigygpJwLfldTSgX4neOXWTrY9lgGDyUWamRMm5jZQkvKDTOn6Q4AjoKjzyySDc0EXDaCI7MwqFMclapEeYqOo3l5OVOkmmSO/LDrQN10YaVxOUrgnKJaTLo4bGBkExbGroWbVRzOUYI/FSAT6pJ/AlpEAEG6MOCfBspj0bstyO7idYVjV/HT42ARMBK2VsUZvIlnYuBt15+7RH3j7duTlIweMiY8wCsUDDI9OgQN9vLDmUiMEKYwNHiHTQgOH8mHTbNEyeggAr2vEpcmGD38Qt4LTcR3ssp7oj5FlUwSdmSK1jyc/zNsMlCqtCm5LoQRfKdnx6fIZsSGmCNuHC/dvFANk1YM2aDebskp8hrlnVgZN1IjCcl0ggK054AFMQXNt83kKTPnqTgkVPHaent8pzdOQerEA1nWAiaag9T5rcJE98nooYui3FmHIz8RGMT4lKv19QFKyqAPAf0dIF+hQfLcPadouWaX5m9TIb+aOb8g9z1lgX52m63trZEd4TJxy39kbN3waMXEO8BWJDQSxaUalDHkJGJaw7lpyNJlutD5V8azlQW9Jpulr75vJ9IwVhtFEJEVueDaNITssSXW/JdTnDR7/yCsjhFdVWOabA7HOA3OC2nRXdDelwL01bSfEstZSoqL/GpNtWkvdXPB30ida5FiNithDXlu+DMeXFbiv9Oi177wpJmxI+6p5W1nZONzWF2AzhiOwVosLdY+j4YkOIpwIGYh+nEhM6v/erVI575pjovl+IFJQCZLufwHRZ+3psdtvrhH8gdgB3mblYIZlcP2ScQeLem7PAwIxVIjmVQ0//7c8lDgOeCrJwwA/aYs8sygimWu95dEh9/a1+iStgZQ7jXiWsjoTaR8Qm6J8PN7v10y9Pqv5cDlZCtNC0FdB6M9Eklh4iisgJuY7TyhvhBuF82gUn+E7xs4+gJFi5KcSIjyC9INjdzSPPBVHDLTlKfGsliAqYwEvQBPJoR8cZJpCsfvkaEef8bbgYTNyLEFL5M6XxM+Os9Wo6kBRcq1Q6tcdVIjjkrVhxKBdZ4YlDR6YVWNdrPeC0IMRy/1uJN9eXtKiySWPnTQCvmre9oo= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12a63815-a949-4e8d-0473-08dd5679d8eb X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:49.0016 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ULf22aMYqkVbr40Kz3SDSYflse6GnDlLGMY8J/nyz7zRzfKIY9X+285x4VdKJHqrhJZLoIQzAhxRSkYRsct6H1asvFUVCgYPt3rT+mFJvWfuWJE+9949TW/jDtyFJfZp X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Use newly added devm_pm_runtime_enable() into rzg2l_csi2_probe() and drop error path accordingly. Drop also unnecessary pm_runtime_disable() from rzg2l_csi2_remove(). Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Tommaso Merciai --- Changes since v1: - Collected tags Changes since v2: - Collected tags drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 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 Wed Feb 26 15:23: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: 13992667 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011008.outbound.protection.outlook.com [40.107.74.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0DE83227B83; Wed, 26 Feb 2025 15:25:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583561; cv=fail; b=Lg5FFGul0/5EtHtDyb61As8HhIU53ujLcmk/V8/x8DuHrEgOzpA7ckYL5ddbB7I377SEfPlpei216AUIcUThAWsAjOqlARxQQ+6Q7eb1rZv+LGORFJdHlOpJHqf356eDz8FeI84JK6vgyDgxH2tM0IqyBsxhUJuuhduK56T90Wo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583561; c=relaxed/simple; bh=LqfLMzDRg+QEn35zV+3oPZfAc+VImK8JMpyKyCgmZ6Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=dckdF7jAzTKl7IJUvJ0roGff+OMbEsf8z7chWTiQ9nL/GIoL9fD2sMwJV0i+PurEx6tM4Jvq0R1v/pweu+E+cxBNPd9vnrZ9rRnU4BPaGwhIzoSNprI72zJYuLhZpWFveRmEgo9MJqggMgklI9z75oXXtkhMAhIcwwN6x2MDwV4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=b0G0gsFn; arc=fail smtp.client-ip=40.107.74.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="b0G0gsFn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PcZehTdtqt3CuPKPQBVw7KUnZkJuR4yPaH3lqgixpFo8k8rTdy3EKFMvVGsJXDMFXfACwsUx17lOAHUVo7n47Ip5U5zGBsDDqH6x6daP3el0Nj7EbA44Y+OtrPDGEIneEAsIehy7f2ziuhlSUDDXeYqCwZONp+10fTSgzSVhKFx6k0aeiWx9pqiXKgxtamgU2OQA5FVU3IrF+ymy+JDovbGrEN36Bs8NUvVlamqPsA0XNqYw1z1Lnzn48dvLhV0yCFly5ha9dWBQ2NH3SV/yCSJFOYkDbmU5Cvva0MaiexYKVZWWGWF7JK+4BvTr+peKhEZhbuPmU4XgUbiYjCK04g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bjun3rYJFbgHoj2Fxbo7XX+LDOGEbWMW0HgfswOEADg=; b=JgqGQuSjxSaDtlSyDEKGcvCo8jg+eqb+aivVvmCLg5Q3Df7A7qInrO0vQPLXBMjX60x6Lt40e2Y2IS9WrvNRYkpUhD/DwEXF5Yv0h3kVzy23STveYJtomlKOFmoQYqsui/bSJks9xaGc8+bczFjoN533pnOlPv+p+egVSIH4IfIRBxLZXQHn/gf8ILkplntPdYkacZOusZ1N6GjHIdhpEKNgl3fI8ijkBvorMR3/ELSuQe9h7cY1Qom37y0JN+qqzU8XIpLBXaC848TcpCslkP5ZT5FdORn8pkc5Hf3ZSvOF90w48eDJvMGiEjCnHUjXgJ/0cP86T0fpYBZ2DI/kgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bjun3rYJFbgHoj2Fxbo7XX+LDOGEbWMW0HgfswOEADg=; b=b0G0gsFnNU2BHXNppZYuQK/YccGdnAb/9ONwY/5niybYOWqEiyjZwDhboklw6ByoPzafYMD28eiqfaeftNFZigsoR/BSAd/cX6ufNhJ0pa2Unu1X0s+W7cUoLreRwYNqMBqs7CdxZ+LaHcZtYXv713vAfGTVEX4FYReV0gWKpsg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:25:57 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:25:57 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 06/17] media: rzg2l-cru: rzg2l-core: Use local variable for struct device in rzg2l_cru_probe() Date: Wed, 26 Feb 2025 16:23:30 +0100 Message-ID: <20250226152418.1132337-7-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: d123e49f-81c1-4439-0a89-08dd5679ddc0 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: D2l7joOc0cwbbGjaUn6NSJG87b3EDwHZHFdMY+iIaBTaHkiaiHCIomFG/ZYcdmxZvGEAP349aLW1SUlMnMmaYCHJBnYE/QCKoZf9kJA6zGnSFtQw+rC/q4FeJGlgidGWx7woj7lyxabHXwalOgMnoe77vAf9LDNLGquluiYqyxKXb+//sRluKZubwYV4t2CDdwpJ98n68PdzNhENUeIdBIiPak+Sz876Pxag/1BGjmOBRMNKJ0dM8yV5q+6OhV5/Q/6WeCbdmG0Ka+qfOb/wsADoLYz2oD9GxjFMA+UgP85XsZoewQeTvpPu0Bqof0Yv+w0dHMDGz6BHAK4Hir+e3Ey3Ro5LQvM24n3QHe0y9BXW8MdvYbcbdev1ylXkmLc6yDc1GjpHps3PUu2TSiWeYhW/0AuKsOBrtqJZR7jW14Ou3xsAPhw3Sp1i3lvxtXjNOu4b024rZz5MlryLVOYXIiKiIgrtFPl7N6pgnlXMsVnwlZyL+USRJMa/6mufFwXjcUrQps7gQGmUDGD39iXFx3sPRUBC/GJEXM3hewyJ0Tg0VGmN5WpBWdRmJ36r1/y4eIqe0OJNE2eZGH4CUahw5Ov7Z6VnnFHfhYEVgxIbJN4WAq1H36Our4xTuGtm6nEMODSKo8afJk4GTTlgPe53tjEX5K4VLLfgfLbGamzt1yZZHMajVfpIGqAd8U/tImZa+8F/Ahc/sVXJQl/tzeafrWbV4RImn79ugnZmNOIXaBvh6ZgHyEdddB+G3+WfLLCbCuEbg27Nv38S5qVs670cJScIwmIz+JPslg6T4UOxfQ/dndna3DTu79W1UjPetE2grHDxfZt0PWUuu/g+XvODZUYhVZDD8FMAPrePdkM4NKyH76T7fAKl4crIq1rjJmQrC1IQoKaI6gik8qrB+yCij2tZs7RgZjTvpua2jyfH4w1QYdKDodBWXjba8oVReBgtEEIP6WU4uZJ+h2dLyp0rVYr4rSdP6epcjzij1RZKi5pX81aWnUvIBKC6CSeEqIDRv28QAX1aQy8WZV6kkSlNloMK0qFVzXc+KoQZ5QHrRmhF1kFBc9zkv0mr3oOjS89QOpWxbTBPe+Lk8rOVa5OOpRPxi4n4wZHVvvJXbheMZ7rzjB/TaSDP6cbZAkebXYpWLNpoHj+6pbqf7jE8VTjfYUSLPtQIpzdYsKe9gO7RPQ0FBewbKvxWV4WOiKLshKNub5ng7d2TIUItnhE40SYaK8cv7ZO1XTLpdU1lHdpV8gTFG5wFlJGnHAJevwEjHkBi+A6pfxyhaWmr8e8Af+ZSZgrV2KXM1FWxkBvTbMKjNupUuqEtvLg+bqBBUUqHU+6ppPozG1nTgr5z6pcqSDEIDse1RqwqCoF4q0F7inw1hBqAmBH4Kvf16HfhmCAPFKpmC4Z9opaTrVR90agrHSlapUAhQxYIQhZHV7cAovBUGukQmsB/7xVtCfkHzKUeqJYa X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GraazQWPplW5vfsM9ZcnMQfpo+bPPO+UI0KWpjjOhiPChhTGj2Wu/PPy7h/alNpHVjHTaj5rPkNBjPYgO223WVnTcpwtNugUjjW/hMqe7U/1+fq0f5+sP8yQJBJ3OivHyurPI1KwnrS+uOb7hqwegn0ssW7nyGtaXuKCZiebsnida2RWvY4AEAIKQPm7ESd+bbgiiZjoo2GDD6pujOAtKwBmvaT330kcMIT1p5TM1nCWNe/TdniJoSX1aMJu+5D+9G7e7tZdVDPRcTgmXD1ytLhQ17TfOUFLkaTjsDqgFxuyxA/hibXTmwkBe0sGaB42VF48JqZKXGbuqVJeNz2sBO6M/JlZRyr0uVO+lenL0OWlLk1ULiiD1Zbi530EfdD5v+zDLQwmColP8TpocY7koCT3ti9XEhO4ofCxs4ZD0a/LYvdCmLIv0W9ZtyZit8lmEoicXTOYCKapw3l0jf3++Hu23HsFP0D4oB/DN74kFmBrC1zPCr5TC22fZrmKJcUlcoV12JtbC5ADI9f2AVoyjQcd5ubMxV5a7VS3+F0l1Eewo62Iz6UmCGdfvN8oNeay0ei9y0o/CPsNSKgOtB4B7fmt2IrkE7y9gN3I3XWTZNUoiXmSdPtiZo0+IdWpaEdTa7Xm6iD1AfML6THPim9Emp/PpBbxGOpVivFEpOIqa160rkdTUuR/XgYl0IQnEU4xUAbQsuQ6+ZNXSZ5tlb8A1BvmBlmWCziBUDVUIcI0I/EUu9fubAfGlyOjQ3JLYBFX/T0AZlb89Clr44HMdkOcr8VkFDW6Mx30MnLgs3cLIxtqAW8DtQIuzo6CJfr6inDrDU4zRSv3P3XDDJKo3WtPWSL5+BPjb1uvycwSNISlJePFECt05ziaIjofWBn3InwlWWvInEu2dft0x1N2u1pFAkTBuTdddbwtDLjmZep/TLNnU90HVTPMXykaJWp9DXzUUa9ssSROI6Ch1PqWH6rBcX5Z7YoLOnl6rjPyGDGIAG/KtUYivB6TGupqUWt5ZIfqckoOd6C8zIp2/uEQbihJr1DgTgR5lDi5aV0fj/DxQP6QtVrScO0EglKEbgfWnCTlnyw55V+0ZUJIVWgCZbbGbQTGqRV4xH/+UWAMGokL9UZDD8P85Kx2ZnjOsf3Oun7Q/WgFIqrOsnqCxueD9WyrObKKRpcLvnNI9CkhMThA6u9MLw/iZmbYohXxJtUFmOFF3WiI0eC8CYdmajphuFLRVl/Rrm/pGeIzGPwJ+wO8AVetvYbMBJVYbRhk1CLipv/UaVx/UlPoLx+Yum+DMDGlu2dlfD0IRaqCOHHnYKkpOfBxoz/RtJscGhAAnOi1lYIbwbiNPH8+wadYJ1koaw1XDpQ6zzdRRH9xKwxkPtMGovLUz9ecv7bKurhyZBhkl4UUlJzETe/8JzC2nEdSDAXUXf1fqhWJKEmiTrEMRTPV2TSe2LCEH2qW6gObT40OKdyPlgXg825qsN85v2xbosDziBmo5y4WFc6/06qhXZzkLWzCgIQ3lcLLI8QMypf7oRg8e5hevOvVpSIsZyM4fEofadWxqOkHd/PFXny8Ouzym8NQLRIMDdxlSx/UvuiEYR3i3wPvu5YCqnRsTNYuNlVx7hzOtEH87nm9UC62WnQoANk= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: d123e49f-81c1-4439-0a89-08dd5679ddc0 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:25:56.9094 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hJxxMMkRLD4rI4cgEGH7yuVCdJB5/74lO4mmgj09ioYEgqS1Zc4nDeBF8pZsUpyg8KqkdrrVnIpFy4Ui0DI0tYsGIXr9kXEMLE0oC4d3vy7EiDsSNeT+X01fNIyP8BmJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 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 Wed Feb 26 15:23: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: 13992668 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011053.outbound.protection.outlook.com [52.101.125.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58014227EA3; Wed, 26 Feb 2025 15:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.53 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583569; cv=fail; b=sEBS5Q1+yqEDZRvEn00rWcc/Ckn0c0PMbUrg/tAPePphC/JZuhCwc0GNHDejQt0D5fUn8dxMUaFhlDnast0M/9UguGMgbSQViTFfLGfJYPh+hbB+CuEqwqndlMqbf0lSLjoCe5uxQo0xwddFoD2wjPTYnkjUIudGzDNL90+o3eQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583569; c=relaxed/simple; bh=HsfbftITW5fd4UAh+3xyB67wD6ITcjCaKdzsXSBD5XY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=lUCmCbwnJZPeFBfQ58YmPJpCORy1aL/Vu58iPPUc9o6pc/VvGcVwxJtyEJSS4ktSrcdu1CJMFwFEdFsd0jDCQetTEmSe//kns9j1wai4/IF70M62++x1tufQItEEYYHZJZwTtYnm9lMVQFtuSlpyC1FJDKBVITPJGrR1B5B/Mz0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=lPdZaAoZ; arc=fail smtp.client-ip=52.101.125.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="lPdZaAoZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mZngfQBUhPXcWZuQzBkHgnVqvqbs2Xgr91sKHuLOEGWmxgkLmw82o16AHDN9xk0WpgBlkZFcjU3trrGtAv0TiwtS+LKGkLmKnTHUfjKtcxvQDFuJ8dBVxOrho85JQVH5qBzI1kSle6p2poryvR610eh9NSPXyH2hVvgcHlNJ6fR6PvrhZs54jmTPHeU0pATjTS5Z+a5f9dO8VZEfsZZYcTkNH7fY8aoQfrUPMLjHa07dgQI9N1rdV9QbBV0O17mO2+VkF9B6D5TcS5YIFOOikaw6ntkKEVU+5B6LeAk0aLevgbWZjOhtLd2MymiiqFL3vP60tX98rbndkAjtof9GVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pxD99Mokwvg6veNRRvfJy1z0QYpISgAvXyQloHsmRL4=; b=Mp9DHIKGj6/pY+YObKSBVT2dg1gMwSddQJVzMfTUUeLJB+pajOl7Lux2xQgXUMKc78kdaoNMFHdO3Uc4Blbq2QqRiCrGDuDTyPcJYOp2nXDHCAGSXHLy6Vw0OnFzFc1ESid7n0lQrOMzf77t/I9+6VMpCkndRBACVyrGn9+7bTYeU8MKn9eSWePafdZwPpHJg4qfGCMtnBQOPE4tp8iLlVx6JztKssvHVDAD9r7YPjiiwl/h3kGw1U4LVl9zLW1dBuQWJiI4fkAuFOUYa2katlpaIqkCj++ukD3F8lr8PiW+n0KqcYX3hvTIlDQJ+paTWrJY5o/5rQTgMwkYdQBMoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pxD99Mokwvg6veNRRvfJy1z0QYpISgAvXyQloHsmRL4=; b=lPdZaAoZEjmIhfcfdWuQYTRw2mUUoave6Arn+cTNao8SSRPcKQBu2BKfFP2/Miif0alYJl+pBJ+/3gi5iW14nvCG25fekTKbVDVRP9a3WNQnf3kzBjFMtCwIgGBwPtBwIq6HXVxK8IcU6Pyq9slfvWELMiVwju14zov7VHgdPpQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:04 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:04 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 07/17] media: rzg2l-cru: rzg2l-core: Use devm_pm_runtime_enable() Date: Wed, 26 Feb 2025 16:23:31 +0100 Message-ID: <20250226152418.1132337-8-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: e8d7e8fa-5eee-428d-f5d8-08dd5679e260 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: wC5bDpfDtbxqYImO7H6jzdEIyN6cm3XPqpgk+VX6DjF/Q/ZWdBSWJtEHIeB5PxezG4guvMP8lDzRTfj+N1R8cFyxi2R2t8ExQm8uxrx4Evq9bcJvo5MTBiGUGD/TckCzYJHP8YDPsG7mUG1xJlCnUXe65M8RRzZ1/sHI9Z2+8v6pTh4pmFQoMhUv6kM/eJsqlsgwvYI3L8iFKvLXa70q/7gke8CAzk1Y/Jjodl9QMxdundPmETxT49LgXKqF1DKQPKULaSdyBIWcM9Da9nfwcivgD7k3zT/ImYOTqbUcsUkKO1uQta+XsTj1S3Yz/575n4cnhzz2F3R7lep6kHANkLaPFHV3ltVyMG11l7mIChqH+UEYzBQCgJmVAmwGVlkCFbyQTzOW8gwFG/zDKP3Tyd+rExJ4PHkS1b7onbPbCiAV90m1pSfWd4oq5M4fliTkcKBz5Zz+/gtUWvBx/gabv5JpFu2pGLziO4Bt2aqC4BLZgoIAYEUZU6DHMBXOrTgiHLPzaaJl9ugC0yItp1vAN2gjcnNqRXF1KCLyB712Uy71aDSp5+ZVaWUHwl7clw1GTcK7ywplUaydd5bijaS6QGwqxFgZtSZP4KzKywE1VOIrBXEIIBqSOEL9TBGP3mPETLAjahrDGhCPKSTIaGohPIDg3p8oOKLOFShP/Lr8gGv/Q2gs2I7ZMxWlXsDAAXycZcT1XrCbbt3Jrw3p01cu/xwIhGs+8/kGOCQkxhSinLnbpjfgkJDjhpqDCsKGxjPC1/qJfp7nFKtmem6q2TYeoN4CoCFA2KkqBUkEM4OG1u4GPTAfdMz8C9M+zs7oaz9VpcdVbBR0rNQivUSwjTVJYqGuAzg+WBhK83BqikYeJ/OY9071wLMHLA7RmvKZqVO28wCu/7LObS/e9sX1Dy64fmIph210GpnJD0t62phI9mnBxEAmDV579reOtwLNqWqHQh21Eg1WZyMspSZ2vA4c4cHRix6CxnyGRTpZAOXjYqMpQ4vrv5n9NXWoor8JZ7v52gLDUcVtIllxNAXrCauy8tOzCDttTXMz4IypGRkmGjHBn4EERsS/sQHsCzUJnx50g//TWhMWtu8kHNitK5SPz/sfIjodu8IJNUFKydQr9X4FecfA2GLPcihpaQn2EdaA4bj6qbkIeVgB7yrIqye2F4kphzwJ7wO/9DoH9oBVSeos6OXFdMPnGducTbE22cJH3YLVLXalNVodyeKaxG2jHTnxjOimpFCIevMSDFv2qdrpS7ISHS/7I60tktco1ScUptO4BX4bBXJ98ESCCoFDHMuV0ErvgDCCMwlJMF9J+D8fplmSXtTulohvJrdttNElAfTw9PsF/p5syqE4Aw6snH0RM721aPWQ3K1O1XwsDjqFDzSdG/vdv8aCKFwgfXQ28BIRh06Sp6+xS8+Ma3EQKQYs2CNo7Fm0msCyXcqY+ShqrrVrIaURU++G/8nTvVV5 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LRweLsyGdGHA6v/sMtM1g+rhFoDVS6UHtIer5vQll/YliGVcCOqZUgZcmZApOf3hlUxEhYK5Mw0yNwpqCif/EGUcZ8VvutFzrhCXExpvijwpHFoP/zNYUcVK1WOK3/q5aPdSh9th3TSOpFV13W7fr7j54BeTgAbShDSa3ffOTtGXhQgYB3SHBtu+E8jmEHM8OPKTaNx6YYAxPHApicw1zst+4S4KyJ6mQxh5QTWAWdNMosPeIEX8g/QPDQ2Id+hobfoULBzXiIWbkNVkG0n6sdrdhIQsNuHQRmbv0y2Nf3BFs9htf49nOu5KnT5sOLXrqyE/ddm8zQ+p1b5HBKnNkcLXJfhFPCwbxqhMx5bVo6ORaDS5PiWh8mA6PE+2Ppu+gLyTD45hmJeVAHCxohQJko+eu7z4lxB5+p35De+tWC4VdT42u1ljrPkFazhJYjOY3paE+bPdG+hXo8Cl6A8XmBgukl9HwYGOpOAmlTt0hTp7D548SwnQma8xilFUCP6e5XtsZ0HcVfPOWbIM2uvYdVhwM2YCy5YKifxKPfctzafAQ6yN8pQ8tW1b9Jrs+xeV+ptWFYNrxEW9C/qnPUimFIbE/P7yGYEZZk02H04dizW+M8WSc/Qy1AIZ4/gRMlhVvYsTm6mc2Hr1quX4EFK76YlL0q4s5HaYCmj9f8TOzA/wXkUzAhwZzliaNYrilzwf9jhUcrvAxCSawd2bqP+OEwBUwGbT64ZBJKvQzvMdZJ/TV+FpykyG7LARHgjIBDEQLm2JkXOuQmsexRV5/IdjHanaYiBdIMhPoXh/0KVdeAn/Az3qf1jp93rvwkhNVcQTE4TNAczsjao3z0v9++cOfV7j1Ru5jkGK62q1mxYXsRdF9VDivPQ6K4LUrewa9qsIJg7S+AiOD4WqiTuc6I5K9a8ditcbIGrXV3zUqqXzGkrHhRrPt+beHzW/hGxrAXHXXFQHpu0El345yfT8tsU0ykXbaH19zHzlDruXrRnEEvirpYwsauOHapnShfO3yISFz5ZlYVOeOBOpio9pr6W6TLShVrXwbt+o9qytyeKoyhVZrLhmvtVpgHDcDRLeSOasD79Cbvjd945/hTl8Jt0sxDS0hqpeQ/Ao100terneZmOFWB3KWvjBx0Nx9amElDzf0T+9FKcT3O9eDmMVlJZTCUaYKlkK+pKzB1z6FEYCooXBFeIRD2uZ7nXR/jaGay+6W1IsizvAnAjhyMvdX/kLSRSbkqIpWncBZuZEVuolUUYKpaTKGxJaAsohj3J69nqkXl9Exddh/YEyaIA4Ulww8TO7Zqfi00N7NNxv1tst4/IiwgMRholcUZRYsrJy9Rkma6bgXVgndL1uToMTFnI/ETTF/oLjxL930JrRShy2sJnmNmQlp4/Oo3okCx2u0xeyJdEbYzhGFPU56Y9iUAJhWztXnf7Vrj/YA7+6AXL1348ejLstC/Remso4aVfk9OHoNuMS2K22HrjjK+y0F5ucfYyfTqqb5FXgCiTRTe21o2/XuxuCNsRr159mVjx8qx6GReNiO8IxoBtVzS91kARxbb4z+4xShsGF8IOef4LPwWMOkAFd6baHROiwhPkz1v7+afLLBb+qFMfnL/EudUIlzE9o5OYbTUaiUS5t9cRXp5I= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8d7e8fa-5eee-428d-f5d8-08dd5679e260 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:04.8713 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AltB/LGvmiSVZ6Vv0ytTFoSpnGYmn+3+XWu0xO5iG30QCuUVKaM0Pu2GpjxwYgBycz7hPMvtxMeXfuc+eNuuBZH7YbKQpYwhXtPJRDSY7C/WKwlNBLzBQTMX7AePqDYU X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 Use newly added devm_pm_runtime_enable() into rzg2l_cru_probe() and drop unnecessary pm_runtime_disable() from rzg2l_cru_probe() and rzg2l_csi2_remove(). Reviewed-by: Lad Prabhakar Reviewed-by: Laurent Pinchart Reviewed-by: Biju Das Signed-off-by: Tommaso Merciai --- Changes since v1: - Fixed DMA leak as suggested by LPinchart - Collected tags Changes since v2: - Collected tags drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 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 Wed Feb 26 15:23: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: 13992669 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011048.outbound.protection.outlook.com [40.107.74.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B511E227EAC; Wed, 26 Feb 2025 15:26:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583576; cv=fail; b=TY5Mefo4iBnOrr78/81o+fTG50Kvg7q2neptGfsFI4goKs0VDMtafHaMbTS8WJK0a7B4Pm+AOV3u5gKj+p0JNpPtm5vLDrQJWH2bn8EnSlPhAplexAOmZak87VB2w+fUwdm6EMMR+xrnwh9MPC6WBsiDaC5XcHI8Js7xSlfxTdI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583576; c=relaxed/simple; bh=Wxv2NR4SPtkJtjm2fNJJtWbbSLqgBpIGMVvzd44aQhg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ahv8ZApQKKMvQaxV1G/CAeyRqTMmpXdBMjRJ51hXnb6yIUJ2wzAWfmEuorz41OZ4rsmVneA98RhEgCSysKQSdj9+BR4V3oImvrNLRZ/j/7MOD9I4aYU6Db65klJK0+ynCy/caTnku+7J2VzLHrRL8zsC40DnP4GsilTToc7tzmU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=FaY6kTb3; arc=fail smtp.client-ip=40.107.74.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="FaY6kTb3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o0n1Gne7gkMW2h7c7XuxuwQ0xtc7yhxhsGqQZZYtiFijs6rXcwY0zUbw0Z32TkyHRJYIsgUejXUz2YcRn8UQyoIImI6Hmi0veIKXORYKVaW11aTuMRvuyqkrOximI79eKkturZn9+Q9RJ17HlvFljzFUOwbOq2XhQBRZXWCKIDBtixO+Z/6SqduFM5Wk4IbEWTrh4JgkKOvnxJg3PsDPT0dg7ld9nIao653e2RNJ9d1ybEGjRTRigT1ShwFnYhbJXmdY4qgHUx6pz2EXP9J+ek6lWSWT9w/yn2gu7xP3hgNLvgc3hjHxdsAWfWlfme4L9/38+2Rob9nrxeZncsDM/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wAL8gQrgsvYymQ2b+dNwJ33LYhY2L+OhBRxp3zEx8Qo=; b=t4OGuX6eoQ9G0VUwufc17ESz2fH7Ziz+oq3Lh05mopvljmxWg5UZQ3xsgtU7ZpPFgiiNKyqp6dcGQWoKXFaCNTrSH75dAXiyd/KEmnawn3vPCkCoj6O0qy2JYRnH5c245R6KeOwKuSe74thZBvOxvJHi73EFJjgaeMY5lNd8J9HdD9rD1/7IYF/fguxVOCeNBsXt20gU+kAFDLDrwVrZ4dvR5sL1ubjV87AUkq545DeAdYcLi5xX6pfj3hUIstK4rtCSGzCtpUXicv3zPAb+AzQe3Z7PDAkKgFBjLtNcVr0JAOl/ww5xcEI9+pCoPtx69a/+4FuUEO1w/P7DcPdlzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wAL8gQrgsvYymQ2b+dNwJ33LYhY2L+OhBRxp3zEx8Qo=; b=FaY6kTb3un6DOJwN5uiCmt4ASP3lfTrgI4SdxdOUmIC/2VYGyPW1+uMkvJfFPDxZBXq2JrTrcT63btwuQz/oYmH6U3XQulFP4jW/8ftr83ELA9UY2haEKly4t9g1BvGgteYNsdvcM5r+kP2Icq/xqFZOjZCPQoQM26X5IKiKb1U= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:12 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:12 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 08/17] media: rzg2l-cru: csi2: Introduce SoC-specific D-PHY handling Date: Wed, 26 Feb 2025 16:23:32 +0100 Message-ID: <20250226152418.1132337-9-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b8ea24f-0c55-4cbf-c38b-08dd5679e72a X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: TVrLlN5lj9yBgXTNiTVIxjTPzEPmGNENdmEWNUjBCndyzOKfhQ1MdazG4xwxf93zGFJrhg4ExNop42ZS+4pla7LVODxn0rQqWYwfivhtahnuc8Uur73DaIRuSM4u+I4HjgU6SouuXNW9JHMnANxrtcTG9LwIGuMORX/2jfNj6OX58r0jgSfHkl375G3Yq5De5KZWYdccif0BDprNpDWD9c6EecDiHt7eIUzNJ1TUR9y3ofgZRDYE8BK5iXWELmOIH/nBO86ggLhfVaxpS/6+AGQsUrdSHJarW1ENHiCrGy0l8ajOwIhklyIRv4RB2tzmuS4P08CKHpVk90+tR8DGecjiA3kdlTbGFcniobmu8y7fF/LAYWutdpiyOexIaS7/rUs7iMX7rDo0np/tY2RL+PWzQ8a7ljwrPUsH2Ps8toDVWCeLyP8O8xIKWaa0zWEwBF/RvBR2PfqKmT3NAELJ1tR3oQ3ldv2ZqV63Vqt2pCudti+hjncTbK7SKHCtWvg5TR7V3vaa/42f2BV+0ICeInnT/1uQjK5Isda8UchTOmGoRmXKa6udg8NNtEyS57FBe83xXQczNUWcrwQDYHDUT6Fd3CLt5/Cax9xAXftPuQYXuR8Frb4yeLQnPJiH8zf0TkoUEcLynxwCf0O5dLGpocZ5osVOMvi5ImNMeSuYPhMNN7gUwWXiOeU7cSbPm2uqI7VEZ88t3HwthxmKnvIBT3J0DZTRRCXCgmkVerT9bB4ohDCmALPSkPeubTT7APt1cKzcrjwtrFcPzbUeMfdKp1HlUdTfLWPOWbs2zJjo/FR2xdEntMNUfTITpLBRjyHXooQBzVlEut9IVH5he+RLaFt83+xCRdWRC9nZwgG50Yh2uoUe5mtxW5arJX8IaH2g2cleJYA/slfx+uo0JiQrZFUVcSqiaLMlfWY/pylrzjAOnvy0jbql5vTq6bupvmX0qVxq8GLGzvxwxyCzkpCa5d5s4Ff0gCGV4nKyDdpgrypR/Wb6GfRaGqPVX+xdTfgLC56BviFl/JREPScM4X4nETJ3POboG9crq3SwW7ThGW5LD3rjVSc39z3B0f65S5vlnzIstmm347d56a4z0ttm2jwnyWHXrjRkLC65T1mRPYvqs0i5HxjzKIyZuJWUJoqKns3VV4fu6adnuOOqRVbnvbzYKcuw5KVAD8riSZj4G4g5Xr53faMOTNqkPDffMY5NgHjEzq8420ijo2HAoSjMi5kHU1Tn624ID6u3wV2OYDPjusB7EDFEnEJT45n2rGE9Q6gzgfyH1QzYrMwANeneNBiwRAnFr+5POcLw+Z3LEwPAqKgYQ7sL2pj9x/iL6P386Y5j6zW2+Wgpiow4mz3PuUxH3QmPXJM3qxrdZqjYovKQM7/IvtgdM9KfM378e5kOUJ+X9AK6gFOMW4MymGdA27CA7pM4GxUoNPydIEyD0qqU1RXGkxWIsWkmBk/21aWw X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BtEx7DjTb9cRC4FM3Av+K/nO5cK2yoRgD+rXDPJ07suGic4erij38kktqEyWdhrPhhy6J8il264kkrbtg03lE+lwhp5qO0dwOErW4edbjaWqd+B0QIhFxoQ9lQTysFvauzlRyX2MoY1Atly0hGvNYtHVBJ4cV/UFmnVsr2+v7o1o04lNAUvNaGfaHUJ4sGtsw32HZPJKwsH+6OWAMDP98S6KEjQ79/Qf0DhsCstJ+D33p5e8WQ0jctzdGz4Is9Z4tSTukXBhAuW6v0Mt1rBbXR8wyZk4hcRN+a7WalkykLlI7SYQbS2QrSnp4oVtKB25oKlbk4CTxXmtZ+tCmGYCZqA42y8DKxFZFV2ypDS+ggHCHZ3cCUt3FThE8ZPg9zdc+4m3c7bVDgQ+qySabiA0im14dRIFDFfhfO5Q3Y6tmhAYPwDyjuOHpTXTIBrXyDBfZV8blCuqASLy9hE9xwCx1SLk9zjYA5JabfGlkd9b+u4WwSCK4XeQPI2SoqF5etqLcgSuSRSq+J6ak9UFBatOye47UmuW2MXY/oyNCOXjdLB3II4x/VtrU6C879VyYwUsuBWhhjRTcBWU9RsNuqp9Bj7gD/pTufFiytLz2vcJ8Y1168oxadgSgzNBzkKuiSC3K6QfRkZNVM/C7BaE8oAm7oPBHKdIg1uFctpx9GXZmFeFcjuVBrbudhYQpZGiNBTkSZtCzlHfKVxq6TUkUxHcTZY8KkxDgvJ5PyT2wodQpt5YZDLe1myy3Oi7mOHH2io6zvA6RR8xtwg/+vNLUy4TltF4uc0GaCo/iRPCRGWQTAVlNRGhn4BL+I1Am5OdV/g1ho0ZHFGQEnWHlHzveAT3aN5a4tKwJJYmvcG9n11TMpBurOLUz+K6NT/8/2qNbp5UxkMy4mIItm++MJopWVDqF/n1hZa+RBuC1AcnKrj83pwCQ2den/9Hq6jWdMMOb6+j6nTkrSZ88tNbj/51KoRtzXTFv/75dLvV7wtG7JaXHQ4cgIfc7oqcYyWmDbag0j7n3TMKCh7NbPbFRX5h2TSPiokmSVO0obJ2dEFoPH4roI8+WCN/vRitugNmg33BXvTF1pnHSXcBrHLystQHCZHhKiIuLqLezm/xAwrrSXIGuqeg6i6eiz6bv+LQWz5iv/co6aiP+DbNVQt8RlayA+Hx6QmPHg765tS0QWU/IcCfwJqwSCDxrmikdGguWSzOUlAynFQhG//uVkvK7NRXDAHkDqSv/AD5+DeBRz5cekknmX8Qx5XNs6erlCuLJGfE/UItGABSK241oKcGJc0Bia7WPf2yBFsmi1vktFEA7+/4lPde9nli7CdKaFoI80uPRD73B9lV++wfGvDmBokEuufAHWvTwxKM3UDVTyES1JcKUaCgY8YQxZ27s7Mfn7F4wclwGEU8BBxurYFYrpOIRCOrRd1alY5FmvcfjskW4399M1lPELy9kzmQwoULF81t0LA0UEYtqyWwJfJ7EBPqBNGj7Ig4iLCnxr/3eR1MwZXRfkePiVjWStPpywu7dvMDJdVVpLaPSx5uqeG7cEto62ThM7tES3+ttq7OpYTMUu5xeO/3leFM4fNPfdYOFTgB3S80wlPI2vEeGGBuc0flynIQ7pV/Z63JCdQ+5GOEOl/+M7U= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8ea24f-0c55-4cbf-c38b-08dd5679e72a X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:12.6757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RRiq+4YERGMwiqKIqrNYobkj3frjbQpJDpzrbutSgxl+ANG3pOX2bQQrWnDFnP/zGZqBBVr3OJCutQexbeMCrTxAMPuJXZykOZ5ypToBtswRwLShv0mee0TZ9msVVqI5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 From: Lad Prabhakar In preparation for adding support for the RZ/V2H(P) SoC, where the D-PHY differs from the existing RZ/G2L implementation, introduce a new rzg2l_csi2_info structure. This structure provides function pointers for SoC-specific D-PHY enable and disable operations. Modify rzg2l_csi2_dphy_setting() to use these function pointers instead of calling rzg2l_csi2_dphy_enable() and rzg2l_csi2_dphy_disable() directly. Update the device match table to store the appropriate function pointers for each compatible SoC. This change prepares the driver for future extensions without affecting the current functionality for RZ/G2L. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Moved rzg2l_csi2_info below the definition of the rzg2l_csi2_dphy_enable() function as suggested by LPinchart - Collected tags .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 4ccf7c5ea58b..4aa5d58dde5b 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -107,6 +107,7 @@ struct rzg2l_csi2 { void __iomem *base; struct reset_control *presetn; struct reset_control *cmn_rstb; + const struct rzg2l_csi2_info *info; struct clk *sysclk; struct clk *vclk; unsigned long vclk_rate; @@ -123,6 +124,11 @@ struct rzg2l_csi2 { bool dphy_enabled; }; +struct rzg2l_csi2_info { + int (*dphy_enable)(struct rzg2l_csi2 *csi2); + int (*dphy_disable)(struct rzg2l_csi2 *csi2); +}; + struct rzg2l_csi2_timings { u32 t_init; u32 tclk_miss; @@ -355,14 +361,19 @@ static int rzg2l_csi2_dphy_enable(struct rzg2l_csi2 *csi2) return ret; } +static const struct rzg2l_csi2_info rzg2l_csi2_info = { + .dphy_enable = rzg2l_csi2_dphy_enable, + .dphy_disable = rzg2l_csi2_dphy_disable, +}; + static int rzg2l_csi2_dphy_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 = sd_to_csi2(sd); if (on) - return rzg2l_csi2_dphy_enable(csi2); + return csi2->info->dphy_enable(csi2); - return rzg2l_csi2_dphy_disable(csi2); + return csi2->info->dphy_disable(csi2); } static int rzg2l_csi2_mipi_link_enable(struct rzg2l_csi2 *csi2) @@ -772,6 +783,10 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) if (!csi2) return -ENOMEM; + csi2->info = of_device_get_match_data(dev); + if (!csi2->info) + return dev_err_probe(dev, -EINVAL, "Failed to get OF match data\n"); + csi2->base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(csi2->base)) return PTR_ERR(csi2->base); @@ -891,7 +906,10 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops = { }; static const struct of_device_id rzg2l_csi2_of_table[] = { - { .compatible = "renesas,rzg2l-csi2", }, + { + .compatible = "renesas,rzg2l-csi2", + .data = &rzg2l_csi2_info, + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rzg2l_csi2_of_table); From patchwork Wed Feb 26 15:23:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992670 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011036.outbound.protection.outlook.com [40.107.74.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F318722157E; Wed, 26 Feb 2025 15:26:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583584; cv=fail; b=Ritn1JPEt2RyC42MCgCbq8X8Ga8donk+MSJU7WXtNbQfmd4XdAWPl+S0SYel8y2N06cyOLoPmcep5TB02v1jBVs1MCp3oDja5utq/Djy+rN8hqJxyKWtzvO9sichsaZS9UpEYQ8VgJd7gxGM7Aw3kCBSwoAC9GKy+nxdYJ0p10w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583584; c=relaxed/simple; bh=64UM6fkOuHAU7eNNKixZni2Q8U8k9E1uHxCnW7dmHTU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=DupRsLt7Xd5rtCUqLRLXScf0c8oxgng2FrR0fj3MCx+i8W0AuCEq9XuxBCrAoPFQ5/+JiJfut1gQBWoQhIVB6DT+p3/Cr/BKLbJv//h+UV82Nq+UxGIALjqZcjjYY2S6FmHZ+Jbud+Ne9kon7euzc3xI/vmNcBzKqjeJTIlOxc4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=EYeyCd+H; arc=fail smtp.client-ip=40.107.74.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="EYeyCd+H" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X2xWpweifgIsguF/fiIFHPH+rL8qNr/CJHF3r+X+9el225qOHeBI9rYINjGdOLXk7qZu8L0nts+b+4uzhKq0FrutizOZLp+DjRtVOpK841MaSGBXxW1SBaO7vCoLHqTY0AakUkBFJzDMWJDWK4LRG9nNOxv3z4EaWyy6q6t7+/hthAXe3Qw37YwKaChQopy+oRPTVXQhXS1eWKehfg61V5h8rCjiuO81j8QOA6E2HGbjDWyFsxYW61ynlN8O/ZddwL9MxpMSz8/YcgV2tV4GjG7PwTOfZECLjq3LpQZpyYLNJtA+aqrsZiwR7XkcSoAEKsoLFzneKS6ri5dV5hYDOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fy7n4PKBO6cWSpSVqQV7RaACCwuH//pMEbcPtRekwd4=; b=rsKf5kHcu+LlH+9rqlxUwMHmMcGr/cwiSWI/nJVa1A8YG+lr1TDg0IpzbFkLTWgrNM+CttOuObzY6hSqureu55TQ6o2Q46bDvgwhaGcJ7Lp4Xmw3J8RuDCMGQINT4E3lviOO69d473qlhmUYBwwgXtsXI8WKiP0CXCo1oOpqUS1Y+soq41VdZce39jDgEQuFmWbIokUmfRko3vBx0zWVO0yF6jEGRFehZAmRSLvY+XcwT+0opealbAi7iYIjYUx1vWRghCiNmw0iyxa6ETgy3oOCEhS6WCBpPEagrm+uz4v/dEHGTUtWypIBg0ijjMwRPsMzEilK6UCgx9pKYWp4wA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fy7n4PKBO6cWSpSVqQV7RaACCwuH//pMEbcPtRekwd4=; b=EYeyCd+HjmZE2+dwK4MozKuy1ZEqVviiibXoWkIbHE9O0qeTTIFXS7FkZPtuxlJ+BJ6pOX0jlBtLbgJ7oOHybi63YVLqQEUjP5P9KbMwY8eZ2xtCwmHJ51nN0bBWyyy1Y7Kybc2PLMrzcLu/Yvhbxahkel3juUdgLLnJ3Tc3pDo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:20 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:20 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 09/17] media: rzg2l-cru: csi2: Skip system clock for RZ/V2H(P) SoC Date: Wed, 26 Feb 2025 16:23:33 +0100 Message-ID: <20250226152418.1132337-10-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 244b874d-a5dd-4beb-666a-08dd5679ebb0 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: QgPX2giBjI9N3IIgyW4G9HITv7Y6G5VPHhGFy6Vp8nGKIkv9R//wwnx12aVcKZPPcULQChFN3L4PFsjEr8B2milcdv0oCapHe0v4+UKPNI3FCTLh1s80rL0h1ZhkclCzBYu83n7qS2+ACfIBPvZq74f3yopsrZA6ybWaSUayUBrO7qWnFcdf1yNdtDGrWhRtlw7x0p7SdMMfQ5aM2yscDUEyWFKZQaex9PHJ0V81AlVahRu+/ZLzDH5EHEQP+sry4rfjiVaoFcStO0bE4vv+G3YshjtY+KTBKDOUpbKcl4d6GDoEbcdQu0XEcTXWXBuwdue5uVuEC6E4zpv2IrFudDhwLCQrSQLxbbTwKAF/tYYLhCAoSC2s7G6N5qF2XreEci4KrsNDX3bN37tobUz8E8iT107F2tecYQKKxrmKOJx94miYjlgl2ILqZrAQLKYYqVo3nxLRQHpkgkeJI99FaWgqqZkDUkf1fG9lJz4dv/nYS9AxwH2Ziogfz+MrZML5VfO6V216YD7A9Co5Vy7Wc7RaEAIqzK6YB0+ElSB6YfabYHOWCDW5r2dMWSk+RP0Vf20Ti5MUSIXmYVrdNKvJaRhMiQrp2QiHT/DoHQT2azF7yiG7GV/w8hTml/d4O1aQYh9Nwwyu3c8iavJ6T+7ROMCZzI75KuvPOaz2T1OVpalX07m53ZB4aOfjgj3ghEHHsrQPTpDqSRbOlDh4eFgN3OTIvdfPRct0dFWoDtaOlLbYJVd0+NzedNzEHkiOGJ1d4ieNiuMbZ94Ewx+JBtwBa37fx7HxeIb2SgitFHr3kLOM0O6Z13OQrCEwLFA/AVRcaKq0w+u4Szlhf569BHdtlw/A/xPMQF9M0AP3o7TAif4DpK6R3e8eUYMKnyb1xZJuK36yxeO2UeZVpHOo1tyfL5WccD/WIvLq+6hak9dFA2MyxZ0mNCVuQ4xcuSs4dn9aDQav2EuhZ1M4Sd0vJx0od31p+ydHp9t4NxmB2Ca5A7cHG6sGYhClPBj8JurKFH0onASY/KMYew7xQ7OnL7eOuvFwJBIjLzY4nPJyhyY9c8h326TIBt/YMVZza5s3pDSplllGbTUPFu+Zu48STo00zpAFdK8NzwyZyKO/nu5z3y5QsQPbiICYZ1gpizQD5JbTiq1/xbAhnm92v7nFr8sYCzySkJj3GiTagOP2R4hbgpMCEAhb3cShJ5FygOT/e45BAI3FsMZPGzJNjeLQum3E6vOIzqcr6X5ogCjniuyT2uC2012cUIms0a1oI8YZUWJpCIQzWIPHOkeui3PY1rJcr08uvA9Uop1zTlQF275EITuFLPKMfuGdE4pSdxgB2n/XoQ+4DBpJUS4ZKBVtBafX0Q9HqNo8IbOyYyHu6zby9Uz+MGaSPu4eFrxfVIKiv/OZ747WCItWL6hL7vG4BnJpZhlSuw4x0Kd9RWebN1qRka6TxU0PTiXhjZ9VKyhw7uu2 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: H92LdeRIH5mXvmEE9kb0zGq+CmcWF6iG5PZviCFbbjCzHiHoIvmMgyrW/2YYEscLl6CfaVrgZFw+9Y06VrpOq+RSDT5NYBY2IEaMkV3zulzn5qmqQjrMhN+Q3z+U7oqknMEk/rkTCuSEz3uUUQuDhIT0qSqZVK2kaM2pz8RGZHwrw0GbCdwrVMvkF9S+Rw8lOAzHrzI/K+O2xDCoyaN+NJe+zaaX7uUZ4hZwAVcOUee/OzoQn8MACXgKGgzaQakSX0RSMpfRoUijWiO7VXoCbrEk+OBjZcb0QWlgGCOGCps5mneNGr8Hii0xPBNuGXVH9fg+8TZLsQ+yEhZucZ1MddMC7bh2Ns9BuYOgg069E1/XKDdTMAwJIjHwTbEYxh9PQ+4d76eeQ9vbBZn5z0uGAYK+60pCrS4Vh1wMU41M0bp2KEQiIVKHkQOdYt7ZFnil/XBVG29+iYVxsokS7QNCMk71x3FMjDABOEYGjs5SrLrn55+2m9nquDDDESvNBMDLfSOfvvxyY5yNLCTFobU9M+i7hQThPfvoq/N+gwFpJYlF+vPtS2HhvXu9UtCmPzCD1ff/UcJuE7JOfBjhekX7hB1LbZemZGNVSgVq2nyJm/pJ91BYyoHFesO6v/SwzEGf+qI1x3m1ro0LkqDNr1jeojLWmXia6IVpbgfEh/oW2whRIWixUyIzACtp6Eu55hWjTKsXU8S5FqDPZLovenDD/6cB1DIQMTbzzDwK2cjMwtl0lwGtR9qCaBdHMUnnYYcLhWPw+0ubiWYRdxZtMes8xGHrDmGySCPlQBiL9qEouYIeOl0A5UDGbi1Tm9vlpTcVKo+gHOew3AL7HOe20bHDcfjZucv47gf0j4Ca3ABqTtTyPjLhZwCLOPIHQfRdnMyyRTP6ZDnXYa11p74yiRo24aS2mEDGBe1XjXjBeLVyk34Ek7Q9N8XnLMXRTSyeoSpM19kcZ+lGI2f0AFIvstLOOT0VgP6urzwsTkRK+jmF7FG/B2qt6/+FSdu3P/TPtzNXveH5Z9oYNGeH8Q3102xAj5hK6GeTgrABf2Q9bW/px5M4G7l7UaiBm88fNgNrGvJ7TlnZa8DTd0cTbNZYztSUwWEesqoyxuX6MhdQh+qEXoIElqkzvgYc6mSD5R4wZeAd1kLzQ5l7cqfznuU3+KRRFZ2Ma7JcTYGKgAvhovCvSEDNv5WUN/tb5mqlJoBK1Ho00woiZzCvYq0a6SGGygwBWID+V3lrpj4hvBBD5LhhUmyb/mx03InZ+1NDmLj9LkXANmHR7LkhlRbGSNR2HxxlDGDogr1JpoHvLJfFgCzQ0y0R40ck2Tth4vjYCm3ZBixW6rFfdxl+1ZGtnG1mWAIVzqv19OD4CsRAg3mVK1kpo7SmRZLJbzluqcYrLzJ4EnBuYtaHRpz4F+SPYkIfJ+5byY20gcJ/2d7dyDB27FRMYxbHpV7u1gZLU6RCm9feMYzjOZIBogFpUNzrJeZMUMaKjJpOtB77+E2ezqfmh3W/jh4Q7F1mfH9Om4+0zv+PRAITOoBa39vnOklCvRm8O5sOALX10er1aGL8LKOVMnb1GaPHtGaBxsb0/CzfDxZawh0nwqK150ccCYYV2VmbRpGkG8bHXg2fnLMYxxgB0htObf0= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 244b874d-a5dd-4beb-666a-08dd5679ebb0 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:20.5009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qF1SeyMOn1ZRqik/MB8yDlAne7N10Y0mh77KK1+WUsBWQGRr52lvjiURLBrJGHG7NyEfie6aPIt+cmp2Cq8AaQOsXpaCQINgKAusnKk17Co5OtUe4Fppokbic3KfwhqJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 The RZ/V2H(P) SoC does not require a `system` clock for the CSI-2 interface. To accommodate this, introduce a `has_system_clk` bool flag in the `rzg2l_csi2_info` structure and update the rzg2l_csi2_probe() to conditionally request the clock only when needed. This patch is in preparation for adding support for RZ/V2H(P) SoC. Signed-off-by: Tommaso Merciai --- Changes since v2: - Added has_system_clk bool flag to the rzg2l_csi2_info structure to handle case where system clock is not required as suggested by LPinchart. - Fixed commit body and msg .../media/platform/renesas/rzg2l-cru/rzg2l-csi2.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index 4aa5d58dde5b..e4781105eadc 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -127,6 +127,7 @@ struct rzg2l_csi2 { struct rzg2l_csi2_info { int (*dphy_enable)(struct rzg2l_csi2 *csi2); int (*dphy_disable)(struct rzg2l_csi2 *csi2); + bool has_system_clk; }; struct rzg2l_csi2_timings { @@ -364,6 +365,7 @@ static int rzg2l_csi2_dphy_enable(struct rzg2l_csi2 *csi2) static const struct rzg2l_csi2_info rzg2l_csi2_info = { .dphy_enable = rzg2l_csi2_dphy_enable, .dphy_disable = rzg2l_csi2_dphy_disable, + .has_system_clk = true, }; static int rzg2l_csi2_dphy_setting(struct v4l2_subdev *sd, bool on) @@ -801,10 +803,12 @@ static int rzg2l_csi2_probe(struct platform_device *pdev) return dev_err_probe(dev, PTR_ERR(csi2->presetn), "Failed to get cpg presetn\n"); - csi2->sysclk = devm_clk_get(dev, "system"); - if (IS_ERR(csi2->sysclk)) - return dev_err_probe(dev, PTR_ERR(csi2->sysclk), - "Failed to get system clk\n"); + if (csi2->info->has_system_clk) { + csi2->sysclk = devm_clk_get(dev, "system"); + if (IS_ERR(csi2->sysclk)) + return dev_err_probe(dev, PTR_ERR(csi2->sysclk), + "Failed to get system clk\n"); + } csi2->vclk = devm_clk_get(dev, "video"); if (IS_ERR(csi2->vclk)) From patchwork Wed Feb 26 15:23:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992671 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011018.outbound.protection.outlook.com [40.107.74.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A014A22157E; Wed, 26 Feb 2025 15:26:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583592; cv=fail; b=mNTF3rucmRcoZbzicE8XBzFkEHXN0vbjHgQDxx5ecRefjLrLLveLimVzzga489j9y5uTjARCrJ3TrvVA+/Y1XtMgCpKUBrmA0FSkXYT6mDQIZfvxTiv/+mmHb2JxS3lxZDiA5Z+hbtrYkRBC35CC9LG4Jxo0aJFvxiDt0D0PCs8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583592; c=relaxed/simple; bh=s0LbwMd+yNOrDuaI69BkfWNoj6IZMmF36hfugARTaZw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BwEC6qI1e2yXiPd83zBxbO7LltTXJU94gRJ4vgKTRZHSWcMGBr8cXEiDpq6kqxM16KtsokzpZpAuoU49+Uak9wCiSv/taUyW2YAgT8AqjQ7s8IwGL8OGOuvYBrF0/7kuCcOiSpgBvxsx7CtNZtqswnfK9Yif2tYFTVO1goyXWRE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=cxagoxV9; arc=fail smtp.client-ip=40.107.74.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="cxagoxV9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Hnzq6pBDSlMxZKBDtOdKqJ4m7Ww9DHSKGB5tFuD7MIYz3ezk6XKLcmisKk3/FRRpQ2aPdxWWcwjeFwrk1myv2OG5lUtQ8YbwEqQY2lJV5JHLRdlzHJBcm+eX0X18gvSU+eLrDNS+zg9sgPn/dxLFeoJCZxSP60A2yf85CL1dDuFcGLiZ+qGD1NlNlqWsGaCSoS7KISQAaf1wFsdqw6mnZscJ7zJacW7bMTMBU+22AV9J+qZBaQwLVzcFcekgZzr4EUVtfKq359EPq4T3TIvjxQOPhffqIO6tJ1E17oh+kFjkahW0nD+US6/DfHGjNlReAFzt3GoNqNKEa8ULln0W/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hlfJa5bXaEV/JpIyOlesXVZosJEKUGMLaFI88fiQ4fw=; b=rkTb58u5UxZpfgTl5Vv8tk6VT6Wc1mfI7y3O3db24FfoXcdBw0anQKN+N834AKO08jK06Xuc6xamRznZiElkCwIHMpGigacEOHXqeSouJ7jG9DPZRMIqdExS5V3gDp+rZgPg58pyO9y0uIPGdw+6ebKl8ujRiD2fxTo0LxWxhvP6QUCKh1GSy1SkrPCiOmb2N0bEMn67CRKqdYICZ8LiPzFp8QDDjI3ZCq7Ue2UZeA91T8rLSmg0s92QxiAF0f8hWRfB8y/L2Ri2FwqDNBqvc6pxwXRzyHwQbfaBgA2GxGe60yOWBgiJvbvha7wBOel0uxdaGnHzEpIbulXz/WPGkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hlfJa5bXaEV/JpIyOlesXVZosJEKUGMLaFI88fiQ4fw=; b=cxagoxV98jfWT7yE6z1OztgPFCPd+OnE/s5H0QuEdM3HvQ5Pv+BGn2Jxe/mKGafIgZ3AyJrHvuhso2CEpNjNoupjGkATsHIq/eqSK6rI3JuOUDH0cS4WCdrzjPU7Jy/fcoAn2IIVJdLs8QfEjzB6cC0eKW8sniWJxmxA+N8/UOo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:28 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:28 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 10/17] media: rzg2l-cru: csi2: Add support for RZ/V2H(P) SoC Date: Wed, 26 Feb 2025 16:23:34 +0100 Message-ID: <20250226152418.1132337-11-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e904416-9cd9-4b93-2b0c-08dd5679f09d X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: 28HxLzqac9GKwDrnXxIA3DMddAuuPiW+t+DL/bCSeQuJIh0+YKQtwjGw0hZX0NzEIKw/ul7fh7UZ9Jk1/zIalP5Ih5wMrDQGgiQx7sYrrE7rRjDKE3vjQF3E8VqowV9rb3Wit3IvKeGZzHPI+/GSDujxWeYZZLDY/mDNMKoBH9shGP2HL/h8dO/msnhrwBBpQ7g8NCbhAjJd0FgH3MNNZjEIONXSLMXFFRIgVjjfik80WPRjBsbl4KAZhMJcFoHYXNnBz8oV5gTPLPLCgkcL0Qgcbj35LUwcFWFdaThSvPRLthF0wTLdED4MIi3CVhrTs/MGAleT8Wb/Gmpa3ffeS/YRnwbpHpVo+fBK97ww4Kk1hK5D0zxy3Y6vZgzLSZZAICZqvRE92QSUoFjOyV3p8gEMgjr01lk+Lwm8jJNVHIwGymC4rBISlToOP17DJ+iQ1RUNIkrfhEl5W6FqzHy9sTI7mplyfkz/IyMKm3fL/D/2GG4DKRqCOffomYd8rVV5rm0tEneW4zPMDaEdDS4qd+Nqw5x03YQo1AMjRTMWlw9cL4MBMjw6bLm+qFG/e4kH/3Tg7g1tu8jJzjaIuyjpLcUs4mmWWubC2I1pQtBR785If0ou3pICFNN6HT0OOc0MUKdAU2x+8dsX3Lt/bEZopiKGtwnGVGhM3Tmez25RhwKZYKMFqckuOXR3rFMUxz27sVGosZBd7nsI7BhJpdfdfoj4bO/slgufPYTR2koYOYLdJNO+4Kqv0QPrFi9tnSfqUeo0QKsO2v1+2P2QtU0nZ5qkmqKix7IEnUIjL5QahMuQzBC9ihdNVibDBtM1tsMvGuJd8nnbSECWPguMCO8E/uFUBqDurv3Kg6mDCJaognV+/h/pGsOAwuEQSHwJSL0Mxnus5e5PuziwUHlA5bfeeIpnBgGXg07xAWJANYaG08p7ckSxENX96FxzcoJAQgOtmjeGQsnuZKL5FohTtIAz5vkXE4vDLVagQFUrQbbc9+D3V5NoqRdm57YHQ94Sar6/u1QF4svAxifq5NAIb4IbedLaTq5ZL5/56wQELoqFyAfZsDicIvDGoe5Puheb71ZNkgSaJi8NdnLEVNG4+13ZwoQmcllHFwrJg2nTMdq0eye0IbzeyscIRStdyJpix/V61c+KE0DGlVGAawCpH8LBNZ4iS8Qa87lnZxIBBHhhbEezv7Y2UERY8C3MUrd9xuWkzgwe/MdQPhuqR92HAurBHJklHHPiPMyIDH0NiNTZcg0re32+5+4VfTXlfbkQbsw/UbrF5lU2FoVnc+JuBooK8eGJ6YF0EogR23fbFKILXdcZhRnvvO52LY6holIfsxXR2lTo68TIpx0+lw1V0Ya4DqGCUYhmXMNfXfwZRdZb3TNbvuNNDIpJPz9JNkEb4hppRuVjL8swOMhJLIN6GTIneQSS7sMFim5zJF11SlmGmPjRo8bhEPLOrdM/uNqM4h3E X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lRt/p3u9wd1W+vWPOy9/7LGaL6erjv1Ii597oZ04Av/2TqFNjXSqPdtCXvI47achFzkziM4zETIKcX0ZezpHotmnqZ5IUKSgXDg6YXj+Gq1Tda0Y4O6Y13u4p5oucIOAraCv26+Lr0o7qbpMHqp/6iZTKVPUtzP5ebbP5q+olLrkQM6j/r8nkJS/0sn8sk1tMwpIrGHA/odEk4UyrzGSaOVKvg/f/OwWjOtzuREFau8pxEDnyTl1AhBeWQIzDyC0BdWvCUadT53VzDpM/n0FAdHIVELzxmQa8vQ3ahrELG62sFK7u+Ow+LVsvys1lvyb2Gch7bsI9WI5KQBhp4mZeHOoP6FafevABvLEakP4orTTeUlJ5xKHmXpfJKn1eeutfED6207tQ1xVcOL3Rk0GoIsCJ+GuJ0GlI8kH5TomhswGybd9yrR3D5+8Bm/zOAeEdSKi71KkaWCGDn459ghDRpHQJ6TT6CJ2PGI2u5ZPZZd5gEyuMnC+c7LCM/GTZUvIBlNC8x0TfBFVn+j19l6dZGxiUTppiFzU5vrhFYyEqUHR+rOsZXbuyuhS3ir8/oO28OvaSeExbdS9gycvLP8Ao2nl3pTtRhS149RlotbRr4kQtw/CfFYICy6s7gsly5HE5brWs71ZggO7Vqf1TGwF3uhwtsO98j8M+jRmhBpTNUUpdosb+NqU2MVnurV/4sPd4QLCDRzAREGH61zk5BCneL9ub8Xv/7WMlth58AYFrA/VXxB3BWZzKqrYvs9yfmDVZNbB+CdN+nkRNg/bQSjS97PyEu9Hc+rBH1PJagfEu8l5uE7OJDI5qGDlwlRix1uenxJf9pFdvfEFvGMh78jX1ZMMvNV6owMJhfcmEif5Y+FPdXm2zNmDqzPv9/H3geKrmke7D0IIBtdFXPE/SROjzK/mzf7y4rdCqJTxLPTe6s6ZQlJX8luzupdPsfr1VnhSYUqeQWcvjZHF/98Bu5LCbGpWkoZCSSCbjtK3Po0r6JVgIR5vh/XSrJRkXnTMo1ZZp1uVyCDPw2dXDxa3j3LvmZlPw+R2umfnZxcyFWQUEjYVflaQqm9MGrgqvsI87VcQ3v2xdteHcbekrdkXXLmshAwfBWCT3gys6wT8CA3rsh53dR6NdRybLdUSWviTK0cYMvIc3ApAlGZ9I6u05AHfq50CCKPry83qYGibdVtbVRrwyV6unqPB1FL8IKe3TY46x56x/GMr2Jxgc5yzPWcCpdQUlARaHVxK8G7DJS+iJMX81Q1Ph+WmrCHLL6ynvPiwPVVvHWP7WA35i1yHD98HqEUCDWRFUrL3wo5czDnibvOL5Wc6O+crC4FjAi/rLadVBSeCeMYMDKLP/DCTKggKaCyJlCdgCpyGYZp1ugK47FMUXI/lv6PnRYhSJoIoMwtI6EaBmHU5QOKo2sZUI12UBG8nIoUG6wNs9T7qFIGTaW2KHB7yKmNFz9ZJcZANFBdXvEXzljyJ6NB3KHWZ1jngoNyGLVO+gSuS96u6ToLZtqpmPX3e4BEIhBkIkN6osVfc3/I4nnwno544FKjvoseIatNCCmVvu//lIi/SKhFtJZu4llXEQkTA7QUsW6sH1AhVvgK3XVcMPrDvMVQrHnmE5CBjSLFbkisDwvoIu2kR36I= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e904416-9cd9-4b93-2b0c-08dd5679f09d X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:28.7613 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: V3GgfXbKeQYDtzSu3ZAhAEoORNAv4+Bkwe8nZatHD3YmTmasnCZQW5BIz6w3+guFwAQO1MkGvIwErNBf7N/nclPL6TjUzQPGXMIWfmks+i/LdcMBgScT0Es99EqFoKvP X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 From: Lad Prabhakar The D-PHY on the RZ/V2H(P) SoC is different from the D-PHY on the RZ/G2L SoC. To handle this difference, function pointers for D-PHY enable/disable have been added, and the `struct rzg2l_csi2_info` pointer is passed as OF data. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Moved CRUm_SWAPCTL write of rzv2h_csi2_dphy_enable function under the error check as suggested by LPinchart. - Moved rzv2h_csi2_info after rzv2h_csi2_dphy_enable() as suggested by LPinchart - Collected tag. .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c index e4781105eadc..9243306e2aa9 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c @@ -85,6 +85,15 @@ CSIDPHYSKW0_UTIL_DL2_SKW_ADJ(1) | \ CSIDPHYSKW0_UTIL_DL3_SKW_ADJ(1)) +/* DPHY registers on RZ/V2H(P) SoC */ +#define CRUm_S_TIMCTL 0x41c +#define CRUm_S_TIMCTL_S_HSSETTLECTL(x) ((x) << 8) + +#define CRUm_S_DPHYCTL_MSB 0x434 +#define CRUm_S_DPHYCTL_MSB_DESKEW BIT(1) + +#define CRUm_SWAPCTL 0x438 + #define VSRSTS_RETRIES 20 #define RZG2L_CSI2_MIN_WIDTH 320 @@ -140,6 +149,30 @@ struct rzg2l_csi2_timings { u32 max_hsfreq; }; +struct rzv2h_csi2_s_hssettlectl { + unsigned int hsfreq; + u16 s_hssettlectl; +}; + +static const struct rzv2h_csi2_s_hssettlectl rzv2h_s_hssettlectl[] = { + { 90, 1 }, { 130, 2 }, { 180, 3 }, + { 220, 4 }, { 270, 5 }, { 310, 6 }, + { 360, 7 }, { 400, 8 }, { 450, 9 }, + { 490, 10 }, { 540, 11 }, { 580, 12 }, + { 630, 13 }, { 670, 14 }, { 720, 15 }, + { 760, 16 }, { 810, 17 }, { 850, 18 }, + { 900, 19 }, { 940, 20 }, { 990, 21 }, + { 1030, 22 }, { 1080, 23 }, { 1120, 24 }, + { 1170, 25 }, { 1220, 26 }, { 1260, 27 }, + { 1310, 28 }, { 1350, 29 }, { 1400, 30 }, + { 1440, 31 }, { 1490, 32 }, { 1530, 33 }, + { 1580, 34 }, { 1620, 35 }, { 1670, 36 }, + { 1710, 37 }, { 1760, 38 }, { 1800, 39 }, + { 1850, 40 }, { 1890, 41 }, { 1940, 42 }, + { 1980, 43 }, { 2030, 44 }, { 2070, 45 }, + { 2100, 46 }, +}; + static const struct rzg2l_csi2_timings rzg2l_csi2_global_timings[] = { { .max_hsfreq = 80, @@ -434,6 +467,64 @@ static int rzg2l_csi2_mipi_link_disable(struct rzg2l_csi2 *csi2) return 0; } +static int rzv2h_csi2_dphy_disable(struct rzg2l_csi2 *csi2) +{ + int ret; + + /* Reset the CRU (D-PHY) */ + ret = reset_control_assert(csi2->cmn_rstb); + if (ret) + return ret; + + csi2->dphy_enabled = false; + + return 0; +} + +static int rzv2h_csi2_dphy_enable(struct rzg2l_csi2 *csi2) +{ + unsigned int i; + u16 hssettle; + int mbps; + + mbps = rzg2l_csi2_calc_mbps(csi2); + if (mbps < 0) + return mbps; + + csi2->hsfreq = mbps; + + for (i = 0; i < ARRAY_SIZE(rzv2h_s_hssettlectl); i++) { + if (csi2->hsfreq <= rzv2h_s_hssettlectl[i].hsfreq) + break; + } + + if (i == ARRAY_SIZE(rzv2h_s_hssettlectl)) + return -EINVAL; + + rzg2l_csi2_write(csi2, CRUm_SWAPCTL, 0); + + hssettle = rzv2h_s_hssettlectl[i].s_hssettlectl; + rzg2l_csi2_write(csi2, CRUm_S_TIMCTL, + CRUm_S_TIMCTL_S_HSSETTLECTL(hssettle)); + + if (csi2->hsfreq > 1500) + rzg2l_csi2_set(csi2, CRUm_S_DPHYCTL_MSB, + CRUm_S_DPHYCTL_MSB_DESKEW); + else + rzg2l_csi2_clr(csi2, CRUm_S_DPHYCTL_MSB, + CRUm_S_DPHYCTL_MSB_DESKEW); + + csi2->dphy_enabled = true; + + return 0; +} + +static const struct rzg2l_csi2_info rzv2h_csi2_info = { + .dphy_enable = rzv2h_csi2_dphy_enable, + .dphy_disable = rzv2h_csi2_dphy_disable, + .has_system_clk = false, +}; + static int rzg2l_csi2_mipi_link_setting(struct v4l2_subdev *sd, bool on) { struct rzg2l_csi2 *csi2 = sd_to_csi2(sd); @@ -910,6 +1001,10 @@ static const struct dev_pm_ops rzg2l_csi2_pm_ops = { }; static const struct of_device_id rzg2l_csi2_of_table[] = { + { + .compatible = "renesas,r9a09g057-csi2", + .data = &rzv2h_csi2_info, + }, { .compatible = "renesas,rzg2l-csi2", .data = &rzg2l_csi2_info, From patchwork Wed Feb 26 15:23:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992672 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011051.outbound.protection.outlook.com [40.107.74.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 362E922F151; Wed, 26 Feb 2025 15:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583605; cv=fail; b=kqHzgOgx0YewMTv0nYfba4IEkMB2Fq1BC5kXNCD/H+s3dX8oO9wz3rpb0tYYSIEGC1TGezOCw3tn2ZYdGcm2xqwe1TU13bEKox+qZ9AOYmn34OYQUCifl0OYp27pOu2kDW+RXcn5Vv1PKZcP01NH0886RfXkNQMLm8HZvA5alGc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583605; c=relaxed/simple; bh=RF13DkM6Q9CQ/7QlEkmWIR4ZREIFuwHvU3wNJOpyi+Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=juCkanefgfnKjtUoKeZ16/vkXR2hPaHuFQpzhU39oh5zU0cetAdouDELg7r2hBPRFYVDSnfKoMFJUPa5mEfL6BtYul+sunwYCW+KqPygU1+Oygmdi5eu7+u/MD7tMXo2cuBPsKznXk7km/AT/LNqH3h80gBI8JkgSHxZBKHkbfQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=dktQMrsC; arc=fail smtp.client-ip=40.107.74.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="dktQMrsC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MI71DpNgiJMapW/G8Upuji4mqoGLTmu8HyyhZKSboiveINLO3M7Ol1tsxcMYY2oII0fMjEf2qM1iIRZ89Cm7wJ9uyKLAHXu8QXZ2rfKqqb5/SLAER48c3uI6tJgDecw9jm3hq/gOarhj40MdLI0Up00tJKp2HSJ6h8VQfx0k7weUnebCN0cjztWPTkkPhaIn/t6o+y88AfD8KC070yJgatm+pUfJWwatCJqljdvvD1ve0epOPxtDw9glcFtsRFeldmqzr+Ey4xuiar9nh/aG7QzWirwK3cT4CQxrIRKFMYB/YBVhdUHjmc4q8tZf+tsf7BKlQ1OiQGncZcyNy7kQKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XLKpxNsBF5xTXAIuDGy5THwATi5YWhLTwHjytEbsHYE=; b=kqxwnpyGYQGtkoepSsEf7ul3yZGXGm2/gd6Y3GZrUtcrwhWyLo9WsxmHnZ1Fc9+UrOi1OgB4AjUDMV0VwDDUPeDBkp6+iD3QjtMB7pooppiT1eWiF/WvzoZ9QL51Xk+Bg51a4K1/JncQhFSfr4WxiIY+8DWgieKPKO/BzQypAROmvWYFBlaFr4IF6IRc8hRVMpAwmJYmnLFwZXdAAqGYUnuE9X4/ppR05HomHL4XxD1nhg6ArRX9BC6ncGjSyAjwEOcypGO7q91Y6c3E47hIDkljQXs+kJs2cyDqCZO0KDk5e3jWW/U51pxSNzNYD2ZHG3QfUDtxNFyFzALYN0Qydw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XLKpxNsBF5xTXAIuDGy5THwATi5YWhLTwHjytEbsHYE=; b=dktQMrsC8vr7LxB4KSBhCXH/NJElmuC6vd6ug/Twk5huJM1ZvVM4gLY+yWQ8JxZDo79T4oZv6hikg+OkV5s0iLgxIzFIqplcyyT4Za/C78wnRWoB8k3Wzn9BT3A5P4BR8T/YK24yYI/ytwFoN3z5KlLm5/2clSAtruvIHdGu8lU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:41 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:41 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 11/17] media: rzg2l-cru: Add register mapping support Date: Wed, 26 Feb 2025 16:23:35 +0100 Message-ID: <20250226152418.1132337-12-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: bd337df9-ca19-4366-a8d6-08dd5679f7ff X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: qdHbrnnJ7yNVOBnhTis/V8+QUpKpDFAdpMhFnicquEEkNbhTmaoZk1yCA7T1I6o4JSojThr3GWf2peOqxi+3/ujfCCPgYnAB7FuAPF9v33+uxfmRiL951Xx8j7gbEJGOXMwDFV1d7Ywf7xIMHOWpWhDIO9MCDX1iTCG3KH4JQTS/el2+SJZNuaYdfJhLrSEHSfrk3f+4Nf+CYri+GavJ8FZIhZEUu3Wg6Dc9tTNHBl5bHQeoQZrpr4RW7/Z8lHpNnC23rsFOcb1T80ZtU0SQlwdnYYUEpInf2VcwR06yzZMMPDkZwnGespp4/XKolzcdKI92MgYvLu3Y38RZfQQno2vH45zxgTUURK8Pl/rvM4hjPgexSqfnhxacoHy/J3euoD9IbuaUaBbiYy3jgJIPpFQzewMDPT2gdfw2Hte2FAXbJH3FfPyXBP7yzibmwJrbWdGAH7YPd1ly4RUhBcpxdSWNkdQoKrcbfgY7q2sKe22qNf4KzXEbsCAjgzEkiahkvpgqO/Zv3JBJSxpgttijdJ4NtbNO6eGlIyOYpcKvLboWxWleh8bahWgqYFPNdLvo4C/H87shprXoWOVvbPHKI8v7NzWd3mVYFaXHbA824tBZyJ8udOjcxDFPKx+j5NbVGIHTCj2oF3pvGQh+/UnqvuKsMusaHWe984IsivjnaSjDXLaNtG5eFi5P5Ss/fVb7srGw0OyiB8lScOZlkUQ0Np2GwCXBupDnexTowgdB3HXLLzv6Wkll76sinkGjupb9ZO6LJf21g6IA0BjMPdgNkxJJpfaVG75rtG4eW/drergFHRYY5AMY6KvQIBf7pFWqPIaAud88Aj/wG6t7/z7yiM4wLDx4zrs7FANjyslxYC4rdhemZ6KDo+zfW5AOOOxwFdBHG5J4zbP6JNdThKXJH29GthwKPafpF7iRX0P8jNOgIwVPOFTHNibVlW7UnX9otG3lojDozg0DveKRkHUDQ7CK0zlx98Tsbj2hE2tSAZ8E03IjXH5wPw6YjbB+nnfL2rJTuRp/VTEz+AnPJBjW0QV7V3BoJoDA40RNkDq79gSZtt43G4UgFWBlnjwKkbcQ+iBU09vW5HrTHHblmXXPeY57o5iSNh2Ok4a21aVtkPG/6MRpVkhI7X+AFSxFkh9nficAdtmI6N36FjWERJ2QIjPye/VE4B+z1hBVbFe2/fVVbBeHO5f7Bs2zBHxRfr4RfIH67IbBikSCSEBuv/7GGc1EPXw6rNBQbY+nLb4GKqTgVaKBp5z86Og/hImE3A2zYK22nxOpwaC/xt3/s3wMxm0wVrZAmbNZ65HoGnL1fLiPfXw+h8PsKG6bx/Tr1rRweQGKqU9x8Cbg3n/bYrf3NulqJQe866OR4XT58IYx7qpZQZlfT9L1xNueu32yEulFEPEd1keOkQ/gC3ncRcJNGth9BkUIkPzTxxLBg94+XdYXcRfeKMXxH9tStcEZu3EL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: toQE/AE4WyZdFXO8ZA7pURSMhfSb1huhZalcnFMvdPhESTm9hJbMxWcsPm0vOR7FWmIBmoDwfMfOv3ZM3VFlRsIMCS+1YXpAoHO/21JAGQVYyPIVTxW5CHhvbrsFsRf8m3k4t16EB44kTkWFbtPO4zrLavfUQRUNQwb26015KdXrBnA9Kp0ytX2bi+/cjEVaRJcaosk3lVuZJtz4X7z1oU/zL2h/Yg1Ezu0NLI77aWNjdoJLCRfDx5eA7raj25wyFIetGMvUtzgRzV0j5ev5ptlVblrK9DIY7rWRhTmcYWVmqXwLnqVuKcIpCtLP0QV+jyMegk7KDdsWtN6Wldl1HWVDgO5JYqP8iG/zFAAl6lRJBJ9u+UFZJ90VlhiR5BrWryJD2TNuEncT83ElKwTOs+IEQ5ma+1+TvDyxRAsl3Iqe32B+Gx7BPvzDWyXrFXdHYQ2MbNekEj2b2SlPuBGP2wnbAzAuCZUeSzyym66stj0ubICp4gCLMwZD//aYtwy/1X6hbmP1U5o2PqsdtyBd6sxOuPjMUG4S3n8dEJp1kEAEFvNonYz/CzpHkOn9MBO/8aP9at7UWx6Ph3U/F+TXF3bUfij9NMrZR2wbgtL66KJLBsNdN4HEUgBhj1O0jl6ez8nCyNE3rmkMTV1Yh9CiosUGkxrDCXgi2r2LRwxKQsXg21zmdxKpCt5VxDyeAF0pvEWPgkIL1LyQkbXkZ8Np3c/f4+PUqRea3//LNxWNM2MpGarMRhr2EaFql6R1hsuFnTz9vK3IaLWc41hSmGktX08KmGPDoKqHF3IrSJZhdworfiZE1WAk5qJU3ZQmuYigR6YYqkbsrUBl2LVKUgFQpRu2P8D/2RrqrXi1ScXZVH71bxdxZ0emlNg31ICEY6CXqbixn3+Fco3VTCbFZPTgM1OecKPj4n1wA2ccpsx1WFFJiJkHBSijR8N7rjqihzXAca6kCju8eGi/kjsPytv7gLojNZobi3N19q8xwf8VPbU/qPvNiesyd9PYKwYEmbPAIubyAbwcHFQt6q9wat2nYxxZeO6Tv2VWSKGu89IHXuQgu/wuwFHAeIkKhUeE9AsI9W/PmbQtOWKKbgcUpEXeeAEn7FXxnf+5exmce+f9Hwv0V7HNStRNC65o3ygPU9himtaVS6stucEcqEhBueaFynq6cjKPjm0csFDTl0B8nueozLH/YLOBG1JTE+TvKMslZrxjVhFRXJrp7SqeFvmTqHHpHIAfNMEMw0njjg7iDzODOUBW11cnOfjLi1wANJoumaWAYMPMzULvt2QFGfyA0F+qH3UwLkytS+pxWKeNm7r1eBP9B6Xj4E1A1kEgIgWCPIaLW/GCR8ePTW81kk44sZiCh3oJnHtfRmxtSIvGL8oThBCRDeDI0mazydNgEFsla0r6cgB5M67c5ucf6lpkvkd8JRQxxxZFMFvmFO1gM2AGnyYxmBjJO8lv4bTV56wl5SYHpf6U5vOBkSUbgV+Ki/o6Hh9S6aHE5T6atBpNRTR7qLh1bUZU1ydRTCb/Q9cmppOsPGL6V+gb4ED4Vhczh7cvRBk6iWdO0d/EGEGyNaKZRVY6ivByaHL3gK92clcVgi23l2sOmYlOoetxvKJdOkQsHx5R7U4yzJjljLaBC8Q= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd337df9-ca19-4366-a8d6-08dd5679f7ff X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:40.9429 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r7tZGqQMx/7Ris3C8x1l8BxcqxhVCzcUBOeaKYr0SM3z5qP/x/TEBbUbNOHYpL3VFEGpv9Ot1R5rX1ZQE1Gpg3iWzq1+vKppy2HvPKAvOa8zvVWDExrsjY9ZvCDFHPo3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 From: Lad Prabhakar Prepare for adding support for RZ/G3E and RZ/V2HP SoCs, which have a CRU-IP that is mostly identical to RZ/G2L but with different register offsets and additional registers. Introduce a flexible register mapping mechanism to handle these variations. Define the `rzg2l_cru_info` structure to store register mappings and pass it as part of the OF match data. Update the read/write functions to check out-of-bound accesses and use indexed register offsets from `rzg2l_cru_info`, ensuring compatibility across different SoC variants. Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Implemented new rzg2l_cru_write/read() that now are checking out-of-bound accesses as suggested by LPinchart. - Fixed AMnMBxADDRL() and AMnMBxADDRH() as suggested by LPinchart. - Update commit body .../platform/renesas/rzg2l-cru/rzg2l-core.c | 46 ++++++++++++- .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 66 ++++++++++--------- .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 4 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 58 ++++++++++++++-- 4 files changed, 139 insertions(+), 35 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/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..86c320286246 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h @@ -10,71 +10,77 @@ /* HW CRU Registers Definition */ -/* CRU Control Register */ -#define CRUnCTRL 0x0 #define CRUnCTRL_VINSEL(x) ((x) << 0) -/* CRU Interrupt Enable Register */ -#define CRUnIE 0x4 #define CRUnIE_EFE BIT(17) -/* CRU Interrupt Status Register */ -#define CRUnINTS 0x8 #define CRUnINTS_SFS BIT(16) -/* CRU Reset Register */ -#define CRUnRST 0xc #define CRUnRST_VRESETN BIT(0) /* Memory Bank Base Address (Lower) Register for CRU Image Data */ -#define AMnMBxADDRL(x) (0x100 + ((x) * 8)) +#define AMnMBxADDRL(x) (AMnMB1ADDRL + (x) * 2) /* Memory Bank Base Address (Higher) Register for CRU Image Data */ -#define AMnMBxADDRH(x) (0x104 + ((x) * 8)) +#define AMnMBxADDRH(x) (AMnMB1ADDRH + (x) * 2) -/* Memory Bank Enable Register for CRU Image Data */ -#define AMnMBVALID 0x148 #define AMnMBVALID_MBVALID(x) GENMASK(x, 0) -/* Memory Bank Status Register for CRU Image Data */ -#define AMnMBS 0x14c #define AMnMBS_MBSTS 0x7 -/* AXI Master Transfer Setting Register for CRU Image Data */ -#define AMnAXIATTR 0x158 #define AMnAXIATTR_AXILEN_MASK GENMASK(3, 0) #define AMnAXIATTR_AXILEN (0xf) -/* AXI Master FIFO Pointer Register for CRU Image Data */ -#define AMnFIFOPNTR 0x168 #define AMnFIFOPNTR_FIFOWPNTR GENMASK(7, 0) #define AMnFIFOPNTR_FIFORPNTR_Y GENMASK(23, 16) -/* AXI Master Transfer Stop Register for CRU Image Data */ -#define AMnAXISTP 0x174 #define AMnAXISTP_AXI_STOP BIT(0) -/* AXI Master Transfer Stop Status Register for CRU Image Data */ -#define AMnAXISTPACK 0x178 #define AMnAXISTPACK_AXI_STOP_ACK BIT(0) -/* CRU Image Processing Enable Register */ -#define ICnEN 0x200 #define ICnEN_ICEN BIT(0) -/* CRU Image Processing Main Control Register */ -#define ICnMC 0x208 #define ICnMC_CSCTHR BIT(5) #define ICnMC_INF(x) ((x) << 16) #define ICnMC_VCSEL(x) ((x) << 22) #define ICnMC_INF_MASK GENMASK(21, 16) -/* CRU Module Status Register */ -#define ICnMS 0x254 #define ICnMS_IA BIT(2) -/* CRU Data Output Mode Register */ -#define ICnDMR 0x26c #define ICnDMR_YCMODE_UYVY (1 << 4) +enum rzg2l_cru_common_regs { + CRUnCTRL, /* CRU Control */ + CRUnIE, /* CRU Interrupt Enable */ + CRUnINTS, /* CRU Interrupt Status */ + CRUnRST, /* CRU Reset */ + AMnMB1ADDRL, /* Bank 1 Address (Lower) for CRU Image Data */ + AMnMB1ADDRH, /* Bank 1 Address (Higher) for CRU Image Data */ + AMnMB2ADDRL, /* Bank 2 Address (Lower) for CRU Image Data */ + AMnMB2ADDRH, /* Bank 2 Address (Higher) for CRU Image Data */ + AMnMB3ADDRL, /* Bank 3 Address (Lower) for CRU Image Data */ + AMnMB3ADDRH, /* Bank 3 Address (Higher) for CRU Image Data */ + AMnMB4ADDRL, /* Bank 4 Address (Lower) for CRU Image Data */ + AMnMB4ADDRH, /* Bank 4 Address (Higher) for CRU Image Data */ + AMnMB5ADDRL, /* Bank 5 Address (Lower) for CRU Image Data */ + AMnMB5ADDRH, /* Bank 5 Address (Higher) for CRU Image Data */ + AMnMB6ADDRL, /* Bank 6 Address (Lower) for CRU Image Data */ + AMnMB6ADDRH, /* Bank 6 Address (Higher) for CRU Image Data */ + AMnMB7ADDRL, /* Bank 7 Address (Lower) for CRU Image Data */ + AMnMB7ADDRH, /* Bank 7 Address (Higher) for CRU Image Data */ + AMnMB8ADDRL, /* Bank 8 Address (Lower) for CRU Image Data */ + AMnMB8ADDRH, /* Bank 8 Address (Higher) for CRU Image Data */ + AMnMBVALID, /* Memory Bank Enable for CRU Image Data */ + AMnMBS, /* Memory Bank Status for CRU Image Data */ + AMnAXIATTR, /* AXI Master Transfer Setting Register for CRU Image Data */ + AMnFIFOPNTR, /* AXI Master FIFO Pointer for CRU Image Data */ + AMnAXISTP, /* AXI Master Transfer Stop for CRU Image Data */ + AMnAXISTPACK, /* AXI Master Transfer Stop Status for CRU Image Data */ + ICnEN, /* CRU Image Processing Enable */ + ICnMC, /* CRU Image Processing Main Control */ + ICnMS, /* CRU Module Status */ + ICnDMR, /* CRU Data Output Mode */ + RZG2L_CRU_MAX_REG, +}; + #endif /* __RZG2L_CRU_REGS_H__ */ diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h index 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..792f0df51a4b 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -42,16 +42,66 @@ struct rzg2l_cru_buffer { /* ----------------------------------------------------------------------------- * DMA operations */ -static void rzg2l_cru_write(struct rzg2l_cru_dev *cru, u32 offset, u32 value) +static void __rzg2l_cru_write(struct rzg2l_cru_dev *cru, u32 offset, u32 value) { - iowrite32(value, cru->base + offset); + const u16 *regs = cru->info->regs; + + /* + * CRUnCTRL is a first register on all CRU supported SoCs so validate + * rest of the registers have valid offset being set in cru->info->regs. + */ + if (WARN_ON(offset >= RZG2L_CRU_MAX_REG) || + WARN_ON(offset != CRUnCTRL && regs[offset] == 0)) + return; + + iowrite32(value, cru->base + regs[offset]); +} + +static u32 __rzg2l_cru_read(struct rzg2l_cru_dev *cru, u32 offset) +{ + const u16 *regs = cru->info->regs; + + /* + * CRUnCTRL is a first register on all CRU supported SoCs so validate + * rest of the registers have valid offset being set in cru->info->regs. + */ + if (WARN_ON(offset >= RZG2L_CRU_MAX_REG) || + WARN_ON(offset != CRUnCTRL && regs[offset] == 0)) + return 0; + + return ioread32(cru->base + regs[offset]); } -static u32 rzg2l_cru_read(struct rzg2l_cru_dev *cru, u32 offset) +static inline void +__rzg2l_cru_write_constant(struct rzg2l_cru_dev *cru, u32 offset, u32 value) { - return ioread32(cru->base + offset); + const u16 *regs = cru->info->regs; + + BUILD_BUG_ON(offset >= RZG2L_CRU_MAX_REG); + + iowrite32(value, cru->base + regs[offset]); } +static inline u32 +__rzg2l_cru_read_constant(struct rzg2l_cru_dev *cru, u32 offset) +{ + const u16 *regs = cru->info->regs; + + BUILD_BUG_ON(offset >= RZG2L_CRU_MAX_REG); + + return ioread32(cru->base + regs[offset]); +} + +#define rzg2l_cru_write(cru, offset, value) \ + (__builtin_constant_p(offset) ? \ + __rzg2l_cru_write_constant(cru, offset, value) : \ + __rzg2l_cru_write(cru, offset, value)) + +#define rzg2l_cru_read(cru, offset) \ + (__builtin_constant_p(offset) ? \ + __rzg2l_cru_read_constant(cru, offset) : \ + __rzg2l_cru_read(cru, offset)) + /* Need to hold qlock before calling */ static void return_unused_buffers(struct rzg2l_cru_dev *cru, enum vb2_buffer_state state) From patchwork Wed Feb 26 15:23:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992673 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011018.outbound.protection.outlook.com [40.107.74.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF0FA22A4C5; Wed, 26 Feb 2025 15:26:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583615; cv=fail; b=g/+JfUhrv04y0TEySMeOcQic/NZ+PcugRD4vU0wzdAo0qrO2geEuL5ak6J2pqJlOqBfWeG0Wi4bOjRaMnnG5EaKR0mpbQd5xxw0qcCbEqXkTt6MtYxgQC5X/BUbhVEG4Fvf6Q+ulJRc9S9tsopGLA0Xh8XQQHftJ9VbINVqxiG0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583615; c=relaxed/simple; bh=R7e8sBeHKiF4O4mbOmtYo6FhJ/lbF58edsaRTia8At4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ttM98ToxxvzqtWfM9OhkLe72rhGra/1VOnlDJcSRLvNI1n+uCZ2RdxjbJrEblQ9pRjX7I6EBgmEzgt/+st2tyaVPYmvciBIcAr4c1jWmA1bq1qQwL8jp7YoEsxvj7rDJmJznEb7jDfpGyXKkeLoA1UzLTfGXLvuPGWnh4aLxDKs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=DbSdvn2G; arc=fail smtp.client-ip=40.107.74.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="DbSdvn2G" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Sp4hQHbG3M4LSDFR6lYmAPksXwjL1VH/SKg4uC64bChOJMGRlacE9kKOdarzkKigaZ9wOCFfjIdoIiKkJrxgkeejLtMQIk+4FWO/fWgZKXTFrqL4zZWpoQf0i2leBiCIEPIeJrGv6Yc/lZV7CqqMQZgckn08RhHxGO0LOAjWvYyQ1fzFrzlfQSgIL38l6/IMh7PNKyTvyoiws8p6K+IqiPlJ8x6M0XBmBRd+uky1pVy6YY9xZjO2k0zrBPLwU7OIgs85vXgQiHx2QZAndPaH3T1UcErBhBQ0ZXQT54F07jLXKCF2iKn8Iv6cz+OHIXQQea7cxvMWM/nelVTUgZPqFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=15/v3wlFz+7cQaYOHIKZDPeGhO6EtfNUagjuSLzJYj4=; b=HxzvNYglFBTPRjkqX91zNqX9f4sttOXtS7gQdFMvWXX0ot01SaoZsxOzrDH5fYDdJxmy/1AwAM9+zGwEfu9TW3VPA/0ldKHzOiKc1Kub2MP+rgs8eZ5PMmLR4jqpvJNedkPnzFN+XhdVaTfdrhuHn3GsfLqKulCo3EyxuM0X8bEAko5Xh2wZdpj0HQDYFH6dLQZMahs33+z8f5nh/vx5Xbr+Uh4Q+zakdK7GNJrYM3qajXR7U0VHm4A0N3FiUJUrD4bf0vLackkn2o9+SEZLB+fCZzwltgvBR8/ogMr4eYsQLwUqR4L587DtLqIsxZxsRBF2by+hqidBDgt2hPV+DA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=15/v3wlFz+7cQaYOHIKZDPeGhO6EtfNUagjuSLzJYj4=; b=DbSdvn2GYddPAJxKIqhNHylepnf6lUxEJs8oKqil7s6OgdPZvghdoluyUc1nArrq4qxVY0MhSX8d8oW6taI3k4WpwspiWTGm2bigEOhzoemJAydoNMYk3v04spjG06EdqzFpIA0eDyaVZOvyJjJq1VIaImrOIvI3Z/WQN4ExXHA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:26:51 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:26:51 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 12/17] media: rzg2l-cru: Pass resolution limits via OF data Date: Wed, 26 Feb 2025 16:23:36 +0100 Message-ID: <20250226152418.1132337-13-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b85e8ab-4fb7-45ff-e506-08dd5679fe3b X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: 3R3pJp9hlaW78YaATaA8lvMGvwzF61MRmUtDwx4A0hsVYjN14uSAF1Q08quJLKohbO1JdUzYPd3ZXgrj3K/T+t1WdXT2O9gQG94cCzep/iRj2tVoekkdGFQonh5OkjV0umZSr6znHLjqisK2/4iFgYMJ1AUxeF8F6Qu5aIIlziFli4imyran9Ot0Dhtt6TQdtiL47aHK1LJedB0HqSSQxCb5XT565uz4lG6AjC1WKon6nGAEuCs3VgcpBQ7wzffAFC+hv0WK9k1b0BhceFYl3vGIand+0GHbeb2cDWpIxtXwyP4E1fbU3kQezgTqEXZ5I8mjNufCRP7LeBdGevKfnp/qdDhaqAKmDOmeaOFxMkV8XyMJx4RuysPEm/k8F0pDHRZQH1bz+PIO+RxCmbtiZDn7nlqdm/mRGHlFMaRS4YhzYw5RvHqJgHIVy4XQGgi+OFJoIvYE/fCja35z7t3Hyb87pQ9t8q+xO9F3TV8Jas5gzxGqe6ir17dNnbIOHRQ6ekfUod/1nmGkO5rEZVf4Rvg6aN8tjQhPE8gzk2n5VeQ0nOUZFgAX/F4nVR80/dAJbN86W/sb79Bw4RDUtUdkwZXWazkvdRv1IwdON/VtuDr5A7HFKZOCLUNiGLVj+wKJ/Ul9tlry0RbLeyhEHzOccYriegsOwPn3d4tW210KtDEQIZZaJZuAwrXhjFvMmodDlEJ46KV82LOC7wQPy3tiZYvpP1+ZwZtbGCZY5EugNDyZ2nwWnipFKRDgtiaIVCZMLY3HzsEisSQkDiOTVLUTjxYhy+Ow5o6hREzfC3egexS+TIkBPZfNYyfqnT1vL+nLW0aCd1UAcv+oXeoYpiilmUsBVBJab5zm7pbmavYHA9nqKI7ng/rItDnaQaEVIIjvqBzQwHp8DZfH6Xt4PfqZKuU8L0Flu1h3LZzkJOxP5wgxNC6A2h34i6ArEVXy6kC/gbHi2hl7w8qTx/6Z8YXhIAJn/Bcx6Dhoi3QyUL8BtEm5yvlxZBKiRke9Js/NceCHJzQwQXN6Y3RraqKO7m1DNZYam6cV6lfbc9yZPyY0nWGSrJxZ1unyOfjuJzpib1MDt48SdgaXmJKn1UTzKcxEDmzK8W4mpZu26kt4cFMrV+I+DT7vBOztCj4b7N6yNje1QWipKubgMI1ZOILOqAIBcf/sLTiSSSnLBZGDFQlSyphwvA+LxAsXe9nfm4f15OzcZPtJltGQYo6385jW6GSKGLzlCeR22QU4Mkvbp0CLhjhGyokfeviR5Skh3Z2BAbuToco4+haDH5gzRldfjT2vQO5y0PGHw5ktbTgtGUFiP72p+ZjVVITqFt6Of6aVs7vIRMeLgZDV1UNK2N7gftZeBo4QQchZKr8VKSn0JQrjasj23dIl6o+TOlPH98M4IW068KStt6Bi2mMpVwJmyfILKmHkFtf1lqwgbKDaih6S6ziOUlk0A/A0I8xbISB+0uRl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2h/ZrGpi2rk9X2q5vQJUEi2OGqAYhHLpUuyY5VZG+/c7k8bdYDds4F1goNwll2oGI3vut75gSz+hZ948QpB15dYlbgBRQhLJgTQLr2FNgOHvyJquxJnmtoB5JU36ad/5XObOfHxnzvxHOk9o8Nxg0+iVK71OEcWtPj40TCAu+zxR/B2pMk5dBubEuAyQYoGYymqWmq9P2w5V5s2St/Yr30rfKs4pMWk2SXdcVzLIYS6zMH+uoaJPUegAYrcLd2JE+H3glLC3QQyuFq/iHodLJuWcZDX73tOJeVAoNMArchc+mHFlULww0oV6oMRV81+k3WKa9aapPdmqTt2Pg36C87Tfgj0ba95qL5iPuyiCFpt89lsrYx//1lZ2/dGGm27yg3v6nPI5Oowgp0Le68wPEIDMnYaNILVQWCL0U73838kRfn3pYp401XPwYFeL6N+NA45UsYDCJYQXFCIJ0Qho+IfGWuK4tFOUdGyyYVEqHfTglSnUTbwuGcqVEbwoWTJg9EJAmZHR1sD5xIF22JxARREkiC6q4/DFpP9hLVGHIPzI7sZcWWJZDCb0veKH7FTqXLU973c0TanziT5h3NrTOxeL2tucom+hZELKho1kTXat41e/zgXvgWV0B2tFmLwPcEXDL/b3aEWRbhYh43PT5dL0eH4qtsWYWhhwhd2AjfvL0uiqBaFeHvjRLHuCvyfUSt8JnttAO7elNWjbIxJ+jRqONz4fawgSpDlCfEX/eozUmcvOwlcCf8SSSkctUwKifV5zT5z5iYAe2LoYGqUceGYX6KiqXafb/Xgsy/iJ3BQ1D3nWFqtR+DqchXzd9BvGGpbhAkYjO3FeOvf2hVOXGWWfz3Ik94W3mgwnpQXiReYnH9+LOViI+sxYCQBaRMtUnjY22x3F+RyCVSGAcgkDNEySWIOpEoHosdR2Pu1tuDdbijEVRX5MezRhH+9Lh//DZt+nar0YF1ONKg4ymGVynS7v8uXMnlNvDDKxX7IHVy51a0TNwK0exmyOyq7K3aieUCCUomyQZy/J7+UHdCjplB/pYvBOg6BMaVeiy/WPo1A5XOEqvhV2AYjhobvpE10iFo9Xq93D5rg8tdsWxo5cUGY11o750D75EUY6v5VKAiNA8+149PeWm1iWEH3gWcCOVNkZvZ7Jbm/cL+ukQL9gi3p9dTizHMNYKYrcQNaBx5LkuvnCUU7BcIPxrADbsoAqDrdSf1qwLsarZA8tByC8zuPvGpTwB4kmx0RYslAJA4n6mTw1131sAlI9t7QnRjJgRgeBH0C6/18nOmStgrB2HyX54+wpyNlHPgRcy85lyO2nekSvNMCsuy2UvGdsG6qGx2RIUFoqENRmrseTeG7/lF+UFJbF1hLwRNZHYmr29xDUuVcKshZA9t4lMMUxSKZUUbGpipIj/LSv2ojPuO7aPJhXrkaD5tgfwfc4XcON+8FVOtXKy6oVegrqJGavWwpXuO2vWUgRLuKfRUqOFF8Z35+asONiawS3649xziMs/nN1sZP3ukX227khvd6UkFNLD9ZWmzrhQ33jp0sPXmvdQfwURkLJqv4mvbrZ9KQBKC++8MoLdtX85DFssIuqviUuzthSF9pI65FD/r/Ms3WTM0ExV93DztfL+r8jX1XCSKo= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b85e8ab-4fb7-45ff-e506-08dd5679fe3b X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:26:51.6205 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: md+dOmXY+VCY6uexHD9qaNFqQ1Ik9ThVVkdVgTUPxohmG7by9qLaIjqYAeZqL/EFxw3Y3XB+BNwH5Xt5mgxPQkeuftKIqixCnBZOm2KTvCVGX0CdkTjqHZPyPW7hlglY X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 From: Lad Prabhakar Pass `max_width` and `max_height` as part of the OF data to facilitate the addition of support for RZ/G3E and RZ/V2H(P) SoCs. These SoCs have a maximum resolution of 4096x4096 as compared to 2800x4095 on RZ/G2L SoC. This change prepares the driver for easier integration of these SoCs by defining the resolution limits in the `rzg2l_cru_info` structure. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Collected tag. .../media/platform/renesas/rzg2l-cru/rzg2l-core.c | 2 ++ .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 4 ++-- drivers/media/platform/renesas/rzg2l-cru/rzg2l-ip.c | 13 +++++++++---- .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 5 +++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 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 792f0df51a4b..93a105dec8f1 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -736,6 +736,7 @@ int rzg2l_cru_dma_register(struct rzg2l_cru_dev *cru) static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru, struct v4l2_pix_format *pix) { + const struct rzg2l_cru_info *info = cru->info; const struct rzg2l_cru_ip_format *fmt; fmt = rzg2l_cru_ip_format_to_fmt(pix->pixelformat); @@ -758,8 +759,8 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru, } /* Limit to CRU capabilities */ - v4l_bound_align_image(&pix->width, 320, RZG2L_CRU_MAX_INPUT_WIDTH, 1, - &pix->height, 240, RZG2L_CRU_MAX_INPUT_HEIGHT, 2, 0); + v4l_bound_align_image(&pix->width, 320, info->max_width, 1, + &pix->height, 240, info->max_height, 2, 0); pix->bytesperline = pix->width * fmt->bpp; pix->sizeimage = pix->bytesperline * pix->height; From patchwork Wed Feb 26 15:23:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992674 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010042.outbound.protection.outlook.com [52.101.229.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1813227BA4; Wed, 26 Feb 2025 15:27:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583625; cv=fail; b=m1K7fYABR/x/l8bHx5H07ZBOe4HIgoTZp+lch4fZ8lISRumJLb9I5C6sUo7tnxYQ0UmcXUhovmjBNJIBZisfJpEgcEruyj957enpiep1y4UCdRRfimbQoRmhHshNpjv7etlvC5Vj/Fvy4qT60CTKP+CwoQXUZerT9eOJrnVeRFQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583625; c=relaxed/simple; bh=5uvchA5nH03kiGbMXqq3m8CbWhBlFahJRNj26wjaNJo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GE5e86kBqll4rOVXFllTCk8JbpiSGDcAhOX9brhjgv2lGCFincrDX0dROse8QtRVyjUm4gEOI8kWNdpI2m84N5XEfgc47pIP83EU4nkQLIfKwv66QoUSh2kJvd9DAM4dPzdjIu7KcAsXUrAwfwzN9ERYge3FOYmkmt62Di3aniQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=MV26heHc; arc=fail smtp.client-ip=52.101.229.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="MV26heHc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UcI2IEczp46c3/913PuzdP85lrASfj9iJLcixCSfAVsGwpfqK/4ljy2vesn8LGR/Sf7jRejXjkWtvh9BJ2NwfamuTP4Bbb8IeNWfGKsFTrPNX/4OawnDDXr5VAqs8jw58H7H/qAb3+HQxZTMLWnkgNw8QUif6sbIezc4VKmKRy706/SPn2LFk0D1adQpML709VZHBfTdPBuGJXUeLfcDD3LVAQtnimM+AuQAm6e7ezQ7mJfYAJWKyExO6woIYMjWFu+OQa0Hrk1DHQc4+Pb4rlgp7mM6jQpAd/kQCWh1SrhkxbnbdxS8qYDObbOTbGTc4x72tlaUZVMpDg5YA6H/jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2MiP5/sRjKZ1lKqYtzwX6HFn7IU/Os8AGNJYk9K2eF0=; b=yV7f6/xxhwJ5UXeCg5RjH1HxVgHAhwD3cFG42CFyRqVxrYLeg+axvXA5rLmG4CGPCgxhq1B4bIaahDRuEcxBGeFLp1aW9NavzDHYrIUxWDZL5WDNW2QiiIK+vpeGpucfOhHxwoV1L7fWhWXLut+xdBJX7XJKk5OUyDyiTcOC++UnSRTMPHtbH2yTK8cG4PDaY7GO5QUQFU7lbhBQ+0/mMz0B64JmKkviIQG80GyllfT0RmedXu8Fj/MHy4KP1ilHi1fOljDMcvJTOtPkn3LcFEWed/ub8QjPiupQ5N3swbl3LWzIVC5ixLyDDv/kzspHoK6cUhgwrA+MFq0cveMvpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2MiP5/sRjKZ1lKqYtzwX6HFn7IU/Os8AGNJYk9K2eF0=; b=MV26heHcZMpiHbqxTlfjVFGqSO/emNNCXPEkWD4j/12D1xi4Bn3IjnIdcOCFamaBuPATuw6QaQDSP8/7Cet4S3n6fyWQ5BaRAOJxh70qi8PtXaf+pnThewGyloRfLe2f6ma8rEXa7mb6zSZv8DjJIApgZd81AfnWDmccCKZcSog= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by OS3PR01MB10248.jpnprd01.prod.outlook.com (2603:1096:604:1e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.22; Wed, 26 Feb 2025 15:27:01 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:01 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 13/17] media: rzg2l-cru: Add image_conv offset to OF data Date: Wed, 26 Feb 2025 16:23:37 +0100 Message-ID: <20250226152418.1132337-14-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|OS3PR01MB10248:EE_ X-MS-Office365-Filtering-Correlation-Id: 2bc7195f-e8d8-4266-1d05-08dd567a0436 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: BKWiO2j6DyKLQ/h8xI8dKq9nixPVnnMmqsPWh4PftiO+sTBfdp6Rhtc8Gr1UoHBaiEkJCXPyXbHBhNwbdehuxiaTN1hQDFENpcJvjPuJ9PV8+Npojjy+Xpg6tkfgo2QornizldsIzzw7oYk5kO5ksBT4MRgQOBb3RYAEiXZSDCC1Yk9gp0moN9u2/c5v7/Vm3XxhXWFUq22mGt573nlhmpyaPFm6P187sQVI5nx9j5cikOYhLARb4UNiREAm//Fp3+DLKIMIUuIAuveeUnMrLS8J+y+AhVlntyzPa7xbOUP55JEy7PpylyIoBTHiaS4P1/h77nJ9GybxDBBzu73cBTIazohLocRTcNKmYpgKWAeI1LfUCfFCfLzeQVbaKZSjYmds/t52sHSR4sgSCMq6eGwcwrUKBL562Y407v0wh9hUyY2Jvg0WHZ5LbYw62Xl0j0XvZLoY5Q8tKsDsdCYqKbchv/uW+R70UXP4a3I2TQuX7DqDr1Y6muoW/X75TT5XefaIO+hvCHNgmbwcaXOZ6eb2W+R0iF/SZjKVoUDd+BuINdBhKbz3cZaECdXMITLlcS5Zw7yf+5LEsx5RUIL5wbGgMdgY4h5OukrVKBsNS0+tO/lp609MmPCnkgwfAaR4ulDBl9TBZxZ0BP5ZTRI1/xRitIC7oZTs9SoD7eC0omrg/erV0jgCr5nuQX1pBimr94MhgUkYRJfz2lYJt3vgatmboIRkpcqDZL9NwyfK44FJERHF+NGBw+LOY6LRrylz6vGAMukVJ6bQ5hX/64mUqn0pljgjA8Mo8fgdNNlcX4Ksl/qCaAAL1y8N7nNkaZ00tmQxIpcuJy8MmJSP+YASZM+PwU4JmLkOePOwdrIn/5D1JW2wOpqj8yBXOzBQh+aSPcZUKA+w+0QXTukz4V2HuMIZblAoDlUdsvVBMGqmrK6lKjdqPiJVr4/Ndk+kUU8xGidFwwhH1AM65so8LPvOIbqsRM63KWOgZSbC0MiC8nWLbpGsq6uD8M5gfq/PHX1kUVVCNsnW+efIoJh8KO/NKPKoDWBK55o/O352fz0eNUbsvDTarfbQpXkI5GNOTl7ieG6Fxwh9RhZf833ss2E759zkRbuBA7RJShMkyQy51NZsT7W5KvukWXVL4qnym0RRBM9txZWBPqGF/vPEB9L9tWtTZXc8ZJXAH0RSB0aCfmLw9Fq/13xJcYPtNWGzpsAspz+1y6SeS8/zKK/XM1ReKgsghQmdOT4u8Rn3W3wWea+R/6RVktqcBo9Mw1/MTRH5c2frErM8PTRNNGMQg/TPyci2iUvtkclXEsdRGpSAvK6pSjKw6Agns/pT4iPAGlQ134M+A6+3sH6Kb6pzU8GaAV0yLCcxvhaIcdiU+KZmbNKAAXQKCkwKa7+tK9kSsBw/52aLuc791ytvv9c7oF3xFeakeC99GS8xky/1vECLFOxyf/aQv8KVsArn1NJ0WKdm X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 81gZLaoGhGSCg+PS14Wn0pqZVJULs5tViuxN4GN9rUup0DrPZ9Ikc2a5W0nF2eZZCEuBp/uCGeRjJFyAAU54dCDy2TsNn+TEZzPxrD3+Bj5+P842PUSWyODReKEd4m6IgZKjaFRP0RPyyOtxUOeVt2PnA/QvAsLWhiI+N7i4hhyDpI3rJlqNL1G9EpbP9lLukBwzKQXLxjYmD696NqFOemJV/GoE7Cfgl/nakC86CxkJrWTlAfksCJu+SrKnPQuNc/P1afb0I3eUO3qP737S+RA6qtXzhMktkVhI9ZTrQL0SBx/tOBxldziRbgJpnFLfS9zSBaxpRrVzu7xMOeH8ppuh6WMbnmWmiswb9ugnFC2Pp63UEvIDbOX9arwEWe97hQDrA3w2TF72c4EMil9GNvn703M+hebw6c+vCqnnOYQzBbvhiDsF7voJMpiBOy3ORR9CywoUGAyv95O5+TinHDrMu4b2DqhYWBDRJuY4iOf75pq+aXc6BxdaAmMlLdYinU+sKl93foM75h28dPR8NTPaPbQT94My0zPM7UEytJ6MQJkeeVzQ3C6Z3KrczMkWegmypDxa/y38YA5kPxOlRucj8t7Yv/q9EPvZzdJ3WaGCXE6MJ7ezJsB5zntY1esN8ZHD8MToCNGtq+3k1piCrupWbcpkA5pAPxgquTesgfpDNAv06AFGRJWdEYL35zZpHC1bvtlWhgmU0Q+buZFIl4oV1JtzgAgYXe1NKY8KkWTXCIz4aA35Ppx58tyglRvDnexys9SfPbfqO7spTmlRJ6zeZ12FxcKQsbmHEqH/eFotb14ue8JCazvnYrJeG3rwzeCh6GMpEFlkxR8a7SsfqfGFWxU3EcGrNDg5ChnurDNW5ygg2NDM/MiAv9U6eovY7BQb9i0ydl8IwozXK5yNuM6h39TqiO9e/NTXO2+PAQIs5BcJ3+1cdQB6OwXB2L/YU1Gbqn18PiD08a2wk+i5VpHE3mBVShH3g7oPUm2v5lW+c30AHYN8ODBSizOiWetGkVQt2yVwjZB731uL6ONDHwsM5aO0Crkqdyqa3/bAtg9TVPoBeATvFw8PChuWL/SLZt+GC+pKmESNwRwZ3BOuPknRcV4qt2caL+y/owLL5xiy5RKnCCq08ZdYj+cLPIIpGIEC+tCHQxFSDb4ITHoB+cMJsbrrrPWXQX3ReMSLBisGtzCGHUBfPJXVN6RVhZrTxxCoQ4AoHtg/YOBg3GVDAX1DwUa+5IzqkJEXgtQUkGwMXgUMvVj338ai6TWpAaqMYWDTqY05BtrmOtMFWmR4eNyArC+v62rEwzMsJvwMRc5MVAU9eMt/RxAwfwqh1q7c+Q3vTdP6CzcI5MfdxoC6kDzzb4tjYEFAkTFne99lG9MkwYJjfzSU9E1z/rCSFimVdubimRlC8ZKsftVYnTGOJ5tykI9NNaiGEz9MR2GKMx+9xT8WeMCJNFWOtyZ1okXczJE1YzVuWSaOoU8oP2GT5JJx0de5Rssww34nXf6xcAxK5B8pLU6vZyngGhikXAaOpWoim+awheM1tjvJzy86eBJASqQUArz7h3k0MmXtfOcxDbkcIkbyNcGO1GslZAOMjFumKjNESprFCQN4G5a8rQbg1dSliYu23Z2gr2z2b2E= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2bc7195f-e8d8-4266-1d05-08dd567a0436 X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:01.6652 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oGfv77J5gakC/BFBdOE22+k5J80rTlBzQW3qzh+PEiUVI9Li3dElVn7djEMtsHaJywEw/QQHR/IKfnyYhLAcJ0D2D4kaLh/QemuamjKFT+iffyYDRvsx/UquKmL/y5eP X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10248 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 93a105dec8f1..5033c8d98639 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -246,20 +246,22 @@ static void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, const struct rzg2l_cru_ip_format *ip_fmt, u8 csi_vc) { + const struct rzg2l_cru_info *info = cru->info; u32 icnmc = ICnMC_INF(ip_fmt->datatype); - icnmc |= (rzg2l_cru_read(cru, ICnMC) & ~ICnMC_INF_MASK); + icnmc |= (rzg2l_cru_read(cru, info->image_conv) & ~ICnMC_INF_MASK); /* Set virtual channel CSI2 */ icnmc |= ICnMC_VCSEL(csi_vc); - rzg2l_cru_write(cru, ICnMC, icnmc); + rzg2l_cru_write(cru, info->image_conv, icnmc); } static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, struct v4l2_mbus_framefmt *ip_sd_fmt, u8 csi_vc) { + const struct rzg2l_cru_info *info = cru->info; const struct rzg2l_cru_ip_format *cru_video_fmt; const struct rzg2l_cru_ip_format *cru_ip_fmt; @@ -276,11 +278,11 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, /* If input and output use same colorspace, do bypass mode */ if (cru_ip_fmt->yuv == cru_video_fmt->yuv) - rzg2l_cru_write(cru, ICnMC, - rzg2l_cru_read(cru, ICnMC) | ICnMC_CSCTHR); + rzg2l_cru_write(cru, info->image_conv, + rzg2l_cru_read(cru, info->image_conv) | ICnMC_CSCTHR); else - rzg2l_cru_write(cru, ICnMC, - rzg2l_cru_read(cru, ICnMC) & (~ICnMC_CSCTHR)); + rzg2l_cru_write(cru, info->image_conv, + rzg2l_cru_read(cru, info->image_conv) & (~ICnMC_CSCTHR)); /* Set output data format */ rzg2l_cru_write(cru, ICnDMR, cru_video_fmt->icndmr); From patchwork Wed Feb 26 15:23:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992675 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011052.outbound.protection.outlook.com [52.101.125.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E632231A37; Wed, 26 Feb 2025 15:27:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583639; cv=fail; b=dhKq0ypG2g187pLxlhre9wmdOzvtwVN3euHttfxqZyikMUK4Olmjljoip0j3hD/bL+3+q3uK6WAwIfvMCZgWVa0M86wGPWQhK8irURO8WKINhFb+eIavalDLQiXlFmxfkz00i6A3hMCq9jLwYKVI18w16yLjNkmKwHChpABkOxo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583639; c=relaxed/simple; bh=UKg1zHxKodbLnM5Z092xPJYbiyi9RVS9v5F4Nm3UE9s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=HiNbJy3VcfAsEbTTVS3hvOKgCuYPR8y2c278TMXOAxoGzQTDKBAGysPVLTNclu94zf2HNxIs2KA5mugmufRe9Oj5NVHftZ7125ocZSllYkcaN6p3GdCUrdiBPJNTZNhi9mIouUMb3zVAQiCdnR7VCaPl9Xd7jOPp8mYj1UQdm0c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=wvuZI8td; arc=fail smtp.client-ip=52.101.125.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="wvuZI8td" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FXRu0KeF00JUhjWhRv8g93XSUmSKMlc/Y8GvzyKwOwpuR2WwRyooSpgtveKUqHvAxVcWKgBLfzTGkwXy9/E9zMpDyGDWBBSOIOuWq5HQzLXYrSZ4nwZJgZOKqRxuTsCRXHRkuKurbPUYdNijXVMm2KbWjlHTjEuIANLnA3jhz973GIfV6yDdz/30T5mB8SijBY5o3/a1CIXq7Gjftg+xnvo8a8W9ojSuK1oOrK19vamWLQu2e4LaYg0+gfCzLZ6foCFmLylqaaAgy665C1Kt/veMrZ2UNzodHFXuATij6eo6vpZXxOd/taLzc0jMv3w3g4Vh4b5ioJBltqMKB+/bCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Q1pltHDZfhSIrend9oly11YbV+aY6f95m/p4zfVuq1c=; b=LSMPbb3APCv44x6rpdciP1tglCSlgXuw3rQNeRpVyARnokWYrAXJLq27XcXRE9lUW8r4DqJKUjHrCAbjAFimNjTiNoZZ8978lx/Rvkg7o2UZQ6B/Sr8R2V+Cyu/xC0JcOoooaGVaZI6cs4cqXtQ5LtSqeTL0CkMEBtoBGjla/GJtk0HScsIdhKmo9ffVXmiPfLvvKrt0ItzUkDV5vtjj3Gn9RaTzthgDQxKvVOuE2W3GE0nQP6fHPKodVeeEsvccUmd2d+ID3cPm9sfQQ982Q/x3mF9F8g8QHQdAbduGCM6EcBEgXvNllircBIczQy9Pc6BXWr+ODb7iNmTlaN3G7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q1pltHDZfhSIrend9oly11YbV+aY6f95m/p4zfVuq1c=; b=wvuZI8tdJTsdJgp+oPTNI2YCHWk506lNW+8g8fcM7TB2KUmZlIIYpZTiYsPsZgoZ8SXf4tOCjDI9ialkl+Gk1tyG0TNYxMJttMvvutcBWZWu2igOl3rjYYa8aEI7OSj6FtpXT7k+NVpY6SSFW5B8aQ4n/6zQHZr1uWcY6jWrtNo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:11 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:11 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 14/17] media: rzg2l-cru: Add IRQ handler to OF data Date: Wed, 26 Feb 2025 16:23:38 +0100 Message-ID: <20250226152418.1132337-15-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: 9415820b-10c8-4c6c-d3a8-08dd567a0a1f X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: /GSBLyjXLOo9UQs/O3ebdRv48Ua7dPOKD5zZVnUmjeJWCOfs7U8Enx3iKCR/IN5h5NhRKUZ2YG/s7SbYdE3qFkjwRS1ZLrVw1jLjP0CmK/uKk+4MMm3t7wc76YpqRZrCEXupHkaL6OjGzX2JhqvQIy1ARulna+vmCrfpkysxMvbtmZSY69nBYNdCeLE1L6QFYq67/iB5tHy1RSOC2A1np68nBiPNJnKQlt3q6+iZF5E+uMIcrFt9iuIbkOUpUmX9iDqoX0SiIOzWLOLmtKEfYUSpJLgeIYC/EPQsq0vE8f3oTG8BAhNS0B0+WW8int3g6IHiS7/Nvc3Nx5U0lSYny+O3BhQJMdKNn81//9EVVdMtOKfi97oKEAK5maH47dE4Vr7cm+LRVEQDfpPe/3KNuoWIkCPTjD1XX1OfDIBB3Fn40Pf5fu2wNLf3bxoiOrP2pbbcdr0QwYkqh1TFpugYD6C6cop9XHKhvRUMbBPXAxIozx9DqOeWzBXfNCfMh5TIVsm3+lyaj2CfcDCbaDsFM9u87k7CW6xKK0qRgfH/xiviRo12AAUvkLkNldE20jc+bJdo5p2GOYLFfhVXWS54FoAA47FYdXxkOs3kDfSiDy08sNIbgc4sdLKh226dOsnj3d12MWvHuC6MtsNEJuffKYUEgi7gORhWiKi5p2+7B6UuG8lYkdLPqe/1a5SzMKZimOeeWGDG9XGBs0vm0QUsKv9slAIL033OGZ8S2KYfHeqpF0SXpBB9E/9tjTaNgR5zeLV1SrElV2mlWusSJXjJvpCqM5pYYcXr975JwweELSYRQY9MIEqgb5UwHJsoREiC9Yof9nCDYbVsGvmH2Q8I0V0i3f0wjTxlnW6wiDeUw/pQvJnSxvT//ReKQfBs97LlWQyX0F9uk2AYIR6pNH+XoDbIo3YtRnJb/0yByDoxp8tC6FDUE4K9wX3HyzEa3nVFRtIt+w6U5R4orMWC59H/DncNFVYQjZFDspIUpPrzshq413Dyj7naaj91JLh3DXQkjJGEXTjH94a5WFZtNh95sVc7KIz6AywWhduBGOZKRGsZifvgE+8IIGTA651/vF0P0sKiSC8gUcyTV471YlVN+OPa0+sTjRC7y4jl2KQWwuasRaWLnKiqWJq5IrhRYDzS9kk8rnCDw6WvXNcyAJwti/VIMNEQKE6voBhlhAda8v0x8j+ziGPXR8kvfzw4UGYePTkYV7wlYpQNWW70+DuueFav0j5uFQMlLqIqxV18kLsml8NGsNwsormLR9z5dg5ZYa2GUwB2AZ+dK/i4yOWLFG/S08A0NIzS9zkgD4TzefKdbaseXi9y5x9ib6CPQRXB0uqSMNhwvzEpJeA3ljfuXwpSvZ6Wqp1JOv6gMF66hWEWsRpQyyas0AsE80CzZuE8V5EshbNAk835OsWcfpAGOxskDgBDd1lnNQ9cnlOYbmPh3FRQ3wjYPblgwhbljAZ8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MU1e60qt0digw0Fq0gyfbTT3xIdBk4ktlnHu65ZnuEmOw6z2GJ+CzEZnf0Ze6OIBbniDWjumw4S0Wp1cgFbtAZSm2u1DzWdx0cZJziw347WqZc/LfVOeprcNOZkAGAPayyNYDERnJxvr2Y4sbYsyIjceZ4Ga+zdaaTi5uOcYUqQDyBPJd2/1fCBUyormC3I6B2A5lbaM+LaCccQlCRqZykXDXsNDtsvBJvdkFr6cyuAB2+XSPpE1bafKkd5yBpiCF04/npQyAYKvPWxedInL3nkXMiaui+jN/hujkMzZycq8Z0Ir3AE5MeHRzWBn2253XFZjlrGX7tdgm7WfJCf3cgnn46pVe2Rxz1TsyWWMxB8Pbq+vj/CaFlADifCNcQ4d47NfRB8fJ2rgqvqBC7X4kLzw6MyO+/s8fzqnBoBtfON5sNPD2yzuNuobdiYSfBgVx8KFyjUguUh5B4q4f2RHykQuBY3uCHBHn+DpdsY7JLWeB01YL9wuRgBlXlphRcu02GlAuwaSQ3AcEoYkMiz+mJcE/FMWjw2+AwsQrIckyrCDQXJSmwrprPkkpEr7FWsxoWqdIzUU01yR128LAaWMoN0+S2aaHMt/DvQrxvvG3RHsfkoXH4UVEteWIcaS8XPmCo1NAhsTeXFdf00wNoz00QeV0SDbsghcjf2+YEOgb0P/xwAAaE8kzrgc68QbRjlUqOfzmM8b5IIgm1DY4bPO5hte+h7z/MSGturYULhZv6vA4IBWETMwjFauZhhVW7fn17zzDggJtpSFb9a0X+479+IsjGKDAXqVZ0apTzXwY0YqKX5RfiYtFV6R3KE9Lvet11ukBCUMiG/a/LhWpk5OyjRjuziCnG3cakBUii+n0yZ3LGbLgBBp8T9hP1pOuq10O5Kz391JiXvjHz3u3umpf1QO5sP2XrpZNXZ5Cmupwq0TwTR/0pGXochLBbiv8BCHl3Nkr+8EuMIQoUhXux0L3XHxRhdmFR3jh8MJEV6GuD3wEIo37QJgg6/k1/HVawb9g9Rat1uhnp0zIGXdAkFtGxbcbi9+bIoSTZifjvSBd9DBD0vC97jFfqrnYOtwq8KXSDgXgOcoXP8CcsJ3PEqYGbyehwLEiMo//nFJ95rtKgQ6YvGJRXA7xa6y2umhzAxbL6DrwrlQGTBcX+VsvdEXDrJHAhJcBYiwNpSdhVmhkd4349sKJzOx/Lu5325MzwXHm10pP+AVGBtd3GYXgpxLXryh0rZ1ue3+PoDkWaKT1qJSOx4v05twoHXw/7xfKG672XhNEcf890dk8YZ/Lk1lJTw6qsZE4cwW1caYb9aEV2m8Jgg8WPH+0UCzRWs1zCJDNXpdvxn13+jx5IKtClUha+oMXGZfmPTHqTGORbGQ/X+epk3GZe9z3zCYxsqP20WH/jOig1a/4NAfPMYueMv/MaUjxRnEXyaAnAwONgQhxCE5gUKktUeMqH4T2OU7axj26XMwLs6lSEy0ow/cLeB0NT7M5yXu0Cps+OnjHBiKikd6GZ1gVf0l9Xo60CFq3raCeN1wds5tokgLjY+Y4EBDsextKZBzuCdy/YsLulOtpN5E0R3j6vy01OQQ0GkdALs14Xv9CPygy73Ipfn8SpBm5DLZnji18eTVakG/3Gam83U= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9415820b-10c8-4c6c-d3a8-08dd567a0a1f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:11.5716 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XgnQUga+I0jayPVPovI9sOy8NRemVFnC2XHY9jJMf2fYWbN+hXCkENumC/ZHkLJkp7TBkrw1JBsam4n4tfGc2V7b7MvYE6y3PdvDwZMicdgfC5tyn0thrHb+4eSpsqCi X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 From: Lad Prabhakar Add `irq_handler` to the `rzg2l_cru_info` structure and pass it as part of the OF data. This prepares for supporting RZ/G3E and RZ/V2H(P) SoCs, which require a different IRQ handler. Update the IRQ request code to use the handler from the OF data. Add `enable_interrupts` and `disable_interrupts` function pointers to the `rzg2l_cru_info` structure and pass them as part of the OF data. This prepares for supporting RZ/G3E and RZ/V2H(P) SoCs, which require different interrupt configurations. Implement `rzg2l_cru_enable_interrupts()` and `rzg2l_cru_disable_interrupts()` functions and update the code to use them instead of directly writing to interrupt registers. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Squashed patch 15 and 14 - Collected tag .../platform/renesas/rzg2l-cru/rzg2l-core.c | 5 ++++- .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 8 ++++++++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 19 ++++++++++++++----- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 7e94ae803967..302f792cb415 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -278,7 +278,7 @@ static int rzg2l_cru_probe(struct platform_device *pdev) if (irq < 0) return irq; - ret = devm_request_irq(dev, irq, rzg2l_cru_irq, 0, + ret = devm_request_irq(dev, irq, cru->info->irq_handler, 0, KBUILD_MODNAME, cru); if (ret) return dev_err_probe(dev, ret, "failed to request irq\n"); @@ -359,6 +359,9 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { .max_height = 4095, .image_conv = ICnMC, .regs = rzg2l_cru_regs, + .irq_handler = rzg2l_cru_irq, + .enable_interrupts = rzg2l_cru_enable_interrupts, + .disable_interrupts = rzg2l_cru_disable_interrupts, }; static const struct of_device_id rzg2l_cru_of_id_table[] = { diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h index ca156772b949..3f694044d8cd 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -34,6 +34,8 @@ enum rzg2l_csi2_pads { RZG2L_CRU_IP_SOURCE, }; +struct rzg2l_cru_dev; + /** * enum rzg2l_cru_dma_state - DMA states * @RZG2L_CRU_DMA_STOPPED: No operation in progress @@ -83,6 +85,9 @@ struct rzg2l_cru_info { unsigned int max_height; u16 image_conv; const u16 *regs; + irqreturn_t (*irq_handler)(int irq, void *data); + void (*enable_interrupts)(struct rzg2l_cru_dev *cru); + void (*disable_interrupts)(struct rzg2l_cru_dev *cru); }; /** @@ -177,4 +182,7 @@ const struct rzg2l_cru_ip_format *rzg2l_cru_ip_code_to_fmt(unsigned int code); const struct rzg2l_cru_ip_format *rzg2l_cru_ip_format_to_fmt(u32 format); const struct rzg2l_cru_ip_format *rzg2l_cru_ip_index_to_fmt(u32 index); +void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru); +void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); + #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 5033c8d98639..8995aa254c17 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -300,8 +300,7 @@ void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) spin_lock_irqsave(&cru->qlock, flags); /* Disable and clear the interrupt */ - rzg2l_cru_write(cru, CRUnIE, 0); - rzg2l_cru_write(cru, CRUnINTS, 0x001F0F0F); + cru->info->disable_interrupts(cru); /* Stop the operation of image conversion */ rzg2l_cru_write(cru, ICnEN, 0); @@ -393,6 +392,17 @@ static int rzg2l_cru_get_virtual_channel(struct rzg2l_cru_dev *cru) return fd.entry[0].bus.csi2.vc; } +void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); +} + +void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE, 0); + rzg2l_cru_write(cru, CRUnINTS, 0x001f000f); +} + int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) { struct v4l2_mbus_framefmt *fmt = rzg2l_cru_ip_get_src_fmt(cru); @@ -414,8 +424,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) rzg2l_cru_write(cru, CRUnRST, CRUnRST_VRESETN); /* Disable and clear the interrupt before using */ - rzg2l_cru_write(cru, CRUnIE, 0); - rzg2l_cru_write(cru, CRUnINTS, 0x001f000f); + cru->info->disable_interrupts(cru); /* Initialize the AXI master */ rzg2l_cru_initialize_axi(cru); @@ -428,7 +437,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) } /* Enable interrupt */ - rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); + cru->info->enable_interrupts(cru); /* Enable image processing reception */ rzg2l_cru_write(cru, ICnEN, ICnEN_ICEN); From patchwork Wed Feb 26 15:23:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992676 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011071.outbound.protection.outlook.com [40.107.74.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AEEC227E84; Wed, 26 Feb 2025 15:27:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583645; cv=fail; b=qz9nbi6+454RDyelbXqcn2TQs/1b9qOuqkVicEjXtsGrZYUSfEWliTyA8WWVxJmbzfWFxMZ8LejMTMjA3BwnAaxn8YX/5v/m/ciur6sI3NQw+mLxYHj6+/fheBOBAMjUBDfkMtivpbC5UYA/TV7UQfwn4VGNO6wnbBuVm+fOEiU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583645; c=relaxed/simple; bh=0N5J5t9Nsn6MQ8N0NQbhR17Kw+prrNc/0i0sdkpJAHc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Rk4gL9lOcWMsE7FSwgRwQofL8cebTykxBZb1NfE9Et4oUopX6PAvpOHAO7Vh3myQzzOH/a4cZCBhCk8wb/aNqbOm4GdAcyx2nR8OEq+1fIE7jKGI+HDbUek2PzfFeSlr9Px0Cwtl2X3Ube2vizmGcHY853BQi9C2l+MO9GGKBg4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=JIrs05FG; arc=fail smtp.client-ip=40.107.74.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="JIrs05FG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RGOWG9SlrfM3WWkcYK2JFRzVDcJ3CVeMooJSN1vHICzsRXLOQKnPBvgwBaL11FoLKt5LqH5Hwjlk2YrUq/6oBJlOdehAJq4eLQU0xuliWoPdIG1m66D/8iNqSnYAmdZrmxrL9xaFxsAQB2/Ide66w8tIuWHSbCiM8QpOuI+IQN6CfFfIIX9q1lRC5uYMLSiRDakCeHL3gNgsMUCPye1zBFozZihJszOt7V8YXeGGsNwgyqqH7fv9E0lXl52BYY0gqb4lnwC6L4ppbooQxq2B4LQ+ZIwsnoY0+hMR1ADT+Uh6OGNe3l+Zksl59msvq2rNqjBDoopcxXhF/eH7J+d9CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yraSZXqLZ3J13y3fLlZaaIF1WdGX/lHryhfcSMUfv+k=; b=cp3DBALIxBWzbWByIDz8HXEprg0upTsIRQ8oPSNh8RIZVqRYV4KF98iQtrSVvJ67RZ7ZT4uZbw2wL1dCjCypF6zVG5kQQ1AiuIPEEzbR9mCMXDvoX9FblZJwuWIuVVXmsG8+f6KaIG4+oTNhCyk5GKnMzLWeK3Wdot2wWC4QQ16IMTC4IVDkOkkzwfmrsMMuRzbE9s3AKBmne6G7eytHL3hr6QTEiZvLAcX5vSmYbE9pjNvdjoz3bwNmxpEeN32WMR/oiKW+dvrgHnMyRCUw6+tSQOu60lcGvygvioNM0cjf4E8ReSmOM+WVHrlFDaVHFCtUamFEP1yCasX9tVNKvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yraSZXqLZ3J13y3fLlZaaIF1WdGX/lHryhfcSMUfv+k=; b=JIrs05FGhk4FpUPTSaAUBZdNfJKPgJN3U7zU+ErjU0MFY83az/5YJpq7uiKYi+YOm7ajaRyANeHinKI83go9xuwJTNAXuX83apR8b+HxdY4l04dsSw24Vy8OeqfrVToEbUQFYo10G8rVzQjVg8UvcOySYgiGjbJ7nGMXXUAFTVo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:21 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:21 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 15/17] media: rzg2l-cru: Add function pointer to check if FIFO is empty Date: Wed, 26 Feb 2025 16:23:39 +0100 Message-ID: <20250226152418.1132337-16-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: f47a356f-d55d-4cd2-7280-08dd567a0fec X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: XHtbLBvYLW4lbD5uH/fFK/BhNbHAZT8Juj0uQzJ2DgxUAPmF98/lQCsoSRwNcvGfocje2HqVbRo0W0YL82ULIwbXU4lBlEsmUZuySTkA82+iMCnun3BvylEssNswCwGhaNKNOXqUpQRf8l0cqmWHsCF5vJUipJXweDc/gRojgIa2G8fMASWW87Pwk/LyXllt4EvqM4CYLW+RU828lUPZeOmXv5OAwGCDE9bXKnXuMVgL2CNtJMAM15cjecGttSoW8/uTHFLBRTtZA+7XuVHxEvSMmzEET6e5yIY46pYqQC0bhHiZMJYwE3fS5lBAQeKXulqjBbqmLyp5sDFX+LKxtQTqXuyiVHXHRyAgITWJ8b8EFZGOsJlr/E1gz5XmT6He5bbp0x00bv6YJNaX6qDfj5N7hSaLc78hRkxie8Yo4VeLA+ct0tXmI7PvhdzwcTAqab6PmGuHBzlTdRzMi2x3FYi40kDJZGgkwG4ga2w6rDSBAkeDP4372ZOa2Aq24Sm3OOg/z85w7cQUxT9prddcrvwV56ZiUw0/c4tppKYm7FdcWneli2Ub2JoMzKti2VCwuBZDdESOpnZ91aeR/lO4sIj6VXf5JKlmY3TaUiUnCPEwVAOklh7iGH++i84eHGCaVoKrcYgS7XnFe0tyXucwmP69UqHRJl0Sae6wfbGySEW1RNdQXD8lv4nCPwewwlNxWZ81omBV19RZNN9K6j/2CQoQXfIwIE8+xBPrrOyprSrL7v8ql9tfZcxHoiTNpnRgBw1bdF7q4WzPPlNIVLyyr7eblpLeDTZui/VcuhEu76cXtOpvAwPiLA/KHzcF+Lz+2jMt4JWOSymFtP5t0r8549gM/lxc+lI8NhQ8zvJ4w/yWL3Lj7dGLC23ji6HJrFZSjX7XFpr3U7M6BptmC1zOUbCFnXP1iUp3LJkHqPqZioF2uHrY3439mQoT2/dIfxVBs2vu79D3CmbUC+Mmn6QMD2pjtGfTcT86txZImtLG0jiIL6JR3pKtvUa8tB4oSAyd7FekwfjJDXcatoWBF0FOI1mxrH4yhubDsmnA6K2BEA2ttN5lfLSCy1RK0eIR0y+96ekE8iqtcXohNh6Bwv6Cb3DpM5II3tltXh8Cg/5QjyOWQz5vG6BWorcfle+rliqQIFy4ioqdqw2o+8K6YlqlkIaORgyFjHjlTKSV9DoEwr4MmIhXTjKGjP877ac6h/n63bHESV6HJraziBPziyZncV28DJU/Ghk8Khr4tKreVm1lncsTB1vSX9pznPS6LSLb8R1pIPU4Q9obYssNNZ+yqV3eUD4vqJ6rwU3gWw40rVzX30S3MNHURs9bqAFoRe9OSbtJD0lBgWg20cL9xChELwAWcZfPhlHSUhojoyT0JaKcOzdRueb9PWXW04Jwf/EM4wNjrwp/MsLPNwo6S+rsPww8cRbG7cHzEmHiOBu5pQVxpuUVNONjtcK4131GIW8k X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5MICf6BWKIi3qTubvhW5x6UfLtWKYGmxh5TUx6J3fPwrAhZ4jQf8ZHYEYCQdNoVosYMjRRAF6p5eEVQBESuwTc2aFKmOayYRDUDomdnLuLZPxO26nbutuUx82zL6bnwhAT8DyQb1qvuf914tJKNiR6s+OPIEXK3tldTWmVHHmRhpB4aJJ51mSBBbycO6dohVlNpISTbPyQlwneeumwb2YW39f5hjzI64bTGaMQoBtq4yrXnHlEcOzoNj7lCn6TRNHRxhL0EaeP1B5+mPdlUd6ZNpnebUWF0at+bn4YJwQ5AsX/SDUHue6z4em+Ow+hWPujw8z23MJLLP2UbMz3/mP3HVfh2mz3OJLZvW8Hq0I2JUjK+K+DZCn7P++Sjnw6APgq2JuO0ysGRXa5OELR0cm9ad1gPFOb5k5Zbqirpex4vzGv+yW+lUf9EHsBvzfQA97vxsB2ZWEKsUYheBmnrYgmgZ+QEXt9/DV+aeWGNC/Jx46r22wsaQZlbf4mUL/45EKEYxiGzbRVeRUmvMmNeLoptT4ep4M+soKMn/+0Xm7fmGCWex/wHaFc045cu/XxFqUME7JT30kJJxR7NG2In9joHWeC2Ca0bSDmWTL+htqAICyqJvKMwEG7b360CPQ4Z2GWhwUZ09juznT40ADkVKT0kPzxs5QVRBd/ZJNjPLjA10VANRMuGg2n7JhV3nr7344LyMBMHjrdvQNWUPul4zO/SitCJ6xLVAzFJgtNYsUDFkf0d2ut/ESnyWZji/YTeXyb2OJ6ifVm4iiAvbVHm6gwP5tTd3Fq9HiDDe82ZdnoaSgK62bgxsSqMv5LPA3Yfxi4H8f8a2yol2Ar9VOiZuLV/S/dOKBJTeYeAzZRwq7SZES0tmgGR6I5eHItbJ4ae+oGX2WLS4dHwr0mHBqpJyxrZslC2uoBeIqQi3OI/Fm3ZS3Vm/HBW6H/1JClDe8OvqYayNXx7jcBGi4t6GmmdSWmu+vg/Bd30sk6Y14grTG9GBJGhmJCSj+QDbvcnNfQPV9U4C7Rgpc1K5HSNGsIVgBStXzXVODcfkWbccRLLyXCM2Ud5kCFWyqd0vpqO4YvN7vUvd7PQj00n9mS372MewJbXePGfTZeBQJ+TjTJOGv9f6KiPTtayfEzthX6u77D39fYeKHuhre0GmiMivI2F4kT5qzyB6r8IZmoe5JUdQcBIMg7uqy0eLV97O0I2LlIpTQ+ILhx7vFzqZUa7Q9NcHMZVxr54UAIQwE2gvpuW5eWdTj6TrwJ/6apj2KQ9hFczx3lobF20ZTozpxDfF2u53w0dAx2dm9duu7URuSbhdLhqpZVNgx7LoiibvvVheN0P/8oH6VeuUFvfrlGKKcqRd+nl7VAjDd1EgjGQU3g1ma8c17JXG5/q5Pc/QgmCucrxbHmUARlAFf270GcVY4+Q8SvHeGAlLbWKsVbrkmgrcEndLVHzKKLLxRz/mj3qA25FSdiK9NN//oGnbnQ64Jun1MfFpGFEhWYv6HkXa8RWw5SSRxF1zuO+mXZ6qM7jSPetrQIwjuz0DK/wghIHmZSv09RXUUcYagfceKjYyB9cZdsgXgJJ8D9NtjmUhbxJtGEN/YTYp115+QKuxXMpHVfk+unaohh035Mmwz3umRygjTxk= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: f47a356f-d55d-4cd2-7280-08dd567a0fec X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:21.2921 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /+Z9KTCW4ljQbRdxi6GDlJ6h7Zgd5gSfC7nBAQZmqsQIBqsmNDWUk7IuKXhl+YiOML6belXlXHxOPWVjxgf025MD26A1TDwRMlGQedhHN9De0sGVelw3UG4WEcv5BzdB X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 From: Lad Prabhakar Add a `fifo_empty` function pointer to the `rzg2l_cru_info` structure and pass it as part of the OF data. On RZ/G3E and RZ/V2H(P) SoCs, checking if the FIFO is empty requires a different register configuration. Implement `rzg2l_fifo_empty()` and update the code to use it from the function pointer. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Fixed return of rzg2l_fifo_empty() as suggested by LPinchart - Collected tag .../platform/renesas/rzg2l-cru/rzg2l-core.c | 1 + .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 3 +++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 23 +++++++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 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 8995aa254c17..83d7baa07dc7 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -290,9 +290,23 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, return 0; } -void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) +bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru) { u32 amnfifopntr, amnfifopntr_w, amnfifopntr_r_y; + + amnfifopntr = rzg2l_cru_read(cru, AMnFIFOPNTR); + + amnfifopntr_w = amnfifopntr & AMnFIFOPNTR_FIFOWPNTR; + amnfifopntr_r_y = + (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16; + if (amnfifopntr_w == amnfifopntr_r_y) + return true; + + return amnfifopntr_w == amnfifopntr_r_y; +} + +void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) +{ unsigned int retries = 0; unsigned long flags; u32 icnms; @@ -320,12 +334,7 @@ void rzg2l_cru_stop_image_processing(struct rzg2l_cru_dev *cru) /* Wait until the FIFO becomes empty */ for (retries = 5; retries > 0; retries--) { - amnfifopntr = rzg2l_cru_read(cru, AMnFIFOPNTR); - - amnfifopntr_w = amnfifopntr & AMnFIFOPNTR_FIFOWPNTR; - amnfifopntr_r_y = - (amnfifopntr & AMnFIFOPNTR_FIFORPNTR_Y) >> 16; - if (amnfifopntr_w == amnfifopntr_r_y) + if (cru->info->fifo_empty(cru)) break; usleep_range(10, 20); From patchwork Wed Feb 26 15:23:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992677 X-Patchwork-Delegate: kieran@bingham.xyz Received: from TY3P286CU002.outbound.protection.outlook.com (mail-japaneastazon11010001.outbound.protection.outlook.com [52.101.229.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEC5A227EA8; Wed, 26 Feb 2025 15:27:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.229.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583655; cv=fail; b=Y3YwfgAo+TpPDKCJoFYMU1Fzu04nL+UI01n6F6OTNDEvn0HtuXt5wMLgriRjY+g4pHZ16sdFT6cjiND1cY35yb9MMxHNx1V868Yww82FpDObxSB6ZMLBq0Oai1Fe+0dAl2QbRzdo/E/1h/zWXx7VV7I2cIUdA5zJ2S/hGYoVBX8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583655; c=relaxed/simple; bh=9DWDlHAmyd0VJNycd3ZXUthqysKNwhsejI1DQdf3ELM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=N2Kojfm1OlBElscgThNDEbH+rlujo8Oqz8k5dmgt1LuNm9h4vQ1+9X/HMUej/FHPhNSigPI/8ImYNH5gykGF4wDn88ibCnHiNwNBnViB9R81usDExEs6BMNsMTKKpkNFwKyehU29lyPBaLLWsfrxvLQQjIkCvxn/X+j9XIaQhis= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=D+rgpY7E; arc=fail smtp.client-ip=52.101.229.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="D+rgpY7E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RLFBhxRSR9ZZKlLToEgMhCpUugclAY6rKO54surjikLWYi207yIedY472aUFa8D0PbrHftv0aLhAJKVT3bj6UYRuvYp1TZIHZIRXadEnG1RwOiXWPMhMgC6My8dtpeza1DD768QI+zLasry1duRYlv4HKPKS9CrsPC/YdagVWBVFLdifW08AR1YOKGnvXlHmbqY/yi6RpH0AspiHyN+pVfy3UBFoP8K8hXmCXaVxDGzKp/T7JzWEVA7XCPPxbRc9DaJkhArxH8k7qI5HWg/XwcE7xvQ3v8lCJ6ZWJupUtpj39pBj7P2W+RI6NJ2yZP1APHWrnIZgLFXBIyTUhckEBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9shOnHi2lLf0mwVZQ0UKci5a3+D8SHoLbf0tvXU/1es=; b=NeZyfpbnhVNycnksoukCfuOIN2hiQnBopDxiw2PMh1FWyZRVxJGCewk3Kpvr5k6822lB12oe2N54laBsa2lVKJP4MIwN3dD7QpB5HN87fnEg7wIpMnVt3HwEzzZPtBoBMknZx/aiiRodFN0zlHcJUnptSMXV7ZZjW72X3BYJQlD3oqoRrgPwdIbEjSNXrhM4zKpqGBQYDNsoMmozg/Sr71hYDemlIU3omwoykK+fiHpx2qB0fIXeDm6828qQZRWreqOnnFbQBnsXSsEffi6y2FYm6qLqgnUc6uJmuZXXL0JhcCsSvua9FNS3+dsBjyUmUkZ/A7lqZypNSm4nwCw5eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9shOnHi2lLf0mwVZQ0UKci5a3+D8SHoLbf0tvXU/1es=; b=D+rgpY7EzG9kM3zqzrXH+etKaDoML74Q3RVjQhcjcVJBnxiPWSDlfFlxcdX30hqUOewCFg3eXg+EyZnCoVxXU42/ugQVsaizaXdIm29m7kiS7HOEKNSoID5mF6qa8bpiJrK2fwFpWQ7gz8zanK8tO1TEyIY/w/sTK0RxYLvwQow= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:31 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:31 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Laurent Pinchart , Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 16/17] media: rzg2l-cru: Add function pointer to configure CSI Date: Wed, 26 Feb 2025 16:23:40 +0100 Message-ID: <20250226152418.1132337-17-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: e2f75829-5715-41b8-a250-08dd567a15fd X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: 7M1ZkleUtrjmBPUtS22MjoT+ZKi4iU5ERjiS8/woL7noUycrSjmZiUm6S51c8JXS5dH8Xm4ahMWIDS+yf1H+HNuiuyRFDwj3wjn8LZ1HwnksJQCogncC3yI7hkLRAZiqRkjBoFopAxo1uLwTer2leRqjvdgipM+ed6t8JCjqdc2jtkOQX3foE+5B0SR0b/MxdL5ommksRTOxXYX/8J5swfAHD+zSm/tUQnc+ifHJ96LJGNJ6K1+3a4CFO0JSh458nezZ2q+golZddkigKbQUbTDN4fp+Kyxm7RFTHpzvsOov1af9f/o3n+O57VnWoBTnLFov1swjksR/Er+ICKcAyKTyjHbXiStf5mYc+6fPCg4C3rQ5Pjpfqi0gk64gts6hr0boAU9hwXsIzQWCT4okObHO4DiPmyoHl7ZFHFRx1zdcNAAFncavq6k8/wDLDT+cvF6hHoG5lHVmEEdX9eGeK8UvCZrdNGcGbCQTmR/0oeyc0tDf5y9asCj+9OSTniRoIG4oBxpyE8gXbeKUbcscbBiREbsXxw50ZTs07AmHYKxrc+W3Msila3qix9p48WREQ73g145w3j54flJ9VEemZtwLAd+ogr3q3h+W0ycuwXCf0n6zPKseR1XMZWb7VO8E424ky4Gpd2GgfV4gh7Ndw6YDDbuY0g6GqRrrYiMvRTklO9lW7pZsZCmWYKJe5ssFBQmMZ0b4SrCdaVdzueAypn8odo3sbV8gNQOE1sUqrsEl1S36qhcjxrmeJ+qsvqqDcujGTpmvmLlzTxt+u17LuZuOXERdeY91jJiwEtBltGeZB2Rma/dABMiMz19kNJfgA0Z+nZeepeE347BuY/+HNYQX3dK29pr5ULhgTZkj2nWfnr3YTGXhIz6DQLZCtQW1NnUrEZIg4Y9+h5acYWejA9F8LDTrENeKMrsnQwsf67cmCmdKnm/OkuiplbqSgAcyDH0h7h3CbgPbc3GcULrLed1gny4VTcwQWPCvX6fAaTQHK4VyHiLZ1pLSI72p0yNaB7HKmfzlU7PENnZpq5eOTJJiRYJdNEh16E8Oh6OoU6nCvd06q5OoPmMA3Gno6w2JzeL59d8J0TL8lFk7oJaKV+twcURVZVL7t5vhSM8XM+btsqiJhK09cW1iKf/HpcG3Mfeij93Yn/fLDIxcxPiMH4cIYUS2IOcOI+1mW/eNsEBWF7beiZwNLy8KYCMxeCryRpeQeTsUptcSMH3qKlOvVJJbphRX0+fx6lXvFr3VRhQIeJhM46sxYuGLUCfo9hTVchA3xFGnMu1TkNsgvkqJNuZudtfAkq0fLf3A9ZWTsCN+8JAu3/bY0783iPyP4sE6q8brP4Rk7KmenAIoGxqxvI7n2yILHk8u9nPV8KM9ljJKult5xV73FupfeuNUBZHc3vddUi9pEVK2U9H+mquIlpwwfHHMJSV6FSdcquGxBhrA9R6mvimyHEg/CMeLOeO1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3G6UqnxQDyCWmhP8NrbxqLZZOzQGZPbyCBNFTs8CuHBST+rFX1AHMFprXJA5nZs/yPBItGpsHmTrRjQzWErotHryx8PPs6JhNUBR2aP63oQyOBxij8c/k0jFoLXWE4a/I8/XdnywBhY34kA9eVmBqDaWTtzcsEqQ+oadOvB9L/FmAJCperBS/X9TgtD1+2l44uqSed6orcQ5zpBglJVs78ItG/uFp6swgsn0qg0reAjnnnKZo+Kkn28tsmvGR9P95u/THqtSBbYqR1RCdYZw2MbaXudHlmvFjtf6YaYcc2xnxoMP8Kpt+ef45+5R5mtrsuw4DNs0dOKUnf7bHx6a+Qx6NH/0Tb4vLpw2CfwV41s6axp2g49mstjdrxLm0VLMDy3Z2PJA+VTL1rLu2IVbFAJvoPs7HTnrDHBK/+RKDTyimeYJIO+cdlqG3KSaBESpzmJP6kC1jpu6UN5zPg1mjC6A7S9storYP/NHnE5vugParCPfzPfr52vAzaOTbTOrZ0o7/ZVVacXjLmdpHgC7LFbDk1UK903UAlzExaaHg0IdvpxIgMAsCSujXbr3nKBVlVO6oAWg1/KpEAcdoPLw/ik7wQepk8Gr5T3QbqiNkJqRMfs7tyiV1KghrD8vC/hPc2OWcew0DwtCp8OPnM2iW+zWorET0zzdjYZYgRXqUmivaHg9cH6MY+eGPKLKgAajL10NNl3tI6L8b6ciEyeY9H6+WMlGj1Kwq4uroAOCxAtmchypZM6KszamDVn4qaP/vR/Y0wq5gHsWoTRf4x9iQHsAXp9zi2DcsFuKhcYL0v48Gy/2WlGOuelEcimCGX7ayfczQ9/sLXxyZ3WKnp3U2oZoaMY1s87j2hL+4UiHDXitmGltoxN6qBD5Nf4zBSczV0uN+OdMh/d4EUTCJke+V6sfz1lvjFfvxq4DQXGZ0HdFMEbgU4GcsnRJJ7vjjxKA+Z1fo/b0Z0rj5FH+PVZn1Cx9AyAACTL7h3EvnR7ZwfYvq9iGG7UySDqF06x3jMsyk9abIazhz4xOHmSUA1e0cajp9oQPxGiDsXKgn5KpDUKICsPoezNeTz9vXwp4G/5Y/BuCXkg9gVv3kUEF6doQ7LxP/oiNL/nNxTZChTh6143MWUwtg8BRESOKVqdfPKusQ1LYe4AV6UjxXPNOaE/CxO2VutxECvnNNJkufFpyWncsrNCp7RdeYRdBzFoxMFCiA1MuF5iQmzjViG0rrolbX3JKb7qRNdsyGDFWC5QNlaZLDOWtSft7ieKY25UBOnAZWjxYkZmoBFkya4Kk47Xt09hMGvbDVBpCtRekNK+glMVj0UwW35Csh7BWP4zG7VoszTX0oerlVeAYoHudpBJ1PoCmqcxQ1UFUbNrT0iJu5cr2KY1iWv/QABSx3TnxME/ygzAxV4V69zRUpYxh/FnuB2qcFRqjC4pzpLPmdVeCM3NDysoUGKQUpmVBpzkF99p3/5IT+3SjIWOlD8MtQ0i+2eIwkaOx3PNvjxZ860320Vvt/GIF6KvS8vaAKdutWg2kLajboPbLnFrlyZcy+lELzIOrTjDiLUC7HnL4OTItRcfNDrgk0zvQOstmuFTxeBo2HgHOYYE2NvfJKTJXoNWQR10OCe9cbCgPl6AyBGq//c0= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2f75829-5715-41b8-a250-08dd567a15fd X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:31.2689 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hjBWDTagkm0MMxwJsntMOD9xQB9YgZtW5s8fMvlz8uFZ3ITsD+Y+b6JdQSUiA6WGVL/CXF0eoFyRVfiivTi4e/NTaMnyvc5jmnqBvLY4DGfu0xVAhBWrlW3YLTKIZfsk X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 From: Lad Prabhakar Add a `csi_setup` function pointer to the `rzg2l_cru_info` structure and pass it as part of the OF data. On RZ/G3E and RZ/V2H(P) SoCs, additional register configurations are required compared to the RZ/G2L SoC. Modify `rzg2l_cru_csi2_setup()` to be referenced through this function pointer and update the code to use it accordingly. This change is in preparation for adding support for RZ/G3E and RZ/V2H(P) SoCs. Reviewed-by: Laurent Pinchart Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Collected tag drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 + drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 6 ++++++ drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c | 8 ++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 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 83d7baa07dc7..a3c4e2a0bef6 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -242,9 +242,9 @@ static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) rzg2l_cru_write(cru, AMnAXIATTR, amnaxiattr); } -static void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, - const struct rzg2l_cru_ip_format *ip_fmt, - u8 csi_vc) +void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc) { const struct rzg2l_cru_info *info = cru->info; u32 icnmc = ICnMC_INF(ip_fmt->datatype); @@ -266,7 +266,7 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, const struct rzg2l_cru_ip_format *cru_ip_fmt; cru_ip_fmt = rzg2l_cru_ip_code_to_fmt(ip_sd_fmt->code); - rzg2l_cru_csi2_setup(cru, cru_ip_fmt, csi_vc); + info->csi_setup(cru, cru_ip_fmt, csi_vc); /* Output format */ cru_video_fmt = rzg2l_cru_ip_format_to_fmt(cru->format.pixelformat); From patchwork Wed Feb 26 15:23:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tommaso Merciai X-Patchwork-Id: 13992678 X-Patchwork-Delegate: kieran@bingham.xyz Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010036.outbound.protection.outlook.com [52.101.228.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 082182236FC; Wed, 26 Feb 2025 15:27:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583668; cv=fail; b=SyJG4iYRHOB+eOR9UA/uasIBqN6nrjpoA6sSM2ZmJ0u0WkssX9gyEUVu1qzq9iJoI/iHZEcso2U8DfCvA6FMmRybixXkl/x5MlZIgmcCVWD7uYj7asrsmlzlOD/RF5K12HesszDRuJh0UzgulcztxNiJwEzzEvXB2QW/0SLgcIQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740583668; c=relaxed/simple; bh=7MvvoOZmcpDsCsSBky0hGYZcpLG3QrQgnJTGWagAN0g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=D4lYkPgA/pQs/oMMHrrWsJVmROEsUz4TzL64peUODM2pfloRt1m16313RqkhXnVIHHvCoAMQBoWBzpmLdaO8hegjMtc8fwP9/betb+v350DVXrVijtojXJKrM3R5fL4qjKr15D0VHO80qK5PxMxSCIuDjeM8U+8YpHn7djiTKmQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=hMfE7Z9E; arc=fail smtp.client-ip=52.101.228.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="hMfE7Z9E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UDFEexMOVpY/w0sUZueL9AQGUYHv7YxKQWmkYs5fl6EURt1EEmTGTILTj0KXW8Y5GAbMITn3Il1DlJbOxOkW76MQdzs2rXnQiSJ48poA+GGYW9oYKIxb96x+NhLXevWE3Us1wbHX0Cv5Vym2ogD5d2GsSDYMH5xb3LWiCmZpQZgsm+nJ5GZBIP21yU2gpR5Xcavlcm1Wcc0ggOXkHepZ0xulvw4wPvKmu+/gfwkWbJxogXGgFNVNJf+Q3v2troMjpuW8u2O875i44AsZcb6Oc8TEhp31d0a9eFrvgUOK9uxBVPOOPqle7I519/dITrE8WC4INyv8/MImoq4XT+ZF5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FGbaTDnGlo25yynLYOBDidCUu7kfID91i8lf7RvecRY=; b=e9JGeTt+94vXlLCiAJiOwiMf6Lz7GPG/5w/cfC0w1QzJCI2Fmyu6TC5hsZby5sIlRf20MbZ54Woyu4omV1fkofUgeRWmK+L1TbZDp4VWAbHjvhQdVu0MFQSddhQbVG3t82AfPVtCupco9V53P4xmK6RfThWsjN5AWVEZzGuM14csCWSY/Q7jT2TkD48eke1YxtPq76oj0eSGAyCO+kMUey5366P46XcRa1O/H/HdPGSWG1v5W5kGTsNxZiSEDVhUu2nTEA9KEwvLQ0Cjc6VKArdIUVKYh1zmCLgcS03x59z+1SOq6vM1GErqa2qM2zrQIw624IKjqwWVhpgHLi894Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FGbaTDnGlo25yynLYOBDidCUu7kfID91i8lf7RvecRY=; b=hMfE7Z9EhVYMuRiuQmj5B8IpZva4aQm0olqjYsMxBNBc3d0RqqdEsqcMKfncO140vdHtrlPLZoYJx72ZxKK8q2RNqd3oKthKvlMZuP1rvjx7mQbgIGW+PkeYrsl4FBjo83qpZs9xAhNoYd+LIxlH8MsJlBb6687t9ey+j3QG+9Q= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) by TY3PR01MB9826.jpnprd01.prod.outlook.com (2603:1096:400:229::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.19; Wed, 26 Feb 2025 15:27:43 +0000 Received: from OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3]) by OS9PR01MB13950.jpnprd01.prod.outlook.com ([fe80::244d:8815:7064:a9f3%5]) with mapi id 15.20.8489.018; Wed, 26 Feb 2025 15:27:43 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, Tommaso Merciai , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Geert Uytterhoeven , Magnus Damm , Laurent Pinchart , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 17/17] media: rzg2l-cru: Add support for RZ/G3E SoC Date: Wed, 26 Feb 2025 16:23:41 +0100 Message-ID: <20250226152418.1132337-18-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> References: <20250226152418.1132337-1-tommaso.merciai.xr@bp.renesas.com> X-ClientProxiedBy: FR4P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::13) To OS9PR01MB13950.jpnprd01.prod.outlook.com (2603:1096:604:35e::5) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS9PR01MB13950:EE_|TY3PR01MB9826:EE_ X-MS-Office365-Filtering-Correlation-Id: 686fa478-4dc7-4143-4be2-08dd567a1d1f X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|52116014|376014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: l6bl3PlCUeV0GsXX0lnOjcWyHsq3HYalNruVE1zHIv9uNkhLI9MG/7OGuh/ekt/R7z+50rph+NW96je68o5j5sHjg1hXtHcz+gMX1KbhN8aR055WvSU1NSSF0aP8Qkv+UyH66aoeXQis5M9mrSIA4VPSrwdrcqnILgti0mP8g4uj1kfbt/WO1bHNAfr+pna5li1rikvKBEzy4AnsxtD6K042uo+vQZ2uwobEGEsRUxjLeIEa5GWY67kb79uuFbHfObUSR8LdXZ5/DL1Jk3FVkjFXP3bJWR2mVcZGkmHYKH6folQ02BQo2qyMdVJbgwQ71etAt2xMqGWyC0gbAxlOdqo4vWv7EUcaeKOSSA5r0sbS99qcrPR7f3T+kh4nLE7nOGczp2Fwf6vRLcprhkFHfTdnA+egZes4Tixf27ejHmtnBRPxvRzkvilFXJV2Ry3JEYCPb20/lTWM+nZvvBezuhFFT5kd5J2aNy6e0dBkqMDJj2SC5kNwGfWh6KiguCI/iP7LGjusfHfWY8CU1x5s5gfn7RRo9/k3Qj6kKo4FeoDdpLXiyWBbC941GQRxjUV1GPnNM0/pgdVQUHv4Lk3HfR+MDsv2nQMvP5S8s4sxV/5NvnzY2DWutqc9Jl9R+SNu5txZjPEouxJl5xy+rcv7ljmY4s0uroytqMqCyV4t0KLlSqwsJlFrhj4N/co4/4j4uBaVUP8nN6h8deofHOjiHF2k0HlQ0rmaBI0zuTrnNHMlxB1Py2XgrnlfQmbEJWT/rHFTRD8tMavVmaY6c1zB5UUNppBzlFWMkEJF6NzuQ7LyYpZZ8IJaRPXpG577XcdmovaerrmJJsQ9FWTRGzDAeUqbotON4KSwwg9zxnLkwEwiLgDArHCjtBt4WeHQKnqyt/eSp5Ud/+W3z5Vg7RWO4a9HYH9aOS50u21uzcybr+kMCdQd7/sGvXAUBO5aW30+6swBOLfef9+5zWahlkCHjlCCiaZimZUFnjTH7B/2Ur/AanD4HZiUC3d1IoO4H86xPJeFEnQcYqy2ZkCDqkV/LJLjh23yaDFg0RbNU6Grw2TnY6F4lnYFZMk21tAK5ZgySbJb6OD89ELErHoM49bEVpWl3QhYWWyeVu6Af5LhGE9bKyuE259W3/rmlmyDStFm7/XoicHTF9bPL6oLAfkxW/cYu/l/4tqEKD2qbm/d9adY296DbmPbINzwolNoIJJytwkxoCCa7lrSPoD4ME2yHEHPnW0J/EdbD2r3SE4n/UXfcEO5ASU0hp4orYY+40imTX+CbGiHC+wJXgwbtciTt2voDYUTefWareZYvJpMN8aLZ8D7wStyFkoSFdzJQvn8AmpXTLWTl1ETzkJc4pYnb/fI3AgMdix7CL8MnMu+qaKunSGMYUGc0Uyjwe7KEh+27J4dAQT+4yD/wVxKCaKg94ISGXK1TMjAdh7waJugi3gcvgYhCMDZbXrlVlMl4YY1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS9PR01MB13950.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(52116014)(376014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7RY6icO58W14GfWkhaOT6eobj/MTrl7iMZqKt92KD4FB7YVNBXe9hSuc20gSpZBqmoTjS0SKOTSF0rOMr97JGTPrbt8D8fmXZy1nSNl6FMuUwwZFwsThHTMmiYoA6xyCQ/Es6hNW5MrWD34tO4Rm1tG/7n3vqLMEpAtYE2KyRjtcUSDumLPzYJGccvE0N4pntjWaAyMTwHgc5nAG5J8EmL1yZEwW6XKl3j75eXoSp3IHOFD7I3MVohv0KeMNx70rTjsmodPH9GLwhTX5gPs4lsqTzzh4WEe7cd6q2tHyoK8msk3/RZKaySyR7acvWimX6u9Z32St9dewOUtw0kvwbasgwrtmr/iqQP6fMzqYNY24s3M6TWXHNlOtR7C+LR3edw5SjpKVQvzaHyINbO0tuJADgLK/bvljPr35bGw/Ti7/LDEBZG+SOChL885ANweCQ3gTylrW3pQGE1qma60RVFfHna1v+556VwO9Mls+w970arx4Fb5VfYgqrwBZrZ4uVDcT9maVfdjKAQS5TExw/quXP++wiu4KP7WDyEoJVts3y9eI3uPWxMnfQgitJjk7tg0HCVHTjFdQdzwOYjaa1fZoLKgOIIj0WAlD8gWLsweNHVqsI2NyqHpX6w8TUe69IHPqwigqzT1e/78X4os9wAT4tcIrtnv31QLTGYD/c/WNGkE77i0UST7CcDEetB7UxvByjuliu8GqYo2aI62b3RY9qAlQai/zSBakmrsgohyc+KWZbkW2R2WZHfKRJc0nHFvaaJqrZwI6upM7KJmxKAe8NoyHj7/G9HRXQZAKn1WaU+HhWJYQBGj0/QHnvAkzxERD60PjOUAM7R31YAOig45kKfO2tBM/lhOFkxPZN+BEbc+m4Rwygw20Iy6bZEzFHczMZ06REdgpPawu+JbMChF7wWMPl82r8WwLDtQ3ajLw6gYsu59zZjZsIKoF5Ugqgh0JhVvXlwvkWCNcKxwn1b8jc8Qe4pzzTh/IVqdw0mjkVO90BlIun8bGBzhhhIhPMsS1n7hIU0eH+OZhLxGxJVS5aMfS68mpzmZjYoSVSlpMoBd9T0ixvl2PMJo8+nLeohmj6r7mA3F6h7J3pb9FYRDMcC5bfxrr25HMjbh5EcN4PgrIN7hF2cGsUOoDLysZnBqFFi38fm7WX9PhWp2ITHeIvn0g6P0BqGyQb58qzbLczJ/6vE7cR6DlaT+W+ATmyUDlbgxSdhP5K19W1BSvBvPL6oTeahs2WXS8RHnoafbIplhbtYhkC0bCLJCmx7PHHeuOfkCTtZK1kLxZxO4Ah+aOZeVEiDaipUhFVZ4NgD1Pe/T5kemUfqo01nYbnmW749XkSjPgXc9yVWJ72xBhgePwyqxrdcBrYauCIOeebtX2EtNvTscAfMb5NFDEUvcIiB+xbIwVzoSKPOOp1LyVuiNZxPMqxz27FIlsb9tP75QfX2MbDTqas2QtvlVHfk9QzFj7xOYWtHuwghafHZy71fGRzTiCzosCRjT4BcC/FrtsooN3BXox2NzGSuNZxG4gZYe3BbravC+5oZQsFxJdWVwQ9zTWjYCi7/I6Rpl2vUngcL6cc9uTK6NtjWRGZg86mR9Fgzsw51D8oe4EvY+ggijpTGyeFP2sAk5aELFQxcw= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 686fa478-4dc7-4143-4be2-08dd567a1d1f X-MS-Exchange-CrossTenant-AuthSource: OS9PR01MB13950.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2025 15:27:43.2297 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: i3hpDwLbPLp+89frt46gyAqguSPPEZCyrYX2lz77s6g26j8qDdprzYJoxlAmm0jMmPHbE+BA1792Zjsr6dsRzxsjZGXamLQkf/Pq2o2Rl+lpoZvqIxVusumwNwkJewfb X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9826 From: Lad Prabhakar The CRU block on the Renesas RZ/G3E SoC is similar to the one found on the Renesas RZ/G2L SoC, with the following differences: - Additional registers rzg3e_cru_regs. - A different irq handler rzg3e_cru_irq. - A different rzg3e_cru_csi2_setup. - A different max input width. - Additional stride register. Introduce rzg3e_cru_info struct to handle differences between RZ/G2L and RZ/G3E and related RZ/G3E functions: - rzg3e_cru_enable_interrupts() - rzg3e_cru_enable_interrupts() - rz3e_fifo_empty() - rzg3e_cru_csi2_setup() - rzg3e_cru_get_current_slot() Add then support for the RZ/G3E SoC CRU block with the new compatible string "renesas,r9a09g047-cru". Signed-off-by: Lad Prabhakar Signed-off-by: Tommaso Merciai --- Changes since v2: - Use dma_addr_t with buf_addr directly instead of splitting that into cru->mem_banks (high and low address) as suggested by LPinchart. - Moved and improved stride adjustment into rzg2l_cru_format_align() as suggested by LPinchart. - Use csi_vc into rzg3e_cru_csi2_setup() instead of cru->svc_channel as suggested by LPinchart - Added has_stride field to handle soc differences as suggested by LPinchart. .../platform/renesas/rzg2l-cru/rzg2l-core.c | 62 +++++++ .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 25 +++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 13 ++ .../platform/renesas/rzg2l-cru/rzg2l-video.c | 171 +++++++++++++++++- 4 files changed, 270 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 3ae0cd83af16..1356be14eda8 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -290,6 +290,12 @@ static int rzg2l_cru_probe(struct platform_device *pdev) return ret; cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; + cru->buf_addr = devm_kmalloc_array(dev, cru->num_buf, + sizeof(dma_addr_t), GFP_KERNEL); + if (!cru->buf_addr) + return dev_err_probe(dev, -ENOMEM, + "Failed to init buf addr\n"); + pm_suspend_ignore_children(dev, true); ret = devm_pm_runtime_enable(dev); if (ret) @@ -321,6 +327,58 @@ static void rzg2l_cru_remove(struct platform_device *pdev) rzg2l_cru_dma_unregister(cru); } +static const u16 rzg3e_cru_regs[] = { + [CRUnCTRL] = 0x0, + [CRUnIE] = 0x4, + [CRUnIE2] = 0x8, + [CRUnINTS] = 0xc, + [CRUnINTS2] = 0x10, + [CRUnRST] = 0x18, + [AMnMB1ADDRL] = 0x40, + [AMnMB1ADDRH] = 0x44, + [AMnMB2ADDRL] = 0x48, + [AMnMB2ADDRH] = 0x4c, + [AMnMB3ADDRL] = 0x50, + [AMnMB3ADDRH] = 0x54, + [AMnMB4ADDRL] = 0x58, + [AMnMB4ADDRH] = 0x5c, + [AMnMB5ADDRL] = 0x60, + [AMnMB5ADDRH] = 0x64, + [AMnMB6ADDRL] = 0x68, + [AMnMB6ADDRH] = 0x6c, + [AMnMB7ADDRL] = 0x70, + [AMnMB7ADDRH] = 0x74, + [AMnMB8ADDRL] = 0x78, + [AMnMB8ADDRH] = 0x7c, + [AMnMBVALID] = 0x88, + [AMnMADRSL] = 0x8c, + [AMnMADRSH] = 0x90, + [AMnAXIATTR] = 0xec, + [AMnFIFOPNTR] = 0xf8, + [AMnAXISTP] = 0x110, + [AMnAXISTPACK] = 0x114, + [AMnIS] = 0x128, + [ICnEN] = 0x1f0, + [ICnSVCNUM] = 0x1f8, + [ICnSVC] = 0x1fc, + [ICnIPMC_C0] = 0x200, + [ICnMS] = 0x2d8, + [ICnDMR] = 0x304, +}; + +static const struct rzg2l_cru_info rzg3e_cru_info = { + .max_width = 4095, + .max_height = 4095, + .image_conv = ICnIPMC_C0, + .has_stride = true, + .regs = rzg3e_cru_regs, + .irq_handler = rzg3e_cru_irq, + .enable_interrupts = rzg3e_cru_enable_interrupts, + .disable_interrupts = rzg3e_cru_disable_interrupts, + .fifo_empty = rz3e_fifo_empty, + .csi_setup = rzg3e_cru_csi2_setup, +}; + static const u16 rzg2l_cru_regs[] = { [CRUnCTRL] = 0x0, [CRUnIE] = 0x4, @@ -367,6 +425,10 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { }; static const struct of_device_id rzg2l_cru_of_id_table[] = { + { + .compatible = "renesas,r9a09g047-cru", + .data = &rzg3e_cru_info, + }, { .compatible = "renesas,rzg2l-cru", .data = &rzgl2_cru_info, diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h index 86c320286246..52324b076674 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h @@ -14,8 +14,13 @@ #define CRUnIE_EFE BIT(17) +#define CRUnIE2_FSxE(x) BIT(((x) * 3)) +#define CRUnIE2_FExE(x) BIT(((x) * 3) + 1) + #define CRUnINTS_SFS BIT(16) +#define CRUnINTS2_FSxS(x) BIT(((x) * 3)) + #define CRUnRST_VRESETN BIT(0) /* Memory Bank Base Address (Lower) Register for CRU Image Data */ @@ -32,7 +37,14 @@ #define AMnAXIATTR_AXILEN (0xf) #define AMnFIFOPNTR_FIFOWPNTR GENMASK(7, 0) +#define AMnFIFOPNTR_FIFOWPNTR_B0 AMnFIFOPNTR_FIFOWPNTR +#define AMnFIFOPNTR_FIFOWPNTR_B1 GENMASK(15, 8) #define AMnFIFOPNTR_FIFORPNTR_Y GENMASK(23, 16) +#define AMnFIFOPNTR_FIFORPNTR_B0 AMnFIFOPNTR_FIFORPNTR_Y +#define AMnFIFOPNTR_FIFORPNTR_B1 GENMASK(31, 24) + +#define AMnIS_IS_MASK GENMASK(14, 7) +#define AMnIS_IS(x) ((x) << 7) #define AMnAXISTP_AXI_STOP BIT(0) @@ -40,6 +52,11 @@ #define ICnEN_ICEN BIT(0) +#define ICnSVC_SVC0(x) (x) +#define ICnSVC_SVC1(x) ((x) << 4) +#define ICnSVC_SVC2(x) ((x) << 8) +#define ICnSVC_SVC3(x) ((x) << 12) + #define ICnMC_CSCTHR BIT(5) #define ICnMC_INF(x) ((x) << 16) #define ICnMC_VCSEL(x) ((x) << 22) @@ -52,7 +69,9 @@ enum rzg2l_cru_common_regs { CRUnCTRL, /* CRU Control */ CRUnIE, /* CRU Interrupt Enable */ + CRUnIE2, /* CRU Interrupt Enable(2) */ CRUnINTS, /* CRU Interrupt Status */ + CRUnINTS2, /* CRU Interrupt Status(2) */ CRUnRST, /* CRU Reset */ AMnMB1ADDRL, /* Bank 1 Address (Lower) for CRU Image Data */ AMnMB1ADDRH, /* Bank 1 Address (Higher) for CRU Image Data */ @@ -72,12 +91,18 @@ enum rzg2l_cru_common_regs { AMnMB8ADDRH, /* Bank 8 Address (Higher) for CRU Image Data */ AMnMBVALID, /* Memory Bank Enable for CRU Image Data */ AMnMBS, /* Memory Bank Status for CRU Image Data */ + AMnMADRSL, /* VD Memory Address Lower Status Register */ + AMnMADRSH, /* VD Memory Address Higher Status Register */ AMnAXIATTR, /* AXI Master Transfer Setting Register for CRU Image Data */ AMnFIFOPNTR, /* AXI Master FIFO Pointer for CRU Image Data */ AMnAXISTP, /* AXI Master Transfer Stop for CRU Image Data */ AMnAXISTPACK, /* AXI Master Transfer Stop Status for CRU Image Data */ + AMnIS, /* Image Stride Setting Register */ ICnEN, /* CRU Image Processing Enable */ + ICnSVCNUM, /* CRU SVC Number Register */ + ICnSVC, /* CRU VC Select Register */ ICnMC, /* CRU Image Processing Main Control */ + ICnIPMC_C0, /* CRU Image Converter Main Control 0 */ ICnMS, /* CRU Module Status */ ICnDMR, /* CRU Data Output Mode */ RZG2L_CRU_MAX_REG, diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h index ccaba5220f1c..d68d83340686 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h @@ -85,6 +85,7 @@ struct rzg2l_cru_info { unsigned int max_height; u16 image_conv; const u16 *regs; + bool has_stride; irqreturn_t (*irq_handler)(int irq, void *data); void (*enable_interrupts)(struct rzg2l_cru_dev *cru); void (*disable_interrupts)(struct rzg2l_cru_dev *cru); @@ -108,6 +109,8 @@ struct rzg2l_cru_info { * @vdev: V4L2 video device associated with CRU * @v4l2_dev: V4L2 device * @num_buf: Holds the current number of buffers enabled + * @svc_channel: SVC0/1/2/3 to use for RZ/G3E + * @buf_addr: Memory addresses where current video data is written. * @notifier: V4L2 asynchronous subdevs notifier * * @ip: Image processing subdev info @@ -144,6 +147,9 @@ struct rzg2l_cru_dev { struct v4l2_device v4l2_dev; u8 num_buf; + u8 svc_channel; + dma_addr_t *buf_addr; + struct v4l2_async_notifier notifier; struct rzg2l_cru_ip ip; @@ -175,6 +181,7 @@ void rzg2l_cru_dma_unregister(struct rzg2l_cru_dev *cru); int rzg2l_cru_video_register(struct rzg2l_cru_dev *cru); void rzg2l_cru_video_unregister(struct rzg2l_cru_dev *cru); irqreturn_t rzg2l_cru_irq(int irq, void *data); +irqreturn_t rzg3e_cru_irq(int irq, void *data); const struct v4l2_format_info *rzg2l_cru_format_from_pixel(u32 format); @@ -188,10 +195,16 @@ const struct rzg2l_cru_ip_format *rzg2l_cru_ip_index_to_fmt(u32 index); void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru); void rzg2l_cru_disable_interrupts(struct rzg2l_cru_dev *cru); +void rzg3e_cru_enable_interrupts(struct rzg2l_cru_dev *cru); +void rzg3e_cru_disable_interrupts(struct rzg2l_cru_dev *cru); bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru); +bool rz3e_fifo_empty(struct rzg2l_cru_dev *cru); void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, const struct rzg2l_cru_ip_format *ip_fmt, u8 csi_vc); +void rzg3e_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc); #endif diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c index a3c4e2a0bef6..506079af1528 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -31,6 +31,9 @@ #define RZG2L_CRU_DEFAULT_FIELD V4L2_FIELD_NONE #define RZG2L_CRU_DEFAULT_COLORSPACE V4L2_COLORSPACE_SRGB +#define RZG2L_CRU_STRIDE_MAX 32640 +#define RZG2L_CRU_STRIDE_ALIGN 128 + struct rzg2l_cru_buffer { struct vb2_v4l2_buffer vb; struct list_head list; @@ -184,6 +187,8 @@ static void rzg2l_cru_set_slot_addr(struct rzg2l_cru_dev *cru, /* Currently, we just use the buffer in 32 bits address */ rzg2l_cru_write(cru, AMnMBxADDRL(slot), addr); rzg2l_cru_write(cru, AMnMBxADDRH(slot), 0); + + cru->buf_addr[slot] = addr; } /* @@ -224,6 +229,7 @@ static void rzg2l_cru_fill_hw_slot(struct rzg2l_cru_dev *cru, int slot) static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) { + const struct rzg2l_cru_info *info = cru->info; unsigned int slot; u32 amnaxiattr; @@ -236,12 +242,39 @@ static void rzg2l_cru_initialize_axi(struct rzg2l_cru_dev *cru) for (slot = 0; slot < cru->num_buf; slot++) rzg2l_cru_fill_hw_slot(cru, slot); + if (info->has_stride) { + u32 stride = cru->format.bytesperline; + u32 amnis; + + stride /= RZG2L_CRU_STRIDE_ALIGN; + amnis = rzg2l_cru_read(cru, AMnIS) & ~AMnIS_IS_MASK; + rzg2l_cru_write(cru, AMnIS, amnis | AMnIS_IS(stride)); + } + /* Set AXI burst max length to recommended setting */ amnaxiattr = rzg2l_cru_read(cru, AMnAXIATTR) & ~AMnAXIATTR_AXILEN_MASK; amnaxiattr |= AMnAXIATTR_AXILEN; rzg2l_cru_write(cru, AMnAXIATTR, amnaxiattr); } +void rzg3e_cru_csi2_setup(struct rzg2l_cru_dev *cru, + const struct rzg2l_cru_ip_format *ip_fmt, + u8 csi_vc) +{ + const struct rzg2l_cru_info *info = cru->info; + u32 icnmc = ICnMC_INF(ip_fmt->datatype); + + icnmc |= (rzg2l_cru_read(cru, info->image_conv) & ~ICnMC_INF_MASK); + + /* Set virtual channel CSI2 */ + icnmc |= ICnMC_VCSEL(csi_vc); + + rzg2l_cru_write(cru, ICnSVCNUM, csi_vc); + rzg2l_cru_write(cru, ICnSVC, ICnSVC_SVC0(0) | ICnSVC_SVC1(1) | + ICnSVC_SVC2(2) | ICnSVC_SVC3(3)); + rzg2l_cru_write(cru, info->image_conv, icnmc); +} + void rzg2l_cru_csi2_setup(struct rzg2l_cru_dev *cru, const struct rzg2l_cru_ip_format *ip_fmt, u8 csi_vc) @@ -290,6 +323,19 @@ static int rzg2l_cru_initialize_image_conv(struct rzg2l_cru_dev *cru, return 0; } +bool rz3e_fifo_empty(struct rzg2l_cru_dev *cru) +{ + u32 amnfifopntr = rzg2l_cru_read(cru, AMnFIFOPNTR); + + if ((((amnfifopntr & AMnFIFOPNTR_FIFORPNTR_B1) >> 24) == + ((amnfifopntr & AMnFIFOPNTR_FIFOWPNTR_B1) >> 8)) && + (((amnfifopntr & AMnFIFOPNTR_FIFORPNTR_B0) >> 16) == + (amnfifopntr & AMnFIFOPNTR_FIFOWPNTR_B0))) + return true; + + return false; +} + bool rzg2l_fifo_empty(struct rzg2l_cru_dev *cru) { u32 amnfifopntr, amnfifopntr_w, amnfifopntr_r_y; @@ -401,6 +447,20 @@ static int rzg2l_cru_get_virtual_channel(struct rzg2l_cru_dev *cru) return fd.entry[0].bus.csi2.vc; } +void rzg3e_cru_enable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE2, CRUnIE2_FSxE(cru->svc_channel)); + rzg2l_cru_write(cru, CRUnIE2, CRUnIE2_FExE(cru->svc_channel)); +} + +void rzg3e_cru_disable_interrupts(struct rzg2l_cru_dev *cru) +{ + rzg2l_cru_write(cru, CRUnIE, 0); + rzg2l_cru_write(cru, CRUnIE2, 0); + rzg2l_cru_write(cru, CRUnINTS, rzg2l_cru_read(cru, CRUnINTS)); + rzg2l_cru_write(cru, CRUnINTS2, rzg2l_cru_read(cru, CRUnINTS2)); +} + void rzg2l_cru_enable_interrupts(struct rzg2l_cru_dev *cru) { rzg2l_cru_write(cru, CRUnIE, CRUnIE_EFE); @@ -423,6 +483,7 @@ int rzg2l_cru_start_image_processing(struct rzg2l_cru_dev *cru) if (ret < 0) return ret; csi_vc = ret; + cru->svc_channel = csi_vc; spin_lock_irqsave(&cru->qlock, flags); @@ -601,6 +662,107 @@ irqreturn_t rzg2l_cru_irq(int irq, void *data) return IRQ_RETVAL(handled); } +static int rzg3e_cru_get_current_slot(struct rzg2l_cru_dev *cru) +{ + dma_addr_t amnmadrs; + unsigned int slot; + + /* + * When AMnMADRSL is read, AMnMADRSH of the higher-order + * address also latches the address. + * + * AMnMADRSH must be read after AMnMADRSL has been read. + */ + amnmadrs = rzg2l_cru_read(cru, AMnMADRSL); + amnmadrs |= ((dma_addr_t)rzg2l_cru_read(cru, AMnMADRSH) << 32); + + /* Ensure amnmadrs is within this buffer range */ + for (slot = 0; slot < cru->num_buf; slot++) + if (amnmadrs >= cru->buf_addr[slot] && + amnmadrs < cru->buf_addr[slot] + cru->format.sizeimage) + return slot; + + dev_err(cru->dev, "Invalid MB address 0x%llx (out of range)\n", amnmadrs); + return -EINVAL; +} + +irqreturn_t rzg3e_cru_irq(int irq, void *data) +{ + struct rzg2l_cru_dev *cru = data; + unsigned int handled = 0; + unsigned long flags; + 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->buf_addr[slot] = 0; + + /* + * To hand buffers back in a known order to userspace start + * to capture first from slot 0. + */ + if (cru->state == RZG2L_CRU_DMA_STARTING) { + if (slot != 0) { + dev_dbg(cru->dev, "Starting sync slot: %d\n", slot); + goto done; + } + dev_dbg(cru->dev, "Capture start synced!\n"); + cru->state = RZG2L_CRU_DMA_RUNNING; + } + + /* Capture frame */ + if (cru->queue_buf[slot]) { + cru->queue_buf[slot]->field = cru->format.field; + cru->queue_buf[slot]->sequence = cru->sequence; + cru->queue_buf[slot]->vb2_buf.timestamp = ktime_get_ns(); + vb2_buffer_done(&cru->queue_buf[slot]->vb2_buf, + VB2_BUF_STATE_DONE); + cru->queue_buf[slot] = NULL; + } else { + /* Scratch buffer was used, dropping frame. */ + dev_dbg(cru->dev, "Dropping frame %u\n", cru->sequence); + } + + cru->sequence++; + + /* Prepare for next frame */ + rzg2l_cru_fill_hw_slot(cru, slot); + +done: + spin_unlock_irqrestore(&cru->qlock, flags); + return IRQ_RETVAL(handled); +} + static int rzg2l_cru_start_streaming_vq(struct vb2_queue *vq, unsigned int count) { struct rzg2l_cru_dev *cru = vb2_get_drv_priv(vq); @@ -782,7 +944,14 @@ static void rzg2l_cru_format_align(struct rzg2l_cru_dev *cru, v4l_bound_align_image(&pix->width, 320, info->max_width, 1, &pix->height, 240, info->max_height, 2, 0); - pix->bytesperline = pix->width * fmt->bpp; + if (info->has_stride) { + u32 stride = clamp(pix->bytesperline, pix->width * fmt->bpp, + RZG2L_CRU_STRIDE_MAX); + pix->bytesperline = round_up(stride, RZG2L_CRU_STRIDE_ALIGN); + } else { + pix->bytesperline = pix->width * fmt->bpp; + } + pix->sizeimage = pix->bytesperline * pix->height; dev_dbg(cru->dev, "Format %ux%u bpl: %u size: %u\n",