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: 868784 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-media@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);