-----Original Message----- > Date: Thu, 10 May 2018 02:22:40 +0530 > From: Nikhil Rao <nikhil....@intel.com> > To: jerin.ja...@caviumnetworks.com > CC: ferruh.yi...@intel.com, lei.a....@intel.com, dev@dpdk.org, Nikhil Rao > <nikhil....@intel.com>, sta...@dpdk.org > Subject: [PATCH v2] eventdev: make ethernet port identifiers 16 bit > X-Mailer: git-send-email 1.8.3.1 > > Ethernet port ID data size has been extended to 16 bits size 17.11 > Update the Rx event adapter interface and implementation accordingly. > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation") > Signed-off-by: Nikhil Rao <nikhil....@intel.com> > Cc: sta...@dpdk.org > --
Acked-by: Jerin Jacob <jerin.ja...@caviumnetworks.com> I will squash following patch on apply https://dpdk.org/ml/archives/dev/2018-May/100988.html > > Supersedes the following posts: > http://dpdk.org/ml/archives/dev/2018-May/100917.html > http://dpdk.org/ml/archives/dev/2018-May/100426.html > --- > lib/librte_eventdev/rte_event_eth_rx_adapter.h | 4 ++-- > lib/librte_eventdev/rte_event_eth_rx_adapter.c | 23 ++++++++++++----------- > 2 files changed, 14 insertions(+), 13 deletions(-) > > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h > b/lib/librte_eventdev/rte_event_eth_rx_adapter.h > index e6a6435..834eb53 100644 > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h > @@ -307,7 +307,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t > dev_id, > * combination of the two error codes. > */ > int rte_event_eth_rx_adapter_queue_add(uint8_t id, > - uint8_t eth_dev_id, > + uint16_t eth_dev_id, > int32_t rx_queue_id, > const struct rte_event_eth_rx_adapter_queue_conf *conf); > > @@ -335,7 +335,7 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id, > * - 0: Success, Receive queue deleted correctly. > * - <0: Error code on failure. > */ > -int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id, > +int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id, > int32_t rx_queue_id); > > /** > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c > b/lib/librte_eventdev/rte_event_eth_rx_adapter.c > index 4c0c025..6f70509 100644 > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c > @@ -31,7 +31,7 @@ > */ > struct eth_rx_poll_entry { > /* Eth port to poll */ > - uint8_t eth_dev_id; > + uint16_t eth_dev_id; > /* Eth rx queue to poll */ > uint16_t eth_rx_qid; > }; > @@ -168,7 +168,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b) > > while (1) { > uint16_t q; > - uint8_t d; > + uint16_t d; > > i = (i + 1) % n; > if (i == 0) { > @@ -190,7 +190,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b) > static int > eth_poll_wrr_calc(struct rte_event_eth_rx_adapter *rx_adapter) > { > - uint8_t d; > + uint16_t d; > uint16_t q; > unsigned int i; > > @@ -510,7 +510,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b) > for (num_queue = 0; num_queue < rx_adapter->wrr_len; num_queue++) { > unsigned int poll_idx = rx_adapter->wrr_sched[wrr_pos]; > uint16_t qid = rx_adapter->eth_rx_poll[poll_idx].eth_rx_qid; > - uint8_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id; > + uint16_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id; > > /* Don't do a batch dequeue from the rx queue if there isn't > * enough space in the enqueue buffer. > @@ -755,7 +755,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b) > } > > static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter, > - uint8_t eth_dev_id, > + uint16_t eth_dev_id, > int rx_queue_id, > const struct rte_event_eth_rx_adapter_queue_conf *queue_conf) > { > @@ -859,7 +859,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter > *rx_adapter, > struct rte_event_eth_rx_adapter *rx_adapter; > int ret; > int socket_id; > - uint8_t i; > + uint16_t i; > char mem_name[ETH_RX_ADAPTER_SERVICE_NAME_LEN]; > const uint8_t default_rss_key[] = { > 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2, > @@ -978,7 +978,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter > *rx_adapter, > > int > rte_event_eth_rx_adapter_queue_add(uint8_t id, > - uint8_t eth_dev_id, > + uint16_t eth_dev_id, > int32_t rx_queue_id, > const struct rte_event_eth_rx_adapter_queue_conf *queue_conf) > { > @@ -1002,7 +1002,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter > *rx_adapter, > &cap); > if (ret) { > RTE_EDEV_LOG_ERR("Failed to get adapter caps edev %" PRIu8 > - "eth port %" PRIu8, id, eth_dev_id); > + "eth port %" PRIu16, id, eth_dev_id); > return ret; > } > > @@ -1010,7 +1010,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter > *rx_adapter, > && (queue_conf->rx_queue_flags & > RTE_EVENT_ETH_RX_ADAPTER_QUEUE_FLOW_ID_VALID)) { > RTE_EDEV_LOG_ERR("Flow ID override is not supported," > - " eth port: %" PRIu8 " adapter id: %" PRIu8, > + " eth port: %" PRIu16 " adapter id: %" PRIu8, > eth_dev_id, id); > return -EINVAL; > } > @@ -1018,7 +1018,8 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter > *rx_adapter, > if ((cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ) == 0 && > (rx_queue_id != -1)) { > RTE_EDEV_LOG_ERR("Rx queues can only be connected to single " > - "event queue id %u eth port %u", id, eth_dev_id); > + "event queue, eth port: %" PRIu16 " adapter id: %" > + PRIu8, eth_dev_id, id); > return -EINVAL; > } > > @@ -1075,7 +1076,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter > *rx_adapter, > } > > int > -rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id, > +rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id, > int32_t rx_queue_id) > { > int ret = 0; > -- > 1.8.3.1 >