From patchwork Mon Dec 16 07:58:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larisa Ileana Grigore X-Patchwork-Id: 13909335 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41]) (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 593B91FF7BC for ; Mon, 16 Dec 2024 07:58:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734335926; cv=fail; b=ZSzoP0ggLXNK0mtCsJEItJVXJ8laAEBaDkDaayv0h/bXP6RxQ2xoemtwLilOPbgQDt+a68TBWcHd1XKNePtUlm5jTk0cuqnf0l5kZvur8k4LyLE/59qzfQM/pV9MK67mM21OJPHPr35vbY9aY1kz+SQ7qulibmqUuPazZgiKl7E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734335926; c=relaxed/simple; bh=QNMrE4cGtLRiu6GXLbpQl+n4TI93KWI5YCfGuvQpDRw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BAKzw5aJqmoibPocWh4yOqOQ5UZ5DPbSpQAmaouLKnFF8JuzFYTJhlbB7d9IieNmuLiZ/CU8tvonlBSqpkgxOKautn8uI7Wf+CEz57/fMbNgI3sNudp9HyBQcJ5/23ngFrmVvnjObQK34qm3/F5tVSMeFbKXrgsClBWsiADQ2WQ= 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=EXWDehPW; arc=fail smtp.client-ip=40.107.20.41 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="EXWDehPW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i4qGZgA/ALEP/9d/KCBckPuZHuLFZgJzhE5m7NsS6iJm40XrGSE+awe31rKYp9RUoAjbntd8sL50y0cF8eoyUizNwLC2arRBIgvw3KHEDcdI64Oo0rESgvlXYMF1G3TkOEqoLdF5xSi+7TWWA7hjAaSBAPL54vMWh/XkabYBfrhYCZK8yTQtliCwq87vjkabCLzb4SeLu7N4poWYAWPwow2XXbdwMDM4XAJf8PSFPnXOdhlylBijN/8w7DXDyXexzFA6k+zouGWmY1sHIToPKullRTKihsfN1bXDf3V43WEn9dgujvSfMuWogQ5wPwf+roQCPan4w5x6y6No+N7QpQ== 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=Fqv9B4/qYt9ftsmCLi1SEDyfj0arZQP6CX2ytCd69zo=; b=aCf9ZQizWEXPmi47FpbSR0qvdToLGZOlmOwes2a0b/Q7wzExkjF3+9A7AllS2TUFXsKNcVp/croT1kBIqDtT6BZ3u4uKUgOcNcKbGoUOOyuSlvzqQ4LkNGOJqQnsFaLHICcVUAyUK1WvS6AxsvO+obHa8Dsj5oKzz/nHfeu9q4m/Sx4RUzpzC2g9e2aAR/F8sqi0xdOrTWS+aCMFgmdoM6fm5ipx5LrGUJWYkB8JfdEFMXFRotaEBPDXgS5GEV8w0VeydH6jHPi+PespNDU9aE3FCDVHxTa6wL57tF745sjRsgVlE3sG7mN0pEIFqdLqpWd6iwJ2hUr8lz8uHotpvw== 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=Fqv9B4/qYt9ftsmCLi1SEDyfj0arZQP6CX2ytCd69zo=; b=EXWDehPWWjp2lQtf1EJuim7t476wHN4CuY5Sof7p6GGLw2Ijg2UqmBK7AJh0Vwox85lJysRxYrUeSfpHlkKbSRGvmZhGQAToDR+kv/GbgiYhUBoFDNeduh/fr6iaRhxIZRDaUUVkHDN02lZS1QC6t2/M1Uh1r2WBbNKVrdz1ge1u11YwdDkjKFXwtGlNUmODl3GbUA4lP3QsYdlrqTexQVvvZQQ+b8HqTqv7V+CmNszdZ5bIHPiPudL6bX1a7b+PltvZoHCRjuMCftZQ9Hv/8dBa75bJHHWw68WtIs+rclQnEvEzhPPBX/ekjp4+B4i5waeg1VDJHZGo1glriP4Qjg== 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:38 +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:38 +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 7/8] dmaengine: fsl-edma: wait until no hardware request is in progress Date: Mon, 16 Dec 2024 09:58:17 +0200 Message-ID: <20241216075819.2066772-8-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: AM0PR04CA0082.eurprd04.prod.outlook.com (2603:10a6:208:be::23) To AS4PR04MB9550.eurprd04.prod.outlook.com (2603:10a6:20b:4f9::17) Precedence: bulk X-Mailing-List: imx@lists.linux.dev 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: 51a1f368-0467-4380-9fb0-08dd1da772b7 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?cAuB5J1xNJYwxJ5HiJfN4RGRB0V1W+I?= =?utf-8?q?HWID72TyfjH8iOWAmtHbhsCTGCGSx+nNG/yAGFDCG0ky8IVZciOaUJ1vXILKK62op?= =?utf-8?q?R/uu7P8unkgEusRdLpEpTyEqj2qw6cfeq70eVgJaEwXqKIlxf66Is5rOsq1Us+3Ut?= =?utf-8?q?WVH0BLS4jZ9nvEHpkv9rKa0LAMULx8RknadwTve7V0msmZ8j4mSLXe3ymG/VTkSp0?= =?utf-8?q?uI20DD0L/26EPk/X/P9sk9H/K4fYV0vxBns2dcsUuHxTAYg1t124ZveBIMnWanhhg?= =?utf-8?q?Y8gSYsJsHEyvKnOrh3Bt8n8CQddcJiGKSiQzg1/X4e2IzWE1gISMaBKGvAgDfSlbn?= =?utf-8?q?FaAHnEJiJ2eTWaUJt4NWyYrvib0nGGye8a5uCPlzp/Kcedfu7bGbkQVtyE56hBbWY?= =?utf-8?q?Qe4Taa35za3WvSpdHn1Nh5ayvj8GoWoGZR5hXNRjD14w31O0t1AI4fKk9T5v+oqiH?= =?utf-8?q?/j/k69EKFghmUivd/8Gu8QSublHhkHQUNd2oLHFdk/iG10SKnJb4UysUkAfUpGCfG?= =?utf-8?q?xfpLDhD9HS+F+hOJSGmDPoHI9nc4ZQFhIPspdETcb7dZT8oGR2nKyn4WHT9ks2W6Z?= =?utf-8?q?Utn7tbqdA6AMfATZwfhMR1mHGythLWUSj0SVv/YYkbBM5AmLOJkM5cZuK9zb3FR2X?= =?utf-8?q?TxUlH+2E19vN/oETMXkbj9PmFUNn2J6piKH6wRD9LLUMsoE12ie3ipD0HHHxReN2n?= =?utf-8?q?QI6xtA72DNupGyZx1EzxEBPMGi/qvY5PAh1a+WH83QR8O47ZJXgtXOPBNamBbPIGD?= =?utf-8?q?d1psh8FVn5RKWgcrzssFfiLXp9huTQyNFg6mMG9Gwzx26Qh+ZZ3UqMtcKZE3mrp4H?= =?utf-8?q?bIiJ2fuysmuktdYZo+uYdyO8m/NqKBt36SHR287EByD1qVnpjvz/k1Mohmg2Xq5vR?= =?utf-8?q?hndRymPyMdnhob2UPpb1m9bzPcPbN5TXxpBZ/DrxlkeBN3i9qUxSTmuowyx0ggQCt?= =?utf-8?q?I8Tyo5qlrQlZY54jVU5EoST3DcUDxVi89pt054wLIp9EhjxfR7u1XnEN3vZbPdx6v?= =?utf-8?q?gHkJTt5gvq32BdR/nAQWWHg1f0zhnanT9lRxSjARZ3jrZiXlZPnP+ER4LF/yOkwwk?= =?utf-8?q?KCuQrecwqSnGhxy90YwcqKLaXdjFOXGA9ODoX1a+wTfz5ETB9F3DYw0LKvEIPVWkE?= =?utf-8?q?QpMN9th219BRqlKKavMBkCvyLvdELP9keAUw6INJOJtdPgmDed6RC1TCV7T6L3CsY?= =?utf-8?q?6d5cwZvpL5v0ddRqbLEYQXTeaHlz6rjg0jdGw4VfeD7U75HQqZN5RVa6RAPRe+uF0?= =?utf-8?q?50OqjAeWLkWovpSu1VBloJNeCYdchU46zC4npN34osSQ9M/ZQV+3TbrZtZYDsU1Fp?= =?utf-8?q?ayVKml44VY8v?= 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?PnUnuGUcPwhknhpOFVh3Q0Q1Kpmk?= =?utf-8?q?gmv3FyG8mnWLjz5XuY6g50mUFUdHYKCcQRsWzaKDSKnVtgJ0H6iudirFf0ecgtlni?= =?utf-8?q?3eEPSTQx98XpgAxgXA6Id+634bnYWBpuLzAUBkiEgUQpm2Z0IHsT8TQj2S/lzbli2?= =?utf-8?q?Gjkmz+05MJ8i7tQdfLHKrT+w4AaiAobsXuU3gspf0JjDTxK+kTH0+4C7gqvVu8yCB?= =?utf-8?q?jwJ6a+aglI7LAho07hbcAEr/1DzK2L+T/KVMf1L24l1L2vcPVDJW/jw+5L4QayLR5?= =?utf-8?q?ZL2i98SKPTA9MxeNdXAKVl0X4LVPwe6FVhSAcIa/c71e+utEdzDzvTmxAbn3ZjO9/?= =?utf-8?q?a2ARhz7lowBvVz3WYyehTFf5hLDl3m+8bYrniOoqY47bAr0CZxjiXMbrzhw8nyFT/?= =?utf-8?q?0Hx4bNjM7ciKFE8J+d1mZfrP5RVERwrhsFnZP7b6jhegBiV5wVB6C7vP27GMAXsk6?= =?utf-8?q?9/DW49/j02SMIyp2Zm/3hKiqKmm5SOAW1W/AWXMgE3vuDuHIBvSrVe0tzs7R4arPo?= =?utf-8?q?pdQ0JXbVxwwhu8DfoBtwp9TgJCR/neaWtALchdGr7zVEsNp1q6X+E1OrjtUUSy2/l?= =?utf-8?q?4JMeKuCWVq3/z5BSzPfVzzWEdMyA7Y7KLQ4ydIVa3vRXf13tFeNSuKtX7yXnWjFE2?= =?utf-8?q?SoQ5vBow0IldDTK5Mf/rp+S5gLAprN1VCkYRKU+Xf3DoRyvEX8tjXie7VfnIdNo+E?= =?utf-8?q?SerPTCVxRgNv7L6mSkL+wBwwyQY+zUyTYgODniIlt+dVqzWRkShtSTzHI7M+vWUId?= =?utf-8?q?N5oC3Yuy0JmtS7CVH2cCMi6wKKHxANUCp9hDP2kmOM3vi0aKOnal1qhmoM9vg1xcr?= =?utf-8?q?kLqcKWmqZCfm6IArT3k4GA5dc2TXUnATgu27mwNO6O2sVINPjPdP0YLL17cHD5tRy?= =?utf-8?q?5HZFS53gkPOlV87YkS6dMIYpYVvhTlEgRXb4BRpwYwVVTe+e+W5HQUyeycSlDZ7W4?= =?utf-8?q?7uxsFP1Rel/5vgp1FUOomyEtUSaRll/OS07KmA9oHGDgZfhsSItJY1etE+NqnUwpX?= =?utf-8?q?a7oxaXj5q11krdWSNYL/mt0HXMGGkuT97yCTsp289R7efyyW7NfjxnthAtY7uQgNB?= =?utf-8?q?5b7JeCUhVtUK6Nb3iHNHkj0N1HR4og83atBZ3yIM7mH9pYshJrWwoxw7G61GuY1xu?= =?utf-8?q?lI0OMqsdVgYLu6O8uvZRdx1tnoXbhX00x3W0Nx4YQa1dh9FBJurOWKwfp/wWABnPu?= =?utf-8?q?cimZBrKdPEEVSSKGy05ouRDCo44eBSnVMlhxUzKVhkjt3CSIf2mMaCw/EorTBGnkF?= =?utf-8?q?T9RfmNIWdS0p87F4LHYkm4/PeARmDEv8TnUOC31xHUurj4wqRg9WQNWQNuOlSbxJn?= =?utf-8?q?sqOrtIaOVd8h7LkZMAWlGjpuOzmj2UEEIQ5foBPeDSelqAE6KgGYezSPvd+A2vJgQ?= =?utf-8?q?V4nQGiPXIdK3c+xkDS3xxD3YN0YlEOJ5XkFjRm1HvF+4Aa9N9BsUb+ucoUBrTNJwI?= =?utf-8?q?cruePXQ1NO2X0IMwk1RnCDwxdmc5F4rvVkZ7sjjhIpbwDkanHxu8BgDbDyfg6U/ZK?= =?utf-8?q?WXqqXjJSMAa3?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51a1f368-0467-4380-9fb0-08dd1da772b7 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:37.9616 (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: Hd7RBuzizHfo41xop17O4lIaAsl0MgEGeQP5rvCDzH+2ge79xoV8AjPdJeRJHOh0fhP/m68ZO6cKzvOrXviERA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10361 Wait DMA hardware complete cleanup work by checking HRS bit before disabling the channel to make sure trail data is already written to memory. Fixes: 72f5801a4e2b7 ("dmaengine: fsl-edma: integrate v3 support") Signed-off-by: Larisa Grigore --- drivers/dma/fsl-edma-common.c | 9 +++++++++ drivers/dma/fsl-edma-common.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index 62d51b269e54..d364514f21be 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -127,11 +128,19 @@ static void fsl_edma_enable_request(struct fsl_edma_chan *fsl_chan) static void fsl_edma3_disable_request(struct fsl_edma_chan *fsl_chan) { + struct fsl_edma_engine *fsl_edma = fsl_chan->edma; + struct edma_regs *regs = &fsl_chan->edma->regs; u32 val = edma_readl_chreg(fsl_chan, ch_csr); + u32 ch = fsl_chan->vchan.chan.chan_id; u32 flags; flags = fsl_edma_drvflags(fsl_chan); + /* Make sure there is no hardware request in progress. */ + read_poll_timeout(edma_readl, val, !(val & EDMA_V3_MP_HRS_CH(ch)), + EDMA_USEC_POLL, EDMA_USEC_TIMEOUT, false, fsl_edma, + regs->v3.hrs); + if (flags & FSL_EDMA_DRV_HAS_CHMUX) edma_writel(fsl_chan->edma, 0, fsl_chan->mux_addr); diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index 63e908fc3575..ed210bd71681 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -70,6 +70,10 @@ #define EDMA_V3_CH_CSR_ACTIVE BIT(31) #define EDMA_V3_CH_ES_ERR BIT(31) #define EDMA_V3_MP_ES_VLD BIT(31) +#define EDMA_V3_MP_HRS_CH(ch) BIT(ch) + +#define EDMA_USEC_POLL 10 +#define EDMA_USEC_TIMEOUT 10000 enum fsl_edma_pm_state { RUNNING = 0,