From patchwork Wed Apr 5 16:03:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fan Zhang X-Patchwork-Id: 23247 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id A22263772; Wed, 5 Apr 2017 18:01:51 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 097CD376F for ; Wed, 5 Apr 2017 18:01:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1491408109; x=1522944109; h=from:to:cc:subject:date:message-id; bh=X6ZTICcmrARKUf7QZWMzcgjQlbSkxlIyKx+3hYjcD00=; b=gQ64wL9HiN7qSppIIa8zQbEtHspoPEVuwboFE3L1lz8Yv+DN7vYqfLw+ Ny9rn2s+CLdW9jqGJJe1Rjc9tA8/2w==; Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2017 09:01:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,279,1486454400"; d="scan'208";a="84810056" Received: from silpixa00381633.ir.intel.com (HELO silpixa00381633.ger.corp.intel.com) ([10.237.222.114]) by fmsmga005.fm.intel.com with ESMTP; 05 Apr 2017 09:01:46 -0700 From: Fan Zhang To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com, declan.doherty@intel.com Date: Wed, 5 Apr 2017 17:03:23 +0100 Message-Id: <1491408203-117504-1-git-send-email-roy.fan.zhang@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [PATCH] crypto/scheduler: add mode set get API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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 adds two APIs, "rte_cryptodev_scheduler_mode_set" and "rte_cryptodev_scheduler_mode_get", to crypto scheduler PMD. These two API provides same functionalities as "rte_crpytodev_scheduler_mode_get" and "rte_crpytodev_scheduler_mode_set" and they are proposed to deprecated in 17.08. Signed-off-by: Fan Zhang Acked-by: Pablo de Lara --- doc/guides/rel_notes/deprecation.rst | 5 ++++ drivers/crypto/scheduler/rte_cryptodev_scheduler.c | 17 ++++++++++++-- drivers/crypto/scheduler/rte_cryptodev_scheduler.h | 27 ++++++++++++++++++++++ .../scheduler/rte_pmd_crypto_scheduler_version.map | 2 ++ drivers/crypto/scheduler/scheduler_pmd.c | 2 +- test/test/test_cryptodev.c | 4 ++-- 6 files changed, 52 insertions(+), 5 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 469b3a5..500772a 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -113,3 +113,8 @@ Deprecation Notices to specify which type of instance to create (single or burst), and additional calls for ``rte_distributor_poll_pkt_burst`` and ``rte_distributor_return_pkt_burst``, among others. + +* crypto/scheduler: for 17.08 it is planned to deprecate the following two + functions, ``rte_crpytodev_scheduler_mode_get`` and + ``rte_crpytodev_scheduler_mode_set``. They are replaced by + ``rte_cryptodev_scheduler_mode_get`` and ``rte_cryptodev_scheduler_mode_set`` diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c index 6018857..3befb81 100644 --- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c +++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c @@ -303,7 +303,7 @@ rte_cryptodev_scheduler_slave_detach(uint8_t scheduler_id, uint8_t slave_id) } int -rte_crpytodev_scheduler_mode_set(uint8_t scheduler_id, +rte_cryptodev_scheduler_mode_set(uint8_t scheduler_id, enum rte_cryptodev_scheduler_mode mode) { struct rte_cryptodev *dev = rte_cryptodev_pmd_get_dev(scheduler_id); @@ -359,8 +359,15 @@ rte_crpytodev_scheduler_mode_set(uint8_t scheduler_id, return 0; } +int +rte_crpytodev_scheduler_mode_set(uint8_t scheduler_id, + enum rte_cryptodev_scheduler_mode mode) +{ + return rte_cryptodev_scheduler_mode_set(scheduler_id, mode); +} + enum rte_cryptodev_scheduler_mode -rte_crpytodev_scheduler_mode_get(uint8_t scheduler_id) +rte_cryptodev_scheduler_mode_get(uint8_t scheduler_id) { struct rte_cryptodev *dev = rte_cryptodev_pmd_get_dev(scheduler_id); struct scheduler_ctx *sched_ctx; @@ -380,6 +387,12 @@ rte_crpytodev_scheduler_mode_get(uint8_t scheduler_id) return sched_ctx->mode; } +enum rte_cryptodev_scheduler_mode +rte_crpytodev_scheduler_mode_get(uint8_t scheduler_id) +{ + return rte_cryptodev_scheduler_mode_get(scheduler_id); +} + int rte_cryptodev_scheduler_ordering_set(uint8_t scheduler_id, uint32_t enable_reorder) diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.h b/drivers/crypto/scheduler/rte_cryptodev_scheduler.h index 1da096b..3b816d3 100644 --- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.h +++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.h @@ -109,7 +109,31 @@ rte_cryptodev_scheduler_slave_attach(uint8_t scheduler_id, uint8_t slave_id); int rte_cryptodev_scheduler_slave_detach(uint8_t scheduler_id, uint8_t slave_id); + +/** + * Set the scheduling mode + * + * @param scheduler_id The target scheduler device ID + * mode The scheduling mode + * + * @return + * 0 if attaching successful, negative integer if otherwise. + */ +int +rte_cryptodev_scheduler_mode_set(uint8_t scheduler_id, + enum rte_cryptodev_scheduler_mode mode); + +/** + * Get the current scheduling mode + * + * @param scheduler_id The target scheduler device ID + * mode Pointer to write the scheduling mode + */ +enum rte_cryptodev_scheduler_mode +rte_cryptodev_scheduler_mode_get(uint8_t scheduler_id); + /** + * @deprecated * Set the scheduling mode * * @param scheduler_id The target scheduler device ID @@ -118,16 +142,19 @@ rte_cryptodev_scheduler_slave_detach(uint8_t scheduler_id, uint8_t slave_id); * @return * 0 if attaching successful, negative integer if otherwise. */ +__rte_deprecated int rte_crpytodev_scheduler_mode_set(uint8_t scheduler_id, enum rte_cryptodev_scheduler_mode mode); /** + * @deprecated * Get the current scheduling mode * * @param scheduler_id The target scheduler device ID * mode Pointer to write the scheduling mode */ +__rte_deprecated enum rte_cryptodev_scheduler_mode rte_crpytodev_scheduler_mode_get(uint8_t scheduler_id); diff --git a/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map b/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map index 69cf0c6..de2a554 100644 --- a/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map +++ b/drivers/crypto/scheduler/rte_pmd_crypto_scheduler_version.map @@ -14,6 +14,8 @@ DPDK_17.02 { DPDK_17.05 { global: + rte_cryptodev_scheduler_mode_get; + rte_cryptodev_scheduler_mode_set; rte_cryptodev_scheduler_slaves_get; } DPDK_17.02; diff --git a/drivers/crypto/scheduler/scheduler_pmd.c b/drivers/crypto/scheduler/scheduler_pmd.c index f117ed8..b189fbd 100644 --- a/drivers/crypto/scheduler/scheduler_pmd.c +++ b/drivers/crypto/scheduler/scheduler_pmd.c @@ -159,7 +159,7 @@ cryptodev_scheduler_create(const char *name, if (init_params->mode > CDEV_SCHED_MODE_USERDEFINED && init_params->mode < CDEV_SCHED_MODE_COUNT) { - ret = rte_crpytodev_scheduler_mode_set(dev->data->dev_id, + ret = rte_cryptodev_scheduler_mode_set(dev->data->dev_id, init_params->mode); if (ret < 0) { rte_cryptodev_pmd_release_device(dev); diff --git a/test/test/test_cryptodev.c b/test/test/test_cryptodev.c index a29c019..63d71c0 100644 --- a/test/test/test_cryptodev.c +++ b/test/test/test_cryptodev.c @@ -7846,11 +7846,11 @@ test_scheduler_mode_op(void) "Failed to set cdev %u to user defined mode", sched_id); /* set round robin mode */ - ret = rte_crpytodev_scheduler_mode_set(sched_id, + ret = rte_cryptodev_scheduler_mode_set(sched_id, CDEV_SCHED_MODE_ROUNDROBIN); TEST_ASSERT(ret == 0, "Failed to set cdev %u to round-robin mode", sched_id); - TEST_ASSERT(rte_crpytodev_scheduler_mode_get(sched_id) == + TEST_ASSERT(rte_cryptodev_scheduler_mode_get(sched_id) == CDEV_SCHED_MODE_ROUNDROBIN, "Scheduling Mode " "not match");