From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4DA12A0567; Tue, 9 Mar 2021 15:25:15 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2EB884069D; Tue, 9 Mar 2021 15:25:15 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 4A12A4068A for ; Tue, 9 Mar 2021 15:25:14 +0100 (CET) IronPort-SDR: otnNUe5ZNlJNceNhs7lA0xaW50gwhag637g9fsA0T0OmW8SVuRo6k1sLpusMC1I8qzQfRE/7QS U/Q7qF1xcurw== X-IronPort-AV: E=McAfee;i="6000,8403,9918"; a="185862674" X-IronPort-AV: E=Sophos;i="5.81,234,1610438400"; d="scan'208";a="185862674" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Mar 2021 06:25:13 -0800 IronPort-SDR: 62dWq/2oAg5cSFzw0WEP2p5LuyYS0a3+NjOuztYLG9naODtUZD6VazDNGPVAQawFH46e0OeMri /lOlQ+K2Dg0Q== X-IronPort-AV: E=Sophos;i="5.81,234,1610438400"; d="scan'208";a="409750725" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.196.3]) ([10.213.196.3]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Mar 2021 06:25:12 -0800 To: Jiawen Wu , dev@dpdk.org References: <20210305112359.16716-1-jiawenwu@trustnetic.com> <20210305112359.16716-2-jiawenwu@trustnetic.com> From: Ferruh Yigit X-User: ferruhy Message-ID: Date: Tue, 9 Mar 2021 14:25:08 +0000 MIME-Version: 1.0 In-Reply-To: <20210305112359.16716-2-jiawenwu@trustnetic.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH 1/5] net/txgbe: update device ID X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 3/5/2021 11:23 AM, Jiawen Wu wrote: > For more different devices, update device ID and subsystem id. > > Signed-off-by: Jiawen Wu > --- > drivers/net/txgbe/base/txgbe_devids.h | 44 ++++++++++++++------- > drivers/net/txgbe/base/txgbe_hw.c | 55 ++++++++++++--------------- > drivers/net/txgbe/base/txgbe_phy.c | 40 +++++++++++-------- > drivers/net/txgbe/txgbe_ethdev.c | 4 +- > drivers/net/txgbe/txgbe_ethdev_vf.c | 4 +- > 5 files changed, 84 insertions(+), 63 deletions(-) > > diff --git a/drivers/net/txgbe/base/txgbe_devids.h b/drivers/net/txgbe/base/txgbe_devids.h > index 744f2f3b5..cb186170e 100644 > --- a/drivers/net/txgbe/base/txgbe_devids.h > +++ b/drivers/net/txgbe/base/txgbe_devids.h > @@ -15,22 +15,40 @@ > /* > * Device IDs > */ > -#define TXGBE_DEV_ID_RAPTOR_VF 0x1000 > -#define TXGBE_DEV_ID_RAPTOR_SFP 0x1001 /* fiber */ > -#define TXGBE_DEV_ID_RAPTOR_KR_KX_KX4 0x1002 /* backplane */ > -#define TXGBE_DEV_ID_RAPTOR_XAUI 0x1003 /* copper */ > -#define TXGBE_DEV_ID_RAPTOR_SGMII 0x1004 /* copper */ > -#define TXGBE_DEV_ID_RAPTOR_QSFP 0x1011 /* fiber */ > -#define TXGBE_DEV_ID_RAPTOR_VF_HV 0x2000 > -#define TXGBE_DEV_ID_RAPTOR_T3_LOM 0x2001 > - > -#define TXGBE_DEV_ID_WX1820_SFP 0x2001 > +#define TXGBE_DEV_ID_SP1000 0x1001 > +#define TXGBE_DEV_ID_WX1820 0x2001 > +#define TXGBE_DEV_ID_SP1000_VF 0x1000 > +#define TXGBE_DEV_ID_WX1820_VF 0x2000 > > /* > - * Subdevice IDs > + * Subsystem IDs > */ > -#define TXGBE_SUBDEV_ID_RAPTOR 0x0000 > -#define TXGBE_SUBDEV_ID_MPW 0x0001 > +/* SFP */ > +#define TXGBE_DEV_ID_SP1000_SFP 0x0000 > +#define TXGBE_DEV_ID_WX1820_SFP 0x2000 > +#define TXGBE_DEV_ID_SFP 0x00 Just for double check, is id '0x0000' valid, from the overall SP/WX logic it looks like it should be '0x1000'. > +/* copper */ > +#define TXGBE_DEV_ID_SP1000_XAUI 0x1010 > +#define TXGBE_DEV_ID_WX1820_XAUI 0x2010 > +#define TXGBE_DEV_ID_XAUI 0x10 > +#define TXGBE_DEV_ID_SP1000_SGMII 0x1020 > +#define TXGBE_DEV_ID_WX1820_SGMII 0x2020 > +#define TXGBE_DEV_ID_SGMII 0x20 > +/* backplane */ > +#define TXGBE_DEV_ID_SP1000_KR_KX_KX4 0x1030 > +#define TXGBE_DEV_ID_WX1820_KR_KX_KX4 0x2030 > +#define TXGBE_DEV_ID_KR_KX_KX4 0x30 > +/* MAC Interface */ > +#define TXGBE_DEV_ID_SP1000_MAC_XAUI 0x1040 > +#define TXGBE_DEV_ID_WX1820_MAC_XAUI 0x2040 > +#define TXGBE_DEV_ID_MAC_XAUI 0x40 > +#define TXGBE_DEV_ID_SP1000_MAC_SGMII 0x1060 > +#define TXGBE_DEV_ID_WX1820_MAC_SGMII 0x2060 > +#define TXGBE_DEV_ID_MAC_SGMII 0x60 > +/* combined interface*/ > +#define TXGBE_DEV_ID_SFI_XAUI 0x50 > +/* fiber qsfp*/ > +#define TXGBE_DEV_ID_QSFP 0x11 > > #define TXGBE_ETHERTYPE_FLOW_CTRL 0x8808 > #define TXGBE_ETHERTYPE_IEEE_VLAN 0x8100 /* 802.1q protocol */ > diff --git a/drivers/net/txgbe/base/txgbe_hw.c b/drivers/net/txgbe/base/txgbe_hw.c > index 3cee8b857..7a3e9510c 100644 > --- a/drivers/net/txgbe/base/txgbe_hw.c > +++ b/drivers/net/txgbe/base/txgbe_hw.c > @@ -60,9 +60,9 @@ bool txgbe_device_supports_autoneg_fc(struct txgbe_hw *hw) > break; > case txgbe_media_type_copper: > /* only some copper devices support flow control autoneg */ > - switch (hw->device_id) { > - case TXGBE_DEV_ID_RAPTOR_XAUI: > - case TXGBE_DEV_ID_RAPTOR_SGMII: > + switch (hw->device_id & 0xFF) { > + case TXGBE_DEV_ID_XAUI: > + case TXGBE_DEV_ID_SGMII: Should this be "hw->subsystem_device_id & 0xFF", instead of 'hw->device_id' as has been a few below instances? If the 'hw->device_id' is the pci device id, the 'hw->device_id & 0xFF' can be 0 or 1, both don't match the cases in the switch.