From patchwork Mon Jul 1 07:02:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joy Zou X-Patchwork-Id: 13717595 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2049.outbound.protection.outlook.com [40.107.103.49]) (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 9B27359160 for ; Mon, 1 Jul 2024 06:53:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.103.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719816827; cv=fail; b=GXO13VsuyRA4ZZSbXdT/ApUJ7SXaoPekMIQYH8jBFiHBA4kwKs95Fpzvpwdy79qAOyQaBHnyAZ+qXUy79dXQRahxduE8dFMbF/o1Rq98NI1OvCiW+2fY3A1KHE+CAguoDw3phI5wyik4kWMwdTf6gB2j2KSWRJuHyDw7YcWDkXg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719816827; c=relaxed/simple; bh=aHaElDJTewort6Rd+7fdaGEeH272bL3guiaaUbxnlfE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=feFIsYeqm818EtOhHpM+idE3JOpAPeml2jro5+4YH24b7o9fAdnBWCIsi+NrBQSOKVXG9U/LaQSSjZEm3jTbXA5k/LCIC2h+WgcmU1bwaa8/mgdLqg08Nsf26iqRqckuC8tFCNQ+yxGr860vmjy26ZAjpNd6m1Sst+BgEEiksaQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=eqsyeIYQ; arc=fail smtp.client-ip=40.107.103.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="eqsyeIYQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N8lgcfYnVPW0CP6LPPVKFnFljjuHg0sNq39uprV6HWAo30JqEC4tnzrEvitbfz7A1+HkXnzQuuTmJuLBDZbSby/ERi/pQHsq5dEE8qqjMKqSe8xfPgcNKucVCDnx0u+Y2oBEFXQvM+JN2jxTc8J0fwbKmPxORVPnOsxea72wPP1lYsh5emQ18925/bevJdWQGRmI1zEqp6W5dNfiU2AqO3QJetTl9sDEdnFJijMSuL2wEKFrhwqFdKTwXqF3XoKGhAyQ2RRGZDIz3pBlBpCLn4ZVA07pCIdKWdIdDXAMpqvXPi+6nOiVjgB/k/TDhvQY7VShM1W+zOSo2cXURivyLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ixPUvjRV0+w0DM61woEtHzrBm2OT1JGYWtFDKWa1hXY=; b=RBJqrIqRtw121NQLc4MRDmFO1KpLMxLT4kFYtp8T/NygJpQ1WaCyvE0PyeDBTbVP+s70F4mRrpH0L5L+9dGQQnwvHv1Puv21R4KB13m1Hni1a5g9H0itBaikvuF4BDjKdBrXn+zdqqXrBuwRwi7gUX99zJNZVlBO858pyikpo1yi8nQVFGGgufzvfNNYZL9QO3EaxHf8Y33+iW66+D9OVN4VBK+5PQnsrU+ZpVa6phyhmDDSrxK/6RX0NQMNw9/LtzVSK6DLB//QZ5uWEH1EX+uleGfN0CFP6dqqV/BfVEYHMNkbPJGH22Edhvv7tB6aERnGZQyLzcu1iqUv1A+0Zw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ixPUvjRV0+w0DM61woEtHzrBm2OT1JGYWtFDKWa1hXY=; b=eqsyeIYQca7zRL6r+MGhsL03BoVKfftYh6SHNdPOroJkeJT2cgs+wbEhdLNNG1/T6NjLXqnD3emfKqwIFF8e8L45nUSGckq3GDFudlgvdZaodgKb1ZlQ0JtlJxRp3Mg6mKIkn+lw6+V1PeTEj8ePj64UGBGn6CxWcfSK3eVS5sk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS4PR04MB9386.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::8) by PA1PR04MB10601.eurprd04.prod.outlook.com (2603:10a6:102:488::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7719.29; Mon, 1 Jul 2024 06:53:42 +0000 Received: from AS4PR04MB9386.eurprd04.prod.outlook.com ([fe80::261e:eaf4:f429:5e1c]) by AS4PR04MB9386.eurprd04.prod.outlook.com ([fe80::261e:eaf4:f429:5e1c%5]) with mapi id 15.20.7719.029; Mon, 1 Jul 2024 06:53:42 +0000 From: Joy Zou To: Frank.Li@nxp.com, vkoul@kernel.org Cc: imx@lists.linux.dev, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] dmaengine: fsl-edma: change to guard(mutex) within fsl_edma3_xlate() Date: Mon, 1 Jul 2024 15:02:31 +0800 Message-Id: <20240701070232.2519179-2-joy.zou@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20240701070232.2519179-1-joy.zou@nxp.com> References: <20240701070232.2519179-1-joy.zou@nxp.com> X-ClientProxiedBy: SG2PR06CA0183.apcprd06.prod.outlook.com (2603:1096:4:1::15) To AS4PR04MB9386.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::8) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR04MB9386:EE_|PA1PR04MB10601:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b2b3ce7-b28d-495a-2ec7-08dc999a8ba7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: HCStHHYCX79HXDmoMPGJaMFX3O4wNXDzuGB06hlsLgHy1qW2Uxy54ZhW7kx11iJYv4ze0og1cfgKyKuFZeobxO3aMH/Dq4YZbHkT1gnlH7jWRcYpHYwMwev+dInPAKXkeU7/Sbv8P3IDrib8pa2c5JeG3GDdm4yK9L6F16zbQzx3JVZNb5qzvaROpbs0K7l0POSMthM8Ct2HUpiZDuEBt4n3X4OQmQGC/a26wk1wSlKFANsKGtWKJpHGhwg4oUBYWWcb/avO5bp42DPhGlNjhVw48q3biUQnljzKvNIJQ5tmZ4BSep4SWbPS6K4wUbvvNfSN2TzkrpB7Nc0c6uCJ2Sofi8TV67CD7RIuDkg4ovIHrNr+A8/g0jL7t/l+oeagSTfpthmUlL4hb5teWyifiDcc1FBm8cVeOQZMKPWv1KSOMXX1d1nsPmISBMMudZ7qO2JbRIqeZMnIUcO7QMWekq0OTsnn27iR826q+2ZAGEzVRdWf4WVvjy3Y0iUnj+D8pyd7teSiDzgtvL5/M0o0xcFWMXfZHDrdii2/w1QWmLgKz9NAswLLQfjo1wNqu0BNFbOeCRcgn5vxJNJwLXLZvr+FY6E7MlLdNMSMyvMCoiSN9e/TKS1PHrkLEKY52PCnekTDAu9VDbk2nuk/BHQGiKr/A21LYvmOdhUaj7BEVq9AX0U25fvZpYEjrX0eX9w2jZnNl9zhigfqCY0GAm/lAgG7DpEn7z5QE86vYJbLMNuy5fw5NS5uKQB2oPx0pJy0Nsh+7TOJhEiPNB1xXsKErKUDHpYhZA9wtL/NV6SCxr1iYfLJ3iuV1pKxDwxU/n2gdOUUix8mofUdeBm6fGzYeNQRrYnJKD4t0u/gkCw3QCHQZT3Dm+VnwdjIQIk3Wh8+kAlUtET+mKw5cte7587M6e347BHn3FVRt1fdAB6J7azUN1bYf1Ys3WPyCLyWpcasjkKv3I6zYNmbW7oZy8r28SEOjNtkp5iSp3OYWeWHnDa0DNinc+6S3F9MJ/MQA+D4BALgMICWS1CyIh5LYmU0LHlOzRYMQoiLTFibNxmQt+R0r2lrBzZsEcCD6Y4lL7ebcUUw6yaOq4J2ZnLtZuBnOjSNOWsQwMO+dvgRXeSRXssMQ8zsQ5lTBfLrKRjtkQxqxE7D+gJX+reqOe6msOMvSSMym4cffWkCRX7WBcA14hfukQdYuCzkYc1vX8thVxjIoV2CReF4xFaNZ045chBL8kaupr4lKDQjNkyJ7cI4vbuwyUoTmXz8FDH68fxDmj7LlH5D/hhO++KGYXx+WJiih2d1WmpE8uGlGCkUtt3IPVmzslYgt1Aw2aotf0iKDSF7qM6N3ip0Mzb2WsoWRjun7Vc0jjtRSl1AqFrKK+Amv+ku2ZO7bPMl/s3Pi23pqP8BaxfeaW7h1UQojBMYnwS0CA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR04MB9386.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nuoKtLCqls5QfXZ1dcoAS16FMJwh8DpxpgoyynEJPW0sUB8vut2jWHi5/FWnIi4XRUjpXUF+Q+3tqQL5swhpW0uZmGiTObptQMJfMFvxnmcGT8ecKWSbbzog49zaKCGSFmib/Uu2+ECYC0bqlyzK+wTKg2OXnKYvr9Ss3akZhklWPkQXqS105P90aE7WEfLfDTL/RiCI0pPYksEwgSaXP2PZEcGs6X82G0CYLSd56mBJsLFqoxLRCanggLaVlJc8IjeX6bavu7ben6vZph4wKPKQsZ6pnhkQ5lQk3Q2LvwkG8vXYYZ+mTjSQh7zNmEUa3FAbs5eqcjd/3BTq/K3mIbd7VlEuccXhUocb0sHg7z6l1lDeyyIKrz7HcwYqcbbZpdoZ/OLbyiybR7mT/RodGMIPHUnR9eEzTLevTwskcCrayBrJkpBGe7n9PP0VuY99JVTPHIxBln0vxmdSWTVmLLhHI3+RpEh26TlOtYpXHvLpo344QQJ+BtUFuc3MePj3jecbdaTfjSwL2/BrmRi2VppNigMGObTLw982ak7ZuvJ5gOWa5U4/PmX4QXBdbHJ7rYcqMva4xSGW1nndapI1aWH1Fugz33PSryyWZQgCfOxawablFPebbhtPeKBI8nc1Y1OyHL1LNsUE1VeXhN7WKXaIdoNWo8AK+rKBD1MigkddtSv2Gh06NsObLXMfGT6HOyYobyFTJ7EJBIBE+w11Y0f3xZLkAfVBvE/krAGd4sl7zGIxa1qKZmxEpLdfyAo6y7cAgrdBzhv8Gw/inkLxTuKMAUc/J1bI8qPtCbPHxYzqdqxcCSCp1CKm1i3KOv+rm76+WpmDvjnzYxNhTrSqW6l3XNuMVjdc7hCEUPxRlX5DytjcHydtfvUmlGQupmARBzfN+6BjvRQJndvio/BpuQC19QUSnC9NQJzipHeVjti6n83WT8vLd9bm9z9XT5U/DVv0haMi/Q6Y8Lt7/LclRp8qIXNaj4wDM8F33NNLhChQp+TA3gD8ECLS8jwkv/ASwBtEjn7fUl/SoznTLI6dF5dSioT0OWCw2WpUU2AB7ZqYysnlrEvLnEQPySSRAvwkm29s7lISYUT3W8EC6g9a8gMnUl3aXnQD/yP5np761Qk/9rmi8AEB0VpfWaJsB/VkbR5+kWDoGTB2AuQdibCXBoiUlQaC1zJIzG5K+Er4Vm8gbsk82Wa/CH1FiFVKSBzbxMuSSzcCr94TuYNI8J7IzmO+f2G0xUr8sZ3W2/aEew6pBNo9v9PBz6D8iVk1u4Zh3uvkFc2owNTbFFd/Z5vhlV5/P15Nx6LS2dHTB3JHjokinNoOoNwau/oYVL4NJ4yKLFhNXQBhFnLwjVfAHt7X8HtolldOLDHGk2+pbN0KcycH0WbYq5zBK8WuUF/QUFQP82JXximGjrDr7Ewibl0Z6qhndDkyeWUFd4cttzoVkIdPusylIG2jO+ZLuLIxDA0I9Qg8Mwg7s+D1lj/YIkxM2pVCBHarWPpsYkHls5PUbUTAEPk3MTnwDpAnrhpKS06jfJl9l5vH1FAgMUgusLrkxt+aWTSetgNLNKGZkbZnSQjcaLMmFW5W2bEBLgRB/sD6 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b2b3ce7-b28d-495a-2ec7-08dc999a8ba7 X-MS-Exchange-CrossTenant-AuthSource: AS4PR04MB9386.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2024 06:53:42.8991 (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: XwxuPQXpASp2DNoKAJaq6LZ1RLJ3g9eCBw5ByFx5++vwsp9JLT/azVwhJR/V6pib X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10601 Introduce a scope guard to automatically unlock the mutex within fsl_edma3_xlate() to simplify the code. Prepare to add source ID checks in the future. Signed-off-by: Joy Zou Reviewed-by: Frank Li --- drivers/dma/fsl-edma-main.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index c66185c5a199..d4f29ece69f5 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -153,7 +153,7 @@ static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec, b_chmux = !!(fsl_edma->drvdata->flags & FSL_EDMA_DRV_HAS_CHMUX); - mutex_lock(&fsl_edma->fsl_edma_mutex); + guard(mutex)(&fsl_edma->fsl_edma_mutex); list_for_each_entry_safe(chan, _chan, &fsl_edma->dma_dev.channels, device_node) { @@ -177,18 +177,15 @@ static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec, if (!b_chmux && i == dma_spec->args[0]) { chan = dma_get_slave_channel(chan); chan->device->privatecnt++; - mutex_unlock(&fsl_edma->fsl_edma_mutex); return chan; } else if (b_chmux && !fsl_chan->srcid) { /* if controller support channel mux, choose a free channel */ chan = dma_get_slave_channel(chan); chan->device->privatecnt++; fsl_chan->srcid = dma_spec->args[0]; - mutex_unlock(&fsl_edma->fsl_edma_mutex); return chan; } } - mutex_unlock(&fsl_edma->fsl_edma_mutex); return NULL; } From patchwork Mon Jul 1 07:02:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joy Zou X-Patchwork-Id: 13717596 Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2049.outbound.protection.outlook.com [40.107.103.49]) (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 EB35F77F1B for ; Mon, 1 Jul 2024 06:53:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.103.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719816831; cv=fail; b=FCCDvVGFWdVLDjYK6NbY310LlKvbuhw5kRpKQ+0en2wSjNZXEnIrNOjUPoFxQO/RFd6DPV9fuKjBVIwoNf9mGcnvxPNYl0FfmHQZqGvXHYfRH5cF1cwDTMKqvedG7yQUYOI3QBCAl+sK8TnDdrbe4zVuulEGbJoNzJ6WSQ0p+3E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719816831; c=relaxed/simple; bh=NDTJIgAegFIozxC9+swgr7SUy0tnaRrm8nlGWqvt948=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=oP6qxnwObJIbx9zn7HdZ58oJP83SX2mlnpSNnR/6ngtJGoJZUmwBemnetyRqR8sxa5XEWs6/iUGD1qfTVG/PkOcg+4f21rDkQPyx2tJeQ31JQFvzpLgT9NLsPxVTXoZ8Wb5jM4JXkg2nR/BV6HNzepf0PNDBD9qfixT2cw0evzg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=hnw9EWLK; arc=fail smtp.client-ip=40.107.103.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="hnw9EWLK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GZyDdk5OIcLcEntIbLSVsrWUjEiAVyl5Pm2YNh8LcOHqkFguy3l/RT+dCdJvtcYpI1RSODJblPBo5DkqWIZg6AxVXkwqWKJS16T0rr5fnjvXaexkmR5eXJsfh3snPoObYPfWi6ktRDWak5cAZhL5CvXR8Bv3HkXqYzVFi0uOn1qtnVjLR7GKTUNwGjM48USYsXZIodPKlEnQPlgWV6J7O+HleRy0Y3c/iinAcOpaC3zKjlqoy5sOXxdnsa8Y2UARs+4NT9GRPe0dzRk4bhFdVgheX02lUSvlEImanHdNGuPu2MkweWHlz5p8kQbC55w/pwJCC0KEOZfUDNwANubwgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=vMMD/tAJ0S5PqEZIVxIaQvWS06U8Vo4nuziAsPM4FF8=; b=oW9vyPrjlPlgojjZ5+5LBLulmDho4XCElP91w3Bl73VHIGeg75NhL/QXEINmWzb6VrCMNDrCFEYJR2ggKsA6rqVRC+JukbUlW0/xNqM43/PPmodc2gQARlRxBW0XILL/bNCAHeLpNjRiJgpG9TN4bjwLAYG8UJyFkdHLIDnxLK5GzvxBDT/HW3f7E+oVAEGeNK2yIji2PGopU8E7GU4U+6zZUiL8d4xW23HT434TxdUDd9F5/Y7Qi4ZJnZ73nx13J/Qt70N3F7YS1Ifswk0XlCU8zi1vQGtC3qTDXmRKiiBZvHd3q/JJ4CaaeChzX+ksJseHg4rMHOcrJNXBK+VHOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vMMD/tAJ0S5PqEZIVxIaQvWS06U8Vo4nuziAsPM4FF8=; b=hnw9EWLK2T/z83IrsK+XHYgoBLXcgwWPx6aSCRgDlAnyRo5RCRDX9Uh+BJoh9rRlUYdEVbXn9LsaY9qZnGrrfbfPatrPiC0RIuUKsdKcTBNwpOOoXU9tfohGW1ibIY/3+7XuUow7H3t4Z1i92ZHR4lWCHaHSsXpPNFMjoZlMPII= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS4PR04MB9386.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::8) by PA1PR04MB10601.eurprd04.prod.outlook.com (2603:10a6:102:488::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7719.29; Mon, 1 Jul 2024 06:53:47 +0000 Received: from AS4PR04MB9386.eurprd04.prod.outlook.com ([fe80::261e:eaf4:f429:5e1c]) by AS4PR04MB9386.eurprd04.prod.outlook.com ([fe80::261e:eaf4:f429:5e1c%5]) with mapi id 15.20.7719.029; Mon, 1 Jul 2024 06:53:47 +0000 From: Joy Zou To: Frank.Li@nxp.com, vkoul@kernel.org Cc: imx@lists.linux.dev, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] dmaengine: fsl-edma: add edma src ID check at request channel Date: Mon, 1 Jul 2024 15:02:32 +0800 Message-Id: <20240701070232.2519179-3-joy.zou@nxp.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20240701070232.2519179-1-joy.zou@nxp.com> References: <20240701070232.2519179-1-joy.zou@nxp.com> X-ClientProxiedBy: SG2PR06CA0183.apcprd06.prod.outlook.com (2603:1096:4:1::15) To AS4PR04MB9386.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::8) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR04MB9386:EE_|PA1PR04MB10601:EE_ X-MS-Office365-Filtering-Correlation-Id: 2661ccad-a93c-4987-ef46-08dc999a8e25 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: 9a3P44E/3X4ZJU1CFrrdvTRqfj9ZCPICekNBd6pFCrCYJsoPkeXKeXRsf3DkgBK6zJRS2he0LlJT30Bp5mGPDE3O5W0ifL0/WdMI+16QuLOQ5pV24qg/O1bScSgrPqn6xyAdxos21WzD4biW2oRFfeD6wWSHyQkMveds7sDhM5ZslBDl1phF2JLyFPSXSeBwJ2GMqcOhfhFttGidET7pxodLCMuCNuDJl0TWFgDt1jKwDofBW/KjHE4n41DGAB+BihKhPZrmYZJTKV43qNn7+8KJPURUzVEt05yp3KxggWFVxFtdUv+LTbBNpEy2CxwNjQ7X2crnJkvQze0mbD2Jv2WrrLoe1/C8Q/k5F/n1ozPhGNnPYZv8A7mDzmsyUapKNagsC2TXEu1vTRaTlyi58Rgdp8iWW99pXATdXPYm6TzC33wKsefLL09pAyb5aAgzci5YdOaw1Wv/sm7sb3opScWHkEKbJozSKTp2qWQlDFOGYdTljG2i3HYDvXez/mptUkAnXzYghUOF0pAi4Wo9YUFMmbZFs6/QxSx14n7VGRWfN/2h3zzGjkEnMJJ1vD7oxeZ7jTyZVJYifH9r+6uEViGvJpNp7vYR7G5fLb5MiFF4iqjZl3SJZyN+9aWgjqYy2ccfgiuN4fJdDsT1xpnfSP/V88NvMad5pO7cJ6/3NyA1QJpY4Re7izj3TkQYMtUUpFrYf7nLKECDH91x6H3NYGIs2dsIREtDm9TOzL6FQ/tye6WPyWYgRmDaB3DNu9eGE1jKrycDI1n8Lu+c+nJ++R1i3rEWGk8zfMDck8x5qBw+50msM94c5YWtDI59hdPSFU6NFHur3FSanB/OOKXe8pm16Mzpi5sopsTrxiHPg/p3VdoohIoKlWZxxJznl0pRGpi8mljOQdu6sP5t+MmIvExuVLPC3jkV6ToE/RvLnLItNFCLFdVgbBh7uAr4MZW12UGiAW7l+/S8DKydjpoOqEOsTQjLHDp9d4fytuyFF56l7SlUU+qCDfWOuw5U6FYjhpANI+4a4pEAxO0mQ+OhM3imay5AQ9R6o3uwjmNRV3jFBExuc6eOIZOGiVzqfZtYW1UD/EC027aI0SQjrkcTh7b60+781SIVoH+FUo+lLFtb8xxxhhTJPP9rlzYn/LuZzzIF58L80TpO3tRLk2eYeMhTYy0fXrPFGcPaTw/IKAnZuS+0h5VKB5c6IeZhxDPUq7y86ENaoCWpruJVM2RFzazGJi69Yw2XaOMRB8wqvGKflE7nHpJBt8aLVP+waTN1iR53ySCqEWmZ52ajWtHQAsMOpqlPlKgKMO1E1ebnZqAa+DhurEy5Y1KVuKrbAetqvB4bAts3oj6c3283SN27Mq9xVjQMo66tULpBAdj7evZlyGXcr6wRJ7ye1MqfumPcbDwl2KpJFN07upKwsjkJNw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR04MB9386.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mGgwhffdRgo1ngpL3lW13vIXFThUlr8NPhZyKrXV2fyL5tLazz5qO3HZqVMWmmV9YBwO8PWHO9uHFl8qY1ZgbRYClMLCRDMkmj0dftPiOZgyStMHra3pGR+j4NwRdBh2CX+cmPfjb32w/pGaPAboNZ013j48Ds2qQdCW8VnIM565XU93IiRcKF3VY/6q5+uu9T0AqDQkULV0a3ATBE0XhJacp5BY6B7BF3E3F2bGbPIDLRxZ1WW5LklhgTmy0AWS+A0EeLk0VGaII6LbDo9+sVEKQSz+bY1e/CVePtE8GyPbXqspic1jPCMGkTG6XajiS2u6vbLrbUkh1oMXDDLRMZXi+fU27Kyzl88HrhNV8nErZAHHbwnQ+l3Gi4+3oqa1jWuhScnDMeNkGzaZ6wW0ndhFYmy8sSzUq8BoXNxp1TRL64/9L1MetQqzCRrU5rrfkK8NNSIsNqVEMac2fSSDg73FY4JPc3sKQhsd/ybJCKpIZmSAi1wZArqR5B3noLFmUkwxoKlU/jOCnPZKc8AkW7KHtLkQ7rvAJmOuh8zl7NW5uAz3aLzT/ytDwKuFGIW2drUi7rIjFahcHeiNEDOPahRBdZ3iqA+/Cxz73i5g/pQ+r1//kXgnmhhOotbuuUzYTlJyRSUlLcfcmm5AO2UcdmyPJ3skkBk4ZfHZc33nrVyNgRqu+PuuNl+GjmDTbq7CH3dfsZi3ahwUxOVBNyjEWv1Jnwknp31KpUpNpupsgrZpMQghjic5WgQIXGJxzmsilKX6F+dZ1U2IHP1DfW45RpUBVK3XiVnzssloPabq+fEU3e0kZ3uxrYxMt/tq0UVyGd8ElEY0Sx7FLd9mdh7XF+IXM4jR1GnsVN6bBf26CRVSB5HzmXj0dX0EKCNjMS7QsecwvdKF0KEJ/0D8balhA+CayEznelg7br6kmPIYqEX49lQB/xDRHumSVlbTwROrqKRetQOOtelTegx+VRZqcJrL51URWsJHc0gq0FJ4e2yCqIYEmi+LRsPmgr//l/1URNBbVi1SY2923NeKqkeZc9Ip6umqYwraa4bzUWkRhzMp1XrfsIyjkk/t6Y7LWKGrMuVNZHVs0JRRygJECyzHn3QsdyQz/yEtJo+z/Jt7+RwY9RgJOxIXQyWOQ/s8G7fIifEEzw29zJz0roSOqhfEDlA4pedCs4BbjZDUcHnVl8MfvLergfokVvCoVZgK2+BoMDaQO0Fb5MT414uoOkYQ29YLsC7cvlEyh5FgHkJQ+rKvSq6ZSsVC5FhhLWgV2WopBLCFThauNPr9Sglndh77txlMOLKsrRTWwjlWEq7htVauuNUWo08Sb7ywimzaK67xEkZPpLSr5VDrDTBm2TZkxuMcF+k/7gw4QOdjdMC0rsOuAY2eCnP+dOotHRiIMNobOQ6JrYt4N3y1h00KR1SH+PTTWmpa3VizKzV3VuSOGK0lbfYzBo5PY38MV4uqyrjTH8g8yjdBGho4IB/VJ3HgA0ZgIho25LIXbD7Bu9AKmPLBNh43UUaVPx+7B41h2SgI9xkaCwVXRZNqTUnNtUAipvBF5UQus1R2MrGM2yYJ0hu3uM00ZFYYld2tuRRphIGX X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2661ccad-a93c-4987-ef46-08dc999a8e25 X-MS-Exchange-CrossTenant-AuthSource: AS4PR04MB9386.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2024 06:53:47.0772 (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: O6Iq4NC87x7LDtX0AX4Jz5UrYSl4EsY3xv+SQL4RT/Ufc+2FqXpsh6K77HQNunoH X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10601 Check src ID to detect misuse of same src ID for multiple DMA channels. Signed-off-by: Joy Zou Reviewed-by: Frank Li --- drivers/dma/fsl-edma-main.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index d4f29ece69f5..f9f1eda79254 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -100,6 +100,22 @@ static irqreturn_t fsl_edma_irq_handler(int irq, void *dev_id) return fsl_edma_err_handler(irq, dev_id); } +static bool fsl_edma_srcid_in_use(struct fsl_edma_engine *fsl_edma, u32 srcid) +{ + struct fsl_edma_chan *fsl_chan; + int i; + + for (i = 0; i < fsl_edma->n_chans; i++) { + fsl_chan = &fsl_edma->chans[i]; + + if (fsl_chan->srcid && srcid == fsl_chan->srcid) { + dev_err(&fsl_chan->pdev->dev, "The srcid is in use, can't use!"); + return true; + } + } + return false; +} + static struct dma_chan *fsl_edma_xlate(struct of_phandle_args *dma_spec, struct of_dma *ofdma) { @@ -117,6 +133,10 @@ static struct dma_chan *fsl_edma_xlate(struct of_phandle_args *dma_spec, list_for_each_entry_safe(chan, _chan, &fsl_edma->dma_dev.channels, device_node) { if (chan->client_count) continue; + + if (fsl_edma_srcid_in_use(fsl_edma, dma_spec->args[1])) + return NULL; + if ((chan->chan_id / chans_per_mux) == dma_spec->args[0]) { chan = dma_get_slave_channel(chan); if (chan) { @@ -161,6 +181,8 @@ static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec, continue; fsl_chan = to_fsl_edma_chan(chan); + if (fsl_edma_srcid_in_use(fsl_edma, dma_spec->args[0])) + return NULL; i = fsl_chan - fsl_edma->chans; fsl_chan->priority = dma_spec->args[1];