From patchwork Thu Oct 19 19:10:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 133043 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 70732431B1; Thu, 19 Oct 2023 21:12:24 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7F03542E74; Thu, 19 Oct 2023 21:10:47 +0200 (CEST) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id DB59242DD9 for ; Thu, 19 Oct 2023 21:10:39 +0200 (CEST) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1c9e95aa02dso623775ad.0 for ; Thu, 19 Oct 2023 12:10:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1697742639; x=1698347439; 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=W3cGlIgmln/FibqtBu9h7x5pHMGnWNGAQN9lDyAIUaQ=; b=SK7SWf78yZ9VoQjua02vDNXuE/YcCQN1fFuwuqXAMr8nP3xIo4oLb0+fUFM3lVdvYL VboVA8tJtVjHlVmRcUZ1kIYN7JbZesn6H8qL6+ApwKDG91ycJLQ7LHtPiec6bYoSbqW9 ZMlT2OFkkl5vUfLHi0hiv2UZaI5/+yV5ps3Z5FHx3jNEKIvvbd0bUP5p/bVUKdYu8JzB aHbRtFbcYcQ4kLWHj20N1jsA4T1poCUQcZp0KxBsUB8avYEE2o4BxObhz1/MYRPa58ci FUsXp1+U2IMclzLXLoqjlF2Ghchq45nS3EsJ6Y+EUP8rWjCsqK5/bbLmNtTZ+gBnxti0 h7Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697742639; x=1698347439; 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=W3cGlIgmln/FibqtBu9h7x5pHMGnWNGAQN9lDyAIUaQ=; b=O3wR5n9KLVV2jEQ9QxcDlKxVM6hOMgU9Wxfs/60yRWb4IwrRKiZ1EkrO78Dngfpy+9 LS6lnpB6DVvgEUfTbG3ECiNSrZYxMsxGP70PF8ruaEefbutl/ZUVr1qp9H1H3Lau66I6 VdbbR2nQwksvVoI7feSTbOOVzhKRj2T/kcNgPc0C1+eDHQQjKvl5Vcr+C/TVo2WZS/Zj PJxJGiA08onF5+UzRRxVzxr31StxlKW3vwXzM7mjI+wJShGvbX7tmEVPOa1IWuNN5u7B KLi6pGIojwbRTDnqY64u+GengRh3btOL6tQdlEIDbq7OYBtNdCokiSZWGhs+RkU9IkWo ZCMg== X-Gm-Message-State: AOJu0YwcFhNGyTmSg9lXm90ev6nL3B0//EdJTAjHnwNhOcFO1HZYQ/W+ uq0vEIqq/IjVVVO0c/BENnEe4xRIzra0NtpncfOVUw== X-Google-Smtp-Source: AGHT+IF4NV3iIEs99KTIYpJAg5FXnqxC2Vc+AVSONJqD1oQH8Eernf3Izqz+WBCeV0AGOzizPV0bdw== X-Received: by 2002:a17:902:da8e:b0:1c7:36ff:1feb with SMTP id j14-20020a170902da8e00b001c736ff1febmr3895545plx.17.1697742638728; Thu, 19 Oct 2023 12:10:38 -0700 (PDT) Received: from hermes.local (204-195-126-68.wavecable.com. [204.195.126.68]) by smtp.gmail.com with ESMTPSA id h12-20020a170902eecc00b001a9b29b6759sm52464plb.183.2023.10.19.12.10.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 12:10:38 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Chengwen Feng , Bruce Richardson , Thomas Monjalon , Kevin Laatz Subject: [PATCH v4 14/28] dmadev: mark API's as not experimental Date: Thu, 19 Oct 2023 12:10:02 -0700 Message-Id: <20231019191016.156430-15-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231019191016.156430-1-stephen@networkplumber.org> References: <20230808173527.186042-1-stephen@networkplumber.org> <20231019191016.156430-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 f77597571633..1534a414f754 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;