> -----Original Message----- > From: Zhao1, Wei > Sent: Wednesday, October 10, 2018 12:14 AM > To: Luca Boccassi <bl...@debian.org>; dev@dpdk.org > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Zhang, Qi Z > <qi.z.zh...@intel.com> > Subject: RE: [dpdk-dev] [PATCH] net/e1000: enable MSI-x for linkup and > other events in 82574 > > Acked-by: Wei Zhao <wei.zh...@intel.com>
Applied to dpdk-next-net-intel. Thanks Qi > > > -----Original Message----- > > From: Luca Boccassi [mailto:bl...@debian.org] > > Sent: Tuesday, October 9, 2018 6:33 PM > > To: Zhao1, Wei <wei.zh...@intel.com>; dev@dpdk.org > > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Zhang, Qi Z > > <qi.z.zh...@intel.com> > > Subject: Re: [dpdk-dev] [PATCH] net/e1000: enable MSI-x for linkup and > > other events in 82574 > > > > On Tue, 2018-10-09 at 10:16 +0000, Zhao1, Wei wrote: > > > Hi, Luca Boccassi > > > > > > A question for this feature, in em code, function > > > eth_em_interrupt_handler() we have no process for handle other cause > > > interrupt. > > > So, why do we enable this OTHER cause interrupt in DPDK? > > > You mean some application may take advance of this interrupt for > > > some unknown purpose when using DPDK? > > > > Hi, > > > > This MSI-x interrupt is for link state change, which is already > > handled by the driver. > > As mentioned, without this link state change for the 82574 NIC does not > work. > > > > > > > > > > > > -----Original Message----- > > > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Luca Boccassi > > > > Sent: Saturday, July 28, 2018 2:13 AM > > > > To: dev@dpdk.org > > > > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Luca Boccassi > > > > <bl...@debian.org> > > > > Subject: [dpdk-dev] [PATCH] net/e1000: enable MSI-x for linkup and > > > > other events in 82574 > > > > > > > > Linux supports 82574 MSI-x interrupt for linkup and other link > > > > conditions. > > > > Enable the same feature in the e1000 PMD in order to allow this > > > > card to work properly, as it requires interrupt handling for link > > > > negotiations among other things. > > > > > > > > Signed-off-by: Luca Boccassi <bl...@debian.org> > > > > --- > > > > > > > > Hi Wenzhuo - just to make it clear, this patch and the previous > > > > are not targeted for 18.08, just clearing my queue. > > > > > > > > drivers/net/e1000/base/e1000_82571.c | 5 +++++ > > > > drivers/net/e1000/em_ethdev.c | 5 +++-- > > > > 2 files changed, 8 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/drivers/net/e1000/base/e1000_82571.c > > > > b/drivers/net/e1000/base/e1000_82571.c > > > > index 7c279dbb3..397dd9482 100644 > > > > --- a/drivers/net/e1000/base/e1000_82571.c > > > > +++ b/drivers/net/e1000/base/e1000_82571.c > > > > @@ -1257,6 +1257,11 @@ STATIC s32 e1000_init_hw_82571(struct > > > > e1000_hw > > > > *hw) > > > > */ > > > > e1000_clear_hw_cntrs_82571(hw); > > > > > > > > + /* MSI-X configure for 82574 */ > > > > + if (mac->type == e1000_82574) > > > > + E1000_WRITE_REG(hw, E1000_IVAR, > > > > + (E1000_IVAR_INT_ALLOC_VALID << > > > > 16)); > > > > + > > > > return ret_val; > > > > } > > > > > > > > diff --git a/drivers/net/e1000/em_ethdev.c > > > > b/drivers/net/e1000/em_ethdev.c index 7039dc100..bd05e4de0 > 100644 > > > > --- a/drivers/net/e1000/em_ethdev.c > > > > +++ b/drivers/net/e1000/em_ethdev.c > > > > @@ -1444,7 +1444,8 @@ eth_em_interrupt_setup(struct rte_eth_dev > > > > *dev) > > > > /* clear interrupt */ > > > > E1000_READ_REG(hw, E1000_ICR); > > > > regval = E1000_READ_REG(hw, E1000_IMS); > > > > - E1000_WRITE_REG(hw, E1000_IMS, regval | E1000_ICR_LSC); > > > > + E1000_WRITE_REG(hw, E1000_IMS, > > > > + regval | E1000_ICR_LSC | E1000_ICR_OTHER); > > > > return 0; > > > > } > > > > > > > > @@ -1494,7 +1495,7 @@ em_rxq_intr_enable(struct e1000_hw > > > > *hw) static > > > > void em_lsc_intr_disable(struct e1000_hw *hw) { > > > > - E1000_WRITE_REG(hw, E1000_IMC, E1000_IMS_LSC); > > > > + E1000_WRITE_REG(hw, E1000_IMC, E1000_IMS_LSC | > > > > E1000_IMS_OTHER); > > > > E1000_WRITE_FLUSH(hw); > > > > } > > > > > > > > -- > > > > 2.18.0 > > > > > > > > > > -- > > Kind regards, > > Luca Boccassi