From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 23C411B4A6 for ; Tue, 9 Oct 2018 12:29:14 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Oct 2018 03:29:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,360,1534834800"; d="scan'208";a="95901767" Received: from kmsmsx155.gar.corp.intel.com ([172.21.73.106]) by fmsmga004.fm.intel.com with ESMTP; 09 Oct 2018 03:29:08 -0700 Received: from pgsmsx103.gar.corp.intel.com ([169.254.2.13]) by KMSMSX155.gar.corp.intel.com ([169.254.15.88]) with mapi id 14.03.0319.002; Tue, 9 Oct 2018 18:29:07 +0800 From: "Zhao1, Wei" To: Luca Boccassi , "dev@dpdk.org" CC: "Lu, Wenzhuo" , "Zhang, Qi Z" Thread-Topic: [dpdk-dev] [PATCH] net/e1000: enable MSI-x for linkup and other events in 82574 Thread-Index: AQHUJdWuaWAWAh9t0E+RPK42VIDqhaUXI0RQgAAGZPA= Date: Tue, 9 Oct 2018 10:29:06 +0000 Message-ID: References: <20180727181317.7374-1-bluca@debian.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [172.30.20.205] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/e1000: enable MSI-x for linkup and other events in 82574 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: Tue, 09 Oct 2018 10:29:15 -0000 As datasheet list: Other Interrupt. Indicates one of the following interrupts was set: * Link Status Change. * Receiver Overrun. * MDIO Access Complete. * Small Receive Packet Detected. * Receive ACK Frame Detected. * Manageability Event Detected. Which is need when using DPDK? > -----Original Message----- > From: Zhao1, Wei > Sent: Tuesday, October 9, 2018 6:17 PM > To: 'Luca Boccassi' ; dev@dpdk.org > Cc: Lu, Wenzhuo ; Zhang, Qi Z > > Subject: RE: [dpdk-dev] [PATCH] net/e1000: enable MSI-x for linkup and > other events in 82574 >=20 > Hi, Luca Boccassi >=20 > 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? >=20 >=20 >=20 > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Luca Boccassi > > Sent: Saturday, July 28, 2018 2:13 AM > > To: dev@dpdk.org > > Cc: Lu, Wenzhuo ; Luca Boccassi > > > > 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 conditio= ns. > > 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 > > --- > > > > 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 =3D=3D 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 =3D 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