[dpdk-dev] [PATCH 1/5] net/txgbe: update device ID
Ferruh Yigit
ferruh.yigit at intel.com
Tue Mar 9 15:25:08 CET 2021
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 <jiawenwu at trustnetic.com>
> ---
> 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.
More information about the dev
mailing list