From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id EB6DE1B245 for ; Wed, 10 Jan 2018 15:46:26 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2018 06:46:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,340,1511856000"; d="scan'208";a="20498119" Received: from silpixa00398162.ir.intel.com (HELO silpixa00398162.ger.corp.intel.com) ([10.237.223.171]) by fmsmga001.fm.intel.com with ESMTP; 10 Jan 2018 06:46:23 -0800 From: Liang Ma To: jerin.jacob@caviumnetworks.com Cc: dev@dpdk.org, harry.van.haaren@intel.com, bruce.richardson@intel.com, deepak.k.jain@intel.com, john.geary@intel.com, peter.mccarthy@intel.com, seanbh@gmail.com, marko.kovacevic@intel.com Date: Wed, 10 Jan 2018 14:46:06 +0000 Message-Id: <1515595571-139425-8-git-send-email-liang.j.ma@intel.com> X-Mailer: git-send-email 2.7.5 In-Reply-To: <1515595571-139425-1-git-send-email-liang.j.ma@intel.com> References: <1515507541-148466-1-git-send-email-liang.j.ma@intel.com> <1515595571-139425-1-git-send-email-liang.j.ma@intel.com> Subject: [dpdk-dev] [PATCH v7 07/12] event/opdl: extend the eventdev capability flags 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: , X-List-Received-Date: Wed, 10 Jan 2018 14:46:27 -0000 add new capability flags to express the opdl PMD limitations. RTE_EVENT_DEV_CAP_NONSEQ_MODE Event device is capable of operating in none sequential mode. The path of the event is not necessary to be sequential. Application can change the path of event at runtime. If the flag is not set, then event each event will follow a path from queue 0 to queue 1 to queue 2 etc. If the flag is set, events may be sent to queues in any order. If the flag is not set, the eventdev will return an error when the application enqueues an event for a qid which is not the next in the sequence. RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK Event device is capable of configuring the queue/port link at runtime. If the flag is not set, the eventdev queue/port link is only can be configured during initialization. RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT Event device is capable of setting up the link between multiple queue with single port. If the flag is not set, the eventdev can only map a single queue to each port or map a single queue to many port. Signed-off-by: Liang Ma Signed-off-by: Peter Mccarthy --- lib/librte_eventdev/rte_eventdev.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h index 1bbea57..9b7c11a 100644 --- a/lib/librte_eventdev/rte_eventdev.h +++ b/lib/librte_eventdev/rte_eventdev.h @@ -293,6 +293,28 @@ struct rte_mbuf; /* we just use mbuf pointers; no need to include rte_mbuf.h */ * @see rte_event_dequeue_burst() rte_event_enqueue_burst() */ +#define RTE_EVENT_DEV_CAP_NONSEQ_MODE (1ULL << 6) +/**< Event device is capable of operating in none sequential mode. The path + * of the event is not necessary to be sequential. Application can change + * the path of event at runtime. If the flag is not set, then event each event + * will follow a path from queue 0 to queue 1 to queue 2 etc. If the flag is + * set, events may be sent to queues in any order. If the flag is not set, the + * eventdev will return an error when the application enqueues an event for a + * qid which is not the next in the sequence. + */ + +#define RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK (1ULL << 7) +/**< Event device is capable of configuring the queue/port link at runtime. + * If the flag is not set, the eventdev queue/port link is only can be + * configured during initialization. + */ + +#define RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT (1ULL << 8) +/**< Event device is capable of setting up the link between multiple queue + * with single port. If the flag is not set, the eventdev can only map a + * single queue to each port or map a single queue to many port. + */ + /* Event device priority levels */ #define RTE_EVENT_DEV_PRIORITY_HIGHEST 0 /**< Highest priority expressed across eventdev subsystem -- 2.7.5