From patchwork Mon Aug 21 16:16:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 715531 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44D8EEE49AA for ; Mon, 21 Aug 2023 16:16:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236483AbjHUQQo (ORCPT ); Mon, 21 Aug 2023 12:16:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236462AbjHUQQn (ORCPT ); Mon, 21 Aug 2023 12:16:43 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2044.outbound.protection.outlook.com [40.107.7.44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0F31E4; Mon, 21 Aug 2023 09:16:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y/EogkJFDNDsDmxA3/HLICnJPnRFnE/uiVk+t4yGCMP70VXsvAW5T0yEMuBdQpqldswiY+KMtywhkon88D942WILhWV65BbIhe+g6zpRyFSrbD7O4xL82U6RCcOYXR3CCsVIwtVFlqp+LLHpIniaCNc2qACamsG74BsG0adnFA2x1ANSsicswF2PeltEntoPccM1OzADj83CPDAxq0YinYu/8Ywhr/timrQ6TTJjNelL7wpGG5xmR8b+g6KaVK+Zuk0URvvKwxz9TLX9I5hdPPcsfhMHTeOBjuvV5LZk4Rkw6wcdxkw0mSfSddb3JGix/Rg4REwAyeO9uZH/h63a+g== 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=n2d2C7cVO5dQoYoKug7C1JBtBk8wgTLooZg1aY4eJ/M=; b=b05NM1jbEUOYiRAG49op5HjHWFl2k8dvUd5bNflOWHLfz/WDEvIA9BHZfP9n+8sWnSrvzNgYGAaZ2O+RMWSyOLyuX7YatVhbzhnh5C+A4wjVMK3Ueum26p1UgKFWozJAew9FL1qCxIPwn2Mx+f8DkBcXDjud9G1tOkwf1OS5eLHDyHz6XVKh/LahMlkfsO06ayuImmqBFiYOB1REtkUz2MI2xqJe+1dKByaH36asfVYGQvCBBsjUD34aPwBrVb8tCjcDX2YSYW/KFaXOG+YSqS6nE6r1vO9hZO4ZRh2gHSs9j+2k431PAvJtWQOV46rsCIG9ioFRih+UgADHwJmR2g== 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=n2d2C7cVO5dQoYoKug7C1JBtBk8wgTLooZg1aY4eJ/M=; b=aU5c0ZM3KDXowJnObk9fRxDA9qCBF2lGZONFwqJk/WaLzoIlumptQWWu0HFwFTJrY3APkIX/u13JXVlq6OfZW5iYjcFhAL6X6oFyotv1pCJviiOF+/pesjWCCyct0DGtVyC6n0yuduTKFppMkKI0Fx4MQYJvrHlA30puqMxanSw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AS5PR04MB10042.eurprd04.prod.outlook.com (2603:10a6:20b:67e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 16:16:39 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 16:16:39 +0000 From: Frank Li To: frank.li@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, imx@lists.linux.dev, joy.zou@nxp.com, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v11 01/12] dmaengine: fsl-edma: fix build error when arch is s390 Date: Mon, 21 Aug 2023 12:16:06 -0400 Message-Id: <20230821161617.2142561-2-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821161617.2142561-1-Frank.Li@nxp.com> References: <20230821161617.2142561-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR05CA0053.namprd05.prod.outlook.com (2603:10b6:a03:74::30) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS5PR04MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: 2afe33d9-97ff-42e9-1a4d-08dba261ffc3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fXNO3tCuLkVWKSV57TGvJBVNha+apG+1xgQPjBWytx+BFN3T8ZbAjyIe6cK/yf2mD07TyN2AjF2kZu82mTffW4+5J7ucxlp1rCiMCRMHz6zhGIYjGF8kQTdhaetOCUczlFwOxyYDgYig5lTUPo1lnn7M3miN/J2C1LccRwzU5ntwdIqjAdWy2ax0CGt4VAsXNknmybWd4o84NIj+ilzPK+09WemoCp2wEWBuBZfbYnnVEfmgxe94XBFcI7iJTQR+xeY8NHsyHI6eHfORp+e4aQeVVDaZA980ZpEB90R8ldheWWTsQB4a/qF9TcYOumc1FF81lXDEVl0fkBcfm2tYS3GVJT1liOZpceHe3nXq6JyzRGXHtj08DiZm/7YrNaLCW7zRzEGJF2k0EvDcA3zWrQYE4eabRblIIWk4y6xwuPjNvTUNuJxsomqIGZSU/HasgfnisZC9YerMNPUAydoGq3qs4amqhsop2aw4KKNQC7Qn8M6ZJ0etoRCVpv4kx6nxQI7dWCjYwIB8Uwxhh2b1XWGHf3P+mhfGWIZbfNqj9fYbXZmhsTgzHZ5eqsNCCN6AxiScGX1Lh1PP0hN5yEQs6952z+tVb2KkLXzt5lwHBZs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4838.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199024)(1800799009)(186009)(2906002)(4744005)(52116002)(38350700002)(38100700002)(6486002)(6506007)(83380400001)(5660300002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(66556008)(66476007)(966005)(478600001)(6666004)(36756003)(41300700001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JtGcQ7GZ8xR8+1yoYIMd3GoYNBoLXJwT7HB06bRFDTz0aH3f0rLyrGVEULkQjUUelvwjgXopodvWPEZWRj8gC2ShIhLx/ZNO71k0eZAvFiTbsgXi7lEGVtD/0xJbUDqbqtsFkl1sHcsEvfZ2SIu1SJIyDDb2PTnD/gNdDwBaup2NHoCtt63nyHHfQv5KxwqUhReTy8Fbk4oPdclmce4NOBaoHQhChS/ov4nNUzOzPuvUZrLT8lXp7zTsEXksUxtCVQgRD9qW8ny8dDpPB0ZGi3btgX93mrNoVR5OWZlW8V6bSn0ESNpTV5IfVAe3WA2k/cztoplvP83CNC8bxU1JXvz5RB2wzkNEqa9d2iTCvD0VSQsPm+s4PkMfNjK7drcEv3QpVGBO3T6cklWxTQBEIUkZNj91SoZ3BNHisxYY9k0n0p0e4WVuxLoEU4+qmqbTmPYkESimBNHb40XYlAgE5E1MXpW+yxCnXKQEwzgZjuoyPyiyi7FD0VyeFyhh0LZQoo1rwWrNn9KBNJLn4vJbPVBlxxVXtfoLvBVIzArZpIrIuQjXrV7kul6ZYrQog7/HyxOyltxp02imQg0YLBRqrJrYkN5wtxWfKpoVR+tnmJbL/uurC6Gc+MhewxGv1NWA9AFCky7ua3z64D+8m2GshvMIhlsda9G/Vaf29HJioBRqv6TyemtGioiQDu2uCkQHB3KO4cK6+unHcm5gF2P1UIzj+VUS854V7RElQ6CeZAiQ3bGsYWfF21+IG400xksn+0thaSBj7a89LrI9at52QYFWX+/Frk4ugJ+1w1YhPqQDai8TYdx/D9NsUv4ZT1AiKrxpEV95m7O2Vv40cbkQhH998zIrdWulGV75wPYbUwUhFEbeQ+Ws+jJoUs7t835Xnf4mHUhiWWFhkAABTrdSifxesnr6V2+5eFAup1zHG5NH3NIOl7sImfEtTacCjaVoyTSj5pzek5L2PySRcFyPt9rF7f5/dId1VS6rtyBDlnrCT7QhpixzbLT5frdPeROP+2o1mODP1VvZ9YxzwLnBnYwUkgXfb5ATp7N8LSgPiaw3Ss5NvgNEIyLImU3x4UiOeEgzt6S6PcCD17ZmW2NvKc17JJmq80p1PBxrTzJxj1cdXTScOq/s0HoWuXijgsZudUkynjN6tf9X7Er5JarHO5sBe2rWKNwRiFWTp0EK4s/Hgu0kDQgH6YLdUBmnRfvtcV94PDclImp20fjufKw1LDOHo7mqRjpOjpg1sn1s6a76uIhmDvH9U4L29YR8/tXMDHRVLPUdUHorxLKgJ0e/93wAC5Uls31Mi26Cf0y3eGM03BJIJ8UWDyX+I8TvdfTudcGliqnsbiygsZVbnLrLKlIuKK4GsUFMax8SRM7fHZqVtjcCtaiANNLGQeTiVHTZo1pxapd8Lvg4/pYnGiwsk2M+j67hU4Ts9Ng6Oi2VFvy1LFuh2/AD5MsWg2yCLBvhGI4QTCbbW3SEMnwqKD/izXwElyQZhH+uGt/f45tzKLZekcJ7BHwhcxczVthNHRrX0xGE8f2KRMb5k89XFKfwZyQhUfijgaFzrgjcPviMfKE= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2afe33d9-97ff-42e9-1a4d-08dba261ffc3 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:16:39.2461 (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: 2vhB6IvPYVVUFf1cEVQkwYpwZJkknEtm9jdBBgolRBdVGhRuS/vHG4aWMkDZvnzQvpqQUXlx2AYjUhOnas19pw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10042 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org fixed build error reported by kernel test robot. >> s390-linux-ld: fsl-edma-main.c:(.text+0xf4c): undefined reference to `devm_platform_ioremap_resource' s390-linux-ld: drivers/dma/idma64.o: in function `idma64_platform_probe': Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202306210131.zaHVasxz-lkp@intel.com/ Signed-off-by: Frank Li --- drivers/dma/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 1d485fce91c8..f52d36e713f3 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -211,6 +211,7 @@ config FSL_DMA config FSL_EDMA tristate "Freescale eDMA engine support" depends on OF + depends on HAS_IOMEM select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help From patchwork Mon Aug 21 16:16:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 715530 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1CF44EE49AA for ; Mon, 21 Aug 2023 16:16:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236507AbjHUQQv (ORCPT ); Mon, 21 Aug 2023 12:16:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59196 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236503AbjHUQQt (ORCPT ); Mon, 21 Aug 2023 12:16:49 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2083.outbound.protection.outlook.com [40.107.7.83]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C9DE100; Mon, 21 Aug 2023 09:16:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mTnWj89kmbQZOmrnxySXe4XGNZ332xeP63ZV24lEan4Tf9Xnmy5D2C4EQ/P0V2xBW62fzFaRA5R5mmWKeBOGJzOk/RBY0iM3RxhXxPV2DJYjvdFap6WdqwlsKWTkWGC6D3rRRI0ibDbrHGVMClmUnahB2AmA3jmMWCWNdIJIk72Wi0KI1odOMkH95La4hHW8K1Yd+MKMcCNG6gKO5eGKqh50m5cG3tZ4TKCP1NNzA3lu1ceQ+C4i5vU9p9/7lr1sajgIUJFL7bK77jLg+gATNO05ECp1QWtDcyK8RMwbxUpFpztSPS2cy1/Gbnexc7oN3CbWZYcXgIDR0MzeLMTBdA== 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=yRPIuDooRTbTaTypXEGNysaiq5m1mMvXL38u7iVQGcc=; b=TMv0pcifkfx+K1tgqlkDF22ouIS/Fe0Iv/WIJt/yNabL6Meu0p9qYbEoJtMSxKhresUVebYPTofYqGkWWf2eZ9u9imEW8oDK2vywkKe1IdtTRMAWwRPPq09CrtkjXQgWh5tdsMeKsuvwEjKGumiD8khOFUJznO8uIkTK0gqZfaupYb2OUsrcwWav21TloHTmc075ZmdkedHcmM9g/TU7IxRvqbTfXQs5EIViVNk5ifrXyJuIMP7V41fIITD31HhhtFj0rjUIblIrE35+dVkV/0k9x7vCT0mfi4INcWBl7aF/yDV2aVN5WAaGYcHtjQJTX+DPmBsQXTLAxYzmX2+bdg== 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=yRPIuDooRTbTaTypXEGNysaiq5m1mMvXL38u7iVQGcc=; b=KKMeCrBKsVpPLrVKT+dZD/bXMAAnzcIiKxFD/hG22z5BFm3nJXGtJ2koaxf4dZAiYSodzv9p6b96jsGmLb1X8h04grKmEi6deuyjg7f4yEMRilLZK438qMnyZ4zaqA7+hJPCdDsLCsFbOIZbVrs+XzQjoeC+Nc6UV8KBqAimNms= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AS5PR04MB10042.eurprd04.prod.outlook.com (2603:10a6:20b:67e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 16:16:45 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 16:16:45 +0000 From: Frank Li To: frank.li@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, imx@lists.linux.dev, joy.zou@nxp.com, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v11 03/12] dmaengine: fsl-edma: transition from bool fields to bitmask flags in drvdata Date: Mon, 21 Aug 2023 12:16:08 -0400 Message-Id: <20230821161617.2142561-4-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821161617.2142561-1-Frank.Li@nxp.com> References: <20230821161617.2142561-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR05CA0053.namprd05.prod.outlook.com (2603:10b6:a03:74::30) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS5PR04MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: be4f0770-f8fa-4580-a35a-08dba2620369 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pfEztdYF/+YB8FehgRQAAR7HCwBbOgtZiNp51RhMHGTq420psr0D+PBUkXU1e3PJbIsLAYBfuhvyZeNPz3SRoGS6uXd1HfXX4XWVeVQiSdopXM06dTOSBLMhZdr4HaOGQwQWha0Rlip04z18EwTE0XAzcsGNNt5qh2oShStAZZBekz+L0yn+yxlBos7zuUSNaxBwd3TJOF3HUnb3HgzCQH01Op8zGSfN87NI2aGoC/wNqO9oLEpUXGIpSEvdGD476WjZw9Enkf98kQUE5KDgPoG22gRmcqr8I9F48/zEeHoktQPuYAZ/Cd+u4xzL26vzeedm5J9TB1qdo93ZTyIH44Mk2xZN1KwF9J1mjChw7GiSUw1Kcn8O9xmevZr8Pbm1PPpJyoYxkxstY0zlaQZ8erjMTCuhyO1nkGI4pj09tcOr9Aqk/MWNQnc2LjKnIbp24Vtx0AkwspVuue8YpeaTitaRzOaxykTtwDhhitBmIvoTw94wN0JcDRohp9jZJegwnEr41kmceKrQ/dBX9GvZLSDIc62IU3YKmDgqPfDSDxqMxKf/URkV+0nGCOTg1JZ00q3tjNo9go/8InRoSvpKCzV8SABreQEv/hcLpMf0ALEHhP1rst/Y5kFkC7KluJG0 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4838.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199024)(1800799009)(186009)(2906002)(52116002)(38350700002)(38100700002)(6486002)(6506007)(83380400001)(5660300002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(66556008)(66476007)(478600001)(6666004)(36756003)(41300700001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QePSRMsB0ZtMR/G4CFmbm2xzl3JZ8L6lwGPr88ynRbu3V2Mr9Ukp4g3o5TUjyOfZNCta6NA/K9X3YQZyGoO0d8RhqK3SUnkFbMm6IjsQbnXZLEl+FKU32fWLjlgdVGmIyzeGJ24Ge//rQAf2um3ZXgGamqmHWzkKOoH1+gm0l1/KyhMMVvS4BWGw/VaU7TS9mGHGbG6UQiOFjKXtGyhKqTF9WDvB9++e6XWqRep4vXBnHUeYPaLF8YLJhsBdPMbChPnfKocRFdmc2mcEC99/copSixRsZcz+EvIF3gqu9fMQCXrp3AxtC735jX1AMkrsah+4jx63mKKsqkHIc2MdjtJlLnVWH+7IDEIkVsDLjIstFyzhEzsIe7TeMK5FkyjQQHpDpKflyKl/oH/E5dGox3JdyYviDnE+kBgaj++xIaVa+zSXEmM9z6K06ZOUj/MN41INKjWoDlpVfVjivk+wzFyryvcwcJY0gNpRSHEEXf5Nsnd5EX4YbY6DivCd+xpbDKs0FfdUBQnMCtgeq4w6aOeFW3UqlinNjw3tktNaBCainnmzLbzK5C8n+FJlZDsS/KzGnUJlldVwu7D3gECSSCpR+I58nGCDRND6doV+JWbsG5+AjjEWJnOJOnl/bZCqJzB71mZhU95L2xw7H/3Efw6C5qpHq6ilEqBFsFZRnGwQ5QNv/q/3QYAGvolcF6oHU7L3/9wJ6tN8z7XLDUenYCeK2HITDOUE20HCoJ8tk8Kj7N16oKAybiauVO2FKbaJHY9E+h+UjmtZuoyHGDEaE44eBAp3HLB+i/2/C3oMiiZiW7ypwppNd+5YwNq8CUkg9jQ5bjeZXJ20GX0o18eJl63+zK2VMSfpxfG8jH5g7z4RKfXnxhloN/9rbOLLjnCQ5UbK204vlHDKPFB76xMdhVB2PD1rsEyG6uo8ofXEXRBwtpNFYKK16Npc4FYfmQqACzz/lfzNc5EwZfJslniy4e5YN89RR0r0CHogDoKdmTJbsCH8pQ5mDg9Y1iEDhF8hoqygD0JqdlE1OL8VpTlBbZduDD09gkQ+HbYY/ILiKhgkgeM7j1F6vUT+p8OYeKh3LwUOn91ywdJvuXjs0I8IPSWStNWhwCYWRWTplW0xT7ornAY/HnUOb7EH4sBF7QHMwuKrYAG/S3ztGSKoeFEIpjQFeXFZQPhhhkCYyv1zhI5r1kc6eFoZMTXOlW4vhNbqcd+pemTUpliKnrRPkX9c5X6HeuxmeOrv2vWrkeSr7L5aovEar65O3tXXzsqSG3AVRW6pBb0O52v2y96AZxrDuyPIyfHEx0XOW/kFboDRx9tjaIaNo4uY0avaX6FFXVybBrVIj+WKjqwXCjamAhbhGUyrF0cFtHK85Ztpc9E9nYBy7c0SYL9pxE7lkgikGTOvsGGI2W0ChRakkakroqxDGwiOQDAAUx3HbfHFbPgtStY3dUaY9mpVwgNYHITpwcqTAr+8Fy194NsGXbDOO3UU815MjWyRfvl8L99JpV5WLTIP8h0C2VZcRmQaHeuOmqHufETWBhddqvFCwlkZFrG49qzNAZEyeuVYUWwBhuaE56k= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: be4f0770-f8fa-4580-a35a-08dba2620369 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:16:45.2296 (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: sBnGPYvQjzWVthdhn2+1IUmctdDjMzViyIog5hq1LfqbQBy67XngTitUrhxXaFasRd5DCJFp7EfBp2TBNBefQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10042 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Replace individual bool fields with bitmask flags within drvdata. This will facilitate future extensions, making it easier to add more flags to accommodate new versions of the edma IP. Signed-off-by: Frank Li Reviewed-by: Peng Fan --- drivers/dma/fsl-edma-common.c | 2 +- drivers/dma/fsl-edma-common.h | 5 +++-- drivers/dma/fsl-edma-main.c | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index 89b0d09c13ff..2549a727913f 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -114,7 +114,7 @@ void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan, chans_per_mux = fsl_chan->edma->n_chans / dmamux_nr; ch_off = fsl_chan->vchan.chan.chan_id % chans_per_mux; - if (fsl_chan->edma->drvdata->mux_swap) + if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_MUX_SWAP) ch_off += endian_diff[ch_off % 4]; muxaddr = fsl_chan->edma->muxbase[ch / chans_per_mux]; diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index 004ec4a6bc86..db137a8c558d 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -144,11 +144,12 @@ enum edma_version { v3, /* 32ch, i.mx7ulp */ }; +#define FSL_EDMA_DRV_HAS_DMACLK BIT(0) +#define FSL_EDMA_DRV_MUX_SWAP BIT(1) struct fsl_edma_drvdata { enum edma_version version; u32 dmamuxs; - bool has_dmaclk; - bool mux_swap; + u32 flags; int (*setup_irq)(struct platform_device *pdev, struct fsl_edma_engine *fsl_edma); }; diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index 8c9ee9fc7240..a318ad6e40c2 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -244,14 +244,14 @@ static struct fsl_edma_drvdata vf610_data = { static struct fsl_edma_drvdata ls1028a_data = { .version = v1, .dmamuxs = DMAMUX_NR, - .mux_swap = true, + .flags = FSL_EDMA_DRV_MUX_SWAP, .setup_irq = fsl_edma_irq_init, }; static struct fsl_edma_drvdata imx7ulp_data = { .version = v3, .dmamuxs = 1, - .has_dmaclk = true, + .flags = FSL_EDMA_DRV_HAS_DMACLK, .setup_irq = fsl_edma2_irq_init, }; @@ -303,7 +303,7 @@ static int fsl_edma_probe(struct platform_device *pdev) fsl_edma_setup_regs(fsl_edma); regs = &fsl_edma->regs; - if (drvdata->has_dmaclk) { + if (drvdata->flags & FSL_EDMA_DRV_HAS_DMACLK) { fsl_edma->dmaclk = devm_clk_get(&pdev->dev, "dma"); if (IS_ERR(fsl_edma->dmaclk)) { dev_err(&pdev->dev, "Missing DMA block clock.\n"); From patchwork Mon Aug 21 16:16:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 715529 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E7440EE49AA for ; Mon, 21 Aug 2023 16:17:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236419AbjHUQRP (ORCPT ); Mon, 21 Aug 2023 12:17:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233507AbjHUQRO (ORCPT ); Mon, 21 Aug 2023 12:17:14 -0400 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2055.outbound.protection.outlook.com [40.107.241.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 946CB1A1; Mon, 21 Aug 2023 09:16:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O+9vTiaVIFVgU7+duZu6Oi3TkHr0lXuK863VR8E0IWVXkd90y/NEiQ+YfSNYfkMOfnFVGLrwoiHHKVxzlej57o3YoV1SJ8a7KswtfrChAnbPU+lEPns3W+b7HpWxfeSZWS5ATJo11Z+fh5uFQ/RI4PW8RP6szxfxygAxjvGJly6hI9cdZqmReCvB1IiPHcDy0loR6z92xYwwoZaj4QhAFCiZ/390PKpzJAtqd9+gQGvyULbdfhhTl5LDXqSiARVswrkpXBltwHSMSzbEmc+A7g5/3RmlC2DlgQekcH9ZLt0uA0TG477oH/jJXbYPd6YG/WBl5UgFMBuTW4x2xwgSCw== 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=WK5TTtZ5tb4zUnicum+BhzHCLwGst4nN9ehPi4rkwU4=; b=bYAm5xlJUIEg34FkqqTSQYuBMeeTyMYEjtt7dHTlR10S57YS3wPIlIkximkUBHL2YDLbvtNs0C7kLrDDwvO5FSQ+W3S/1lAr6o5CeEWhdhtNW5YaVk3jI0SFkFO3V4lcuscOVPKcuV29Tdp9ysuTY0euVtVUZAYu/5LYNpXtnCjWP6V/+pFeV6pdNevvE6FAp2LfhHbwHqZndokdi14sGWQP0lJImdYk+vK/TVq/qZnGVgM/QJ2/Wh0n3wIXfn5Ib16bPzYHRza6KINwDgx0P4mBukltO9oOmnGFmgDBJrffJ8to4ddONfyl/S1GUXeXuXHu7EMZ2JB5yUlVsF1iHA== 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=WK5TTtZ5tb4zUnicum+BhzHCLwGst4nN9ehPi4rkwU4=; b=I42/pVbpP9nCpR5VxIwWaQU6hshIetARAkLbsJBzv+uGCkngUk4L8/WpRYF76gPU5GIAJILf9ARfHEwvxXnA3SxDrj+eBxBxkFTYSC513f8tC0BXo6KOTnXizLsCm8HVTRh3pDOHLtvIjCdGZW238YsEkFCOLHfEHIFYmEOrKSw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AS5PR04MB10042.eurprd04.prod.outlook.com (2603:10a6:20b:67e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 16:16:51 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 16:16:51 +0000 From: Frank Li To: frank.li@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, imx@lists.linux.dev, joy.zou@nxp.com, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v11 05/12] dmaengine: fsl-edma: move common IRQ handler to common.c Date: Mon, 21 Aug 2023 12:16:10 -0400 Message-Id: <20230821161617.2142561-6-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821161617.2142561-1-Frank.Li@nxp.com> References: <20230821161617.2142561-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR05CA0053.namprd05.prod.outlook.com (2603:10b6:a03:74::30) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS5PR04MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: baae12d6-afa1-46d3-556e-08dba26206f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xTJGRQ6lEffa0jZl8FcQA3+V8r2gzgJTaeYVmaJxBLPbJMiGd89cEYs7zcDRpuagHEtm2e3mZEuI1+lTGI8pz8hvQ98LXmEhj9Hqhq1rIZSRW2oTCy8YT3crPaZjqqMcW+ukZEfhevEma0OdumuQzdgovTCTmIavS452NjyW1AxBQtVnJfr7WizxfAcwib4Xs14Rv3+zzwpXLZnHnQ0Tn3727Q50czh9yjnghmYmUX+VjG4tXTlpYGdBKWHrdeje5kEv4lxD91ed3xWihRuDAF6chIYi2CZSRE56uHmo58j5YrChdZHGTybdvUPUn08lH5LgNmMv5Yv0zmiAS5/TcMfswsBvL24ZbZfoVVu6xxYh5NxeRzyjq0JN2LxKhaqI00kEtzXli6gPYz5YSbamCThoOFg/675XsaPh7HJ5+aPjGsD7XX1g88339sP6X89N35zngiPH6aT9JxvtI0mjrQhq7i5DaUPE5duKm3B1MTz/6tp2VTd8b5R0ilo8rlQ2wHJH0tcLg/IGaldEQyBiEkX1SuTthCTxsUP0wbD3xeQi6m92IABWPAgmq6GfjF1GgTqZpGbZ6V8jsiktoVTBd2eGN1y7HCmxtv1jxgJlPpilfscBfX2lIWPu80Q0n+R8 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4838.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199024)(1800799009)(186009)(2906002)(52116002)(38350700002)(38100700002)(6486002)(6506007)(83380400001)(5660300002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(66556008)(66476007)(478600001)(6666004)(36756003)(41300700001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: l3IPwSqIYSXjUyIwh8kThwdUcDjj6Vi+kqhReVJ6Wp+jrYhVvJQAhN5F+loTFVjzvUlARaYzoYNCVqW3zUzZqalUnVqX3wuqMnR3eBHunKVD7e2HSsUL0u1CUaQBbZpKxNkVDoaEqmTlbYUXgS7tlPc5lSN+xd6d5vZ6BoWDvzyrdSOdS8K9NdQiCEkfept5rpJp+yd5lYIjITmiEQQCLVdpqR+GJydZJTamhO8uYarQCCZB5qoji4HJRhSxKgc3vXuOEMzI64aP6whlylvAUNey7mpjda7D38utmM2fYgYLHKYKnG+lHsy/PGbEpLX+wwTkH5h9CUXwSqiyDA5G0LvrOKwECjT5f4Jb3YlDf3jFa9W8K0tkMOtczYKuPNKhSHyzvHjPSOCFk0BFkojgnqKzrILWyFPuoTxyuwiYIiRf1lhK6p4kv+6BwocrhODE4lzzlDlBZf/1h0DB17OOJJu++hPkD5eqIGkoKLq+7k2sHpPq9x4GXY5hOjqdIOocKJYzyveWxinP3uWwGYq792cuBKdVJymUe4BEjFYynHPqRuJvchd8XZD4rYI+ek4iGr4vOjn70C0PnvU4WkFmb1gkn/dh+RdTtkVQWuwZ7pM3SweYazRlQ4hGnsxZ3F6tAckTnv3p9TZ9OTUa1x6B4U98TZpeKzvVvXioj4esCmN2tX5i1ZPo2i6dzCF8CnJW2YvtZViAHbququRlhUckhd2HhK91zJL/HnE75qTjTMSnifySSC4w6B67myDe6dDJzzecv0C7+y7GHoGM9wFU8bQOOVPh1qyd56J/uue8QoKySV5CCdX0YnraGevioeepXaghnt76qO3zw69R7u7GHmjg66AuXsgTDhQAKlP0hmgyPNalZ03Pblnpf3rjdozMvhg9tNFcNiZDQW5zIDYFl68M+DtXCIirw43AVkerX0LiVpI5tvrkMs9+vfjOdtWAr9v1nZ23TYl3ee9PshE2glFXhbXRHjT6q5Xi+XI+phlK+b+XTjt9xUpEEKiSt0OEt3wKQDeArFzexvum3bnIdIMRvWUaCT4dzFo8O1srnTF1zOZH9JKj0tKv9B162ZLUb8WDiULvpOAlao2c3oolApm2I+Lamx13iqFCGqBNFeSzRPkVwrcFcyNH4RxXGu18KsbbdlIhQQOcM26YQfYykDLmbkZmZXit1XyitP+V46QeY8BVzS5R6y5TTy6XJIOTnmQj6P5n0/btaQiqV0VPWoL0H6RkmqlpWksTg0H/N1brLhlPuc06UHyvVSYQB5ra/xBcVrPBXjVj2Vj4hBJmk1y0gt/UTZvsMHfZoXPOCeOKiygKj0XlaMSa1SpglkOv5BX59g7pIt3U3NxlYk29WKKX/XDOYgOZIfWc44wQeL5/UAUejVEmk/ZiuvANuxJxSVuH3lNtNSwrpNPgTqyDr5BQeAm9TGAFHHgebBptaABECADvi56YxGu+PFv1F4ftOOUeVkXqL9kbWbW6SJQdy+0WuIVsqLwWJJF7Sbdy3a4N33Ew+W3FPXTc/GlWzfDIp2aI9AyEPJiAWHDvBRTPEHXZrKsQoDuNi8Tlq+LIf6U= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: baae12d6-afa1-46d3-556e-08dba26206f8 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:16:51.2217 (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: iS5nhsGIKKKKViNY+RpYNZYmIpX6wsKC4H77WXViV7VyKW5qwJ3+5qGf06RCo/MQi9Hs+hK6+qPjSqHCk8OSoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10042 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Move the common part of IRQ handler from fsl-edma-main.c and mcf-edma-main.c to fsl-edma-common.c. This eliminates redundant code, as the both files contains mostly identical code. Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 26 ++++++++++++++++++++++++++ drivers/dma/fsl-edma-common.h | 7 +++++++ drivers/dma/fsl-edma-main.c | 30 ++---------------------------- drivers/dma/mcf-edma-main.c | 30 ++---------------------------- 4 files changed, 37 insertions(+), 56 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index 5800747b8fb3..2b91863502d4 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -42,6 +42,32 @@ #define EDMA_TCD 0x1000 +void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan) +{ + spin_lock(&fsl_chan->vchan.lock); + + if (!fsl_chan->edesc) { + /* terminate_all called before */ + spin_unlock(&fsl_chan->vchan.lock); + return; + } + + if (!fsl_chan->edesc->iscyclic) { + list_del(&fsl_chan->edesc->vdesc.node); + vchan_cookie_complete(&fsl_chan->edesc->vdesc); + fsl_chan->edesc = NULL; + fsl_chan->status = DMA_COMPLETE; + fsl_chan->idle = true; + } else { + vchan_cyclic_callback(&fsl_chan->edesc->vdesc); + } + + if (!fsl_chan->edesc) + fsl_edma_xfer_desc(fsl_chan); + + spin_unlock(&fsl_chan->vchan.lock); +} + static void fsl_edma_enable_request(struct fsl_edma_chan *fsl_chan) { struct edma_regs *regs = &fsl_chan->edma->regs; diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index 5f3fcb991b5e..242ab7df8993 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -219,6 +219,13 @@ static inline struct fsl_edma_desc *to_fsl_edma_desc(struct virt_dma_desc *vd) return container_of(vd, struct fsl_edma_desc, vdesc); } +static inline void fsl_edma_err_chan_handler(struct fsl_edma_chan *fsl_chan) +{ + fsl_chan->status = DMA_ERROR; + fsl_chan->idle = true; +} + +void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan); void fsl_edma_disable_request(struct fsl_edma_chan *fsl_chan); void fsl_edma_chan_mux(struct fsl_edma_chan *fsl_chan, unsigned int slot, bool enable); diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index 389e5f9875dc..c8b9f2eff111 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -33,7 +33,6 @@ static irqreturn_t fsl_edma_tx_handler(int irq, void *dev_id) struct fsl_edma_engine *fsl_edma = dev_id; unsigned int intr, ch; struct edma_regs *regs = &fsl_edma->regs; - struct fsl_edma_chan *fsl_chan; intr = edma_readl(fsl_edma, regs->intl); if (!intr) @@ -42,31 +41,7 @@ static irqreturn_t fsl_edma_tx_handler(int irq, void *dev_id) for (ch = 0; ch < fsl_edma->n_chans; ch++) { if (intr & (0x1 << ch)) { edma_writeb(fsl_edma, EDMA_CINT_CINT(ch), regs->cint); - - fsl_chan = &fsl_edma->chans[ch]; - - spin_lock(&fsl_chan->vchan.lock); - - if (!fsl_chan->edesc) { - /* terminate_all called before */ - spin_unlock(&fsl_chan->vchan.lock); - continue; - } - - if (!fsl_chan->edesc->iscyclic) { - list_del(&fsl_chan->edesc->vdesc.node); - vchan_cookie_complete(&fsl_chan->edesc->vdesc); - fsl_chan->edesc = NULL; - fsl_chan->status = DMA_COMPLETE; - fsl_chan->idle = true; - } else { - vchan_cyclic_callback(&fsl_chan->edesc->vdesc); - } - - if (!fsl_chan->edesc) - fsl_edma_xfer_desc(fsl_chan); - - spin_unlock(&fsl_chan->vchan.lock); + fsl_edma_tx_chan_handler(&fsl_edma->chans[ch]); } } return IRQ_HANDLED; @@ -86,8 +61,7 @@ static irqreturn_t fsl_edma_err_handler(int irq, void *dev_id) if (err & (0x1 << ch)) { fsl_edma_disable_request(&fsl_edma->chans[ch]); edma_writeb(fsl_edma, EDMA_CERR_CERR(ch), regs->cerr); - fsl_edma->chans[ch].status = DMA_ERROR; - fsl_edma->chans[ch].idle = true; + fsl_edma_err_chan_handler(&fsl_edma->chans[ch]); } } return IRQ_HANDLED; diff --git a/drivers/dma/mcf-edma-main.c b/drivers/dma/mcf-edma-main.c index aec22711b654..ec8a8e1930b5 100644 --- a/drivers/dma/mcf-edma-main.c +++ b/drivers/dma/mcf-edma-main.c @@ -19,7 +19,6 @@ static irqreturn_t mcf_edma_tx_handler(int irq, void *dev_id) struct fsl_edma_engine *mcf_edma = dev_id; struct edma_regs *regs = &mcf_edma->regs; unsigned int ch; - struct fsl_edma_chan *mcf_chan; u64 intmap; intmap = ioread32(regs->inth); @@ -31,31 +30,7 @@ static irqreturn_t mcf_edma_tx_handler(int irq, void *dev_id) for (ch = 0; ch < mcf_edma->n_chans; ch++) { if (intmap & BIT(ch)) { iowrite8(EDMA_MASK_CH(ch), regs->cint); - - mcf_chan = &mcf_edma->chans[ch]; - - spin_lock(&mcf_chan->vchan.lock); - - if (!mcf_chan->edesc) { - /* terminate_all called before */ - spin_unlock(&mcf_chan->vchan.lock); - continue; - } - - if (!mcf_chan->edesc->iscyclic) { - list_del(&mcf_chan->edesc->vdesc.node); - vchan_cookie_complete(&mcf_chan->edesc->vdesc); - mcf_chan->edesc = NULL; - mcf_chan->status = DMA_COMPLETE; - mcf_chan->idle = true; - } else { - vchan_cyclic_callback(&mcf_chan->edesc->vdesc); - } - - if (!mcf_chan->edesc) - fsl_edma_xfer_desc(mcf_chan); - - spin_unlock(&mcf_chan->vchan.lock); + fsl_edma_tx_chan_handler(&mcf_edma->chans[ch]); } } @@ -76,8 +51,7 @@ static irqreturn_t mcf_edma_err_handler(int irq, void *dev_id) if (err & BIT(ch)) { fsl_edma_disable_request(&mcf_edma->chans[ch]); iowrite8(EDMA_CERR_CERR(ch), regs->cerr); - mcf_edma->chans[ch].status = DMA_ERROR; - mcf_edma->chans[ch].idle = true; + fsl_edma_err_chan_handler(&mcf_edma->chans[ch]); } } From patchwork Mon Aug 21 16:16:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 715528 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C0A1EE49A6 for ; Mon, 21 Aug 2023 16:18:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236533AbjHUQSI (ORCPT ); Mon, 21 Aug 2023 12:18:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236523AbjHUQSH (ORCPT ); Mon, 21 Aug 2023 12:18:07 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 264DC132; Mon, 21 Aug 2023 09:17:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c/b9MOne2HyZyzmb7Q01JZAriUULp3BBeGjf3hzBiXloGJeIGvJIMjzy2GDsIwhwWNZb/VRrJ2EP1N0irDtuujSEDZ4Bl7jcPEGCygdBAQwAnSsUv1DcfKryvBE35ZnN9Dp/hFhobebm/YQTc/+JxMVKrbBLqf1B7DaXg+9LPwmtq1GV91kBPZ6NioO+VVgxXQEgf6F7jg2uM98aw1RjkBgJvyJNjsUPaS7CGjkdIxMUgVm7WCpBSyOj0ZKkV/LaqzsMJtosjFa4qiIkXpkXHTROayYjzXmftFC1PgT3ntyWAgaEsXU+Ye6QfQ8bKZOePZUlq6ON/rpSmJMYXfuPyQ== 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=D1QZvP1Qd2YtDLfQYwlU1EH3Jm+4a1h3jZaVBdFog2M=; b=CLXxxdXswryDBCqGpjQu535trPRyOGopQUJOkwafX1yVKUHRE5PU/VUi5CaKNgBwI1THeHDafREad/z8top/sku766qXtZc+P8gSJjd0cQKW4iA/DKFIxSM7mz4CYC7//EVe5DR2z+gKYinrYWNzMl8ibe0B5RlTKpJSHpVk1vznZQZfWOZtyGNLqUoIR/jpYWbA83GZT9SKLN/YAtMdKuDtxDEfaWYJL+pwnJ0e5kgif4AEGwHe1WJBYXVm9Bpf1hTbFWApwQ8zdBLr/W65dg8mYqP3ERuwxTJ1AqSRgMBsNhjAVkgV6lUkipK096EAiIDrP5ZJ1jo3H9y4bilbdA== 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=D1QZvP1Qd2YtDLfQYwlU1EH3Jm+4a1h3jZaVBdFog2M=; b=sI7VqZn6sjWBw2CWhMK9lI/k0aeWnf4aNrSbHMGMZhBxONVX86+LebviegU50yCUmc4pwDsSb2WzJJQKfIcTo1yUZdoFwYO84v781DVRw7ynJVfQ4quajybMv6ilL0kWuwz9oPRHqiZ3YuG86+9Y36Wfo69PNPeg6lUGqRzak34= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AS5PR04MB10042.eurprd04.prod.outlook.com (2603:10a6:20b:67e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 16:16:57 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 16:16:57 +0000 From: Frank Li To: frank.li@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, imx@lists.linux.dev, joy.zou@nxp.com, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v11 07/12] dmaengine: fsl-edma: refactor using devm_clk_get_enabled Date: Mon, 21 Aug 2023 12:16:12 -0400 Message-Id: <20230821161617.2142561-8-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821161617.2142561-1-Frank.Li@nxp.com> References: <20230821161617.2142561-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR05CA0053.namprd05.prod.outlook.com (2603:10b6:a03:74::30) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS5PR04MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e77aab6-eedf-4514-5759-08dba2620a76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +dAvC4FtvYEdqftDcHYT31XP7UB+iEUt2QMfc363J3hA3jsVJguP6wr9R50qS2v1psFlIH/lvj62COfPulO295GPERRdOgxU6NkQFAg5lxWv3khmTvkK+D+9rdtLiUTDlvaAkjWcse/G4UuP2geG3JY5cX8gIaQfu+9RqMK35JNfT9yGZYwZ7WHdCuuSBk2Ow8IPCib1fB6K5jFxJ1eRlZhxlWso1Ul7gzaUWABEq6VUKbpnctCXDg695IC8+FvgE/O9k6CWoGMFgQ1uyQogFbYwjM00DfDebWE6+4WoxDZUU1XKZLu0sXUXTKLvilYCBz7Lvf3yo1mJIYaPz8JQO7FH+vtHaVnkM76eK303EiSaHmahS1M31HSgQ7M4Z2PmXq2xhs4HBhwL0Z+40RRR5w0xe4QqNsoPrhSc2/x1s+Kz08ZFnI3QLVzTCL8bFonO5gfIx2HCLb+8HlTCH1rOaAzCRYBrlQa/LiN7AXabGCkMGqOiYcIbsvteOTJqScejdcoBy2r3tcjnEkGGkVkB9ohfqTCrE7A8qnKZMqM1l6OM/SF+xBzlYoMYNF0sZp3TGJXSp+YjRa9hn814k3EyBls0lIOdKiMt2L5gU2A++Ie7Gvv3X7cxMO4yL+4z8Otu X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4838.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199024)(1800799009)(186009)(2906002)(52116002)(38350700002)(38100700002)(6486002)(6506007)(83380400001)(5660300002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(66556008)(66476007)(478600001)(6666004)(36756003)(41300700001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lLp7qFSpXy/ew/ADzeJuIqmdtrWwXqNzYNP6ihQRzv+OfxUKJrlJD6LLw9D6JN0o62bRueegHYG36BYqhFXI6hiKFqnXvS+EpIkvTp3hhaw5zJ+8CROogzF9Mevc6ynUlMWqXcCqUOS4709XG1lt4DvAbzYhn9jmWFVnATEFG27raDqv8vEuc8r4eyG3Yfg95Ex9cgvOuwVbTP/oeIixpSnX/KyXpOM1jaDp9MdVMigc+iN5Cl8zu82nhE/iZXxqK+w/sIxzM1310fRQv6QkPISLo4SDxAUdxApufZTWW2Cmmsdaq9lkwBJcjmiKEHKy9/bvqLnhlUpFTCBWQlVuy0akfqjdI37ZKiGJFNvCuazlJNQGtJ/Ds69mcOdEhqq5cKX/aTXLi1iZMNskirw5CMM91DySxwO6RtqMmHcE6reID0dUu2g8tNAxhVvP5T4J7d5t2JXCFcGy1MtgeowrqbU6q6sWL7kz1v/2Y7pZ0wD5dRwYsEg0oIjct8BhOUL0HaxSUr/y6QeZgxF1tUyO3sZFU7GfUauGOXfibrwz7oigxg24kQTE5VhLJZ0wJYwuFll3qFXRfyaqYwTsweuuHR2Wn6xKGpN+qQ26PM+PugipXA4i8SobkkjapW6v+ke17othNS1fs9uMqAZVlqKfTya8ILuhR6N+DS1sXzCSpBl0RLLOKwfuaf88S1c/y+/imo14A7bCjgIy9N0CZKRsHlydKT8V4tJ89yQtY76cpd8g9GWQl67MDR9sa+qMjKHM2ikmGJ7oLs2pQmhmzAPS8ScrE1qtAsP3JXWFYfFemKq5FG6UcI11ozTcPQ7zunuCG0sVLs4OaUMy93dqWvEGhJBAWM2RqN5JWSQhoJIEYe44M8qS5I9NUrfeqtSIhQJx++HOinCos1TwVXvk6BPxHQ+k5Td4KtSHqcfwlMQLuzwDZQY1tjjysppS0hNpr5FQgVd8vuypTTx4rSkq6pJFlT4tYWV8SOpftQ/+1yviwqN1ADUGEhLi2AAwjDk4SC8r5vLuD1bKH27lTjgOswN24TQ0fnZ7oDFKikqVIiUdr6E49tCu8/UzEUtNTYLyPFJPsZtoOEdEKYPsmgkp2xZNBFb1uEPZf8fLsn7Ovd6KYO9dX8BlI1GeUKHzJR21OlcDjJC0jh1fCuQV5GId2wm9d0kk5BV+t4KWR/sZFev22bqCSDr1Hip8cGEclxsDKxKrmkLCLHwN5SlF2+BC2a1tibluLJLlUbVZAsX/qfsXvNvXRvJ4OHzFl3kmE+jlINVFE5RIJyR7IPI9fYBoItRnom2ZO6H4nZ9HbK60LogfgnL7gv9bn81vM43ZFiE8K0wAkLy6gRKAQoEgWkJ/9oVNR58z1H/tbcoW8wsDRW9JVK4XX8lFY6Nyuh8sdthBIGrRM0VFbo9LrRm7feDDP26a9xWFcDy6JU3+L64P9puYGhkYAiBXwbZ+yXcz4aw+OjaV6NLCyiuaYn6Rh/+aCYhk3QLU/IJqK06eBcJXEm+iHDXK4428IG55g7BtqhAUVoOOM3XG4T/9i3xIPzNOIl8u8y9QWQpnWWtbg3f+EN6+DDqaSF1jhubPr9Laz4tU4vdK X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e77aab6-eedf-4514-5759-08dba2620a76 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:16:57.1215 (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: FtaS3Xn2uD/f/iFpYtAuxh7r8qMGUnOVWMnob9d86dOhL9Iqj2eW2cn9KlL0bc5A3Yi4iAOn16VAzajBCSnkEw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10042 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Use devm_clk_get_enabled in probe code to reduce error checks, thereby enhancing readability Signed-off-by: Frank Li --- drivers/dma/fsl-edma-main.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index c8b9f2eff111..7dfbdc89051a 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -276,17 +276,11 @@ static int fsl_edma_probe(struct platform_device *pdev) regs = &fsl_edma->regs; if (drvdata->flags & FSL_EDMA_DRV_HAS_DMACLK) { - fsl_edma->dmaclk = devm_clk_get(&pdev->dev, "dma"); + fsl_edma->dmaclk = devm_clk_get_enabled(&pdev->dev, "dma"); if (IS_ERR(fsl_edma->dmaclk)) { dev_err(&pdev->dev, "Missing DMA block clock.\n"); return PTR_ERR(fsl_edma->dmaclk); } - - ret = clk_prepare_enable(fsl_edma->dmaclk); - if (ret) { - dev_err(&pdev->dev, "DMA clk block failed.\n"); - return ret; - } } for (i = 0; i < fsl_edma->drvdata->dmamuxs; i++) { @@ -301,19 +295,12 @@ static int fsl_edma_probe(struct platform_device *pdev) } sprintf(clkname, "dmamux%d", i); - fsl_edma->muxclk[i] = devm_clk_get(&pdev->dev, clkname); + fsl_edma->muxclk[i] = devm_clk_get_enabled(&pdev->dev, clkname); if (IS_ERR(fsl_edma->muxclk[i])) { dev_err(&pdev->dev, "Missing DMAMUX block clock.\n"); /* on error: disable all previously enabled clks */ - fsl_disable_clocks(fsl_edma, i); return PTR_ERR(fsl_edma->muxclk[i]); } - - ret = clk_prepare_enable(fsl_edma->muxclk[i]); - if (ret) - /* on error: disable all previously enabled clks */ - fsl_disable_clocks(fsl_edma, i); - } fsl_edma->big_endian = of_property_read_bool(np, "big-endian"); @@ -374,7 +361,6 @@ static int fsl_edma_probe(struct platform_device *pdev) if (ret) { dev_err(&pdev->dev, "Can't register Freescale eDMA engine. (%d)\n", ret); - fsl_disable_clocks(fsl_edma, fsl_edma->drvdata->dmamuxs); return ret; } @@ -383,7 +369,6 @@ static int fsl_edma_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Can't register Freescale eDMA of_dma. (%d)\n", ret); dma_async_device_unregister(&fsl_edma->dma_dev); - fsl_disable_clocks(fsl_edma, fsl_edma->drvdata->dmamuxs); return ret; } From patchwork Mon Aug 21 16:16:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 715527 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDB10EE49A6 for ; Mon, 21 Aug 2023 16:18:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236458AbjHUQSm (ORCPT ); Mon, 21 Aug 2023 12:18:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234934AbjHUQSl (ORCPT ); Mon, 21 Aug 2023 12:18:41 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E3FE012B; Mon, 21 Aug 2023 09:18:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dfEJZbYewsOBRlOmrcYP4WpBTBi7WJkxUjtd/mdUraKDOE9KZJyz9hGzA/O9JCQGB2YCl21T+MBA8SSbqzPXeJfuVJG13XiMTpZWkzcD7KXyn6gDQRFEmEOBblsw/x4c+vYWrwegXM5CvZlbtPGPYoY5TSREpfOGkvW2OP+ok4yv3bJGROt4VsBt/wN02uhcSzMaKyuyXxSSldfKqWwqbuJU6sK6bb2K7FmRkg+CS79VLxn9ykUTm1bWKY96W1Kbu7eMmcSWIK8EXhhDxiJJqGhtXOw99EUZU5LBVjz1JHc/5/3X9nzb9GlABqUdaizkQ4d4FqScpD9ueEI42VicHg== 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=e8AiVCfce1vUOagQqJWk7iO4Cpafo4/S74118RC9b4o=; b=nwJknhFUouTPvb6bQyiVg2PipY7TcPcnrFSe6LrKsux0B1SiF2SzWwm+78sCL0rusVYgix3DIqCGlAS5zHODq9tvgQfranYeN8/cyw9GbBF78bAeB3hyLYz80cLKvgffKVXQuUsDiafVrknlBCyBhxykA27gS9Ie+sPox4VKIBdyTaA1tKXE5zTY3daB0XiBkXAkq0mZNmugdS3i5npFatjZ+fLzBBLMq5SXvY+2UbUiBX2ZJ494hn8UcZ12CO53po02UNVqBPMAMP/31AE7hLIdni9cgcmvI6dwzQyso3LCYTxX0nIlE7OvagMM0kfmlShs7TfDjnwGAtUxMa41jA== 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=e8AiVCfce1vUOagQqJWk7iO4Cpafo4/S74118RC9b4o=; b=gBYeiTFFoLkqRh5fg6HZysr/h6I8OCfn1QyhYq5jdmB1PyzH2FbSD1HzmMn5ZJsaxWSDPijCO17CDhZlKYNvIF/9//MiCBhmI9qcqUCuAZqzdzgJnLS75DjEFGipk/DWv4UQaHilxD7GHHX6YHljh4cSkp8IME03x8PONg8SRpo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AS5PR04MB10042.eurprd04.prod.outlook.com (2603:10a6:20b:67e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 16:17:08 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 16:17:08 +0000 From: Frank Li To: frank.li@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, imx@lists.linux.dev, joy.zou@nxp.com, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v11 10/12] dmaengine: fsl-edma: move tcd into struct fsl_dma_chan Date: Mon, 21 Aug 2023 12:16:15 -0400 Message-Id: <20230821161617.2142561-11-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821161617.2142561-1-Frank.Li@nxp.com> References: <20230821161617.2142561-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR05CA0053.namprd05.prod.outlook.com (2603:10b6:a03:74::30) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS5PR04MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: 07357dca-dacf-4ab7-0d45-08dba2621164 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3h87ZQd7GYRQsByMrkY0ASZEOgqlpZ71y6OwlsxTseEmzKwEcYyMhBqlG6XOAoyO1bYyppeWMjGztbcLIlFqDVJRUF/uivyuRxd4jMgaSM5+zy9mP8fsqCE4Rh2NcVUF0IukdDPyZY74mHeOvwwyocQaSu+ItoJQZgXA4LrQJZwm4JIuGG7sIRwXvHS7SqceiQnZi0iB8HLAgKLQsay+UkP6rFpfW5sgv1ByBqZk5k++indS8ADiuZDqMDxB2ZoQgPUbJjPZvxV1Ignx6dZL91P+yoKJX11s5kvjLeEJu33LVEPp6e1227SfNYwxP7vuMbH19iHv1dXooFJfN1z+NFd9o3tiDyUOOMCtjodoCL72jUM/k5f/p/AEtxzRe4yjYe+6nYAcEB6MP2ya7aIEWheX5GhYQsIqxqh0u4Hvo9egx/c+wDwUeau//vnZcD+tc/O9ZHZoBJKaegD0xK3RjpWOMk729eKOVlHzk08sUKY0XuiHyj7kVehToAlOGVMY5TeqJKoL5V3dmNrJonz47tQBTxo51vflT7H4EeFFT0ODRe7qFPSJbA+D09lDH6zOEey8Ay1WAJxPPzw3O2EUAbxxefDOhKz1/2WHC/Yq104= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4838.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199024)(1800799009)(186009)(2906002)(52116002)(38350700002)(38100700002)(6486002)(6506007)(83380400001)(5660300002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(66556008)(66476007)(966005)(478600001)(6666004)(36756003)(41300700001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: H/BFvoxtx7I9CUXu0lCfYgsxYyJHVmjRIin7yduJPCQ+ZfveTMU1wrIEckgohyVnZHwT0+iMnqSMtEamTvnuxtnU7f6VxBeAJEiL8B1GAtUwB+0AFdOVkI6wxz1FH3j7OFEEYzsZJnCdn4Wn0uPaieVnpQA/7F9N/7jN4IY8C7hMqv/vOQ6cGdcriuscJ9fxvMKEp17L8lx3XqPwO7dNbYxYwKJK/X2nkjMarK+zsXDH8ePbD5+IlGJ/JywPe+MK9K6U45Z/qQKUHJCxQV/5M8VTkGH2kxN+Tj5Mcmt1M0w+CjVpnir7csi5V2ahFXZub7PPm6wIQNu9dvv6Ehqn+HGAvyI9tLzZbRTl3L6+b+7RE1Kht05zAX96htcOAAXm/q86dma1D/fxzVD2FXYXXWiNANhtVIpyCMLVXHDQtA5PERBaT3aZ+Lrd4fmQ9nfJgoUJCWwQHaXcGJ3soMFf7zKmc5nDNLycFJzJCRheXCyC4AUB7wgYoa8V+ZEEucjGIgj8DS6zMjEhbRfV8MBHLxRE41kJ53PYesMPNvaneSwZDA/CdggqaLRphPIpatk10gtNWC4cQD1XqSuqp34B9zpALruz7rXJuRovw1MCTz6L1Z3lF3mLd/+syE6OCIEaM2xFJF35POUc4rLK8Jcqs/AFeikL4RQgxnKpuuPxKuGOWgEr3V8XwoNjMV314nFN3QYoNCukrdbiW8praKo2wbBvM0DV94i79KDozPMLNUnrg6T3hEto9jcjCWPwjqA1T2nKNz5eQNpB3/xPvsfqTnuVT/LVLFzhPgwXZJUkmRE4ZVW+OqBy1gSramI80CGHG2SXd/QEAkrHD0dQysU246qTp6yMSH4I2UeZgIE0QIJoxQwki/hxm06hJ3GrmeDNKw8xFuU/UZEHcVD8he4rCPt/ld4MtEIGbyaJ8p6pselZ6PynWq9Hcz1Squ3owUSpqYeL7P0Ob0WdO2rUq8KVk2OzLGxz6TWCVYD6aJDIeNpOihIWrb72h6iq7gzgXI3ejfBuLaDSQEASRVUBXgGGHQFit3V3mD3DOO4DpC0OEnjM5kvJ7CzW9SeAr478Lic/99VmiFJ7C6PNGqI1wEqTI0nByUINTxm2oM+nCuQZLmCXTlm0lb1WOlt9tg5oxZKBud1Oql1o/e7zZo4VchqZ6GyKnwefkBv7XpRb1jIJJbgO+IGdASlZ5u2+Y9p5teEKj/B/3FZEGJDPwVEFZrynsfCFH2dEgQ3MGAMqrLTJmE/k5EBLEqBBdInYyl8WtLwrpyP5ptZt9B32NzUQChxr/XioJ+n+zwIr4sL1e+9LB4d2G/rYbtLOVHsrn0n+/TsJ3LSB7mjTu+x8p7vGcNfTfXkhHml3GFDihIzZ1mTyGqmvL3OQLqKc1uesUiS5Lxs/lRiCe0HDhww+7wS2smenNj335XiyN3vknZYCvSRggqZ5FsUYZSdIRRnqhQQbOndTiRHbdijD2kv9HBOOzMElL8fve7FqBdtVYBFMolJVvRfCgNDgslyixrP8SsizQniZsu9ghqEeT0uWwydXSE4RFcNUqDW8ceSdO6QSWi2t81oQIZ/s6d4O/IJHicWv0xOa X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07357dca-dacf-4ab7-0d45-08dba2621164 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:17:08.7078 (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: F40adjL8ZnRk9KywcNEua9uiyEVrpkjnMlYaWU4VkSSRImhGHgwh0umoXAO49y4SWh+kbqas9XE0kQrN61aUYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10042 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Relocates the tcd into the fsl_dma_chan structure. This adjustment reduces the need to reference back to fsl_edma_engine, paving the way for EDMA V3 support. Unified the edma_writel and edma_writew functions for accessing TCD (Transfer Control Descriptor) registers. A new macro is added that can automatically detect whether a 32-bit or 16-bit access should be used based on the structure field definition. This provide better support 64-bit TCD with future v5 version. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202305271951.gmRobs3a-lkp@intel.com/ Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 38 +++++++++++++---------------------- drivers/dma/fsl-edma-common.h | 22 +++++++++++++++++++- drivers/dma/fsl-edma-main.c | 6 ++++-- drivers/dma/mcf-edma-main.c | 4 +++- 4 files changed, 42 insertions(+), 28 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index e0f914616c5f..13c328728025 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -40,8 +40,6 @@ #define EDMA64_ERRH 0x28 #define EDMA64_ERRL 0x2c -#define EDMA_TCD 0x1000 - void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan) { spin_lock(&fsl_chan->vchan.lock); @@ -285,8 +283,6 @@ static size_t fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, struct virt_dma_desc *vdesc, bool in_progress) { struct fsl_edma_desc *edesc = fsl_chan->edesc; - struct edma_regs *regs = &fsl_chan->edma->regs; - u32 ch = fsl_chan->vchan.chan.chan_id; enum dma_transfer_direction dir = edesc->dirn; dma_addr_t cur_addr, dma_addr; size_t len, size; @@ -301,9 +297,9 @@ static size_t fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, return len; if (dir == DMA_MEM_TO_DEV) - cur_addr = edma_readl(fsl_chan->edma, ®s->tcd[ch].saddr); + cur_addr = edma_read_tcdreg(fsl_chan, saddr); else - cur_addr = edma_readl(fsl_chan->edma, ®s->tcd[ch].daddr); + cur_addr = edma_read_tcdreg(fsl_chan, daddr); /* figure out the finished and calculate the residue */ for (i = 0; i < fsl_chan->edesc->n_tcds; i++) { @@ -358,9 +354,6 @@ enum dma_status fsl_edma_tx_status(struct dma_chan *chan, static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, struct fsl_edma_hw_tcd *tcd) { - struct fsl_edma_engine *edma = fsl_chan->edma; - struct edma_regs *regs = &fsl_chan->edma->regs; - u32 ch = fsl_chan->vchan.chan.chan_id; u16 csr = 0; /* @@ -369,23 +362,22 @@ static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, * big- or little-endian obeying the eDMA engine model endian, * and this is performed from specific edma_write functions */ - edma_writew(edma, 0, ®s->tcd[ch].csr); + edma_write_tcdreg(fsl_chan, 0, csr); - edma_writel(edma, (s32)tcd->saddr, ®s->tcd[ch].saddr); - edma_writel(edma, (s32)tcd->daddr, ®s->tcd[ch].daddr); + edma_write_tcdreg(fsl_chan, tcd->saddr, saddr); + edma_write_tcdreg(fsl_chan, tcd->daddr, daddr); - edma_writew(edma, (s16)tcd->attr, ®s->tcd[ch].attr); - edma_writew(edma, tcd->soff, ®s->tcd[ch].soff); + edma_write_tcdreg(fsl_chan, tcd->attr, attr); + edma_write_tcdreg(fsl_chan, tcd->soff, soff); - edma_writel(edma, (s32)tcd->nbytes, ®s->tcd[ch].nbytes); - edma_writel(edma, (s32)tcd->slast, ®s->tcd[ch].slast); + edma_write_tcdreg(fsl_chan, tcd->nbytes, nbytes); + edma_write_tcdreg(fsl_chan, tcd->slast, slast); - edma_writew(edma, (s16)tcd->citer, ®s->tcd[ch].citer); - edma_writew(edma, (s16)tcd->biter, ®s->tcd[ch].biter); - edma_writew(edma, (s16)tcd->doff, ®s->tcd[ch].doff); + edma_write_tcdreg(fsl_chan, tcd->citer, citer); + edma_write_tcdreg(fsl_chan, tcd->biter, biter); + edma_write_tcdreg(fsl_chan, tcd->doff, doff); - edma_writel(edma, (s32)tcd->dlast_sga, - ®s->tcd[ch].dlast_sga); + edma_write_tcdreg(fsl_chan, tcd->dlast_sga, dlast_sga); if (fsl_chan->is_sw) { csr = le16_to_cpu(tcd->csr); @@ -393,7 +385,7 @@ static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, tcd->csr = cpu_to_le16(csr); } - edma_writew(edma, (s16)tcd->csr, ®s->tcd[ch].csr); + edma_write_tcdreg(fsl_chan, tcd->csr, csr); } static inline @@ -736,8 +728,6 @@ void fsl_edma_setup_regs(struct fsl_edma_engine *edma) edma->regs.errh = edma->membase + EDMA64_ERRH; edma->regs.inth = edma->membase + EDMA64_INTH; } - - edma->regs.tcd = edma->membase + EDMA_TCD; } MODULE_LICENSE("GPL v2"); diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index 316df42ae5cb..cfc41915eaa1 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -48,6 +48,8 @@ #define DMAMUX_NR 2 +#define EDMA_TCD 0x1000 + #define FSL_EDMA_BUSWIDTHS (BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) | \ BIT(DMA_SLAVE_BUSWIDTH_2_BYTES) | \ BIT(DMA_SLAVE_BUSWIDTH_4_BYTES) | \ @@ -93,7 +95,6 @@ struct edma_regs { void __iomem *intl; void __iomem *errh; void __iomem *errl; - struct fsl_edma_hw_tcd __iomem *tcd; }; struct fsl_edma_sw_tcd { @@ -117,6 +118,7 @@ struct fsl_edma_chan { u32 dma_dev_size; enum dma_data_direction dma_dir; char chan_name[32]; + struct fsl_edma_hw_tcd __iomem *tcd; }; struct fsl_edma_desc { @@ -156,6 +158,16 @@ struct fsl_edma_engine { struct fsl_edma_chan chans[]; }; +#define edma_read_tcdreg(chan, __name) \ +(sizeof(chan->tcd->__name) == sizeof(u32) ? \ + edma_readl(chan->edma, &chan->tcd->__name) : \ + edma_readw(chan->edma, &chan->tcd->__name)) + +#define edma_write_tcdreg(chan, val, __name) \ +(sizeof(chan->tcd->__name) == sizeof(u32) ? \ + edma_writel(chan->edma, (u32 __force)val, &chan->tcd->__name) : \ + edma_writew(chan->edma, (u16 __force)val, &chan->tcd->__name)) + /* * R/W functions for big- or little-endian registers: * The eDMA controller's endian is independent of the CPU core's endian. @@ -170,6 +182,14 @@ static inline u32 edma_readl(struct fsl_edma_engine *edma, void __iomem *addr) return ioread32(addr); } +static inline u16 edma_readw(struct fsl_edma_engine *edma, void __iomem *addr) +{ + if (edma->big_endian) + return ioread16be(addr); + else + return ioread16(addr); +} + static inline void edma_writeb(struct fsl_edma_engine *edma, u8 val, void __iomem *addr) { diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index d68ea16ddf1b..72b7587226df 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -320,9 +320,11 @@ static int fsl_edma_probe(struct platform_device *pdev) fsl_chan->idle = true; fsl_chan->dma_dir = DMA_NONE; fsl_chan->vchan.desc_free = fsl_edma_free_desc; + fsl_chan->tcd = fsl_edma->membase + EDMA_TCD + + i * sizeof(struct fsl_edma_hw_tcd); vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev); - edma_writew(fsl_edma, 0x0, ®s->tcd[i].csr); + edma_write_tcdreg(fsl_chan, 0, csr); fsl_edma_chan_mux(fsl_chan, 0, false); } @@ -430,7 +432,7 @@ static int fsl_edma_resume_early(struct device *dev) for (i = 0; i < fsl_edma->n_chans; i++) { fsl_chan = &fsl_edma->chans[i]; fsl_chan->pm_state = RUNNING; - edma_writew(fsl_edma, 0x0, ®s->tcd[i].csr); + edma_write_tcdreg(fsl_chan, 0, csr); if (fsl_chan->slave_id != 0) fsl_edma_chan_mux(fsl_chan, fsl_chan->slave_id, true); } diff --git a/drivers/dma/mcf-edma-main.c b/drivers/dma/mcf-edma-main.c index ec8a8e1930b5..a903461da5bd 100644 --- a/drivers/dma/mcf-edma-main.c +++ b/drivers/dma/mcf-edma-main.c @@ -199,7 +199,9 @@ static int mcf_edma_probe(struct platform_device *pdev) mcf_chan->dma_dir = DMA_NONE; mcf_chan->vchan.desc_free = fsl_edma_free_desc; vchan_init(&mcf_chan->vchan, &mcf_edma->dma_dev); - iowrite32(0x0, ®s->tcd[i].csr); + mcf_chan->tcd = mcf_edma->membase + EDMA_TCD + + i * sizeof(struct fsl_edma_hw_tcd); + iowrite32(0x0, &mcf_chan->tcd->csr); } iowrite32(~0, regs->inth); From patchwork Mon Aug 21 16:16:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 715526 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C26ECEE4993 for ; Mon, 21 Aug 2023 16:18:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236569AbjHUQSx (ORCPT ); Mon, 21 Aug 2023 12:18:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236571AbjHUQSv (ORCPT ); Mon, 21 Aug 2023 12:18:51 -0400 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2055.outbound.protection.outlook.com [40.107.241.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5FB4189; Mon, 21 Aug 2023 09:18:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kPnBj98iY8SSnIOx9sgwRXPK8NikYbJgykz/m0cz/hRapmIGCSAF/uBsr6cyHcCpYnQzr5f7dtD0Qm/FVVSJHptjzoKQyhm9DVXfkbni6SMjvox7FHqA+xxkusD7q+PHluuwUjzPR+8Tl6grBlnBqjAhv1yNS+6ac0QR4cQ5oH1Y6DsR6mEPvZ6oeWlVbXJBnCNjFfUC6LAwkEo11Qx4jy9toI9UygpDqh8OKE53ok2m6+/WOXnGVMxxGoAZdlXXeSq2YHqIs6tF/JMdmH9c3/tmI3wHbLYlkXcbdqkgA46cPZWzrdLlLs8I3NWjsldlyrqw3CapnaSwU2S+3LGL+g== 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=xq4Iw/E/mh3cyEFC2hAms1m6XpyOfkMliNlCzrEMfG8=; b=I63p1EjQ5fqSVc764fIEiyJMoWOj5qq2byay0jVvPNt6ZO4TyF1GmJMI8noEWTvbfTQm3jt85HAtLZU7PbY9YlC4iAGmkd1iaLLQHInEYq3npyjHdPiTrv0sCGqNHQJVtk3//tDmBe7uwcNpISx0Jdpxk6oAUo1VgQPAGeAeetgmpk2yxULNRT1NetIpEzJpiA+1kENryustdBAFoebhOK/sgsTTQJGk12AN9UNU4ZEHHBzev4BK9f3aO1QVkh6qKQ42mOoGnkDOm+V6p64Y8wMFdxzlllKR437LIAHdKt31iWB4B85iZ8KhqWVjCGrOQ/96gol0HwceYFLSo1ug7Q== 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=xq4Iw/E/mh3cyEFC2hAms1m6XpyOfkMliNlCzrEMfG8=; b=htjnejT82Qn+pI/7+djKub4HYRzDzU7pVvCET4riPAICAu3yAioS6BdjfoMzk/GCadyTMPmLhKNraFupB/dPQ+mgwlvoKr8SR8o6wlb4PBUjvLSYwt0ECf7z7r5CyL2YEILrxgrZcl8qgpFt151TFGTg4tYxVGUZD3aV562rzR4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AS5PR04MB10042.eurprd04.prod.outlook.com (2603:10a6:20b:67e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 16:17:11 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::a680:2943:82d1:6aa8%3]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 16:17:11 +0000 From: Frank Li To: frank.li@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, imx@lists.linux.dev, joy.zou@nxp.com, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v11 11/12] dt-bindings: fsl-dma: fsl-edma: add edma3 compatible string Date: Mon, 21 Aug 2023 12:16:16 -0400 Message-Id: <20230821161617.2142561-12-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821161617.2142561-1-Frank.Li@nxp.com> References: <20230821161617.2142561-1-Frank.Li@nxp.com> X-ClientProxiedBy: BYAPR05CA0053.namprd05.prod.outlook.com (2603:10b6:a03:74::30) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AS5PR04MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: b0c5b636-c826-45d1-7ad0-08dba262131f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RMRW5b053++j1NgTDuwbbLTjmv8Lw3DXV0NoJ4jtDHfOxdzsyzv7Vves1ys+Ja1c+WJkRTY3xhipJ9FW0LD0sPRtfvOUf0Ms14+PqAyADpakqSVh6/unBmWGZGCVDrhZT+MYVXRTC/kBRrrpmB2iqOgHYdOZMpUvy6vT2SdEYI1gDIj7gQFtsWA7kfkmhLmAxPSDVZnMTpDjpiY5+jEvmliJMBr4K6GGdA6j7BjV2VVm6uh0UTKsJrqMEC9JScRe5YGkmeiNitt7wXnOUJMChjSmvXZ0m5lcZuzLYHoyZzBCXcUbf95Nwo6xmllQ9xxF7TfMsZ2Pc/DYNtYOTcxv6Bjkahan7ijZo8Wv9zbegzokhv04OuvvVSyaId3FNuCRKdZEnipNwh8MepsAbHL2S14DoHYQrAmL852QXKsZZDD5LnR0VNkH4vkGo+vTgegiTvg91/zyMdrYjGwZenMU2HqiNwOlI1zVO7z0UPZNnuUu6+uLjJRylWOdaePTXk/ptIAypWx2RLsO/ZqScDxI5gsuStgt/qYZNtrXglC9oCt6vmH1p9byAiwqn/OW6LSdFBckuvjXcVnu1ExUs4JBJ/aC/1f5eLovs8NLcAzX9azmBukNsG7o74n+pSHYvoqv X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB4838.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199024)(1800799009)(186009)(2906002)(52116002)(38350700002)(38100700002)(6486002)(6506007)(83380400001)(5660300002)(26005)(86362001)(8676002)(2616005)(8936002)(4326008)(316002)(6512007)(66946007)(66556008)(66476007)(478600001)(36756003)(41300700001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qXSCR2LXCyqTo6EEvfoqfu+L3njoGl9YsYDOJb+ZMD+p4cZJPq9HExFsKl20pJrqiIby8SvJE+kVgoZXTkmwlCpgjAby79h3QDkoSVI7b1lGotWHyP0XXGMVOwQldAbVYnGGQb65gDvGl5wGbjHB3l2M3/gPy6NrN4FF0i1pQaNk0AQR018HF3e7JU7v6h8GeAC1lx0pnEo2t0gdhbl7138CghR9JWw8CwhcxALnDnIhsaJtzDoEOW2yhnzEVyTSxujnY9sS8BjIynUIhBbO4S6ph8Xy8zFjsZ+EBm9XeJ89ivGuMkOOHTbYCnzNNDFDaGj3XXG1Hr8Ya/rfIqHL5uIHzEBHQjyxAPXiaaiA0XEDxTSZgxlRKFpSaM/kMhuACTgzZnlFLvvAeN2tfri3ySKynxb7qyIzJyqTtY0UdWgVHCBLNp1ECUhBzUHzBy3fH8z1RIBA+ssKx36/rpKdTI5Ey5P9Wy8fzQiWpsGIwlw37vdQoMxn9KlzZg2ezOI+E1c/tbnCEyvNXWlA+1LeyU7Mwhfpw6J2/rFW49ACWCzxtkL7Z5jbTC6/0PfhLkD2rkcFywCnt373IYbRZpKaXcHi/S7zXJGT1KWFhbCbuYrx3033AQ/hMaiaJMrtPcnR/++cJhs/4qIhxdFHk/9j1dKUMkf362Kp9ruvAmnwjrMN3SHAfD3jlBd9Xj6nydwnUqY9qHkSuuZoU0NQQ7y9V2yz0cMsnrGhXHT5o+4ZFg9nepbdpVBz3VLfB9Z9/fF5Ja8JXJKbBbA89bno9a37vbB0Fs8YzfbRI1+yA7gruwqXAqNndZJMtLnC6FHNKj2B6STvQO7V5AAtpWeYw5wcjwNsWNkUjifwgKrwNCy64qEMZAjnsZV4kjDr3071aQHYbmU/iIaaMOsIQphNo+iDZqMdLZnIeWD4IpEs8FX3aGE9QrGjPshY7fOVk3fw1kxwQK76LFmSJVikQxUP64qNvifPrXfeNihj3zL5Q49T2O/9aB7arRkD473rDuJaPJBeqyXkwMpIrh6dfCuFG/0CoNm4n+vl0jKmmGHFhPP5NHLWnNlXIkljo79udhoExm+DIGGZNC9IBMr6qfjTdtG2UMP6OpXEHQZJcdEXKkzZBKIAxO+tNcaWMF/wAJGT+q2DBdKK0DNS6u66jiGr/isYfbX0ymuKOY13OPpNRd0qYMFlKXEyXaEJLZyHig/vjvUIk9p2araHyG/T13zFagF4FqAPgM4liyMIbTJYT6ieQFb+BbSSTvA8z7T8lMqFLdZ1cCuqIY6xaYfak4IFXgqaozDzOR9oiK5iHfTfdC4AJ+DgsQVkVPoeK8/vsRQE9UPRmAKIFA/mez8ZlKpbu0P772nB8ewrTwszcOOLzK2NZ5H2XoTdn0rrtsxbzGCawGmswlvSXWtqKbSP0gmGfd/FQIcaol92I7YSkWxazwOYaSMJSkZTfcWZlNMvzRZmGuPFD2yMTDyUpOTuCtY7FFQ+T+KHHn81Hv08zgBgAuugshkZe7k9woXQLxfbyhn56dyqjPGj6NtVochwoIIzNI+elJUNarjdXkrwo1UOKhrR5iwyo2ejUQGoLUwchFgWFm8f X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0c5b636-c826-45d1-7ad0-08dba262131f X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 16:17:11.5908 (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: J60BEQevzZfF+s+QMBtPrjuWjDHVScGJCtnnIp1DaeJT4XJwVaHCkhyd5abGDH1SRsh/QhJEBkt3AUc8H7NZug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10042 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Extend Freescale eDMA driver bindings to support eDMA3 IP blocks in i.MX8QM and i.MX8QXP SoCs. In i.MX93, both eDMA3 and eDMA4 are now. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Frank Li --- .../devicetree/bindings/dma/fsl,edma.yaml | 106 ++++++++++++++++-- 1 file changed, 99 insertions(+), 7 deletions(-) diff --git a/Documentation/devicetree/bindings/dma/fsl,edma.yaml b/Documentation/devicetree/bindings/dma/fsl,edma.yaml index 5fd8fc604261..437db0c62339 100644 --- a/Documentation/devicetree/bindings/dma/fsl,edma.yaml +++ b/Documentation/devicetree/bindings/dma/fsl,edma.yaml @@ -21,32 +21,41 @@ properties: - enum: - fsl,vf610-edma - fsl,imx7ulp-edma + - fsl,imx8qm-adma + - fsl,imx8qm-edma + - fsl,imx93-edma3 + - fsl,imx93-edma4 - items: - const: fsl,ls1028a-edma - const: fsl,vf610-edma reg: - minItems: 2 + minItems: 1 maxItems: 3 interrupts: - minItems: 2 - maxItems: 17 + minItems: 1 + maxItems: 64 interrupt-names: - minItems: 2 - maxItems: 17 + minItems: 1 + maxItems: 64 "#dma-cells": - const: 2 + enum: + - 2 + - 3 dma-channels: - const: 32 + minItems: 1 + maxItems: 64 clocks: + minItems: 1 maxItems: 2 clock-names: + minItems: 1 maxItems: 2 big-endian: @@ -65,6 +74,29 @@ required: allOf: - $ref: dma-controller.yaml# + - if: + properties: + compatible: + contains: + enum: + - fsl,imx8qm-adma + - fsl,imx8qm-edma + - fsl,imx93-edma3 + - fsl,imx93-edma4 + then: + properties: + "#dma-cells": + const: 3 + # It is not necessary to write the interrupt name for each channel. + # instead, you can simply maintain the sequential IRQ numbers as + # defined for the DMA channels. + interrupt-names: false + clock-names: + items: + - const: dma + clocks: + maxItems: 1 + - if: properties: compatible: @@ -72,18 +104,26 @@ allOf: const: fsl,vf610-edma then: properties: + clocks: + minItems: 2 clock-names: items: - const: dmamux0 - const: dmamux1 interrupts: + minItems: 2 maxItems: 2 interrupt-names: items: - const: edma-tx - const: edma-err reg: + minItems: 2 maxItems: 3 + "#dma-cells": + const: 2 + dma-channels: + const: 32 - if: properties: @@ -92,14 +132,22 @@ allOf: const: fsl,imx7ulp-edma then: properties: + clock: + minItems: 2 clock-names: items: - const: dma - const: dmamux0 interrupts: + minItems: 2 maxItems: 17 reg: + minItems: 2 maxItems: 2 + "#dma-cells": + const: 2 + dma-channels: + const: 32 unevaluatedProperties: false @@ -153,3 +201,47 @@ examples: clock-names = "dma", "dmamux0"; clocks = <&pcc2 IMX7ULP_CLK_DMA1>, <&pcc2 IMX7ULP_CLK_DMA_MUX1>; }; + + - | + #include + #include + + dma-controller@44000000 { + compatible = "fsl,imx93-edma3"; + reg = <0x44000000 0x200000>; + #dma-cells = <3>; + dma-channels = <31>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + clocks = <&clk IMX93_CLK_EDMA1_GATE>; + clock-names = "dma"; + };