From patchwork Mon Dec 16 07:58:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larisa Grigore X-Patchwork-Id: 13909321 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2070.outbound.protection.outlook.com [40.107.20.70]) (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 01D901FFC60; Mon, 16 Dec 2024 07:58:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734335921; cv=fail; b=SYw/7CR8mpbtWez0eO5A6SdQzre8QwgZC/U3xYPZjTFwHtiImCOtuW9cZOV8krz7OPyW54xA1sr6UPM3gdhaKY5lN/dG6/CAvANzeLRY84u+L3woVDSWFg2/IiVMn+Q3kky7iwfKGVKBlFcHkvtR93YdBGTGQ5Ie7F1WxvEwzEc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734335921; c=relaxed/simple; bh=g0hyPjcqAZkv+r7RgWj/ak9g/4MZz3NBUpdZHO89b9w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=CceFBi9ObaRWAJDhZG06crnVu1mdD7Z2Mfu/ee111ZeK6m0rORIKjeOPiR/pasvh4owiwKdl9KBdeCFDNyvDlM6XG1h4DiMrawZNK6FxM2DMSNVngNIz2Tixo9O27APRBh1kaWL4kyEWSL7Nv7IOFMjmexKODTBFmFPQ59y9U6w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=av7Ty9kF; arc=fail smtp.client-ip=40.107.20.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="av7Ty9kF" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Kt/2tKbpLFFSMdKQMKiuWDPxGDMok9S0vHpn2PWvttp3MXFGry5uaiHpZAjYH8umom7cHcb1wWc3lhDvpm9milOKPO64fhIDu7HxXOE9b7/S3auHEQjEO9CvV9daKJIMR+M5WMy4eZv4d74dY7luTNCwRuHEzyQDEyWMbSw36QuGC9gf27CRbM1Pp6szud6YOni7EqSuKPUOkrqWxU08E4TRJQegR7YPFOBqoVJIHyItQzde8NzEqNa9/MsdwIDt3WpNAMuRySpPw327Dd991odqyCIDMaWpk28h0hie8cEfQXFvvQdus/glRq5vuFCL26iWpNEmjZLj8CuTg5GXzA== 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=9IYbNyROv4P5mouCNyViMuQSGpX+YC+WB51W6BWVdOM=; b=C28B5skTeIJHs1FJSvEK+4unjIaEuaIjnMmVeAC1lXIsmxOqpvKTSYk6yyHK4+aGz2jBHUXlKx9fzWByqf9MSDZI3kpnIZayU62SNrG2mou0fO8cQxDZ4XbDL26IKUH8B3AGi3BmUGkk30hpgd1LdIGr6GyjP9xqRBASuQ+11XTU9JH4jGM4LoIhssVnFicGEJDK0znv7P8hk0u4zHYZodeB0vkefhrus/coPo9yyjeDv63zbWpjkmqcVyU4Q6zwUtSbT1oeA7F0zdRYogthG2+qOU4RCfJzcP1dqbo+GG0Ptv+dc5IVfx/a5qM5Vyb3TRMI5L4NHTwysV6upFtk+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9IYbNyROv4P5mouCNyViMuQSGpX+YC+WB51W6BWVdOM=; b=av7Ty9kFwJ+S3MN9SFgPQD+31trjXy3TB/7GDvELP7ov1GWWrKjUGLqaIZuz0vU9FLPtCwZTfpCbMYSJNcEf0RHVxlNFYdQESF+gbfPXAPyEPmlRAg5qZ5+QU8qHRS/SDxQW0e2AlMVTXmQPmavDuzBdLx8iD7POdfGdI+PlWITH84VFUv9D7qAsJBQi1dayx7GAK1NI7alB12r/aDWY8wVhLOYt4h13TlLNIRE8v1FUEqmPer8CdE5o1471leyF1KaJmg6me+MK6T9sxv69+lGQEpsYfeK4ap+oYiBxQ88eBFpW/4pdSYuAjt3fC+rM3R1ci9s9oj2lcwjMrKvOBA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AS4PR04MB9550.eurprd04.prod.outlook.com (2603:10a6:20b:4f9::17) by DU4PR04MB10361.eurprd04.prod.outlook.com (2603:10a6:10:55d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8251.21; Mon, 16 Dec 2024 07:58:32 +0000 Received: from AS4PR04MB9550.eurprd04.prod.outlook.com ([fe80::e28d:10f8:289:baf7]) by AS4PR04MB9550.eurprd04.prod.outlook.com ([fe80::e28d:10f8:289:baf7%6]) with mapi id 15.20.8251.015; Mon, 16 Dec 2024 07:58:31 +0000 From: Larisa Grigore To: Frank.Li@nxp.com Cc: dmaengine@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, s32@nxp.com, Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Larisa Grigore Subject: [PATCH 4/8] dmaengine: fsl-edma: add eDMAv3 registers to edma_regs Date: Mon, 16 Dec 2024 09:58:14 +0200 Message-ID: <20241216075819.2066772-5-larisa.grigore@oss.nxp.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241216075819.2066772-1-larisa.grigore@oss.nxp.com> References: <20241216075819.2066772-1-larisa.grigore@oss.nxp.com> X-ClientProxiedBy: AM0PR04CA0086.eurprd04.prod.outlook.com (2603:10a6:208:be::27) To AS4PR04MB9550.eurprd04.prod.outlook.com (2603:10a6:20b:4f9::17) Precedence: bulk X-Mailing-List: dmaengine@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR04MB9550:EE_|DU4PR04MB10361:EE_ X-MS-Office365-Filtering-Correlation-Id: a9d302f4-aad1-4952-1db5-08dd1da76ec1 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?fKslHeVLxdR7jfabaQKeWb0lqNrLArb?= =?utf-8?q?NPNDQLv1RBdhpRi374bEeRXTxfdctoC6aaCHYQ26VVuSU5FMhGJYfbF17525h+w8D?= =?utf-8?q?TT7sXX8BVKk8640qj746Rpi+h4GnbM+MJKvPam3kDuFUQRHAx9HzCHPI/WyK4XIcs?= =?utf-8?q?NaBUFkod3tifmskRdMr89Ji25MwqAgjJ20x5iVT0UviAKIlgwhVAMhYMMfog5fS7+?= =?utf-8?q?2Xcy4TePjCO0GhGZJgeGSIaCgt14hBFj+gFuPXot4mx9Ueq2IAT1JQhjCAAdunuUO?= =?utf-8?q?zUzaQRVlUHB6u08QEQZ1HO6Ph9UyhjhlfBgjsOCTNS4vnLfF2P+9rygpDJJTgrcs1?= =?utf-8?q?zQQt9/cIxn7Yv4eWcdIFlstbzV90SDZPJSuLuSMeK6EywAJo/yxwyjUPKo5QRiowm?= =?utf-8?q?UKfqbiXtmL5PEFAmng6fOLyTkIyH9g2AJSCCv8YhEUCm7++/Er1IX8uJAv5PLAP2x?= =?utf-8?q?7E/OJq7aFhuySY+QCOx7c9adTilwae6O8Asyw9lv8Z7PeKKE40kewvvhOIOh9BKN7?= =?utf-8?q?ytIsharxDdSSLcdRmai3vbxMHWKRjKSautZf6+KuynhPAwsAscgPhnQAVAycecDsL?= =?utf-8?q?eRFxhkLxUWUV2pPk5bLttb+B6HaEM8aDjcjW7Jesines4rTbbWhLl6o2DQw9ZNF8a?= =?utf-8?q?pmLpqIhJid1i923Kx6noaqhcErNxblUjlcI0aQNksqFKvUW3tXi3ptWPeDBEzd9Qf?= =?utf-8?q?Y0BuGYwl4dN9OLhhEsUBSF6P6g3WMVa/ghMz6lENIyD2x04nDwiSCJov+R08BWwIU?= =?utf-8?q?1sP7TGbf/Kfc3ACw1r0cDzo4WTBFwiBZfm/Kx7bUQQKdwe8amMi0riqucVySX4yVD?= =?utf-8?q?ZvNNa2ekibuMPfE8vC+nXq4QGyTlL7sgp5ASVQeJwpBZ3Am4ZFN2B8ZuT8FO/N97r?= =?utf-8?q?REp48HcW0JRdNrIqjAfH3bN5zG7Wl/F7f8eVSsLVqB5ltztHYuXhHl3qVSGuD8pHD?= =?utf-8?q?CyfkdNKeqD39U7VdDtPW5SUK22ASiKh+wvFfkNjBjqoEQPn5qwKNSFsuOPII14z0Z?= =?utf-8?q?6ygY4eR68zX5j/bkUrNaKrkxjBBf4dtbEBjbpPOltJ+gIi3J4aTBwyqSpII5rEGhb?= =?utf-8?q?FDBNVFo2fVFFWRhApfyDW7wvxXej7BEub09DX+7yGPX79GzJq0m4/o7INdEssyU3u?= =?utf-8?q?N0JtEjir2cWNsxYFMXxf2l2VlihEe0maMxg6QZOWPlurYy2dc5sy+vmuJiGhwQZUG?= =?utf-8?q?j3Uh0H1Z7AXweJvsHQ5WoR9QIwj1VHeohETUpjhTgjNVMIC8Rkowd7pjcCi0jUHEo?= =?utf-8?q?GE5GeODsMpw90LNzCX0Ra+txxt7I5CwpiEqKsEzHHTarbgQ1ImlRYaVsFTZ60eiYB?= =?utf-8?q?zhFJGP0+6P0r?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR04MB9550.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Tzqd0oARP3AAU7OPDEaXQs2nu6Wv?= =?utf-8?q?QVTezUD5XH/NhoyWkZ5U4wy0B5f7Vxv1iKIkKKYJWizFmV5sy3/jtdwUx9mHbYQDO?= =?utf-8?q?eEY5H1LxnKSOuOrbcQ/k/GKE19UkLVRU3elM32LU1Xjk41xzpTu/k1ERbMiuWnSWd?= =?utf-8?q?tML9oksxz6q3CzRpDvL3YKYvOYgfMVx/wECM2wABrFB7VGF1ixNB7ViiYUMumGGdK?= =?utf-8?q?w65i+E2c2eP3Vyx8zsmvH6mM8XySSXGSp8y8cO2mIKYJItsXvXC9TloZhhtfF3lWc?= =?utf-8?q?uy/ElISF2N0aYjJlTRW38DyihmtXyLOTZmRAx+Iz4Lf+IyZ/ADuPxSxJhCX6qwr7D?= =?utf-8?q?69WHSqESvpHnbLzxkkKC8AtNx+5Rvk3Wj/2GgXPO1WIQNf36CrL5Gxk9vMvNxhBdY?= =?utf-8?q?5PBgf79awbMDQeBFfbulRMTvo6XSVBfr3mUHJnCAywIBiR3nTQZFXwXUH8tnHWRUg?= =?utf-8?q?GIjK/wMMccf3M3KaSWaHBADAiyXKfFzICgu8G80ZEGsXPDeu+ctN+Dd+6gh14aqs5?= =?utf-8?q?FruR6XMvCgIpH0JvxQt+sjklZesAnq72v7BYvFRo+Pwlc2ZZNPo0Ra1uepXt1ESLg?= =?utf-8?q?ZKcfGw5dDJLd68R8Zu4BpAWdX7Ri3Fzx/M4VHUzhvoPxnbwZ8cFbgy74rAQiuGTHX?= =?utf-8?q?Fg1CGwlKwCtDbsZ8C7uVHtzoznddFcR6dtpUAkArKE4FEtVjcjU0VEloKTk4j9xnC?= =?utf-8?q?IHVxN1qUel1u/lB0FxgjYBAUTT8nTtxRvIBMwkr3TZcEM3TLGy4qZXo8qlTOnFqFz?= =?utf-8?q?YQEtKowXB7L0x181an/UVQ8CX1d5K8eFFLSqwbauEFV9ctRgZH9uQ8MdNLbbv49zq?= =?utf-8?q?SOUlzmLO4I0KAdsTQfHeuj1gBivT8voMQU0uF+Ue/xEWSur0uLaC4sCVML+eR7BOW?= =?utf-8?q?U7+WsEvHAChwgqHFclnjB6mAnr7hQQ+yKHzQ4K937tcglOWKMJ0T/cS86o6/iFQRH?= =?utf-8?q?J2LA5/74yrDMCsvglQSuQ+vhDvQCNC4rZ5AUeQGHPwkuVOq5c4BKibOfZdkopKgPS?= =?utf-8?q?9N/7NZHt0iAYGv3uo3ji8GpAuAvXbMd0tvc/KLmZVy80djPWZUVIOfsSZ5DxDukJE?= =?utf-8?q?pcQYBvSiI/v+WoO9Rkp6vdT6yYq4ClFAZbZktZRPsLVK5P8P8wLA+3eJ3Rqq0zMjo?= =?utf-8?q?N7KTL/YBK6GWkmXzLL9U2u+0s6NE5zTEYSfZQIFAzdibTxGWDBBUrtQXSMdN48vHW?= =?utf-8?q?7qeREbS+HXsg33p0aN1rIOuPe3OtKyV2L0spcjgLyHdD/STdsO80E04yxuO7HPDfi?= =?utf-8?q?JXIFDt2WjRL4cSQ+WXnMmkoPI2PVoWJCF4EznEekriAuHXGCYnWhZ0NmgE0m153bC?= =?utf-8?q?FD/x35PAuqYNlFY1LXQI0mcPeZDeYH0vJ2DF9e1flbOOO9M3TZ6FBcKzdqLSgMGiV?= =?utf-8?q?YWktg7JFwwxfCKFFWALo75M3KG067ivdJ5xfVWsvdqEUDtXHfuz6RMxMp+N7eBUlC?= =?utf-8?q?C5opT7z6VJGI2W5J57njAizf9u3DxSwe/AgeBwLB3kHLIbRel59jc9XOHZaaeb0WV?= =?utf-8?q?N1AeiqyCwKTd?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9d302f4-aad1-4952-1db5-08dd1da76ec1 X-MS-Exchange-CrossTenant-AuthSource: AS4PR04MB9550.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2024 07:58:31.9032 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EhbQ08t7TeONy0YOmcWECUI7mp2xnNFyzRm1+o/7lxYOkxwAHuF077DweJq51uHymx8NZgWyNd1u7Bdo5kIzxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10361 Add edma3_regs to match eDMAv3 new register layout for manage page (MP). Introduce helper function fsl_edma3_setup_regs() to initialize the edma_regs for eDMAv3, which pave the road to support S32 chips. Signed-off-by: Larisa Grigore Reviewed-by: Frank Li --- drivers/dma/fsl-edma-common.c | 15 +++++++++++++++ drivers/dma/fsl-edma-common.h | 11 ++++++++++- drivers/dma/fsl-edma-main.c | 8 +++++--- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index b132a88dfdec..62d51b269e54 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -44,6 +44,11 @@ #define EDMA64_ERRH 0x28 #define EDMA64_ERRL 0x2c +#define EDMA_V3_MP_CSR 0x00 +#define EDMA_V3_MP_ES 0x04 +#define EDMA_V3_MP_INT 0x08 +#define EDMA_V3_MP_HRS 0x0C + void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan) { spin_lock(&fsl_chan->vchan.lock); @@ -904,4 +909,14 @@ void fsl_edma_setup_regs(struct fsl_edma_engine *edma) } } +void fsl_edma3_setup_regs(struct fsl_edma_engine *edma) +{ + struct edma_regs *regs = &edma->regs; + + regs->cr = edma->membase + EDMA_V3_MP_CSR; + regs->es = edma->membase + EDMA_V3_MP_ES; + regs->v3.is = edma->membase + EDMA_V3_MP_INT; + regs->v3.hrs = edma->membase + EDMA_V3_MP_HRS; +} + MODULE_LICENSE("GPL v2"); diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index f1362daaa347..52901623d6fc 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -139,10 +139,18 @@ struct edma2_regs { void __iomem *errl; }; +struct edma3_regs { + void __iomem *is; + void __iomem *hrs; +}; + struct edma_regs { void __iomem *cr; void __iomem *es; - struct edma2_regs v2; + union { + struct edma2_regs v2; + struct edma3_regs v3; + }; }; struct fsl_edma_sw_tcd { @@ -491,5 +499,6 @@ int fsl_edma_alloc_chan_resources(struct dma_chan *chan); void fsl_edma_free_chan_resources(struct dma_chan *chan); void fsl_edma_cleanup_vchan(struct dma_device *dmadev); void fsl_edma_setup_regs(struct fsl_edma_engine *edma); +void fsl_edma3_setup_regs(struct fsl_edma_engine *edma); #endif /* _FSL_EDMA_COMMON_H_ */ diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index 0b89c31bf38c..cc1787698b56 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -495,10 +495,12 @@ static int fsl_edma_probe(struct platform_device *pdev) if (IS_ERR(fsl_edma->membase)) return PTR_ERR(fsl_edma->membase); - if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG)) { + if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG)) fsl_edma_setup_regs(fsl_edma); - regs = &fsl_edma->regs; - } + else + fsl_edma3_setup_regs(fsl_edma); + + regs = &fsl_edma->regs; if (drvdata->flags & FSL_EDMA_DRV_HAS_DMACLK) { fsl_edma->dmaclk = devm_clk_get_enabled(&pdev->dev, "dma");