From patchwork Thu Sep 16 03:41:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fengchengwen X-Patchwork-Id: 98981 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 84C57A0C41; Thu, 16 Sep 2021 05:45:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0F2624003F; Thu, 16 Sep 2021 05:45:59 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id E23324069E for ; Thu, 16 Sep 2021 05:45:56 +0200 (CEST) Received: from dggemv703-chm.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4H92vH6BhWzbmTr; Thu, 16 Sep 2021 11:41:47 +0800 (CST) Received: from dggpeml500024.china.huawei.com (7.185.36.10) by dggemv703-chm.china.huawei.com (10.3.19.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.8; Thu, 16 Sep 2021 11:45:54 +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.2308.8; Thu, 16 Sep 2021 11:45:54 +0800 From: Chengwen Feng To: , , , , , CC: , , , , , , , , , , , Date: Thu, 16 Sep 2021 11:41:40 +0800 Message-ID: <20210916034145.51561-1-fengchengwen@huawei.com> X-Mailer: git-send-email 2.33.0 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 v22 0/5] 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 five patch for new add dmadev. Chengwen Feng (5): dmadev: introduce DMA device library dmadev: add control plane function support dmadev: add data plane function support dma/skeleton: introduce skeleton dmadev driver app/test: add dmadev API test --- v22: * function prefix change from rte_dmadev_* to rte_dma_*. * change to prefix comment in most scenarios. * dmadev dev_id use int16_t type. * fix typo. * organize patchsets in incremental mode. v21: * add comment for reserved fields of struct rte_dmadev. v20: * delete unnecessary and duplicate include header files. * the conf_sz parameter is added to the configure and vchan-setup callbacks of the PMD, this is mainly used to enhance ABI compatibility. * the rte_dmadev structure field is rearranged to reserve more space for I/O functions. * fix some ambiguous and unnecessary comments. * fix the potential memory leak of ut. * redefine skeldma_init_once to skeldma_count. * suppress rte_dmadev error output when execute ut. MAINTAINERS | 7 + app/test/meson.build | 4 + app/test/test_dmadev.c | 43 + app/test/test_dmadev_api.c | 539 ++++++++++++ config/rte_config.h | 3 + doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf.in | 1 + doc/guides/dmadevs/index.rst | 12 + doc/guides/index.rst | 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 | 6 + drivers/dma/skeleton/meson.build | 7 + drivers/dma/skeleton/skeleton_dmadev.c | 571 +++++++++++++ drivers/dma/skeleton/skeleton_dmadev.h | 61 ++ drivers/dma/skeleton/version.map | 3 + drivers/meson.build | 1 + lib/dmadev/meson.build | 7 + lib/dmadev/rte_dmadev.c | 718 ++++++++++++++++ lib/dmadev/rte_dmadev.h | 1073 ++++++++++++++++++++++++ lib/dmadev/rte_dmadev_core.h | 184 ++++ lib/dmadev/rte_dmadev_pmd.h | 60 ++ lib/dmadev/version.map | 35 + lib/meson.build | 1 + 26 files changed, 3752 insertions(+) create mode 100644 app/test/test_dmadev.c create mode 100644 app/test/test_dmadev_api.c create mode 100644 doc/guides/dmadevs/index.rst 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