Message ID | 20211109043910.4016824-1-g.singh@nxp.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 07771A0C4B; Tue, 9 Nov 2021 05:39:41 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 85AD240687; Tue, 9 Nov 2021 05:39:41 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40088.outbound.protection.outlook.com [40.107.4.88]) by mails.dpdk.org (Postfix) with ESMTP id ED7EC40151 for <dev@dpdk.org>; Tue, 9 Nov 2021 05:39:39 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aLg362g3yUFIngHFvU2Zk7LkI5DzgPgAT9tboawWsLYiWPSMPOrZzRG71bLxbDlgc7cfbDaCXIuOuxqP7qtZP8Ng7A6O+eKCiyE2h4MmdH/kDqgIwnZRgLbN51UFbIiFcY8u7T9AnpDFFZItSLnKD/6yhUui/8iJX2U5Ucuu1CucyLo4GCjyy5JDEJaXcyIMV9AKA9XieT0agOHunWhIEZQkNDe1xIBbm8zcZ4iJaylRE9M+aGCoXZlsecP1nVKS8uwCqIsRcfpbc8VgJON8bDEM/s+SJ+3SC0BQ5sKTmEpNDJ0EV8QJvqE43EZ5GuKnj+kqxBauCY/fnyADenDhfw== 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=9T8VMHnqkzjcCL0KX+Kx51qzjGSkDhODaG3SXbSjJq8=; b=Fy3d+oeWsqlD398Z+MEahNW+VgfoxuJ1SN746hy8XbfOe75IOT+E7O8seFbnEO8PX6m4PEUw63rJ1pklCHWqmK80jg4KP+6VsaS2A6EUi5r9qoWDNbgj21fZKbL2sc8qMcjhiTKWPayluJ1SI3JE0sIYMLYSTlacdp0DZ+iNIc/RK7zJOc4OALrB096ItZ3TxS+Fuc6x9eYvHU4Xn5qHTJJzEcdpdgaja/Lti4FcJ6HAESoiyRwEs8cLm0ekHDmeCdDj4hiH9GDMeRRFtr+8UVT5bqy+f6ujFE0CuyzaXRj/voUBf8/QmTiMAJwGEdzAhiZOXmEYhGE9vSXr8z7P7A== 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=9T8VMHnqkzjcCL0KX+Kx51qzjGSkDhODaG3SXbSjJq8=; b=eTtZOpYJe30vISl+lsO8Cb/D1KVU7XP21Dp8Cn+0PDQDXmj3YZ667RlcMfb/ZbSNe0Y4rLWA4ausREGlm8jeGc+8ujujsANrCu59q0fAUWJnzMyx0iaGECTF3rnhp4aEkBQK73YBYCLEqZlmbmA8CmfRmBTwPixjcTpTb3BcZB8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB6960.eurprd04.prod.outlook.com (2603:10a6:803:12d::10) by VI1PR04MB5630.eurprd04.prod.outlook.com (2603:10a6:803:e6::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Tue, 9 Nov 2021 04:39:38 +0000 Received: from VI1PR04MB6960.eurprd04.prod.outlook.com ([fe80::11d9:6f32:90e:80c1]) by VI1PR04MB6960.eurprd04.prod.outlook.com ([fe80::11d9:6f32:90e:80c1%7]) with mapi id 15.20.4669.016; Tue, 9 Nov 2021 04:39:38 +0000 From: Gagandeep Singh <g.singh@nxp.com> To: dev@dpdk.org Cc: nipun.gupta@nxp.com, thomas@monjalon.net, Gagandeep Singh <g.singh@nxp.com> Date: Tue, 9 Nov 2021 10:09:05 +0530 Message-Id: <20211109043910.4016824-1-g.singh@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211108090704.3585175-2-g.singh@nxp.com> References: <20211108090704.3585175-2-g.singh@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SI2P153CA0002.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::16) To VI1PR04MB6960.eurprd04.prod.outlook.com (2603:10a6:803:12d::10) MIME-Version: 1.0 Received: from lsv03457.swis.in-blr01.nxp.com (14.142.151.118) by SI2P153CA0002.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.5 via Frontend Transport; Tue, 9 Nov 2021 04:39:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c7c2c22c-7099-45a7-eac8-08d9a33af034 X-MS-TrafficTypeDiagnostic: VI1PR04MB5630: X-Microsoft-Antispam-PRVS: <VI1PR04MB5630DD05F2ED5B654E4AB3CDE1929@VI1PR04MB5630.eurprd04.prod.outlook.com> X-MS-Oob-TLC-OOBClassifiers: OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: B8TP9EBdO2fX7tEjAtJqNnJDg6HX4XbEM6UVmbPy24LBeYEXUsCp9pBECz1Dg22HMaehIgtsepBF+LbYOkUoygPShhJoE1HeQGQbHhbcvi/HNj8d+9SZrRMDIQdQQVAdUMBXHGOArm76u3wlBQh9Zpifqr1QC3DF7w6LtdJFneCNR38scZ6NWWUSQe3yJjqBXlOm9D7mWtM6Gu7XfiwXogUFLL4qquyApdWeGStWWtd8QFpndKIVqIy60RBauK1xK/6AYd4YBoYNM3MkQEfejYl8taniwkl4hZDVzFsBMzp6VDET3PaBDQrC46KPX2XxYP308JN9x2Er5BRPXijY8SbvCl2fKDIPbpNIt2tUcI2QpePbrsAg+UPGn7gWLtZFaQSCVpanTVoSHuxfiIZl7ctLYUddfRdPRmflKfEQO7bjmBPs7rIu6UUBUrKozO71+9PYDPAMnSjIQLj4WEucj3Prey2H0BkBFRYfKY6eyMiIr1p1iGqzQowTSXAEvhVgrgq0+hG68gCg1hqVZwSJqrgE1/HZQp0hKq+j4/q2PKI0K2jZf/UEZzBDNMu+6QLjLnDhMQ5mtWNOOPF1ZIEYZDYbMfJb6SWyye92GQgTIh0WNUwDZmcJNdV1Qck3U0vnlTUKbWIYtj60h4MveNNnM81/3HC/0o4yd4b9IfdzQdwGwt6RiG/gc8wzYNe00qnalysGc7XIFU56nht1XbCvFzzXZMxgyE9VM5uFv/HMuuo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB6960.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(55236004)(1006002)(6666004)(66946007)(26005)(52116002)(7696005)(186003)(316002)(508600001)(1076003)(66556008)(2616005)(5660300002)(66476007)(8936002)(86362001)(956004)(4326008)(6916009)(2906002)(38350700002)(8676002)(36756003)(6486002)(83380400001)(38100700002)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3+AOfE8+kYW0W2PaFriBQ6Tv+CavZ1/VOj56FH9RYbb9X5opiOANs5+pdQqsYGe4OMvtYLqEmRbu3KZSwOYZ6Ed8S06scluia+cUat6Eo0ffVWhkDk/gaDrxlH6rJJ2O3Xp3RcmsWhiDC1+iQXnVBDnFm7PtHBBiL8gIKnc6p8GpNg9yy66slA8Xr+yGXYOPwEHQXVRWrFk5MALsibQijgvzl4ixboDTVhq/koU9T3HTdY0myaCyCCsvF809AKSTAvNifkMN6LUbg1rDJZr1umTyaUSWaBDMQBwEmGbnpMKv5XflkyQ0dE5/sv28Rssbv/6WvhS/HLTwF84L37VfsZt0IllMUK0tQgsw8gNZyylhAncqguksJ8vvZjQGVIGxTda7XPc0sfabZVHWsB0ns4oAYeepHojfJEnW4a5bA5FfwHbLHGQYXBVVMf5qNNBWjeKFF6WKkMizIW9GA4Pv/E/CKPxrkaOirLMKfFDl/TqecEN3mpWErAhySQlx3fRRJ+x5giscATk4YeMgCbD4opK2Zi8bPJdyQLMHspQfAUHFZcuhpZQmQb94wb924Bkk9eR3sdUeW08HpczxHSVQ1UJ3nQ4qqX54XrleQZUCQMcN1Z79ArK8FIJSzilSnZicCtTIwgwjcMiUjIT/5oghxoUk8j9fLO9V0aBD2TqCH/sEwXc/WJ9v6eTZOpoVrIVLoGRM9IdG+3iCXokTZrmgy5D5hiR4KXXTnABcKZptTk4k6uxmXDUrSY5+BBlmjdNbD/jOerLVwJPl3aSKKISFedLBJJu8hAl7z1EDgk4RDTxa/oWPdFVjSs7fM300t+29q9AshjbMrzQxt+HCuzTTCZ8QpjoAAPxEAvCVLG2DuIyxnoF3e+M4wU/5eroZXPvfmCsyTg8U/NpVwxwyvbcJOvZnH4CxPPrVolSSo2fZ/FqL//IyuYzZOBMn6pITLhqoOKblElwf8ycIu8ghbxYGfpR4vxek+Oc8rV+x2N/DhldVNTdLq0GRaP/P3U9MjtUBVcZuGWXj7qggvQq1is0W5WCdL7l/nD0VsZkqHbYe4wKjzWXp276A9788cTIMZWD2C7f+e/kBSxtkAMHjpES3tHRjI3KoaJMPc7jc+vYWE1909RJ/ORe7IXaARUE5+72SU8QGn4yrwftouIrJrBLTb1CQGIzTjDFOkAIGBJXJE60BGVwSrmQ1iCZxkhfsOi1Xb+MFTm6JgxQWdaT2wvQr3buHm4k+68/T0ygjiu5n6bgitU5cxhADFtWRjICUIvh74jJb4nG6DybDjlGCcIJXnVjTeNrcPbzYIYn2qTDX6RXtzYspL73fQDq5XA5IlsI7yFQ0p0oXAwgh/meKO5vHXjGGJSuDe/X71SkAZ1OUArk8MjSy/a4/tgYAYoq+cknsNXW1oWdyrr/HQpPN9wPvH9Ig0RrXaegiou0lRKDxE9oUVXTF0fY/JavUxeGipIJlr8C3m6/2oruspu1sPb62mO9t03/S3E3PLdl8qVXNQAU7MN1oyFsVmVB5I51Uv4EMBjz1gvy9x8/BDAocCHDoUP1nf2XsOvXpgR4UCgbXVXQ= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7c2c22c-7099-45a7-eac8-08d9a33af034 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB6960.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2021 04:39:38.6461 (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: oznZPCR4HZwMGJDVbC17/RxFbeY960l1p9QyxAT+wsgSmIYg5RgosOQlMAphS4um X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5630 Subject: [dpdk-dev] [PATCH v4 0/5] Introduce DPAA DMA driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series | Introduce DPAA DMA driver | |
Message
Gagandeep Singh
Nov. 9, 2021, 4:39 a.m. UTC
This series support DMA driver for NXP 1046A and 1043A SoCs. v2-change-log: * series rebased with latest dma driver v3-change-log: * support statistics. * replaced local endianness conversion functions with rte_*. * improved submit API logic. * Handled all comments given by fengchengwen v4-change-log: * merged driver log patch with first patch. * merged document patch with all other patches. Gagandeep Singh (5): dma/dpaa: introduce DPAA DMA driver dma/dpaa: add device probe and remove functionality dma/dpaa: support basic operations dma/dpaa: support DMA operations dma/dpaa: support statistics MAINTAINERS | 11 + doc/guides/dmadevs/dpaa.rst | 66 ++ doc/guides/dmadevs/index.rst | 1 + doc/guides/rel_notes/release_21_11.rst | 3 + drivers/bus/dpaa/dpaa_bus.c | 22 + drivers/bus/dpaa/rte_dpaa_bus.h | 5 + drivers/common/dpaax/dpaa_list.h | 2 + drivers/dma/dpaa/dpaa_qdma.c | 1081 ++++++++++++++++++++++++ drivers/dma/dpaa/dpaa_qdma.h | 247 ++++++ drivers/dma/dpaa/dpaa_qdma_logs.h | 46 + drivers/dma/dpaa/meson.build | 14 + drivers/dma/dpaa/version.map | 4 + drivers/dma/meson.build | 3 +- 13 files changed, 1504 insertions(+), 1 deletion(-) create mode 100644 doc/guides/dmadevs/dpaa.rst create mode 100644 drivers/dma/dpaa/dpaa_qdma.c create mode 100644 drivers/dma/dpaa/dpaa_qdma.h create mode 100644 drivers/dma/dpaa/dpaa_qdma_logs.h create mode 100644 drivers/dma/dpaa/meson.build create mode 100644 drivers/dma/dpaa/version.map
Comments
09/11/2021 05:39, Gagandeep Singh: > Gagandeep Singh (5): > dma/dpaa: introduce DPAA DMA driver > dma/dpaa: add device probe and remove functionality > dma/dpaa: support basic operations > dma/dpaa: support DMA operations > dma/dpaa: support statistics Applied with multiple minor details fixed and dead code removed. Code changes are below: diff --git a/MAINTAINERS b/MAINTAINERS index 0f333b7baa..adee619d36 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1224,6 +1224,12 @@ M: Veerasenareddy Burru <vburru@marvell.com> F: drivers/dma/cnxk/ F: doc/guides/dmadevs/cnxk.rst +NXP DPAA DMA +M: Gagandeep Singh <g.singh@nxp.com> +M: Nipun Gupta <nipun.gupta@nxp.com> +F: drivers/dma/dpaa/ +F: doc/guides/dmadevs/dpaa.rst + RegEx Drivers ------------- @@ -1377,17 +1383,6 @@ F: drivers/raw/dpaa2_qdma/ F: doc/guides/rawdevs/dpaa2_qdma.rst - -Dmadev Drivers --------------- - -NXP DPAA DMA -M: Gagandeep Singh <g.singh@nxp.com> -M: Nipun Gupta <nipun.gupta@nxp.com> -F: drivers/dma/dpaa/ -F: doc/guides/dmadevs/dpaa.rst - - Packet processing ----------------- diff --git a/doc/guides/dmadevs/dpaa.rst b/doc/guides/dmadevs/dpaa.rst index 7d51c8c4cd..f99bfc6087 100644 --- a/doc/guides/dmadevs/dpaa.rst +++ b/doc/guides/dmadevs/dpaa.rst @@ -2,22 +2,24 @@ Copyright 2021 NXP NXP DPAA DMA Driver -===================== +=================== -The DPAA DMA is an implementation of the dmadev APIs, that provide means -to initiate a DMA transaction from CPU. The initiated DMA is performed -without CPU being involved in the actual DMA transaction. This is achieved -via using the QDMA controller of DPAA SoC. +The DPAA DMA is an implementation of the dmadev APIs, +that provide means to initiate a DMA transaction from CPU. +The initiated DMA is performed without CPU being involved +in the actual DMA transaction. +This is achieved via using the QDMA controller of DPAA SoC. -The QDMA controller transfers blocks of data between one source and one -destination. The blocks of data transferred can be represented in memory +The QDMA controller transfers blocks of data +between one source and one destination. +The blocks of data transferred can be represented in memory as contiguous or noncontiguous using scatter/gather table(s). More information can be found at `NXP Official Website <http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_. Supported DPAA SoCs --------------------- +------------------- - LS1046A - LS1043A @@ -35,7 +37,7 @@ See :doc:`../platform/dpaa` for setup information dual licensed (BSD & GPLv2), however they are used as BSD in DPDK in userspace. Compilation ------------- +----------- For builds using ``meson`` and ``ninja``, the driver will be built when the target platform is dpaa-based. No additional compilation steps are necessary. @@ -57,10 +59,10 @@ The DPAA DMA implements following features in the dmadev API: - Supports DMA silent mode. - Supports issuing DMA of data within memory without hogging CPU while performing DMA operation. -- support statistics +- Supports statistics. Platform Requirement -~~~~~~~~~~~~~~~~~~~~ +-------------------- -DPAA DMA driver for DPDK can only work on NXP SoCs as listed in the -``Supported DPAA SoCs``. +DPAA DMA driver for DPDK can only work on NXP SoCs +as listed in the `Supported DPAA SoCs`_. diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index ba6ad7bf16..7d60b554d8 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -20,9 +20,6 @@ DPDK Release 21.11 ninja -C build doc xdg-open build/doc/guides/html/rel_notes/release_21_11.html -* **Added NXP DPAA DMA driver.** - - * Added a new dmadev driver for NXP DPAA platform. New Features ------------ @@ -99,6 +96,10 @@ New Features Added dmadev driver for the DPI DMA hardware accelerator of Marvell OCTEONTX2 and OCTEONTX3 family of SoCs. +* **Added NXP DPAA DMA driver.** + + Added a new dmadev driver for NXP DPAA platform. + * **Added support to get all MAC addresses of a device.** Added ``rte_eth_macaddrs_get`` to allow user to retrieve all Ethernet diff --git a/drivers/dma/dpaa/dpaa_qdma.c b/drivers/dma/dpaa/dpaa_qdma.c index cb272c700f..9386fe5698 100644 --- a/drivers/dma/dpaa/dpaa_qdma.c +++ b/drivers/dma/dpaa/dpaa_qdma.c @@ -194,7 +194,7 @@ fsl_qdma_pre_request_enqueue_comp_sd_desc( struct fsl_qdma_format *csgf_desc; int i; - for (i = 0; i < (int)(queue->n_cq + COMMAND_QUEUE_OVERFLLOW); i++) { + for (i = 0; i < (int)(queue->n_cq + COMMAND_QUEUE_OVERFLOW); i++) { comp_temp = rte_zmalloc("qdma: comp temp", sizeof(*comp_temp), 0); if (!comp_temp) diff --git a/drivers/dma/dpaa/dpaa_qdma.h b/drivers/dma/dpaa/dpaa_qdma.h index bf49b2d5d9..7e9e76e21a 100644 --- a/drivers/dma/dpaa/dpaa_qdma.h +++ b/drivers/dma/dpaa/dpaa_qdma.h @@ -22,7 +22,6 @@ #define FSL_QDMA_DMR 0x0 #define FSL_QDMA_DSR 0x4 -#define FSL_QDMA_DEIER 0xe00 #define FSL_QDMA_DEDR 0xe04 #define FSL_QDMA_DECFDW0R 0xe10 #define FSL_QDMA_DECFDW1R 0xe14 @@ -47,47 +46,25 @@ #define FSL_QDMA_BSQMR 0x800 #define FSL_QDMA_BSQSR 0x804 #define FSL_QDMA_BSQICR 0x828 -#define FSL_QDMA_CQMR 0xa00 -#define FSL_QDMA_CQDSCR1 0xa08 -#define FSL_QDMA_CQDSCR2 0xa0c #define FSL_QDMA_CQIER 0xa10 -#define FSL_QDMA_CQEDR 0xa14 #define FSL_QDMA_SQCCMR 0xa20 -#define FSL_QDMA_SQICR_ICEN - -#define FSL_QDMA_CQIDR_CQT 0xff000000 -#define FSL_QDMA_CQIDR_SQPE 0x800000 -#define FSL_QDMA_CQIDR_SQT 0x8000 - -#define FSL_QDMA_BCQIER_CQTIE 0x8000 -#define FSL_QDMA_BCQIER_CQPEIE 0x800000 -#define FSL_QDMA_BSQICR_ICEN 0x80000000 -#define FSL_QDMA_BSQICR_ICST(x) ((x) << 16) -#define FSL_QDMA_CQIER_MEIE 0x80000000 -#define FSL_QDMA_CQIER_TEIE 0x1 #define FSL_QDMA_SQCCMR_ENTER_WM 0x200000 #define FSL_QDMA_QUEUE_MAX 8 #define FSL_QDMA_BCQMR_EN 0x80000000 -#define FSL_QDMA_BCQMR_EI 0x40000000 -#define FSL_QDMA_BCQMR_EI_BE 0x40 +#define FSL_QDMA_BCQMR_EI_BE 0x40 #define FSL_QDMA_BCQMR_CD_THLD(x) ((x) << 20) #define FSL_QDMA_BCQMR_CQ_SIZE(x) ((x) << 16) -#define FSL_QDMA_BCQSR_QF 0x10000 -#define FSL_QDMA_BCQSR_XOFF 0x1 -#define FSL_QDMA_BCQSR_QF_XOFF_BE 0x1000100 +#define FSL_QDMA_BCQSR_QF_XOFF_BE 0x1000100 #define FSL_QDMA_BSQMR_EN 0x80000000 -#define FSL_QDMA_BSQMR_DI 0x40000000 #define FSL_QDMA_BSQMR_DI_BE 0x40 #define FSL_QDMA_BSQMR_CQ_SIZE(x) ((x) << 16) -#define FSL_QDMA_BSQSR_QE 0x20000 #define FSL_QDMA_BSQSR_QE_BE 0x200 -#define FSL_QDMA_BSQSR_QF 0x10000 #define FSL_QDMA_DMR_DQD 0x40000000 #define FSL_QDMA_DSR_DB 0x80000000 @@ -99,13 +76,9 @@ #define FSL_QDMA_QUEUE_NUM_MAX 8 #define FSL_QDMA_CMD_RWTTYPE 0x4 -#define FSL_QDMA_CMD_LWC 0x2 +#define FSL_QDMA_CMD_LWC 0x2 #define FSL_QDMA_CMD_RWTTYPE_OFFSET 28 -#define FSL_QDMA_CMD_NS_OFFSET 27 -#define FSL_QDMA_CMD_DQOS_OFFSET 24 -#define FSL_QDMA_CMD_WTHROTL_OFFSET 20 -#define FSL_QDMA_CMD_DSEN_OFFSET 19 #define FSL_QDMA_CMD_LWC_OFFSET 16 #define QDMA_CCDF_STATUS 20 @@ -115,23 +88,21 @@ #define QDMA_CCDF_SER BIT(30) #define QDMA_SG_FIN BIT(30) -#define QDMA_SG_EXT BIT(31) #define QDMA_SG_LEN_MASK GENMASK(29, 0) -#define QDMA_BIG_ENDIAN 1 -#define COMP_TIMEOUT 100000 -#define COMMAND_QUEUE_OVERFLLOW 10 +#define COMMAND_QUEUE_OVERFLOW 10 /* qdma engine attribute */ -#define QDMA_QUEUE_SIZE 64 -#define QDMA_STATUS_SIZE 64 -#define QDMA_CCSR_BASE 0x8380000 -#define VIRT_CHANNELS 32 -#define QDMA_BLOCK_OFFSET 0x10000 -#define QDMA_BLOCKS 4 -#define QDMA_QUEUES 8 -#define QDMA_DELAY 1000 +#define QDMA_QUEUE_SIZE 64 +#define QDMA_STATUS_SIZE 64 +#define QDMA_CCSR_BASE 0x8380000 +#define VIRT_CHANNELS 32 +#define QDMA_BLOCK_OFFSET 0x10000 +#define QDMA_BLOCKS 4 +#define QDMA_QUEUES 8 +#define QDMA_DELAY 1000 +#define QDMA_BIG_ENDIAN 1 #ifdef QDMA_BIG_ENDIAN #define QDMA_IN(addr) be32_to_cpu(rte_read32(addr)) #define QDMA_OUT(addr, val) rte_write32(be32_to_cpu(val), addr) @@ -180,14 +151,6 @@ struct fsl_qdma_ddf { __le32 cmd; }; -enum dma_status { - DMA_COMPLETE, - DMA_IN_PROGRESS, - DMA_IN_PREPAR, - DMA_PAUSED, - DMA_ERROR, -}; - struct fsl_qdma_chan { struct fsl_qdma_engine *qdma; struct fsl_qdma_queue *queue; @@ -195,16 +158,12 @@ struct fsl_qdma_chan { struct list_head list; }; -struct fsl_qdma_list { - struct list_head dma_list; -}; - struct fsl_qdma_queue { struct fsl_qdma_format *virt_head; struct list_head comp_used; struct list_head comp_free; dma_addr_t bus_addr; - u32 n_cq; + u32 n_cq; u32 id; u32 count; u32 pending; @@ -214,8 +173,8 @@ struct fsl_qdma_queue { }; struct fsl_qdma_comp { - dma_addr_t bus_addr; - dma_addr_t desc_bus_addr; + dma_addr_t bus_addr; + dma_addr_t desc_bus_addr; void *virt_addr; int index; void *desc_virt_addr; diff --git a/drivers/dma/dpaa/dpaa_qdma_logs.h b/drivers/dma/dpaa/dpaa_qdma_logs.h index 01d4a508fc..762598f8f7 100644 --- a/drivers/dma/dpaa/dpaa_qdma_logs.h +++ b/drivers/dma/dpaa/dpaa_qdma_logs.h @@ -5,10 +5,6 @@ #ifndef __DPAA_QDMA_LOGS_H__ #define __DPAA_QDMA_LOGS_H__ -#ifdef __cplusplus -extern "C" { -#endif - extern int dpaa_qdma_logtype; #define DPAA_QDMA_LOG(level, fmt, args...) \ @@ -39,8 +35,4 @@ extern int dpaa_qdma_logtype; #define DPAA_QDMA_DP_WARN(fmt, args...) \ DPAA_QDMA_DP_LOG(WARNING, fmt, ## args) -#ifdef __cplusplus -} -#endif - #endif /* __DPAA_QDMA_LOGS_H__ */ diff --git a/drivers/dma/dpaa/meson.build b/drivers/dma/dpaa/meson.build index 9ab0862ede..c31a6d91fe 100644 --- a/drivers/dma/dpaa/meson.build +++ b/drivers/dma/dpaa/meson.build @@ -2,13 +2,13 @@ # Copyright 2021 NXP if not is_linux - build = false - reason = 'only supported on linux' + build = false + reason = 'only supported on linux' endif deps += ['dmadev', 'bus_dpaa'] sources = files('dpaa_qdma.c') if cc.has_argument('-Wno-pointer-arith') - cflags += '-Wno-pointer-arith' + cflags += '-Wno-pointer-arith' endif diff --git a/drivers/dma/dpaa/version.map b/drivers/dma/dpaa/version.map index 7bab7bea48..c2e0723b4c 100644 --- a/drivers/dma/dpaa/version.map +++ b/drivers/dma/dpaa/version.map @@ -1,4 +1,3 @@ DPDK_22 { - local: *; }; diff --git a/drivers/dma/meson.build b/drivers/dma/meson.build index 7cdd6cd28f..8bbc48cbde 100644 --- a/drivers/dma/meson.build +++ b/drivers/dma/meson.build @@ -3,7 +3,7 @@ drivers = [ 'cnxk', - 'dpaa', + 'dpaa', 'hisilicon', 'idxd', 'ioat',