From patchwork Thu Sep 2 13:13:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fengchengwen X-Patchwork-Id: 97801 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 ABA7FA0C47; Thu, 2 Sep 2021 15:17:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1552540041; Thu, 2 Sep 2021 15:17:21 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 03AC34003C for ; Thu, 2 Sep 2021 15:17:18 +0200 (CEST) Received: from dggemv711-chm.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4H0hDs0JCTz8xgf; Thu, 2 Sep 2021 21:13:01 +0800 (CST) Received: from dggpeml500024.china.huawei.com (7.185.36.10) by dggemv711-chm.china.huawei.com (10.1.198.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Thu, 2 Sep 2021 21:17:16 +0800 Received: from localhost.localdomain (10.67.165.24) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Thu, 2 Sep 2021 21:17:16 +0800 From: Chengwen Feng To: , , , , , CC: , , , , , , , , , , Date: Thu, 2 Sep 2021 21:13:08 +0800 Message-ID: <1630588395-2804-1-git-send-email-fengchengwen@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1625231891-2963-1-git-send-email-fengchengwen@huawei.com> References: <1625231891-2963-1-git-send-email-fengchengwen@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.24] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpeml500024.china.huawei.com (7.185.36.10) X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH v19 0/7] support dmadev 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 Sender: "dev" This patch set contains seven patch for new add dmadev. Chengwen Feng (7): dmadev: introduce DMA device library public APIs dmadev: introduce DMA device library internal header dmadev: introduce DMA device library PMD header dmadev: introduce DMA device library implementation doc: add DMA device library guide dma/skeleton: introduce skeleton dmadev driver app/test: add dmadev API test --- v19: * squash maintainer patch to patch #1. v18: * RTE_DMA_STATUS_* add BUS_READ/WRITE_ERR, PAGE_FAULT. * rte_dmadev dataplane API add judge dev_started when debug enable. * rte_dmadev_start/vchan_setup add judge device configured. * rte_dmadev_dump support format capability name. * optimized the comments of rte_dmadev. * fix skeldma_copy always return zero when enqueue successful. * log encapsulation macro add newline characters. * test_dmadev_api support rte_dmadev_dump() ut. v17: * remove rte_dmadev_selftest() API. * move dmadev API test from dma/skeleton to app/test. * fix compile error of dma/skeleton driver when building for x86-32. * fix iol spell check warning of dmadev.rst. v16: * redefine struct rte_dmadev_stats with fields: submitted, completed, errors. * add dma skeleton. * add dmadev ut. MAINTAINERS | 7 + app/test/meson.build | 4 + app/test/test_dmadev.c | 45 ++ app/test/test_dmadev_api.c | 532 ++++++++++++++++ config/rte_config.h | 3 + doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf.in | 1 + doc/guides/prog_guide/dmadev.rst | 125 ++++ doc/guides/prog_guide/img/dmadev.svg | 283 +++++++++ doc/guides/prog_guide/index.rst | 1 + doc/guides/rel_notes/release_21_11.rst | 5 + drivers/dma/meson.build | 11 + drivers/dma/skeleton/meson.build | 7 + drivers/dma/skeleton/skeleton_dmadev.c | 601 ++++++++++++++++++ drivers/dma/skeleton/skeleton_dmadev.h | 59 ++ drivers/dma/skeleton/version.map | 3 + drivers/meson.build | 1 + lib/dmadev/meson.build | 7 + lib/dmadev/rte_dmadev.c | 614 +++++++++++++++++++ lib/dmadev/rte_dmadev.h | 1045 ++++++++++++++++++++++++++++++++ lib/dmadev/rte_dmadev_core.h | 178 ++++++ lib/dmadev/rte_dmadev_pmd.h | 72 +++ lib/dmadev/version.map | 35 ++ lib/meson.build | 1 + 24 files changed, 3641 insertions(+) create mode 100644 app/test/test_dmadev.c create mode 100644 app/test/test_dmadev_api.c create mode 100644 doc/guides/prog_guide/dmadev.rst create mode 100644 doc/guides/prog_guide/img/dmadev.svg create mode 100644 drivers/dma/meson.build create mode 100644 drivers/dma/skeleton/meson.build create mode 100644 drivers/dma/skeleton/skeleton_dmadev.c create mode 100644 drivers/dma/skeleton/skeleton_dmadev.h create mode 100644 drivers/dma/skeleton/version.map create mode 100644 lib/dmadev/meson.build create mode 100644 lib/dmadev/rte_dmadev.c create mode 100644 lib/dmadev/rte_dmadev.h create mode 100644 lib/dmadev/rte_dmadev_core.h create mode 100644 lib/dmadev/rte_dmadev_pmd.h create mode 100644 lib/dmadev/version.map