[dpdk-dev,v2,3/4] net/e1000: fix VF RX queue interrupt enabling

Message ID 1516781813-50818-4-git-send-email-wenzhuo.lu@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Helin Zhang
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Wenzhuo Lu Jan. 24, 2018, 8:16 a.m. UTC
  When using UIO, after enabling the interrupt to get the PF
message, VF RX queue interrupt is not working.
It's expected, as UIO doesn't support multiple interrupt.
So, PMD should not try to enable RX queue interrupt. Then
APP can know the RX queue interrupt is not enabled and only
choose the polling mode.

Fixes: 316f4f1adc2e ("net/igb: support VF mailbox interrupt for link up/down")
CC: stable@dpdk.org

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/e1000/igb_ethdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Zhang, Helin Jan. 26, 2018, 3:33 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wenzhuo Lu
> Sent: Wednesday, January 24, 2018 4:17 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH v2 3/4] net/e1000: fix VF RX queue interrupt
> enabling
> 
> When using UIO, after enabling the interrupt to get the PF message, VF RX
> queue interrupt is not working.
> It's expected, as UIO doesn't support multiple interrupt.
> So, PMD should not try to enable RX queue interrupt. Then APP can know the
> RX queue interrupt is not enabled and only choose the polling mode.
> 
> Fixes: 316f4f1adc2e ("net/igb: support VF mailbox interrupt for link up/down")
> CC: stable@dpdk.org
> 
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
  
Zhang, Helin Jan. 26, 2018, 3:41 p.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhang, Helin
> Sent: Friday, January 26, 2018 11:33 PM
> To: Lu, Wenzhuo; dev@dpdk.org
> Cc: Lu, Wenzhuo; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 3/4] net/e1000: fix VF RX queue interrupt
> enabling
> 
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wenzhuo Lu
> > Sent: Wednesday, January 24, 2018 4:17 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo; stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH v2 3/4] net/e1000: fix VF RX queue
> > interrupt enabling
> >
> > When using UIO, after enabling the interrupt to get the PF message, VF
> > RX queue interrupt is not working.
> > It's expected, as UIO doesn't support multiple interrupt.
> > So, PMD should not try to enable RX queue interrupt. Then APP can know
> > the RX queue interrupt is not enabled and only choose the polling mode.
> >
> > Fixes: 316f4f1adc2e ("net/igb: support VF mailbox interrupt for link
> > up/down")
> > CC: stable@dpdk.org
> >
> > Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> Acked-by: Helin Zhang <helin.zhang@intel.com>
Applied to dpdk-next-net-intel, with commit log changes. Thanks!

/Helin
  

Patch

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 077e094..15347df 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -3295,7 +3295,8 @@  static int eth_igbvf_link_update(struct e1000_hw *hw)
 	}
 
 	/* check and configure queue intr-vector mapping */
-	if (dev->data->dev_conf.intr_conf.rxq != 0) {
+	if (rte_intr_cap_multiple(intr_handle) &&
+	    dev->data->dev_conf.intr_conf.rxq) {
 		intr_vector = dev->data->nb_rx_queues;
 		ret = rte_intr_efd_enable(intr_handle, intr_vector);
 		if (ret)