From patchwork Tue Oct 24 02:54:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 133247 X-Patchwork-Delegate: david.marchand@redhat.com 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 7E8CA431EB; Tue, 24 Oct 2023 04:55:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CE3042E13; Tue, 24 Oct 2023 04:54:51 +0200 (CEST) Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) by mails.dpdk.org (Postfix) with ESMTP id F06F642DDF for ; Tue, 24 Oct 2023 04:54:45 +0200 (CEST) Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-778999c5ecfso278141485a.2 for ; Mon, 23 Oct 2023 19:54:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1698116085; x=1698720885; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YaVvuuZvY8akF3MGghj7eBsFpXxvFzNMo6uTs4PZPZ4=; b=WWFdB7aXZ4WKqrWl39qJqpsDAXgHJ6ft0maqO8eHC3OPPRS1Y95dic6+6jWShk/7FT Z12ElapDrCp07uuMrmNttJFNQpgep6vPRKIzYn0KM6jJcmT9bTJsP+Ov/IxNV9F0TM/r 6QvjnUqKwcoXT6SG1tQIFpqrKw0IVf1KGiKv1N1s3ZpMMrqm6LGgvJBO/ohkHan201pP 5T1QAvIYWlqsITvBxvwqAw3B7UE1lf3j8C3Qyf70EX6c2PyBctnI3J1ZNJzzPUnaSjSH An8JJUzuFq+e41Xbj6YF5vVkN0ALwdQs0rTzA6cBXlDO5U5ptF2uG9c9wsCV1MHmp0q4 1usg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698116085; x=1698720885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YaVvuuZvY8akF3MGghj7eBsFpXxvFzNMo6uTs4PZPZ4=; b=CU/84BMyttw6g3mLowTCt/19MQZ1HC5VjMVMDmDqoirdhcwSK92pjWQohhC/Z939No z4wjyu4BRCURqyx8tpK9NdERtEaRoHyazDRKkwwn2X53Fask6Un3oRABM/rH6SFmlkKb CkOc6DKCBgq2hyyh7D3EnHXeW/ZiWepbQeCSEinaxZyO4ET6G+sLTQI2ixxgd4EF9Ja0 Qpypus0Mr6N4JmY4a/UR7sLDDZi3zrt2Vo2sJqfFMYwt4/IRll8Ey+3YvChaIJ5JFlVy sjYZTy9qwG8VgRLfQHh58U/URe42//duF5f3/rde57XGP3V46saqigVM+KB9520lq2sn eA6g== X-Gm-Message-State: AOJu0YyrsMc+lDX8yyZKet35IuBoH1DObXyANVfSx3TH6jksodGRRbVh CEhTbN1sPjqU4fjQ7GgIMIKBmIB4ICzTQ+/LRxkhcg== X-Google-Smtp-Source: AGHT+IGRaYMZgzZZVQVVEWsp2gkyLD0u5UbGIzJd3og0+GVo02vAIS++3nLXDGWwiU8vX4nNgOYWjA== X-Received: by 2002:a05:620a:2698:b0:778:8f72:840d with SMTP id c24-20020a05620a269800b007788f72840dmr11921728qkp.12.1698116085080; Mon, 23 Oct 2023 19:54:45 -0700 (PDT) Received: from hermes.local (204-195-126-68.wavecable.com. [204.195.126.68]) by smtp.gmail.com with ESMTPSA id b22-20020aa79516000000b0069b772c4325sm6802348pfp.87.2023.10.23.19.54.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Oct 2023 19:54:44 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Chengwen Feng , Bruce Richardson , Thomas Monjalon , Kevin Laatz Subject: [PATCH v7 13/25] dmadev: mark API's as not experimental Date: Mon, 23 Oct 2023 19:54:10 -0700 Message-Id: <20231024025422.126021-14-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231024025422.126021-1-stephen@networkplumber.org> References: <20230808173527.186042-1-stephen@networkplumber.org> <20231024025422.126021-1-stephen@networkplumber.org> MIME-Version: 1.0 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 These were added in 20.11 time now to remove experimental flag. Signed-off-by: Stephen Hemminger Acked-by: Chengwen Feng Acked-by: Bruce Richardson --- MAINTAINERS | 2 +- lib/dmadev/rte_dmadev.h | 85 ----------------------------------------- lib/dmadev/version.map | 2 +- 3 files changed, 2 insertions(+), 87 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index e5d92aa74926..2f1ab5a0f328 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -483,7 +483,7 @@ F: doc/guides/prog_guide/mldev.rst F: app/test-mldev/ F: doc/guides/tools/testmldev.rst -DMA device API - EXPERIMENTAL +DMA device API M: Chengwen Feng F: lib/dmadev/ F: drivers/dma/skeleton/ diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h index 493263a5d627..2c09939ff6c5 100644 --- a/lib/dmadev/rte_dmadev.h +++ b/lib/dmadev/rte_dmadev.h @@ -158,9 +158,6 @@ extern "C" { #define RTE_DMADEV_DEFAULT_MAX 64 /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Configure the maximum number of dmadevs. * @note This function can be invoked before the primary process rte_eal_init() * to change the maximum number of dmadevs. If not invoked, the maximum number @@ -172,13 +169,9 @@ extern "C" { * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_dev_max(size_t dev_max); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Get the device identifier for the named DMA device. * * @param name @@ -188,13 +181,9 @@ int rte_dma_dev_max(size_t dev_max); * Returns DMA device identifier on success. * - <0: Failure to find named DMA device. */ -__rte_experimental int rte_dma_get_dev_id_by_name(const char *name); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Check whether the dev_id is valid. * * @param dev_id @@ -203,20 +192,15 @@ int rte_dma_get_dev_id_by_name(const char *name); * @return * - If the device index is valid (true) or not (false). */ -__rte_experimental bool rte_dma_is_valid(int16_t dev_id); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Get the total number of DMA devices that have been successfully * initialised. * * @return * The total number of usable DMA devices. */ -__rte_experimental uint16_t rte_dma_count_avail(void); /** @@ -227,7 +211,6 @@ uint16_t rte_dma_count_avail(void); * @return * Next valid dmadev, UINT16_MAX if there is none. */ -__rte_experimental int16_t rte_dma_next_dev(int16_t start_dev_id); /** Utility macro to iterate over all available dmadevs */ @@ -318,9 +301,6 @@ struct rte_dma_info { }; /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Retrieve information of a DMA device. * * @param dev_id @@ -332,7 +312,6 @@ struct rte_dma_info { * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_info_get(int16_t dev_id, struct rte_dma_info *dev_info); /** @@ -357,9 +336,6 @@ struct rte_dma_conf { }; /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Configure a DMA device. * * This function must be invoked first before any other function in the @@ -375,13 +351,9 @@ struct rte_dma_conf { * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_configure(int16_t dev_id, const struct rte_dma_conf *dev_conf); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Start a DMA device. * * The device start step is the last one and consists of setting the DMA @@ -393,13 +365,9 @@ int rte_dma_configure(int16_t dev_id, const struct rte_dma_conf *dev_conf); * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_start(int16_t dev_id); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Stop a DMA device. * * The device can be restarted with a call to rte_dma_start(). @@ -410,13 +378,9 @@ int rte_dma_start(int16_t dev_id); * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_stop(int16_t dev_id); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Close a DMA device. * * The device cannot be restarted after this call. @@ -427,7 +391,6 @@ int rte_dma_stop(int16_t dev_id); * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_close(int16_t dev_id); /** @@ -620,9 +583,6 @@ struct rte_dma_vchan_conf { }; /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Allocate and set up a virtual DMA channel. * * @param dev_id @@ -637,7 +597,6 @@ struct rte_dma_vchan_conf { * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_vchan_setup(int16_t dev_id, uint16_t vchan, const struct rte_dma_vchan_conf *conf); @@ -666,9 +625,6 @@ struct rte_dma_stats { #define RTE_DMA_ALL_VCHAN 0xFFFFu /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Retrieve basic statistics of a or all virtual DMA channel(s). * * @param dev_id @@ -683,14 +639,10 @@ struct rte_dma_stats { * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_stats_get(int16_t dev_id, uint16_t vchan, struct rte_dma_stats *stats); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Reset basic statistics of a or all virtual DMA channel(s). * * @param dev_id @@ -702,7 +654,6 @@ int rte_dma_stats_get(int16_t dev_id, uint16_t vchan, * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_stats_reset(int16_t dev_id, uint16_t vchan); /** @@ -718,9 +669,6 @@ enum rte_dma_vchan_status { }; /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Determine if all jobs have completed on a device channel. * This function is primarily designed for testing use, as it allows a process to check if * all jobs are completed, without actually gathering completions from those jobs. @@ -735,14 +683,10 @@ enum rte_dma_vchan_status { * 0 - call completed successfully * < 0 - error code indicating there was a problem calling the API */ -__rte_experimental int rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *status); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Dump DMA device info. * * @param dev_id @@ -753,7 +697,6 @@ rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status * * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental int rte_dma_dump(int16_t dev_id, FILE *f); /** @@ -864,9 +807,6 @@ struct rte_dma_sge { /**@}*/ /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Enqueue a copy operation onto the virtual DMA channel. * * This queues up a copy operation to be performed by hardware, if the 'flags' @@ -892,7 +832,6 @@ struct rte_dma_sge { * - -ENOSPC: if no space left to enqueue. * - other values < 0 on failure. */ -__rte_experimental static inline int rte_dma_copy(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst, uint32_t length, uint64_t flags) @@ -910,9 +849,6 @@ rte_dma_copy(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst, } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Enqueue a scatter-gather list copy operation onto the virtual DMA channel. * * This queues up a scatter-gather list copy operation to be performed by @@ -942,7 +878,6 @@ rte_dma_copy(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst, * - -ENOSPC: if no space left to enqueue. * - other values < 0 on failure. */ -__rte_experimental static inline int rte_dma_copy_sg(int16_t dev_id, uint16_t vchan, struct rte_dma_sge *src, struct rte_dma_sge *dst, uint16_t nb_src, uint16_t nb_dst, @@ -963,9 +898,6 @@ rte_dma_copy_sg(int16_t dev_id, uint16_t vchan, struct rte_dma_sge *src, } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Enqueue a fill operation onto the virtual DMA channel. * * This queues up a fill operation to be performed by hardware, if the 'flags' @@ -991,7 +923,6 @@ rte_dma_copy_sg(int16_t dev_id, uint16_t vchan, struct rte_dma_sge *src, * - -ENOSPC: if no space left to enqueue. * - other values < 0 on failure. */ -__rte_experimental static inline int rte_dma_fill(int16_t dev_id, uint16_t vchan, uint64_t pattern, rte_iova_t dst, uint32_t length, uint64_t flags) @@ -1010,9 +941,6 @@ rte_dma_fill(int16_t dev_id, uint16_t vchan, uint64_t pattern, } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Trigger hardware to begin performing enqueued operations. * * Writes the "doorbell" to the hardware to trigger it @@ -1026,7 +954,6 @@ rte_dma_fill(int16_t dev_id, uint16_t vchan, uint64_t pattern, * @return * 0 on success. Otherwise negative value is returned. */ -__rte_experimental static inline int rte_dma_submit(int16_t dev_id, uint16_t vchan) { @@ -1043,9 +970,6 @@ rte_dma_submit(int16_t dev_id, uint16_t vchan) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Return the number of operations that have been successfully completed. * Once an operation has been reported as completed, the results of that * operation will be visible to all cores on the system. @@ -1067,7 +991,6 @@ rte_dma_submit(int16_t dev_id, uint16_t vchan) * The number of operations that successfully completed. This return value * must be less than or equal to the value of nb_cpls. */ -__rte_experimental static inline uint16_t rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls, uint16_t *last_idx, bool *has_error) @@ -1102,9 +1025,6 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls, } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Return the number of operations that have been completed, and the operations * result may succeed or fail. * Once an operation has been reported as completed successfully, the results of that @@ -1130,7 +1050,6 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls, * If this number is greater than zero (assuming n), then n values in the * status array are also set. */ -__rte_experimental static inline uint16_t rte_dma_completed_status(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls, uint16_t *last_idx, @@ -1154,9 +1073,6 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan, } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Check remaining capacity in descriptor ring for the current burst. * * @param dev_id @@ -1168,7 +1084,6 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan, * - Remaining space in the descriptor ring for the current burst. * - 0 on error */ -__rte_experimental static inline uint16_t rte_dma_burst_capacity(int16_t dev_id, uint16_t vchan) { diff --git a/lib/dmadev/version.map b/lib/dmadev/version.map index 7031d6b335e9..2a3736514c8f 100644 --- a/lib/dmadev/version.map +++ b/lib/dmadev/version.map @@ -1,4 +1,4 @@ -EXPERIMENTAL { +DPDK_24 { global: rte_dma_close;