From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E983CCD4F24 for ; Tue, 12 May 2026 16:43:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=uplwv4EQrFrvunfm+7xhscX0/FQTAzucHl0DFTTQQC0=; b=nbJi4nKmW0XRFWpChcHUDTmaZF JKniuBWtuHAF4PshG7kB4RmHwkfDpvPBuL5xMyEd22iMRrrCOcR4M05YNqtuuWMaegQwVzXQA05l6 r4HsLTinXwcPLiUjb8MAD3X2mEiTPYqSZ4gMChlteWw/vaG/uqXcm+RQ7KXjxnZLA7+e3Y0XUuW2v hJAu09g1SdRuvNbYoTkGwzxwgay4ErZPd/o/h3It5We/4wEQyax6Kh9IsR4SpbFXt/kSoHQGtNunL 1rPAZ97+DAiA9hTqdBjQ0YalmPw03grAj8qHoXcIFxpBOlYH4FipwqKojnB1GW7BpTO5hqiBdeZv1 cNTUPruA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wMqCU-0000000HPVd-14tu; Tue, 12 May 2026 16:43:18 +0000 Received: from mail-northeuropeazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c200::3] helo=DU2PR03CU002.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wMqCS-0000000HPRy-1Xdm; Tue, 12 May 2026 16:43:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YTQ8a9NuGRSa5HEFNXzR9RxqZ5WNEZR6yvbUL4lqLnCbsA5DZwR6SLqW1jDJYBj7SFrZL7RL9Nrb7SmgCpwY7t66eLeFID6osfuFhwXN9F7zh2QaabAPOpmX66BO8hkMEHAneucljHHKHMowYh2cD04HNCqePLf+Ft6N3PRvyj4tlyQlprLJKzlozqLD+KO5Nw6ZZr9dgGHVELLjQGEzLv6iGp9SXJPwwHv4rAEAuBa6dWd0+1CX90dmWPYC6MecRwNe0ncu22aGpX9crCWRnRce4abHMV722jy8LaP7ailHQcH8Feq0e+8roTHFbDlWtzogsrJM5WVnrsXCWPTL8g== 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=uplwv4EQrFrvunfm+7xhscX0/FQTAzucHl0DFTTQQC0=; b=b/5QQ9uFeXrG5ZGv/iu2NkZDjFsLSngLBJtTmqmNWCR6QilYpiP9M45yO4barOJ8QRGnvkgmMEzfxMCU7PI+UX8uzLGPJ3+UqbJdgU882zFVFhJ0jiSH+QUnG8RMR5p2ehoCOwNu1bQMSYmycmHJx9j1C9JNCHlNhBPGuaplzWUVrp75qomO/CUbWpxhSkJTP5y+ijALutKZYMJjwdimTI4aAyVA/Ax3Cs3ZOhODKYBR26Ihnfe87COLC6nIgweSN+t+IYJ444PLkFpKO606ySiQfTbPq7W3h314obu3s5Y53djXYGKEQpeIU3kC3pUDhu3bfLimq/xDasRAgFg5pg== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uplwv4EQrFrvunfm+7xhscX0/FQTAzucHl0DFTTQQC0=; b=DGcZmONd2mF0ijk2CGttwIxkQyaSgzREYBpH0Nux1UvwvMRvl/MmV+ySZGT+QpDtsWMHz+PIZ131jTThraAC+2SU+5Zwjqcdb3ogR+Ki7vvU4nb62M3WuN+ttPmLnvxuPNYYEVjw/hZELunLeNk/5J5OZ7q2tTprTp2j/hWaVOhkEaLR0tcJlkp/u3vO68VjAZsPzLXvPAeDgHHan9Zfd7dN9Dffx+ji8+nywOHc76Qar8Uzq3iqHv/KeuiddmKZul4PiBxmj/lllCKPH3K6N+mNEac3ZelQWyXSZkhRSJGUJ7Dq1gigMhkEHlJBZtO2EBJS3q62pWhltQot5+yUkg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8) by AS8PR04MB8069.eurprd04.prod.outlook.com (2603:10a6:20b:3f5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 16:43:11 +0000 Received: from PA4PR04MB9366.eurprd04.prod.outlook.com ([fe80::75e4:8143:ddbc:6588]) by PA4PR04MB9366.eurprd04.prod.outlook.com ([fe80::75e4:8143:ddbc:6588%3]) with mapi id 15.20.9891.021; Tue, 12 May 2026 16:43:11 +0000 From: Frank Li Date: Tue, 12 May 2026 12:42:06 -0400 Subject: [PATCH v5 8/9] PCI: epf-mhi: Use dmaengine_prep_config_single() to simplify code Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260512-dma_prep_config-v5-8-26865bf7d935@nxp.com> References: <20260512-dma_prep_config-v5-0-26865bf7d935@nxp.com> In-Reply-To: <20260512-dma_prep_config-v5-0-26865bf7d935@nxp.com> To: Vinod Koul , Manivannan Sadhasivam , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kishon Vijay Abraham I , Bjorn Helgaas , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni , Herbert Xu , "David S. Miller" , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Koichiro Den , Niklas Cassel Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Frank Li X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778604135; l=4679; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=koXXyKc1hgZdKRxgXzvlujpzrQC7NdnB7of8UmH/EuA=; b=BDefYlhtpIm9DYMrHFZ//INSsG5rzADrCx3Lzsor4xguMYWVHQ0pgaLHr+Wyzz811pzTM09BP IN/iHSISJriABHcEmbjCrxH7l5xwkWja/N65Gvx+0e8+XsycyJEGJRA X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SJ0PR13CA0213.namprd13.prod.outlook.com (2603:10b6:a03:2c1::8) To PA4PR04MB9366.eurprd04.prod.outlook.com (2603:10a6:102:2a9::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR04MB9366:EE_|AS8PR04MB8069:EE_ X-MS-Office365-Filtering-Correlation-Id: 454ffcbf-7b7a-44b3-98e2-08deb0458e12 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|19092799006|7416014|1800799024|366016|56012099003|18002099003|22082099003|921020|38350700014|11063799003; X-Microsoft-Antispam-Message-Info: KWlsy7kc3HDa6Vuwlh5F3Boch6YDtYPL/83nrXtqCXHIVxrQsU7oD9la1Cdu5fBFhruoxrCbU7Mfgp7stwcgj0IMf2qwErvBElwRINWlEekJw1AiN81EnvxjW14QJA6BTptFaxrGX+iqYMTqva+c8lD5rfU+QdSdhzg+y6WxyLjFu0zoTOEjTpyZxLTvcs2vLEBtipYgtck1ExzMm2KRev4VXKX4BujjbPtDIV4nqNGm1bsBaTwC8nf8ff7v2e6vx5weSGSrY4e5S3yQoRzbEfvMrJNLkEtr9rbuO7R9vsBZVmtxNkaj7TI2qiIYLkLMDV1sR/PbJixudjXfBQT1tR5q6+bdapiIJIYxaMeEPNhdzTuZLA0RU2b6KL7l2NfPr3jxrvpAG+sa768wwwZM2PMoiyZnlZYrAXloshFCx+h4ERjDnF4vGLMq4CiVdxrOKUqUXEUFH84Yd+QF0ZhASWbnaMb1F98VfYeAXJenBSNb0uC8UWcmlf/W5qA0LIrvYnp1U8I+2zUCxI4Acsr7n/s7X77rhn2wSuTOfqijvGx2X7HBXNmMKKBmWwpeuDUfMTAIRAh2k87qHxvQv6zVl/Xsw1ot0kI53tM08xetNF127COD0qCx4RcSJDInJ7WbvJCodpKVXK3VaZzoLhdRAfYhwCrBp37aLiPPDXq1G4pC/va0aZylZ1zxYPJAel+ZDKZjG8n8eFo/07cnPAEe1vjJLJNkBXiQZ5GYGNd23rnlZ5sgVt2GhzwpgRYiEw903nWsHwVMdc3tBUsRgI06vg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9366.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(19092799006)(7416014)(1800799024)(366016)(56012099003)(18002099003)(22082099003)(921020)(38350700014)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TFRDaGxZS2NEQXRvbHJBOFVseG4xZVpqNVhDSlNJT0JSZnd2NlpXVUgyalVO?= =?utf-8?B?ajVodWxhR09BdDFqMWk4WEhzclR5RElBL0ZSaGg1N0Eya2JMYnQ1SVZkY2Zr?= =?utf-8?B?bG9VMkxENVkzbU4vcHJsU0w4WE5mZ1lWN001U3BDTXRLWFlEYUIya3pmQklG?= =?utf-8?B?Z2JCTzlPYXFuanBPZWdSRzI1RXkrOUVpYU8vdk9TNS9uVFZvQU9jVS9WN3Ey?= =?utf-8?B?SEJhUDVyUU9zUzBySXlXVmhLSHNBdUxKSmZWYUpmMy8xV2tmMUhNZXh3YThT?= =?utf-8?B?L1J1T3JnOWFJbUtrTE9mL0hyNDYyV2FzVFhjTTdGVjNqL21zUnVqSVJSOHJ2?= =?utf-8?B?ODdOZ3UrbVM4WFZVbnNManJhcktIQ2M1cHc4OVg3OTVoZEZic2Zic2x4L0hL?= =?utf-8?B?QzVWQ3JBQTNxRkozMHY2eGhYbmtNeUtRZE9oVU4rQ1NKK1RrUkJnY3V1Y3lY?= =?utf-8?B?NXJlT2E5UVl3TU9iMlBCUFZJMlRUaU5LbWRXaFNKcnVDYVpSRlpGckt6N1B1?= =?utf-8?B?TkU3eS82Wm9QcFIwVEMyZ3puNlFwelJJUUxNQ0JzdlAxSnhHaVVaVmQvbWJu?= =?utf-8?B?Rmk2N0QvSnNRMkIzdVJPZ0tzc2hLMXN5NCtHWFBSVVd5dUlveTA3cFFSSWIv?= =?utf-8?B?clhCSGxsM2VraVI2ejFHZmptaXR0T1FweGlsQTJPVkozYTNvTU9oTmtIbHh6?= =?utf-8?B?c2NHMVhzUTErVVdMbGY0bEpHVlRDY2xuYVFrVlorRWxvVitmWFNOSWdlZVBq?= =?utf-8?B?T3VYN1VsME40YWZFQlhZVi8vMkVRTGhjWnBpcEN1N1IzeHJRazBJaWZmaVRN?= =?utf-8?B?MW41ajMvZFR4ZVJkYTlNa2VGRTVSSkhBV2ZPeGkxRXpvN1NLQVpCb1gwWmxz?= =?utf-8?B?MUs3QU93dU5OWVZOSjJjeHlDOHc5MWhSeVpxYkt5MDZWQjdDMzRPaDlXb21j?= =?utf-8?B?aGlxanNUVDlrSmhHMnBoVW85K0ZFWFU5M0o0Y3pXMnBFTGNmM2dORVl6Ykxw?= =?utf-8?B?OS80dHdzSXd6MkpmY2pidW9zK0ZwV3hza0RWWEgyRjVHYUJIQmJMbFEwb3Nv?= =?utf-8?B?YXBMNlFlakkxR1I1OVZkQVdNME43aXlXVlNLSHBkRnF5dzZOaGVSbmFxYUFy?= =?utf-8?B?dUY4b1hjL2dIbWphYnNGV2NqMi90Ymx2Zk5EVGgyZTZuQmFoYnVvMU5aUVBk?= =?utf-8?B?OUNPOXBka0N1OTVQYVZaWFZCMXY4Y0E0QkNSaWNQdml3T2JGNGpTMFdjc1Fm?= =?utf-8?B?elpvZ2pqODFUOWh0a3BLLzRja3VxSDdNeExzcEN2L3dxS0FvdExNakpzak1O?= =?utf-8?B?MjcxeUpoVGZMYWpHKytXSmVlRDkraXJ0aFZuYlhYZ3NJbmtxTXI0UDI5VEto?= =?utf-8?B?bG1hbUNRcmRDcXcweDgvYnZ4MTdEYmFKcjR6aVdaOSt3dHlPcksxVmlGdnJL?= =?utf-8?B?c292UEhTVDg1TFgzc1AzRmJwVkV3cG5iR29iYStnc2M2YnZiRFdmOFhha0FX?= =?utf-8?B?SUYrUThFSldlL3I3NGkxNXRwZU9SMk9IZVphTmFMS1F0VjZYSEMzaytuSXFk?= =?utf-8?B?dGhya1Z3UXZib0g4aHJsZDlZSTgxMHBHV2JCNHNYSHhTOW9RZy9Lcm4wQjVr?= =?utf-8?B?RlNHa1NUZE4vZ201cStDVk5FYnBpc2JCalRzR0dZTE1PVHFZdjIyckF1MmFY?= =?utf-8?B?OW93VVNyK0lDWjRsY0pXL1lwekJ1RExLdTh6YlBlbmFsaDVSVXRzL2d1OWVF?= =?utf-8?B?NHErYkM4Z1VFVTdzYzFiK2RZcHhBbUNSbldwaVFKVjB3cFAyQlBZZzJFMlRh?= =?utf-8?B?QmFjZEYxMXlxblZhbmp3aHVYWDBoc09pL2RSWTJCa0hrdWY5am8xcjZ1ejBH?= =?utf-8?B?NzdUYXA2TWlNUnRENE9Vd2lFK25rOVU0aXQ3MUlkejBxdVlKVFI3RUFyNzRq?= =?utf-8?B?SlVVdnFSMUNiSFlvUFBpcXJ5RGlkSzV5T3hJcW0xSWNtaWVmTXJCWGFaV1JB?= =?utf-8?B?eHVYT1ZhRFF4a0ZzSXVoUVdadlZuaEk4b1B0Y1Y0TDJWTG03MUc4OEJrRjFT?= =?utf-8?B?b0dZaWJITHNYak5xWm9WUmFybjVxeXFXdjdzTDdjb3ZGOGM5WkxjQ0owRElZ?= =?utf-8?B?ZUtRSzY1Yk04NzdxM3pHMS9ZcGxBOVVibitsd1NFM1AzV2R4bGtZZFYvem8w?= =?utf-8?B?R2ZqL200dHJESTNhUkVJVzJ4UUMxQTliQW5lNGxySzkrVnY4OHhJN0tCT2JL?= =?utf-8?B?THhOeEc2ZmFmdWxyNGxYcW9pdlVGNEtCUGJYMFZPK1Uxd0cxZTVKMDdDS1B6?= =?utf-8?B?L0VScFErM0xhOEhGRXYrZWFxaXJJYjQ5SVdXTDFCUkhGOFZDSENQQT09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 454ffcbf-7b7a-44b3-98e2-08deb0458e12 X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9366.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 16:43:11.7614 (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: bBW1N+y6GQL1oeGZQ3G0e33/fFWBgXBKWvHYownf/vHCNzmoV/0FC4/NHxJAfnxw6MR4YL5p2pvJEfv/AAiHQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8069 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260512_094316_408668_EA8CDB58 X-CRM114-Status: GOOD ( 10.89 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org Use dmaengine_prep_config_single() to simplify pci_epf_mhi_edma_read[_sync]() and pci_epf_mhi_edma_write[_sync](). No functional change. Tested-by: Niklas Cassel Acked-by: Manivannan Sadhasivam Signed-off-by: Frank Li --- Keep mutex lock because sync with other function. --- drivers/pci/endpoint/functions/pci-epf-mhi.c | 52 +++++++++------------------- 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c index 7f5326925ed54abf4ae75c465dfe0a9bab37ce40..c3e3b58fb86cd75e175b69ca45530610c500b99e 100644 --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c @@ -328,12 +328,6 @@ static int pci_epf_mhi_edma_read(struct mhi_ep_cntrl *mhi_cntrl, config.direction = DMA_DEV_TO_MEM; config.src_addr = buf_info->host_addr; - ret = dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - dst_addr = dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_FROM_DEVICE); ret = dma_mapping_error(dma_dev, dst_addr); @@ -342,9 +336,10 @@ static int pci_epf_mhi_edma_read(struct mhi_ep_cntrl *mhi_cntrl, goto err_unlock; } - desc = dmaengine_prep_slave_single(chan, dst_addr, buf_info->size, - DMA_DEV_TO_MEM, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc = dmaengine_prep_config_single(chan, dst_addr, buf_info->size, + DMA_DEV_TO_MEM, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret = -EIO; @@ -401,12 +396,6 @@ static int pci_epf_mhi_edma_write(struct mhi_ep_cntrl *mhi_cntrl, config.direction = DMA_MEM_TO_DEV; config.dst_addr = buf_info->host_addr; - ret = dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - src_addr = dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_TO_DEVICE); ret = dma_mapping_error(dma_dev, src_addr); @@ -415,9 +404,10 @@ static int pci_epf_mhi_edma_write(struct mhi_ep_cntrl *mhi_cntrl, goto err_unlock; } - desc = dmaengine_prep_slave_single(chan, src_addr, buf_info->size, - DMA_MEM_TO_DEV, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc = dmaengine_prep_config_single(chan, src_addr, buf_info->size, + DMA_MEM_TO_DEV, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret = -EIO; @@ -506,12 +496,6 @@ static int pci_epf_mhi_edma_read_async(struct mhi_ep_cntrl *mhi_cntrl, config.direction = DMA_DEV_TO_MEM; config.src_addr = buf_info->host_addr; - ret = dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - dst_addr = dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_FROM_DEVICE); ret = dma_mapping_error(dma_dev, dst_addr); @@ -520,9 +504,10 @@ static int pci_epf_mhi_edma_read_async(struct mhi_ep_cntrl *mhi_cntrl, goto err_unlock; } - desc = dmaengine_prep_slave_single(chan, dst_addr, buf_info->size, - DMA_DEV_TO_MEM, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc = dmaengine_prep_config_single(chan, dst_addr, buf_info->size, + DMA_DEV_TO_MEM, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret = -EIO; @@ -585,12 +570,6 @@ static int pci_epf_mhi_edma_write_async(struct mhi_ep_cntrl *mhi_cntrl, config.direction = DMA_MEM_TO_DEV; config.dst_addr = buf_info->host_addr; - ret = dmaengine_slave_config(chan, &config); - if (ret) { - dev_err(dev, "Failed to configure DMA channel\n"); - goto err_unlock; - } - src_addr = dma_map_single(dma_dev, buf_info->dev_addr, buf_info->size, DMA_TO_DEVICE); ret = dma_mapping_error(dma_dev, src_addr); @@ -599,9 +578,10 @@ static int pci_epf_mhi_edma_write_async(struct mhi_ep_cntrl *mhi_cntrl, goto err_unlock; } - desc = dmaengine_prep_slave_single(chan, src_addr, buf_info->size, - DMA_MEM_TO_DEV, - DMA_CTRL_ACK | DMA_PREP_INTERRUPT); + desc = dmaengine_prep_config_single(chan, src_addr, buf_info->size, + DMA_MEM_TO_DEV, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT, + &config); if (!desc) { dev_err(dev, "Failed to prepare DMA\n"); ret = -EIO; -- 2.43.0