From patchwork Mon Sep 26 08:40:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gagandeep Singh X-Patchwork-Id: 116859 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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 7B154A00C2; Mon, 26 Sep 2022 10:41:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 37E30400D7; Mon, 26 Sep 2022 10:41:05 +0200 (CEST) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2070.outbound.protection.outlook.com [40.107.249.70]) by mails.dpdk.org (Postfix) with ESMTP id 1C40A400D5 for ; Mon, 26 Sep 2022 10:41:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MYt4xAAIgESvZeJ2/66+jq7IkA637jzb7ftLwH206fBkwbmb06PJ45m2QogMBIt3TJ8HsT02mv+5v7IFJveQ7vjT+/S+UzXtBPmuyZ2OLaMVtYmdDVxK+yEPMvBMVz6vU/bkvh+fcJ0WJNDun5eioEIkbtNDrnMfAAnkE1h6ko0lv9ScKurgnDbTvx4y4kTeekLMiSZ9wQRf6ggZCFEgj5oVRbyaDzXiOyoXlBU/TPZ1jCqtrlNw7jzIG+E9Fr0Jb1RWNVgf4yJ42aaWoMz4v8305kNeCHSBKHzLe8+6Mx1lYMFli/iwdNmp3SPclI7Ffdu+wtV6ArTYlVmUzOteeg== 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=p1iaec6mUuG0/imXLLGn0hIYrbGPl/MTOOTGfdqD+vI=; b=SQ6JIc/BUnCRVGha4svN+rQ2SQJCov4/hybXDP93+c1x2JcMvcipaFy+JT3AqIpuoz9wvBR1VS4nA2E/jm9L+jf4mVGXoihnCY3tgZ1I+tXkRtCqG+oWErT3rEcPy3lA3iZadDBJRcHw7MlzoSh3R9VdLbKlQualtsy2y5SGW6lIMZwUCb92cwJTbiHEE6px2L19vMIMBt6bsQa88wg4bWT4nW2WjhftkA9k1irYVGol+JajXMLoRwTDLbRhVELNrx9l/ikT3zTEChEzusrWwXGTQbbndBeRhMO7TFOpNwo16uXDt8U5Lzfq2JBhIJJsKFDQECIZrzqMsxDTml3Gqw== 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=p1iaec6mUuG0/imXLLGn0hIYrbGPl/MTOOTGfdqD+vI=; b=lY2HoP3vLUQ4YxDpVVTwVqpfSEs4xTBJjMbeuEvY7Qrhl+AbAI8yPjDCaDsIMLte2/Ze2ArZraBIQGQ7cmADzHHLXrys4K85wJd13CdwNZt+F8Vx4B3ytrfggdrH2R9AoT430R/7ukQPzNVndTgldM8nHIEccRL103j3Jm3xrMQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) by PAXPR04MB8096.eurprd04.prod.outlook.com (2603:10a6:102:1c7::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Mon, 26 Sep 2022 08:41:02 +0000 Received: from AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::14d0:4458:d6ec:b8b1]) by AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::14d0:4458:d6ec:b8b1%5]) with mapi id 15.20.5654.025; Mon, 26 Sep 2022 08:41:02 +0000 From: Gagandeep Singh To: thomas@monjalon.net, dev@dpdk.org, hemant.agrawal@nxp.com Cc: Gagandeep Singh Subject: [PATCH] raw/dpaa2_cmdif: remove driver Date: Mon, 26 Sep 2022 14:10:45 +0530 Message-Id: <20220926084045.2290498-1-g.singh@nxp.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SI1PR02CA0025.apcprd02.prod.outlook.com (2603:1096:4:1f4::13) To AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8198:EE_|PAXPR04MB8096:EE_ X-MS-Office365-Filtering-Correlation-Id: d5bac6c7-0968-4fc3-64a1-08da9f9ad778 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uzZRFcoTXq2qbj2LJ/GxNXP8BefZ4dWzZhTpK/8m6iaHPY5iIXMJ4e4v+WOfi0+spbMBYI8JDhENoFG14XuMP76ObOKbnoqmYxjJtwN9Maj26ehE1dz5gZ51YhBC52wU5DZWeyrCbZ87Epq/c2vu5OtrHq50+/y7U9ZaDiLYOq4vUPeXu9+IBWPrZ/z7x12mRbdfXtz34Jrr3Up1vsvrnWc0LaLxc94Gq/sGDUyeh1qKSq0ZYbDrI4o8Imfg8igGdW9X93gBIgRlpue1a76ERZSU7w/pP+SkaeLoWQJBjCiGyY4/QkLAwe4ItaLduurNyHRfdoktWsbXPd3+gdqgHn0La1QkO2ISxtUTwc1D4HBcMT6jU7pfvO6r/UQKb54TNOYAhF7uJcqz40FD9tuHrdCSas7cPyaQdqKbm1ZF1Za8CeDNCfXrVOvSSaQiUQeNuYha6a85Rz6NefrIxtRjykAruw8ZrINJLtSUCoZw7OjjHSpVl5B+uJORB9e1n/T1vjO4wPvNZoM1DQgU26xdhwphTl0OYxLSK82GbMyT9VVDXQoNnFMYa5mpTR8o3wbOLY/PMKI3+l3lxoEp/PvaFgKIh2w8WaLipQNS+0DvEDMn1wXqY2lsqZZq14BSagVtGn+EhnPfPiSTAn9NCdLXMuqyllrCVAsNBRgNNZO6qMysP1NGbNHvHE+phFwPNZLc73QxWsAeZlJDcUr/k1zXa/u5b0/JYlHQPuaiU3WVLeJeu66oMYgYmuCqR0nASvxwxwRhvfmNueG53WXj5ahmYqbIcinBBq6c69chBVfwhAw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB8198.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199015)(83380400001)(36756003)(38350700002)(38100700002)(66556008)(66476007)(8676002)(66946007)(4326008)(8936002)(30864003)(2906002)(5660300002)(52116002)(41300700001)(86362001)(6666004)(6506007)(6486002)(26005)(2616005)(1076003)(186003)(6512007)(478600001)(316002)(6636002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UyIEGHtbONf0i6ENRXXuMFWLwPW5NSNO0KdMGJFaHuZ//Sk1J5t3V03EIrvNaMo3sJg07+aDtNZSEB35q7YxllQY1WiH4zOnAIZgUv0ZGJWR239XzfeFVIFMlGFkdWOVz2Q//w9H1vZsuqjpeU8sc7XEY9RQCTvUnGtv7xmyC+qdKCWyBQ+j+ZqnazQlI5/GMTsZZfKyOYNpRQYi8xJfi9eQsjvwl4c8R2+9NAS2wGGisRKm9AAONTBvWRgcxbIlKXGp5wnESWaTjeOjpINL48MDHima6s1rujsdFlCeagWuK8FbFt4s7o4HtCZs0KTPWtOnC/q8j+McGlLsGepHk32Wu8iJ9BIf1d01O1Mdgd8PWSsoPyHH+VG6MRgbsPD2xDBnGtlM/xXfDagRZvdkiINyJHcTcAIjHuwvNkAioFESHW5IPRTEk/yI3sctmrgoeUPeZFFHtVZXc3fNxjOmvFdI4ldurT8E8F42Bd0Jmzx8bzZoTO98ikeJfLQ+XRAr1agDltI7kHSD2mS6QMV4L7NfkRQJJmtmxumwfR2b0r7iqwdmqleQoWj5uoAKlC6pfcuLgqaHMtYtrnyE/0K0xpJnMIuzDcpeTxD3H+edunaSc/EbOYk51oGQ0N0Xb5SKTR6GCQs3yMn8pG84unODzrusNrd+Qr2apxjwMvIyoiOuFBP3W/jYJ2PD3V0fA2eMNeWKhBqVjmUbWdB/SUfWAGsc14jqZkpnjSxgcn2WFJIAWE/OzCDHREpSsSbeMeJbR7vHKVGfOYjSczP4pVfvAuQPmUYLnlRWV67JeQ3zXNSA18TGPDfoWZmUSkOq9pzoESZHunqb/Af2dKDgf1VSy1fGjg2tiZ8J2ilQlbMnZf9V4PnWzOw9jic1B/i823hdkP1YiUUoHPWLFH4nMEPUvI5XUrjoccYYcexJCS2h0WOyElsILR4EuV9d6ZvgR78TgvgTj8WtOYh7SzumRFencfstx5tuMxaapuXOPL6FD6eFNxhfxFjkKbM8hhIHe+lWFI/CQnbxqlXK+sCHlD205gezGSC1BHD7hescyKXE3HDj3KZihNKbq8ZVYfHCcxbGSYUxHUN7V0E+JIigSD8zzCm+dvAnrcDXuXS5/+oHLf1USHq76ii05FxPElJVKqn1UqrwaXvlzYHeNXLz8Ma9Lg+8iXphXG3OszbCzLdI5PqLFLh/KktgEVUJkyaIBDR804oOIZqL72Ao7SiWZbnMs4QAOU2/TZitCzvYwvbqhs8c5yTk81n8v4NtfcW2IVAs2MVPbYZkMdaP1PPcV5OD1PvDxR0c7fqCVVabYTJAYNkfdeZNRhw46oFCi5RxqijOd81QW0d3Jl9R96VzPEmOa7DJmRbMU5xtSDo6cvkPMV2BVOwpGDdXqKdi0nQT82G62pydZWB6siiSNy0ToOA4VurXFqs/W/u0dQl7ImkaGu5hecljZGXiB7yKdpcxVdDJvqA2ljdHb/GGeyf6INBo8GPMa5D0lRwxbV2t+Q0nrIrhkWelPTNMOJhfvSTHpOK1logEDUDaL+qs6Bign8+YgEGCFHoUsPCJRbflC4c70yLItkIRSlgzMNo/fG3VaRYF X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5bac6c7-0968-4fc3-64a1-08da9f9ad778 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8198.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2022 08:41:02.0117 (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: 0yjofQSAAd8SQZIlXuj9xJRwOAXTgheh2DEvoISFAGKq2BxF9YLcEu4d6QWC6t1m X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8096 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org dpaa2_cmdif raw driver is no longer in use and has no known activer user. So this patch removes dpaa2_cmdif raw driver. Signed-off-by: Gagandeep Singh --- MAINTAINERS | 5 - doc/api/doxy-api-index.md | 1 - doc/api/doxy-api.conf.in | 1 - doc/guides/platform/dpaa2.rst | 6 +- doc/guides/rawdevs/dpaa2_cmdif.rst | 77 ----- doc/guides/rawdevs/index.rst | 1 - doc/guides/rel_notes/deprecation.rst | 3 - drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c | 291 ------------------ drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h | 46 --- drivers/raw/dpaa2_cmdif/meson.build | 7 - drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h | 35 --- drivers/raw/dpaa2_cmdif/version.map | 3 - drivers/raw/meson.build | 1 - 13 files changed, 1 insertion(+), 476 deletions(-) delete mode 100644 doc/guides/rawdevs/dpaa2_cmdif.rst delete mode 100644 drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c delete mode 100644 drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h delete mode 100644 drivers/raw/dpaa2_cmdif/meson.build delete mode 100644 drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h delete mode 100644 drivers/raw/dpaa2_cmdif/version.map diff --git a/MAINTAINERS b/MAINTAINERS index 08e575faac..5180adbefd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1401,11 +1401,6 @@ F: doc/guides/rawdevs/ntb.rst F: examples/ntb/ F: doc/guides/sample_app_ug/ntb.rst -NXP DPAA2 CMDIF -M: Gagandeep Singh -F: drivers/raw/dpaa2_cmdif/ -F: doc/guides/rawdevs/dpaa2_cmdif.rst - Packet processing ----------------- diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md index 186a258be4..1984761498 100644 --- a/doc/api/doxy-api-index.md +++ b/doc/api/doxy-api-index.md @@ -53,7 +53,6 @@ The public API headers are grouped by topics: [dpaa2](@ref rte_pmd_dpaa2.h), [mlx5](@ref rte_pmd_mlx5.h), [dpaa2_mempool](@ref rte_dpaa2_mempool.h), - [dpaa2_cmdif](@ref rte_pmd_dpaa2_cmdif.h), [dpaa2_qdma](@ref rte_pmd_dpaa2_qdma.h), [crypto_scheduler](@ref rte_cryptodev_scheduler.h), [dlb2](@ref rte_pmd_dlb2.h), diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in index 608494a7c0..c4a39a02cb 100644 --- a/doc/api/doxy-api.conf.in +++ b/doc/api/doxy-api.conf.in @@ -22,7 +22,6 @@ INPUT = @TOPDIR@/doc/api/doxy-api-index.md \ @TOPDIR@/drivers/net/ixgbe \ @TOPDIR@/drivers/net/mlx5 \ @TOPDIR@/drivers/net/softnic \ - @TOPDIR@/drivers/raw/dpaa2_cmdif \ @TOPDIR@/drivers/raw/ifpga \ @TOPDIR@/drivers/raw/ioat \ @TOPDIR@/lib/eal/include \ diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst index a9fcad6ca2..28cb1be690 100644 --- a/doc/guides/platform/dpaa2.rst +++ b/doc/guides/platform/dpaa2.rst @@ -36,11 +36,7 @@ Common Offload HW Block Drivers See :doc:`../eventdevs/dpaa2` for NXP dpaa2 eventdev driver information. -4. **Rawdev AIOP CMDIF Driver** - - See :doc:`../rawdevs/dpaa2_cmdif` for NXP dpaa2 AIOP command interface driver information. - -5. **DMA Driver** +4. **DMA Driver** See :doc:`../dmadevs/dpaa2` for NXP dpaa2 QDMA driver information. diff --git a/doc/guides/rawdevs/dpaa2_cmdif.rst b/doc/guides/rawdevs/dpaa2_cmdif.rst deleted file mode 100644 index 4eed661c8e..0000000000 --- a/doc/guides/rawdevs/dpaa2_cmdif.rst +++ /dev/null @@ -1,77 +0,0 @@ -.. SPDX-License-Identifier: BSD-3-Clause - Copyright 2018 NXP - -NXP DPAA2 CMDIF Driver -====================== - -The DPAA2 CMDIF is an implementation of the rawdev API, that provides -communication between the GPP and AIOP (Firmware). This is achieved -via using the DPCI devices exposed by MC for GPP <--> AIOP interaction. - -More information can be found at `NXP Official Website -`_. - -Features --------- - -The DPAA2 CMDIF implements following features in the rawdev API; - -- Getting the object ID of the device (DPCI) using attributes -- I/O to and from the AIOP device using DPCI - -Supported DPAA2 SoCs --------------------- - -- LS2084A/LS2044A -- LS2088A/LS2048A -- LS1088A/LS1048A - -Prerequisites -------------- - -See :doc:`../platform/dpaa2` for setup information - -- Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. - -.. note:: - - Some part of fslmc bus code (mc flib - object library) routines are - dual licensed (BSD & GPLv2). - - -Enabling logs -------------- - -For enabling logs, use the following EAL parameter: - -.. code-block:: console - - ./your_cmdif_application --log-level=pmd.raw.dpaa2.cmdif, - -Using ``pmd.raw.dpaa2.cmdif`` as log matching criteria, all Event PMD logs can be -enabled which are lower than logging ``level``. - - -Initialization --------------- - -The DPAA2 CMDIF is exposed as a vdev device which consists of dpci devices. -On EAL initialization, dpci devices will be probed and then vdev device -can be created from the application code by - -* Invoking ``rte_vdev_init("dpaa2_dpci")`` from the application - -* Using ``--vdev="dpaa2_dpci"`` in the EAL options, which will call - rte_vdev_init() internally - -Example: - -.. code-block:: console - - ./your_cmdif_application --vdev="dpaa2_dpci" - -Platform Requirement -~~~~~~~~~~~~~~~~~~~~ - -DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the -``Supported DPAA2 SoCs``. diff --git a/doc/guides/rawdevs/index.rst b/doc/guides/rawdevs/index.rst index cf69633064..5e5421028c 100644 --- a/doc/guides/rawdevs/index.rst +++ b/doc/guides/rawdevs/index.rst @@ -13,7 +13,6 @@ application through rawdev API. cnxk_bphy cnxk_gpio - dpaa2_cmdif ifpga ioat ntb diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 985ef89877..bf98bf1c09 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -207,9 +207,6 @@ Deprecation Notices Names for the telemetry commands will be similarly limited. The parameters for telemetry commands are unaffected by this change. -* raw/dpaa2_cmdif: The ``dpaa2_cmdif`` rawdev driver will be deprecated - in DPDK 22.11, as it is no longer in use, no active user known. - * raw/ioat: The ``ioat`` rawdev driver has been deprecated, since it's functionality is provided through the new ``dmadev`` infrastructure. To continue to use hardware previously supported by the ``ioat`` rawdev driver, diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c deleted file mode 100644 index aeee4ac289..0000000000 --- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c +++ /dev/null @@ -1,291 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018-2019 NXP - */ - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include "dpaa2_cmdif_logs.h" -#include "rte_pmd_dpaa2_cmdif.h" - -/* CMDIF driver name */ -#define DPAA2_CMDIF_PMD_NAME dpaa2_dpci - -/* - * This API provides the DPCI device ID in 'attr_value'. - * The device ID shall be passed by GPP to the AIOP using CMDIF commands. - */ -static int -dpaa2_cmdif_get_attr(struct rte_rawdev *dev, - const char *attr_name, - uint64_t *attr_value) -{ - struct dpaa2_dpci_dev *cidev = dev->dev_private; - - DPAA2_CMDIF_FUNC_TRACE(); - - RTE_SET_USED(attr_name); - - if (!attr_value) { - DPAA2_CMDIF_ERR("Invalid arguments for getting attributes"); - return -EINVAL; - } - *attr_value = cidev->dpci_id; - - return 0; -} - -static int -dpaa2_cmdif_enqueue_bufs(struct rte_rawdev *dev, - struct rte_rawdev_buf **buffers, - unsigned int count, - rte_rawdev_obj_t context) -{ - struct dpaa2_dpci_dev *cidev = dev->dev_private; - struct rte_dpaa2_cmdif_context *cmdif_send_cnxt; - struct dpaa2_queue *txq; - struct qbman_fd fd; - struct qbman_eq_desc eqdesc; - struct qbman_swp *swp; - uint32_t retry_count = 0; - int ret; - - RTE_SET_USED(count); - - if (unlikely(!DPAA2_PER_LCORE_DPIO)) { - ret = dpaa2_affine_qbman_swp(); - if (ret) { - DPAA2_CMDIF_ERR( - "Failed to allocate IO portal, tid: %d\n", - rte_gettid()); - return 0; - } - } - swp = DPAA2_PER_LCORE_PORTAL; - - cmdif_send_cnxt = (struct rte_dpaa2_cmdif_context *)(context); - txq = &(cidev->tx_queue[cmdif_send_cnxt->priority]); - - /* Prepare enqueue descriptor */ - qbman_eq_desc_clear(&eqdesc); - qbman_eq_desc_set_fq(&eqdesc, txq->fqid); - qbman_eq_desc_set_no_orp(&eqdesc, 0); - qbman_eq_desc_set_response(&eqdesc, 0, 0); - - /* Set some of the FD parameters to i. - * For performance reasons do not memset - */ - fd.simple.bpid_offset = 0; - fd.simple.ctrl = 0; - - DPAA2_SET_FD_ADDR(&fd, DPAA2_VADDR_TO_IOVA(buffers[0]->buf_addr)); - DPAA2_SET_FD_LEN(&fd, cmdif_send_cnxt->size); - DPAA2_SET_FD_FRC(&fd, cmdif_send_cnxt->frc); - DPAA2_SET_FD_FLC(&fd, cmdif_send_cnxt->flc); - - /* Enqueue a packet to the QBMAN */ - do { - ret = qbman_swp_enqueue_multiple(swp, &eqdesc, &fd, NULL, 1); - if (ret < 0 && ret != -EBUSY) - DPAA2_CMDIF_ERR("Transmit failure with err: %d\n", ret); - retry_count++; - } while ((ret == -EBUSY) && (retry_count < DPAA2_MAX_TX_RETRY_COUNT)); - - if (ret < 0) - return ret; - - DPAA2_CMDIF_DP_DEBUG("Successfully transmitted a packet\n"); - - return 1; -} - -static int -dpaa2_cmdif_dequeue_bufs(struct rte_rawdev *dev, - struct rte_rawdev_buf **buffers, - unsigned int count, - rte_rawdev_obj_t context) -{ - struct dpaa2_dpci_dev *cidev = dev->dev_private; - struct rte_dpaa2_cmdif_context *cmdif_rcv_cnxt; - struct dpaa2_queue *rxq; - struct qbman_swp *swp; - struct qbman_result *dq_storage; - const struct qbman_fd *fd; - struct qbman_pull_desc pulldesc; - uint8_t status; - int ret; - - RTE_SET_USED(count); - - if (unlikely(!DPAA2_PER_LCORE_DPIO)) { - ret = dpaa2_affine_qbman_swp(); - if (ret) { - DPAA2_CMDIF_ERR( - "Failed to allocate IO portal, tid: %d\n", - rte_gettid()); - return 0; - } - } - swp = DPAA2_PER_LCORE_PORTAL; - - cmdif_rcv_cnxt = (struct rte_dpaa2_cmdif_context *)(context); - rxq = &(cidev->rx_queue[cmdif_rcv_cnxt->priority]); - dq_storage = rxq->q_storage->dq_storage[0]; - - qbman_pull_desc_clear(&pulldesc); - qbman_pull_desc_set_fq(&pulldesc, rxq->fqid); - qbman_pull_desc_set_numframes(&pulldesc, 1); - qbman_pull_desc_set_storage(&pulldesc, dq_storage, - (uint64_t)(DPAA2_VADDR_TO_IOVA(dq_storage)), 1); - - while (1) { - if (qbman_swp_pull(swp, &pulldesc)) { - DPAA2_CMDIF_DP_WARN("VDQ cmd not issued. QBMAN is busy\n"); - /* Portal was busy, try again */ - continue; - } - break; - } - - /* Check if previous issued command is completed. */ - while (!qbman_check_command_complete(dq_storage)) - ; - /* Loop until the dq_storage is updated with new token by QBMAN */ - while (!qbman_result_has_new_result(swp, dq_storage)) - ; - - /* Check for valid frame. */ - status = (uint8_t)qbman_result_DQ_flags(dq_storage); - if (unlikely((status & QBMAN_DQ_STAT_VALIDFRAME) == 0)) { - DPAA2_CMDIF_DP_DEBUG("No frame is delivered\n"); - return 0; - } - - fd = qbman_result_DQ_fd(dq_storage); - - buffers[0]->buf_addr = (void *)DPAA2_IOVA_TO_VADDR( - DPAA2_GET_FD_ADDR(fd) + DPAA2_GET_FD_OFFSET(fd)); - cmdif_rcv_cnxt->size = DPAA2_GET_FD_LEN(fd); - cmdif_rcv_cnxt->flc = DPAA2_GET_FD_FLC(fd); - cmdif_rcv_cnxt->frc = DPAA2_GET_FD_FRC(fd); - - DPAA2_CMDIF_DP_DEBUG("packet received\n"); - - return 1; -} - -static const struct rte_rawdev_ops dpaa2_cmdif_ops = { - .attr_get = dpaa2_cmdif_get_attr, - .enqueue_bufs = dpaa2_cmdif_enqueue_bufs, - .dequeue_bufs = dpaa2_cmdif_dequeue_bufs, -}; - -static int -dpaa2_cmdif_create(const char *name, - struct rte_vdev_device *vdev, - int socket_id) -{ - struct rte_rawdev *rawdev; - struct dpaa2_dpci_dev *cidev; - - /* Allocate device structure */ - rawdev = rte_rawdev_pmd_allocate(name, sizeof(struct dpaa2_dpci_dev), - socket_id); - if (!rawdev) { - DPAA2_CMDIF_ERR("Unable to allocate rawdevice"); - return -EINVAL; - } - - rawdev->dev_ops = &dpaa2_cmdif_ops; - rawdev->device = &vdev->device; - - /* For secondary processes, the primary has done all the work */ - if (rte_eal_process_type() != RTE_PROC_PRIMARY) - return 0; - - cidev = rte_dpaa2_alloc_dpci_dev(); - if (!cidev) { - DPAA2_CMDIF_ERR("Unable to allocate CI device"); - rte_rawdev_pmd_release(rawdev); - return -ENODEV; - } - - rawdev->dev_private = cidev; - - return 0; -} - -static int -dpaa2_cmdif_destroy(const char *name) -{ - int ret; - struct rte_rawdev *rdev; - - rdev = rte_rawdev_pmd_get_named_dev(name); - if (!rdev) { - DPAA2_CMDIF_ERR("Invalid device name (%s)", name); - return -EINVAL; - } - - /* The primary process will only free the DPCI device */ - if (rte_eal_process_type() == RTE_PROC_PRIMARY) - rte_dpaa2_free_dpci_dev(rdev->dev_private); - - ret = rte_rawdev_pmd_release(rdev); - if (ret) - DPAA2_CMDIF_DEBUG("Device cleanup failed"); - - return 0; -} - -static int -dpaa2_cmdif_probe(struct rte_vdev_device *vdev) -{ - const char *name; - int ret = 0; - - name = rte_vdev_device_name(vdev); - - DPAA2_CMDIF_INFO("Init %s on NUMA node %d", name, rte_socket_id()); - - ret = dpaa2_cmdif_create(name, vdev, rte_socket_id()); - - return ret; -} - -static int -dpaa2_cmdif_remove(struct rte_vdev_device *vdev) -{ - const char *name; - int ret; - - name = rte_vdev_device_name(vdev); - if (name == NULL) - return -1; - - DPAA2_CMDIF_INFO("Closing %s on NUMA node %d", name, rte_socket_id()); - - ret = dpaa2_cmdif_destroy(name); - - return ret; -} - -static struct rte_vdev_driver dpaa2_cmdif_drv = { - .probe = dpaa2_cmdif_probe, - .remove = dpaa2_cmdif_remove -}; - -RTE_PMD_REGISTER_VDEV(DPAA2_CMDIF_PMD_NAME, dpaa2_cmdif_drv); -RTE_LOG_REGISTER(dpaa2_cmdif_logtype, pmd.raw.dpaa2.cmdif, INFO); diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h deleted file mode 100644 index 8991e8327d..0000000000 --- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h +++ /dev/null @@ -1,46 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018 NXP - */ - -#ifndef __DPAA2_CMDIF_LOGS_H__ -#define __DPAA2_CMDIF_LOGS_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -extern int dpaa2_cmdif_logtype; - -#define DPAA2_CMDIF_LOG(level, fmt, args...) \ - rte_log(RTE_LOG_ ## level, dpaa2_cmdif_logtype, "dpaa2_cmdif: " \ - fmt "\n", ## args) - -#define DPAA2_CMDIF_DEBUG(fmt, args...) \ - rte_log(RTE_LOG_DEBUG, dpaa2_cmdif_logtype, "dpaa2_cmdif: %s(): " \ - fmt "\n", __func__, ## args) - -#define DPAA2_CMDIF_FUNC_TRACE() DPAA2_CMDIF_DEBUG(">>") - -#define DPAA2_CMDIF_INFO(fmt, args...) \ - DPAA2_CMDIF_LOG(INFO, fmt, ## args) -#define DPAA2_CMDIF_ERR(fmt, args...) \ - DPAA2_CMDIF_LOG(ERR, fmt, ## args) -#define DPAA2_CMDIF_WARN(fmt, args...) \ - DPAA2_CMDIF_LOG(WARNING, fmt, ## args) - -/* DP Logs, toggled out at compile time if level lower than current level */ -#define DPAA2_CMDIF_DP_LOG(level, fmt, args...) \ - RTE_LOG_DP(level, PMD, "dpaa2_cmdif: " fmt "\n", ## args) - -#define DPAA2_CMDIF_DP_DEBUG(fmt, args...) \ - DPAA2_CMDIF_DP_LOG(DEBUG, fmt, ## args) -#define DPAA2_CMDIF_DP_INFO(fmt, args...) \ - DPAA2_CMDIF_DP_LOG(INFO, fmt, ## args) -#define DPAA2_CMDIF_DP_WARN(fmt, args...) \ - DPAA2_CMDIF_DP_LOG(WARNING, fmt, ## args) - -#ifdef __cplusplus -} -#endif - -#endif /* __DPAA2_CMDIF_LOGS_H__ */ diff --git a/drivers/raw/dpaa2_cmdif/meson.build b/drivers/raw/dpaa2_cmdif/meson.build deleted file mode 100644 index 3b1d3371b2..0000000000 --- a/drivers/raw/dpaa2_cmdif/meson.build +++ /dev/null @@ -1,7 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright 2018 NXP - -deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev'] -sources = files('dpaa2_cmdif.c') - -headers = files('rte_pmd_dpaa2_cmdif.h') diff --git a/drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h b/drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h deleted file mode 100644 index 483b66eaae..0000000000 --- a/drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h +++ /dev/null @@ -1,35 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018 NXP - */ - -#ifndef __RTE_PMD_DPAA2_CMDIF_H__ -#define __RTE_PMD_DPAA2_CMDIF_H__ - -/** - * @file - * - * NXP dpaa2 AIOP CMDIF PMD specific structures. - * - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** The context required in the I/O path for DPAA2 AIOP Command Interface */ -struct rte_dpaa2_cmdif_context { - /** Size to populate in QBMAN FD */ - uint32_t size; - /** FRC to populate in QBMAN FD */ - uint32_t frc; - /** FLC to populate in QBMAN FD */ - uint64_t flc; - /** Priority of the command. This priority determines DPCI Queue*/ - uint8_t priority; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __RTE_PMD_DPAA2_CMDIF_H__ */ diff --git a/drivers/raw/dpaa2_cmdif/version.map b/drivers/raw/dpaa2_cmdif/version.map deleted file mode 100644 index 78c3585d7c..0000000000 --- a/drivers/raw/dpaa2_cmdif/version.map +++ /dev/null @@ -1,3 +0,0 @@ -DPDK_23 { - local: *; -}; diff --git a/drivers/raw/meson.build b/drivers/raw/meson.build index 48e84d586e..226fea556d 100644 --- a/drivers/raw/meson.build +++ b/drivers/raw/meson.build @@ -8,7 +8,6 @@ endif drivers = [ 'cnxk_bphy', 'cnxk_gpio', - 'dpaa2_cmdif', 'ifpga', 'ioat', 'ntb',