diff options
author | Michael Chan <michael.chan@broadcom.com> | 2016-04-05 14:08:55 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-05 16:20:45 -0400 |
commit | 11f15ed394782dd018d60a0bb550616a8571b43c (patch) | |
tree | bb5ce431a3e0416deb8434972b00e8221538eb5a | |
parent | 04c85bfb4f75d1dd02bc6e82698db701dd5ea8a9 (diff) |
bnxt_en: Update to Firmware 1.2.2 spec.
Use new field names in API structs and stop using deprecated fields
auto_link_speed and auto_duplex in phy_cfg/phy_qcfg structs.
Update copyright year to 2016.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.c | 20 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.h | 8 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 433 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 14 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h | 2 |
9 files changed, 431 insertions, 56 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 12a009d720cd..bfe98cbcefca 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -2763,7 +2763,7 @@ static int bnxt_hwrm_func_drv_rgtr(struct bnxt *bp) | |||
2763 | * only checks if it is non-zero to enable async event forwarding | 2763 | * only checks if it is non-zero to enable async event forwarding |
2764 | */ | 2764 | */ |
2765 | req.async_event_fwd[0] |= cpu_to_le32(1); | 2765 | req.async_event_fwd[0] |= cpu_to_le32(1); |
2766 | req.os_type = cpu_to_le16(1); | 2766 | req.os_type = cpu_to_le16(FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX); |
2767 | req.ver_maj = DRV_VER_MAJ; | 2767 | req.ver_maj = DRV_VER_MAJ; |
2768 | req.ver_min = DRV_VER_MIN; | 2768 | req.ver_min = DRV_VER_MIN; |
2769 | req.ver_upd = DRV_VER_UPD; | 2769 | req.ver_upd = DRV_VER_UPD; |
@@ -3726,7 +3726,7 @@ int bnxt_hwrm_func_qcaps(struct bnxt *bp) | |||
3726 | 3726 | ||
3727 | pf->fw_fid = le16_to_cpu(resp->fid); | 3727 | pf->fw_fid = le16_to_cpu(resp->fid); |
3728 | pf->port_id = le16_to_cpu(resp->port_id); | 3728 | pf->port_id = le16_to_cpu(resp->port_id); |
3729 | memcpy(pf->mac_addr, resp->perm_mac_address, ETH_ALEN); | 3729 | memcpy(pf->mac_addr, resp->mac_address, ETH_ALEN); |
3730 | memcpy(bp->dev->dev_addr, pf->mac_addr, ETH_ALEN); | 3730 | memcpy(bp->dev->dev_addr, pf->mac_addr, ETH_ALEN); |
3731 | pf->max_rsscos_ctxs = le16_to_cpu(resp->max_rsscos_ctx); | 3731 | pf->max_rsscos_ctxs = le16_to_cpu(resp->max_rsscos_ctx); |
3732 | pf->max_cp_rings = le16_to_cpu(resp->max_cmpl_rings); | 3732 | pf->max_cp_rings = le16_to_cpu(resp->max_cmpl_rings); |
@@ -3751,7 +3751,7 @@ int bnxt_hwrm_func_qcaps(struct bnxt *bp) | |||
3751 | struct bnxt_vf_info *vf = &bp->vf; | 3751 | struct bnxt_vf_info *vf = &bp->vf; |
3752 | 3752 | ||
3753 | vf->fw_fid = le16_to_cpu(resp->fid); | 3753 | vf->fw_fid = le16_to_cpu(resp->fid); |
3754 | memcpy(vf->mac_addr, resp->perm_mac_address, ETH_ALEN); | 3754 | memcpy(vf->mac_addr, resp->mac_address, ETH_ALEN); |
3755 | if (is_valid_ether_addr(vf->mac_addr)) | 3755 | if (is_valid_ether_addr(vf->mac_addr)) |
3756 | /* overwrite netdev dev_adr with admin VF MAC */ | 3756 | /* overwrite netdev dev_adr with admin VF MAC */ |
3757 | memcpy(bp->dev->dev_addr, vf->mac_addr, ETH_ALEN); | 3757 | memcpy(bp->dev->dev_addr, vf->mac_addr, ETH_ALEN); |
@@ -3842,6 +3842,8 @@ static int bnxt_hwrm_ver_get(struct bnxt *bp) | |||
3842 | 3842 | ||
3843 | memcpy(&bp->ver_resp, resp, sizeof(struct hwrm_ver_get_output)); | 3843 | memcpy(&bp->ver_resp, resp, sizeof(struct hwrm_ver_get_output)); |
3844 | 3844 | ||
3845 | bp->hwrm_spec_code = resp->hwrm_intf_maj << 16 | | ||
3846 | resp->hwrm_intf_min << 8 | resp->hwrm_intf_upd; | ||
3845 | if (resp->hwrm_intf_maj < 1) { | 3847 | if (resp->hwrm_intf_maj < 1) { |
3846 | netdev_warn(bp->dev, "HWRM interface %d.%d.%d is older than 1.0.0.\n", | 3848 | netdev_warn(bp->dev, "HWRM interface %d.%d.%d is older than 1.0.0.\n", |
3847 | resp->hwrm_intf_maj, resp->hwrm_intf_min, | 3849 | resp->hwrm_intf_maj, resp->hwrm_intf_min, |
@@ -4523,7 +4525,6 @@ static int bnxt_update_link(struct bnxt *bp, bool chng_link_state) | |||
4523 | else | 4525 | else |
4524 | link_info->link_speed = 0; | 4526 | link_info->link_speed = 0; |
4525 | link_info->force_link_speed = le16_to_cpu(resp->force_link_speed); | 4527 | link_info->force_link_speed = le16_to_cpu(resp->force_link_speed); |
4526 | link_info->auto_link_speed = le16_to_cpu(resp->auto_link_speed); | ||
4527 | link_info->support_speeds = le16_to_cpu(resp->support_speeds); | 4528 | link_info->support_speeds = le16_to_cpu(resp->support_speeds); |
4528 | link_info->auto_link_speeds = le16_to_cpu(resp->auto_link_speed_mask); | 4529 | link_info->auto_link_speeds = le16_to_cpu(resp->auto_link_speed_mask); |
4529 | link_info->lp_auto_link_speeds = | 4530 | link_info->lp_auto_link_speeds = |
@@ -4533,8 +4534,8 @@ static int bnxt_update_link(struct bnxt *bp, bool chng_link_state) | |||
4533 | link_info->phy_ver[1] = resp->phy_min; | 4534 | link_info->phy_ver[1] = resp->phy_min; |
4534 | link_info->phy_ver[2] = resp->phy_bld; | 4535 | link_info->phy_ver[2] = resp->phy_bld; |
4535 | link_info->media_type = resp->media_type; | 4536 | link_info->media_type = resp->media_type; |
4536 | link_info->transceiver = resp->transceiver_type; | 4537 | link_info->transceiver = resp->xcvr_pkg_type; |
4537 | link_info->phy_addr = resp->phy_addr; | 4538 | link_info->phy_addr = resp->eee_config_phy_addr; |
4538 | 4539 | ||
4539 | /* TODO: need to add more logic to report VF link */ | 4540 | /* TODO: need to add more logic to report VF link */ |
4540 | if (chng_link_state) { | 4541 | if (chng_link_state) { |
@@ -4581,7 +4582,7 @@ static void bnxt_hwrm_set_link_common(struct bnxt *bp, | |||
4581 | 4582 | ||
4582 | if (autoneg & BNXT_AUTONEG_SPEED) { | 4583 | if (autoneg & BNXT_AUTONEG_SPEED) { |
4583 | req->auto_mode |= | 4584 | req->auto_mode |= |
4584 | PORT_PHY_CFG_REQ_AUTO_MODE_MASK; | 4585 | PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK; |
4585 | 4586 | ||
4586 | req->enables |= cpu_to_le32( | 4587 | req->enables |= cpu_to_le32( |
4587 | PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK); | 4588 | PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK); |
@@ -4595,9 +4596,6 @@ static void bnxt_hwrm_set_link_common(struct bnxt *bp, | |||
4595 | req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_FORCE); | 4596 | req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_FORCE); |
4596 | } | 4597 | } |
4597 | 4598 | ||
4598 | /* currently don't support half duplex */ | ||
4599 | req->auto_duplex = PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL; | ||
4600 | req->enables |= cpu_to_le32(PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX); | ||
4601 | /* tell chimp that the setting takes effect immediately */ | 4599 | /* tell chimp that the setting takes effect immediately */ |
4602 | req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_RESET_PHY); | 4600 | req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_RESET_PHY); |
4603 | } | 4601 | } |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index 709b95b8fcba..e98c37ae81f2 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -11,7 +11,7 @@ | |||
11 | #define BNXT_H | 11 | #define BNXT_H |
12 | 12 | ||
13 | #define DRV_MODULE_NAME "bnxt_en" | 13 | #define DRV_MODULE_NAME "bnxt_en" |
14 | #define DRV_MODULE_VERSION "1.0.0" | 14 | #define DRV_MODULE_VERSION "1.2.0" |
15 | 15 | ||
16 | #define DRV_VER_MAJ 1 | 16 | #define DRV_VER_MAJ 1 |
17 | #define DRV_VER_MIN 0 | 17 | #define DRV_VER_MIN 0 |
@@ -788,7 +788,7 @@ struct bnxt_link_info { | |||
788 | #define BNXT_LINK_AUTO_ALLSPDS PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS | 788 | #define BNXT_LINK_AUTO_ALLSPDS PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS |
789 | #define BNXT_LINK_AUTO_ONESPD PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED | 789 | #define BNXT_LINK_AUTO_ONESPD PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED |
790 | #define BNXT_LINK_AUTO_ONEORBELOW PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW | 790 | #define BNXT_LINK_AUTO_ONEORBELOW PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW |
791 | #define BNXT_LINK_AUTO_MSK PORT_PHY_QCFG_RESP_AUTO_MODE_MASK | 791 | #define BNXT_LINK_AUTO_MSK PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK |
792 | #define PHY_VER_LEN 3 | 792 | #define PHY_VER_LEN 3 |
793 | u8 phy_ver[PHY_VER_LEN]; | 793 | u8 phy_ver[PHY_VER_LEN]; |
794 | u16 link_speed; | 794 | u16 link_speed; |
@@ -813,7 +813,6 @@ struct bnxt_link_info { | |||
813 | #define BNXT_LINK_SPEED_MSK_40GB PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB | 813 | #define BNXT_LINK_SPEED_MSK_40GB PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB |
814 | #define BNXT_LINK_SPEED_MSK_50GB PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB | 814 | #define BNXT_LINK_SPEED_MSK_50GB PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB |
815 | u16 lp_auto_link_speeds; | 815 | u16 lp_auto_link_speeds; |
816 | u16 auto_link_speed; | ||
817 | u16 force_link_speed; | 816 | u16 force_link_speed; |
818 | u32 preemphasis; | 817 | u32 preemphasis; |
819 | 818 | ||
@@ -940,6 +939,7 @@ struct bnxt { | |||
940 | 939 | ||
941 | u32 msg_enable; | 940 | u32 msg_enable; |
942 | 941 | ||
942 | u32 hwrm_spec_code; | ||
943 | u16 hwrm_cmd_seq; | 943 | u16 hwrm_cmd_seq; |
944 | u32 hwrm_intr_seq_id; | 944 | u32 hwrm_intr_seq_id; |
945 | void *hwrm_cmd_resp_addr; | 945 | void *hwrm_cmd_resp_addr; |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 2e472f6dbf2d..f103f9b06e6d 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -728,7 +728,7 @@ static int bnxt_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
728 | ethtool_speed = bnxt_fw_to_ethtool_speed(link_info->link_speed); | 728 | ethtool_speed = bnxt_fw_to_ethtool_speed(link_info->link_speed); |
729 | ethtool_cmd_speed_set(cmd, ethtool_speed); | 729 | ethtool_cmd_speed_set(cmd, ethtool_speed); |
730 | if (link_info->transceiver == | 730 | if (link_info->transceiver == |
731 | PORT_PHY_QCFG_RESP_TRANSCEIVER_TYPE_XCVR_INTERNAL) | 731 | PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL) |
732 | cmd->transceiver = XCVR_INTERNAL; | 732 | cmd->transceiver = XCVR_INTERNAL; |
733 | else | 733 | else |
734 | cmd->transceiver = XCVR_EXTERNAL; | 734 | cmd->transceiver = XCVR_EXTERNAL; |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h index 98fa81e08b58..b2d8bd3a37fb 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h index e0aac65c6d82..461675caaacd 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h index 4badbedcb421..80f95560086d 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -104,6 +104,7 @@ struct hwrm_async_event_cmpl { | |||
104 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_DCB_CONFIG_CHANGE (0x3UL << 0) | 104 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_DCB_CONFIG_CHANGE (0x3UL << 0) |
105 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED (0x4UL << 0) | 105 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED (0x4UL << 0) |
106 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED (0x5UL << 0) | 106 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED (0x5UL << 0) |
107 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE (0x6UL << 0) | ||
107 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_UNLOAD (0x10UL << 0) | 108 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_UNLOAD (0x10UL << 0) |
108 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_LOAD (0x11UL << 0) | 109 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_LOAD (0x11UL << 0) |
109 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD (0x20UL << 0) | 110 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD (0x20UL << 0) |
@@ -111,6 +112,7 @@ struct hwrm_async_event_cmpl { | |||
111 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR (0x30UL << 0) | 112 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR (0x30UL << 0) |
112 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_MAC_ADDR_CHANGE (0x31UL << 0) | 113 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_MAC_ADDR_CHANGE (0x31UL << 0) |
113 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_VF_COMM_STATUS_CHANGE (0x32UL << 0) | 114 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_VF_COMM_STATUS_CHANGE (0x32UL << 0) |
115 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE (0x33UL << 0) | ||
114 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR (0xffUL << 0) | 116 | #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR (0xffUL << 0) |
115 | __le32 event_data2; | 117 | __le32 event_data2; |
116 | u8 opaque_v; | 118 | u8 opaque_v; |
@@ -141,6 +143,7 @@ struct hwrm_async_event_cmpl_link_status_change { | |||
141 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE 0x1UL | 143 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE 0x1UL |
142 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_DOWN (0x0UL << 0) | 144 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_DOWN (0x0UL << 0) |
143 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP (0x1UL << 0) | 145 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP (0x1UL << 0) |
146 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_LAST HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP | ||
144 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_MASK 0xeUL | 147 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_MASK 0xeUL |
145 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_SFT 1 | 148 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_SFT 1 |
146 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0UL | 149 | #define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0UL |
@@ -195,6 +198,9 @@ struct hwrm_async_event_cmpl_link_speed_change { | |||
195 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_25GB (0xfaUL << 1) | 198 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_25GB (0xfaUL << 1) |
196 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_40GB (0x190UL << 1) | 199 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_40GB (0x190UL << 1) |
197 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_50GB (0x1f4UL << 1) | 200 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_50GB (0x1f4UL << 1) |
201 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_100GB (0x3e8UL << 1) | ||
202 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_10MB (0xffffUL << 1) | ||
203 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_LAST HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_10MB | ||
198 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0000UL | 204 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0000UL |
199 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_SFT 16 | 205 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_SFT 16 |
200 | }; | 206 | }; |
@@ -237,6 +243,55 @@ struct hwrm_async_event_cmpl_port_conn_not_allowed { | |||
237 | __le32 event_data1; | 243 | __le32 event_data1; |
238 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL | 244 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL |
239 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0 | 245 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0 |
246 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_MASK 0xff0000UL | ||
247 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_SFT 16 | ||
248 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_NONE (0x0UL << 16) | ||
249 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_DISABLETX (0x1UL << 16) | ||
250 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_WARNINGMSG (0x2UL << 16) | ||
251 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN (0x3UL << 16) | ||
252 | #define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_LAST HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN | ||
253 | }; | ||
254 | |||
255 | /* HWRM Asynchronous Event Completion Record for link speed config not allowed (16 bytes) */ | ||
256 | struct hwrm_async_event_cmpl_link_speed_cfg_not_allowed { | ||
257 | __le16 type; | ||
258 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_TYPE_MASK 0x3fUL | ||
259 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_TYPE_SFT 0 | ||
260 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT (0x2eUL << 0) | ||
261 | __le16 event_id; | ||
262 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED (0x5UL << 0) | ||
263 | __le32 event_data2; | ||
264 | u8 opaque_v; | ||
265 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_V 0x1UL | ||
266 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_OPAQUE_MASK 0xfeUL | ||
267 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_OPAQUE_SFT 1 | ||
268 | u8 timestamp_lo; | ||
269 | __le16 timestamp_hi; | ||
270 | __le32 event_data1; | ||
271 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL | ||
272 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0 | ||
273 | }; | ||
274 | |||
275 | /* HWRM Asynchronous Event Completion Record for link speed configuration change (16 bytes) */ | ||
276 | struct hwrm_async_event_cmpl_link_speed_cfg_change { | ||
277 | __le16 type; | ||
278 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_MASK 0x3fUL | ||
279 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_SFT 0 | ||
280 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT (0x2eUL << 0) | ||
281 | __le16 event_id; | ||
282 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE (0x6UL << 0) | ||
283 | __le32 event_data2; | ||
284 | u8 opaque_v; | ||
285 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_V 0x1UL | ||
286 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_MASK 0xfeUL | ||
287 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_SFT 1 | ||
288 | u8 timestamp_lo; | ||
289 | __le16 timestamp_hi; | ||
290 | __le32 event_data1; | ||
291 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffffUL | ||
292 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_SFT 0 | ||
293 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_SUPPORTED_LINK_SPEEDS_CHANGE 0x10000UL | ||
294 | #define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_ILLEGAL_LINK_SPEED_CFG 0x20000UL | ||
240 | }; | 295 | }; |
241 | 296 | ||
242 | /* HWRM Asynchronous Event Completion Record for Function Driver Unload (16 bytes) */ | 297 | /* HWRM Asynchronous Event Completion Record for Function Driver Unload (16 bytes) */ |
@@ -363,6 +418,47 @@ struct hwrm_async_event_cmpl_vf_mac_addr_change { | |||
363 | #define HWRM_ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_EVENT_DATA1_VF_ID_SFT 0 | 418 | #define HWRM_ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_EVENT_DATA1_VF_ID_SFT 0 |
364 | }; | 419 | }; |
365 | 420 | ||
421 | /* HWRM Asynchronous Event Completion Record for PF-VF communication status change (16 bytes) */ | ||
422 | struct hwrm_async_event_cmpl_pf_vf_comm_status_change { | ||
423 | __le16 type; | ||
424 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_TYPE_MASK 0x3fUL | ||
425 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_TYPE_SFT 0 | ||
426 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT (0x2eUL << 0) | ||
427 | __le16 event_id; | ||
428 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_EVENT_ID_PF_VF_COMM_STATUS_CHANGE (0x32UL << 0) | ||
429 | __le32 event_data2; | ||
430 | u8 opaque_v; | ||
431 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_V 0x1UL | ||
432 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_OPAQUE_MASK 0xfeUL | ||
433 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_OPAQUE_SFT 1 | ||
434 | u8 timestamp_lo; | ||
435 | __le16 timestamp_hi; | ||
436 | __le32 event_data1; | ||
437 | #define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_EVENT_DATA1_COMM_ESTABLISHED 0x1UL | ||
438 | }; | ||
439 | |||
440 | /* HWRM Asynchronous Event Completion Record for VF configuration change (16 bytes) */ | ||
441 | struct hwrm_async_event_cmpl_vf_cfg_change { | ||
442 | __le16 type; | ||
443 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_MASK 0x3fUL | ||
444 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_SFT 0 | ||
445 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT (0x2eUL << 0) | ||
446 | __le16 event_id; | ||
447 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE (0x33UL << 0) | ||
448 | __le32 event_data2; | ||
449 | u8 opaque_v; | ||
450 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_V 0x1UL | ||
451 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_MASK 0xfeUL | ||
452 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_SFT 1 | ||
453 | u8 timestamp_lo; | ||
454 | __le16 timestamp_hi; | ||
455 | __le32 event_data1; | ||
456 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MTU_CHANGE 0x1UL | ||
457 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MRU_CHANGE 0x2UL | ||
458 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_MAC_ADDR_CHANGE 0x4UL | ||
459 | #define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_VLAN_CHANGE 0x8UL | ||
460 | }; | ||
461 | |||
366 | /* HWRM Asynchronous Event Completion Record for HWRM Error (16 bytes) */ | 462 | /* HWRM Asynchronous Event Completion Record for HWRM Error (16 bytes) */ |
367 | struct hwrm_async_event_cmpl_hwrm_error { | 463 | struct hwrm_async_event_cmpl_hwrm_error { |
368 | __le16 type; | 464 | __le16 type; |
@@ -377,6 +473,7 @@ struct hwrm_async_event_cmpl_hwrm_error { | |||
377 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_WARNING (0x0UL << 0) | 473 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_WARNING (0x0UL << 0) |
378 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_NONFATAL (0x1UL << 0) | 474 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_NONFATAL (0x1UL << 0) |
379 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL (0x2UL << 0) | 475 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL (0x2UL << 0) |
476 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_LAST HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL | ||
380 | u8 opaque_v; | 477 | u8 opaque_v; |
381 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_V 0x1UL | 478 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_V 0x1UL |
382 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_OPAQUE_MASK 0xfeUL | 479 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_OPAQUE_MASK 0xfeUL |
@@ -387,12 +484,12 @@ struct hwrm_async_event_cmpl_hwrm_error { | |||
387 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA1_TIMESTAMP 0x1UL | 484 | #define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA1_TIMESTAMP 0x1UL |
388 | }; | 485 | }; |
389 | 486 | ||
390 | /* HW Resource Manager Specification 1.0.0 */ | 487 | /* HW Resource Manager Specification 1.2.2 */ |
391 | #define HWRM_VERSION_MAJOR 1 | 488 | #define HWRM_VERSION_MAJOR 1 |
392 | #define HWRM_VERSION_MINOR 0 | 489 | #define HWRM_VERSION_MINOR 2 |
393 | #define HWRM_VERSION_UPDATE 0 | 490 | #define HWRM_VERSION_UPDATE 2 |
394 | 491 | ||
395 | #define HWRM_VERSION_STR "1.0.0" | 492 | #define HWRM_VERSION_STR "1.2.2" |
396 | /* | 493 | /* |
397 | * Following is the signature for HWRM message field that indicates not | 494 | * Following is the signature for HWRM message field that indicates not |
398 | * applicable (All F's). Need to cast it the size of the field if needed. | 495 | * applicable (All F's). Need to cast it the size of the field if needed. |
@@ -444,7 +541,7 @@ struct cmd_nums { | |||
444 | #define HWRM_FUNC_BUF_RGTR (0x1fUL) | 541 | #define HWRM_FUNC_BUF_RGTR (0x1fUL) |
445 | #define HWRM_PORT_PHY_CFG (0x20UL) | 542 | #define HWRM_PORT_PHY_CFG (0x20UL) |
446 | #define HWRM_PORT_MAC_CFG (0x21UL) | 543 | #define HWRM_PORT_MAC_CFG (0x21UL) |
447 | #define RESERVED2 (0x22UL) | 544 | #define HWRM_PORT_TS_QUERY (0x22UL) |
448 | #define HWRM_PORT_QSTATS (0x23UL) | 545 | #define HWRM_PORT_QSTATS (0x23UL) |
449 | #define HWRM_PORT_LPBK_QSTATS (0x24UL) | 546 | #define HWRM_PORT_LPBK_QSTATS (0x24UL) |
450 | #define HWRM_PORT_CLR_STATS (0x25UL) | 547 | #define HWRM_PORT_CLR_STATS (0x25UL) |
@@ -452,6 +549,9 @@ struct cmd_nums { | |||
452 | #define HWRM_PORT_PHY_QCFG (0x27UL) | 549 | #define HWRM_PORT_PHY_QCFG (0x27UL) |
453 | #define HWRM_PORT_MAC_QCFG (0x28UL) | 550 | #define HWRM_PORT_MAC_QCFG (0x28UL) |
454 | #define HWRM_PORT_BLINK_LED (0x29UL) | 551 | #define HWRM_PORT_BLINK_LED (0x29UL) |
552 | #define HWRM_PORT_PHY_QCAPS (0x2aUL) | ||
553 | #define HWRM_PORT_PHY_I2C_WRITE (0x2bUL) | ||
554 | #define HWRM_PORT_PHY_I2C_READ (0x2cUL) | ||
455 | #define HWRM_QUEUE_QPORTCFG (0x30UL) | 555 | #define HWRM_QUEUE_QPORTCFG (0x30UL) |
456 | #define HWRM_QUEUE_QCFG (0x31UL) | 556 | #define HWRM_QUEUE_QCFG (0x31UL) |
457 | #define HWRM_QUEUE_CFG (0x32UL) | 557 | #define HWRM_QUEUE_CFG (0x32UL) |
@@ -531,6 +631,7 @@ struct cmd_nums { | |||
531 | __le16 unused_0[3]; | 631 | __le16 unused_0[3]; |
532 | }; | 632 | }; |
533 | 633 | ||
634 | /* Return Codes (8 bytes) */ | ||
534 | struct ret_codes { | 635 | struct ret_codes { |
535 | __le16 error_code; | 636 | __le16 error_code; |
536 | #define HWRM_ERR_CODE_SUCCESS (0x0UL) | 637 | #define HWRM_ERR_CODE_SUCCESS (0x0UL) |
@@ -875,10 +976,11 @@ struct hwrm_func_vf_cfg_input { | |||
875 | #define FUNC_VF_CFG_REQ_ENABLES_MTU 0x1UL | 976 | #define FUNC_VF_CFG_REQ_ENABLES_MTU 0x1UL |
876 | #define FUNC_VF_CFG_REQ_ENABLES_GUEST_VLAN 0x2UL | 977 | #define FUNC_VF_CFG_REQ_ENABLES_GUEST_VLAN 0x2UL |
877 | #define FUNC_VF_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4UL | 978 | #define FUNC_VF_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4UL |
979 | #define FUNC_VF_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x8UL | ||
878 | __le16 mtu; | 980 | __le16 mtu; |
879 | __le16 guest_vlan; | 981 | __le16 guest_vlan; |
880 | __le16 async_event_cr; | 982 | __le16 async_event_cr; |
881 | __le16 unused_0[3]; | 983 | u8 dflt_mac_addr[6]; |
882 | }; | 984 | }; |
883 | 985 | ||
884 | /* Output (16 bytes) */ | 986 | /* Output (16 bytes) */ |
@@ -917,7 +1019,8 @@ struct hwrm_func_qcaps_output { | |||
917 | __le32 flags; | 1019 | __le32 flags; |
918 | #define FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED 0x1UL | 1020 | #define FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED 0x1UL |
919 | #define FUNC_QCAPS_RESP_FLAGS_GLOBAL_MSIX_AUTOMASKING 0x2UL | 1021 | #define FUNC_QCAPS_RESP_FLAGS_GLOBAL_MSIX_AUTOMASKING 0x2UL |
920 | u8 perm_mac_address[6]; | 1022 | #define FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED 0x4UL |
1023 | u8 mac_address[6]; | ||
921 | __le16 max_rsscos_ctx; | 1024 | __le16 max_rsscos_ctx; |
922 | __le16 max_cmpl_rings; | 1025 | __le16 max_cmpl_rings; |
923 | __le16 max_tx_rings; | 1026 | __le16 max_tx_rings; |
@@ -942,6 +1045,67 @@ struct hwrm_func_qcaps_output { | |||
942 | u8 valid; | 1045 | u8 valid; |
943 | }; | 1046 | }; |
944 | 1047 | ||
1048 | /* hwrm_func_qcfg */ | ||
1049 | /* Input (24 bytes) */ | ||
1050 | struct hwrm_func_qcfg_input { | ||
1051 | __le16 req_type; | ||
1052 | __le16 cmpl_ring; | ||
1053 | __le16 seq_id; | ||
1054 | __le16 target_id; | ||
1055 | __le64 resp_addr; | ||
1056 | __le16 fid; | ||
1057 | __le16 unused_0[3]; | ||
1058 | }; | ||
1059 | |||
1060 | /* Output (72 bytes) */ | ||
1061 | struct hwrm_func_qcfg_output { | ||
1062 | __le16 error_code; | ||
1063 | __le16 req_type; | ||
1064 | __le16 seq_id; | ||
1065 | __le16 resp_len; | ||
1066 | __le16 fid; | ||
1067 | __le16 port_id; | ||
1068 | __le16 vlan; | ||
1069 | u8 unused_0; | ||
1070 | u8 unused_1; | ||
1071 | u8 mac_address[6]; | ||
1072 | __le16 pci_id; | ||
1073 | __le16 alloc_rsscos_ctx; | ||
1074 | __le16 alloc_cmpl_rings; | ||
1075 | __le16 alloc_tx_rings; | ||
1076 | __le16 alloc_rx_rings; | ||
1077 | __le16 alloc_l2_ctx; | ||
1078 | __le16 alloc_vnics; | ||
1079 | __le16 mtu; | ||
1080 | __le16 mru; | ||
1081 | __le16 stat_ctx_id; | ||
1082 | u8 port_partition_type; | ||
1083 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_SPF (0x0UL << 0) | ||
1084 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_MPFS (0x1UL << 0) | ||
1085 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_0 (0x2UL << 0) | ||
1086 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_5 (0x3UL << 0) | ||
1087 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR2_0 (0x4UL << 0) | ||
1088 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN (0xffUL << 0) | ||
1089 | u8 unused_2; | ||
1090 | __le16 dflt_vnic_id; | ||
1091 | u8 unused_3; | ||
1092 | u8 unused_4; | ||
1093 | __le32 min_bw; | ||
1094 | __le32 max_bw; | ||
1095 | u8 evb_mode; | ||
1096 | #define FUNC_QCFG_RESP_EVB_MODE_NO_EVB (0x0UL << 0) | ||
1097 | #define FUNC_QCFG_RESP_EVB_MODE_VEB (0x1UL << 0) | ||
1098 | #define FUNC_QCFG_RESP_EVB_MODE_VEPA (0x2UL << 0) | ||
1099 | u8 unused_5; | ||
1100 | __le16 unused_6; | ||
1101 | __le32 alloc_mcast_filters; | ||
1102 | __le32 alloc_hw_ring_grps; | ||
1103 | u8 unused_7; | ||
1104 | u8 unused_8; | ||
1105 | u8 unused_9; | ||
1106 | u8 valid; | ||
1107 | }; | ||
1108 | |||
945 | /* hwrm_func_cfg */ | 1109 | /* hwrm_func_cfg */ |
946 | /* Input (88 bytes) */ | 1110 | /* Input (88 bytes) */ |
947 | struct hwrm_func_cfg_input { | 1111 | struct hwrm_func_cfg_input { |
@@ -1171,6 +1335,7 @@ struct hwrm_func_drv_rgtr_input { | |||
1171 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_UNKNOWN (0x0UL << 0) | 1335 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_UNKNOWN (0x0UL << 0) |
1172 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_OTHER (0x1UL << 0) | 1336 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_OTHER (0x1UL << 0) |
1173 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_MSDOS (0xeUL << 0) | 1337 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_MSDOS (0xeUL << 0) |
1338 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WINDOWS (0x12UL << 0) | ||
1174 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_SOLARIS (0x1dUL << 0) | 1339 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_SOLARIS (0x1dUL << 0) |
1175 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX (0x24UL << 0) | 1340 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX (0x24UL << 0) |
1176 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_FREEBSD (0x2aUL << 0) | 1341 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_FREEBSD (0x2aUL << 0) |
@@ -1302,6 +1467,7 @@ struct hwrm_func_drv_qver_output { | |||
1302 | #define FUNC_DRV_QVER_RESP_OS_TYPE_UNKNOWN (0x0UL << 0) | 1467 | #define FUNC_DRV_QVER_RESP_OS_TYPE_UNKNOWN (0x0UL << 0) |
1303 | #define FUNC_DRV_QVER_RESP_OS_TYPE_OTHER (0x1UL << 0) | 1468 | #define FUNC_DRV_QVER_RESP_OS_TYPE_OTHER (0x1UL << 0) |
1304 | #define FUNC_DRV_QVER_RESP_OS_TYPE_MSDOS (0xeUL << 0) | 1469 | #define FUNC_DRV_QVER_RESP_OS_TYPE_MSDOS (0xeUL << 0) |
1470 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WINDOWS (0x12UL << 0) | ||
1305 | #define FUNC_DRV_QVER_RESP_OS_TYPE_SOLARIS (0x1dUL << 0) | 1471 | #define FUNC_DRV_QVER_RESP_OS_TYPE_SOLARIS (0x1dUL << 0) |
1306 | #define FUNC_DRV_QVER_RESP_OS_TYPE_LINUX (0x24UL << 0) | 1472 | #define FUNC_DRV_QVER_RESP_OS_TYPE_LINUX (0x24UL << 0) |
1307 | #define FUNC_DRV_QVER_RESP_OS_TYPE_FREEBSD (0x2aUL << 0) | 1473 | #define FUNC_DRV_QVER_RESP_OS_TYPE_FREEBSD (0x2aUL << 0) |
@@ -1317,7 +1483,7 @@ struct hwrm_func_drv_qver_output { | |||
1317 | }; | 1483 | }; |
1318 | 1484 | ||
1319 | /* hwrm_port_phy_cfg */ | 1485 | /* hwrm_port_phy_cfg */ |
1320 | /* Input (48 bytes) */ | 1486 | /* Input (56 bytes) */ |
1321 | struct hwrm_port_phy_cfg_input { | 1487 | struct hwrm_port_phy_cfg_input { |
1322 | __le16 req_type; | 1488 | __le16 req_type; |
1323 | __le16 cmpl_ring; | 1489 | __le16 cmpl_ring; |
@@ -1329,6 +1495,10 @@ struct hwrm_port_phy_cfg_input { | |||
1329 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DOWN 0x2UL | 1495 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DOWN 0x2UL |
1330 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE 0x4UL | 1496 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE 0x4UL |
1331 | #define PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG 0x8UL | 1497 | #define PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG 0x8UL |
1498 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_ENABLE 0x10UL | ||
1499 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_DISABLE 0x20UL | ||
1500 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_ENABLE 0x40UL | ||
1501 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_DISABLE 0x80UL | ||
1332 | __le32 enables; | 1502 | __le32 enables; |
1333 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE 0x1UL | 1503 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE 0x1UL |
1334 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX 0x2UL | 1504 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX 0x2UL |
@@ -1339,6 +1509,8 @@ struct hwrm_port_phy_cfg_input { | |||
1339 | #define PORT_PHY_CFG_REQ_ENABLES_LPBK 0x40UL | 1509 | #define PORT_PHY_CFG_REQ_ENABLES_LPBK 0x40UL |
1340 | #define PORT_PHY_CFG_REQ_ENABLES_PREEMPHASIS 0x80UL | 1510 | #define PORT_PHY_CFG_REQ_ENABLES_PREEMPHASIS 0x80UL |
1341 | #define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAUSE 0x100UL | 1511 | #define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAUSE 0x100UL |
1512 | #define PORT_PHY_CFG_REQ_ENABLES_EEE_LINK_SPEED_MASK 0x200UL | ||
1513 | #define PORT_PHY_CFG_REQ_ENABLES_TX_LPI_TIMER 0x400UL | ||
1342 | __le16 port_id; | 1514 | __le16 port_id; |
1343 | __le16 force_link_speed; | 1515 | __le16 force_link_speed; |
1344 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100MB (0x1UL << 0) | 1516 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100MB (0x1UL << 0) |
@@ -1350,12 +1522,14 @@ struct hwrm_port_phy_cfg_input { | |||
1350 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_25GB (0xfaUL << 0) | 1522 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_25GB (0xfaUL << 0) |
1351 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_40GB (0x190UL << 0) | 1523 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_40GB (0x190UL << 0) |
1352 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_50GB (0x1f4UL << 0) | 1524 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_50GB (0x1f4UL << 0) |
1525 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100GB (0x3e8UL << 0) | ||
1526 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB (0xffffUL << 0) | ||
1353 | u8 auto_mode; | 1527 | u8 auto_mode; |
1354 | #define PORT_PHY_CFG_REQ_AUTO_MODE_NONE (0x0UL << 0) | 1528 | #define PORT_PHY_CFG_REQ_AUTO_MODE_NONE (0x0UL << 0) |
1355 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ALL_SPEEDS (0x1UL << 0) | 1529 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ALL_SPEEDS (0x1UL << 0) |
1356 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_SPEED (0x2UL << 0) | 1530 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_SPEED (0x2UL << 0) |
1357 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_OR_BELOW (0x3UL << 0) | 1531 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_OR_BELOW (0x3UL << 0) |
1358 | #define PORT_PHY_CFG_REQ_AUTO_MODE_MASK (0x4UL << 0) | 1532 | #define PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK (0x4UL << 0) |
1359 | u8 auto_duplex; | 1533 | u8 auto_duplex; |
1360 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_HALF (0x0UL << 0) | 1534 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_HALF (0x0UL << 0) |
1361 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL (0x1UL << 0) | 1535 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL (0x1UL << 0) |
@@ -1363,6 +1537,7 @@ struct hwrm_port_phy_cfg_input { | |||
1363 | u8 auto_pause; | 1537 | u8 auto_pause; |
1364 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_TX 0x1UL | 1538 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_TX 0x1UL |
1365 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_RX 0x2UL | 1539 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_RX 0x2UL |
1540 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL | ||
1366 | u8 unused_0; | 1541 | u8 unused_0; |
1367 | __le16 auto_link_speed; | 1542 | __le16 auto_link_speed; |
1368 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100MB (0x1UL << 0) | 1543 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100MB (0x1UL << 0) |
@@ -1374,6 +1549,8 @@ struct hwrm_port_phy_cfg_input { | |||
1374 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_25GB (0xfaUL << 0) | 1549 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_25GB (0xfaUL << 0) |
1375 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_40GB (0x190UL << 0) | 1550 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_40GB (0x190UL << 0) |
1376 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_50GB (0x1f4UL << 0) | 1551 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_50GB (0x1f4UL << 0) |
1552 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100GB (0x3e8UL << 0) | ||
1553 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB (0xffffUL << 0) | ||
1377 | __le16 auto_link_speed_mask; | 1554 | __le16 auto_link_speed_mask; |
1378 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL | 1555 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL |
1379 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MB 0x2UL | 1556 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MB 0x2UL |
@@ -1386,6 +1563,9 @@ struct hwrm_port_phy_cfg_input { | |||
1386 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_25GB 0x100UL | 1563 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_25GB 0x100UL |
1387 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_40GB 0x200UL | 1564 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_40GB 0x200UL |
1388 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_50GB 0x400UL | 1565 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_50GB 0x400UL |
1566 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100GB 0x800UL | ||
1567 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL | ||
1568 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MB 0x2000UL | ||
1389 | u8 wirespeed; | 1569 | u8 wirespeed; |
1390 | #define PORT_PHY_CFG_REQ_WIRESPEED_OFF (0x0UL << 0) | 1570 | #define PORT_PHY_CFG_REQ_WIRESPEED_OFF (0x0UL << 0) |
1391 | #define PORT_PHY_CFG_REQ_WIRESPEED_ON (0x1UL << 0) | 1571 | #define PORT_PHY_CFG_REQ_WIRESPEED_ON (0x1UL << 0) |
@@ -1398,7 +1578,20 @@ struct hwrm_port_phy_cfg_input { | |||
1398 | #define PORT_PHY_CFG_REQ_FORCE_PAUSE_RX 0x2UL | 1578 | #define PORT_PHY_CFG_REQ_FORCE_PAUSE_RX 0x2UL |
1399 | u8 unused_1; | 1579 | u8 unused_1; |
1400 | __le32 preemphasis; | 1580 | __le32 preemphasis; |
1401 | __le32 unused_2; | 1581 | __le16 eee_link_speed_mask; |
1582 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD1 0x1UL | ||
1583 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_100MB 0x2UL | ||
1584 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD2 0x4UL | ||
1585 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_1GB 0x8UL | ||
1586 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD3 0x10UL | ||
1587 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD4 0x20UL | ||
1588 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_10GB 0x40UL | ||
1589 | u8 unused_2; | ||
1590 | u8 unused_3; | ||
1591 | __le32 tx_lpi_timer; | ||
1592 | __le32 unused_4; | ||
1593 | #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_MASK 0xffffffUL | ||
1594 | #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_SFT 0 | ||
1402 | }; | 1595 | }; |
1403 | 1596 | ||
1404 | /* Output (16 bytes) */ | 1597 | /* Output (16 bytes) */ |
@@ -1426,7 +1619,7 @@ struct hwrm_port_phy_qcfg_input { | |||
1426 | __le16 unused_0[3]; | 1619 | __le16 unused_0[3]; |
1427 | }; | 1620 | }; |
1428 | 1621 | ||
1429 | /* Output (48 bytes) */ | 1622 | /* Output (96 bytes) */ |
1430 | struct hwrm_port_phy_qcfg_output { | 1623 | struct hwrm_port_phy_qcfg_output { |
1431 | __le16 error_code; | 1624 | __le16 error_code; |
1432 | __le16 req_type; | 1625 | __le16 req_type; |
@@ -1447,6 +1640,8 @@ struct hwrm_port_phy_qcfg_output { | |||
1447 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_25GB (0xfaUL << 0) | 1640 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_25GB (0xfaUL << 0) |
1448 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_40GB (0x190UL << 0) | 1641 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_40GB (0x190UL << 0) |
1449 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_50GB (0x1f4UL << 0) | 1642 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_50GB (0x1f4UL << 0) |
1643 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_100GB (0x3e8UL << 0) | ||
1644 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_10MB (0xffffUL << 0) | ||
1450 | u8 duplex; | 1645 | u8 duplex; |
1451 | #define PORT_PHY_QCFG_RESP_DUPLEX_HALF (0x0UL << 0) | 1646 | #define PORT_PHY_QCFG_RESP_DUPLEX_HALF (0x0UL << 0) |
1452 | #define PORT_PHY_QCFG_RESP_DUPLEX_FULL (0x1UL << 0) | 1647 | #define PORT_PHY_QCFG_RESP_DUPLEX_FULL (0x1UL << 0) |
@@ -1465,6 +1660,9 @@ struct hwrm_port_phy_qcfg_output { | |||
1465 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_25GB 0x100UL | 1660 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_25GB 0x100UL |
1466 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB 0x200UL | 1661 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB 0x200UL |
1467 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB 0x400UL | 1662 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB 0x400UL |
1663 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100GB 0x800UL | ||
1664 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MBHD 0x1000UL | ||
1665 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MB 0x2000UL | ||
1468 | __le16 force_link_speed; | 1666 | __le16 force_link_speed; |
1469 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100MB (0x1UL << 0) | 1667 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100MB (0x1UL << 0) |
1470 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_1GB (0xaUL << 0) | 1668 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_1GB (0xaUL << 0) |
@@ -1475,15 +1673,18 @@ struct hwrm_port_phy_qcfg_output { | |||
1475 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_25GB (0xfaUL << 0) | 1673 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_25GB (0xfaUL << 0) |
1476 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_40GB (0x190UL << 0) | 1674 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_40GB (0x190UL << 0) |
1477 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_50GB (0x1f4UL << 0) | 1675 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_50GB (0x1f4UL << 0) |
1676 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100GB (0x3e8UL << 0) | ||
1677 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB (0xffffUL << 0) | ||
1478 | u8 auto_mode; | 1678 | u8 auto_mode; |
1479 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_NONE (0x0UL << 0) | 1679 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_NONE (0x0UL << 0) |
1480 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS (0x1UL << 0) | 1680 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS (0x1UL << 0) |
1481 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED (0x2UL << 0) | 1681 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED (0x2UL << 0) |
1482 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW (0x3UL << 0) | 1682 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW (0x3UL << 0) |
1483 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_MASK (0x4UL << 0) | 1683 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK (0x4UL << 0) |
1484 | u8 auto_pause; | 1684 | u8 auto_pause; |
1485 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_TX 0x1UL | 1685 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_TX 0x1UL |
1486 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_RX 0x2UL | 1686 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_RX 0x2UL |
1687 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL | ||
1487 | __le16 auto_link_speed; | 1688 | __le16 auto_link_speed; |
1488 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100MB (0x1UL << 0) | 1689 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100MB (0x1UL << 0) |
1489 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_1GB (0xaUL << 0) | 1690 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_1GB (0xaUL << 0) |
@@ -1494,6 +1695,8 @@ struct hwrm_port_phy_qcfg_output { | |||
1494 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_25GB (0xfaUL << 0) | 1695 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_25GB (0xfaUL << 0) |
1495 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_40GB (0x190UL << 0) | 1696 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_40GB (0x190UL << 0) |
1496 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_50GB (0x1f4UL << 0) | 1697 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_50GB (0x1f4UL << 0) |
1698 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100GB (0x3e8UL << 0) | ||
1699 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB (0xffffUL << 0) | ||
1497 | __le16 auto_link_speed_mask; | 1700 | __le16 auto_link_speed_mask; |
1498 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL | 1701 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL |
1499 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MB 0x2UL | 1702 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MB 0x2UL |
@@ -1506,6 +1709,9 @@ struct hwrm_port_phy_qcfg_output { | |||
1506 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_25GB 0x100UL | 1709 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_25GB 0x100UL |
1507 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_40GB 0x200UL | 1710 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_40GB 0x200UL |
1508 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_50GB 0x400UL | 1711 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_50GB 0x400UL |
1712 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100GB 0x800UL | ||
1713 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL | ||
1714 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MB 0x2000UL | ||
1509 | u8 wirespeed; | 1715 | u8 wirespeed; |
1510 | #define PORT_PHY_QCFG_RESP_WIRESPEED_OFF (0x0UL << 0) | 1716 | #define PORT_PHY_QCFG_RESP_WIRESPEED_OFF (0x0UL << 0) |
1511 | #define PORT_PHY_QCFG_RESP_WIRESPEED_ON (0x1UL << 0) | 1717 | #define PORT_PHY_QCFG_RESP_WIRESPEED_ON (0x1UL << 0) |
@@ -1516,31 +1722,49 @@ struct hwrm_port_phy_qcfg_output { | |||
1516 | u8 force_pause; | 1722 | u8 force_pause; |
1517 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_TX 0x1UL | 1723 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_TX 0x1UL |
1518 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_RX 0x2UL | 1724 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_RX 0x2UL |
1519 | u8 reserved1; | 1725 | u8 module_status; |
1726 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NONE (0x0UL << 0) | ||
1727 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_DISABLETX (0x1UL << 0) | ||
1728 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_WARNINGMSG (0x2UL << 0) | ||
1729 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_PWRDOWN (0x3UL << 0) | ||
1730 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTINSERTED (0x4UL << 0) | ||
1731 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE (0xffUL << 0) | ||
1520 | __le32 preemphasis; | 1732 | __le32 preemphasis; |
1521 | u8 phy_maj; | 1733 | u8 phy_maj; |
1522 | u8 phy_min; | 1734 | u8 phy_min; |
1523 | u8 phy_bld; | 1735 | u8 phy_bld; |
1524 | u8 phy_type; | 1736 | u8 phy_type; |
1525 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASECR4 (0x1UL << 0) | 1737 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_UNKNOWN (0x0UL << 0) |
1738 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASECR (0x1UL << 0) | ||
1526 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR4 (0x2UL << 0) | 1739 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR4 (0x2UL << 0) |
1527 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASELR4 (0x3UL << 0) | 1740 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASELR (0x3UL << 0) |
1528 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASESR4 (0x4UL << 0) | 1741 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASESR (0x4UL << 0) |
1529 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR2 (0x5UL << 0) | 1742 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR2 (0x5UL << 0) |
1530 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKX4 (0x6UL << 0) | 1743 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKX (0x6UL << 0) |
1531 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR (0x7UL << 0) | 1744 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR (0x7UL << 0) |
1532 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASET (0x8UL << 0) | 1745 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASET (0x8UL << 0) |
1746 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASETE (0x9UL << 0) | ||
1747 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_SGMIIEXTPHY (0xaUL << 0) | ||
1533 | u8 media_type; | 1748 | u8 media_type; |
1749 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN (0x0UL << 0) | ||
1534 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP (0x1UL << 0) | 1750 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP (0x1UL << 0) |
1535 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC (0x2UL << 0) | 1751 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC (0x2UL << 0) |
1536 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE (0x3UL << 0) | 1752 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE (0x3UL << 0) |
1537 | u8 transceiver_type; | 1753 | u8 xcvr_pkg_type; |
1538 | #define PORT_PHY_QCFG_RESP_TRANSCEIVER_TYPE_XCVR_INTERNAL (0x1UL << 0) | 1754 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL (0x1UL << 0) |
1539 | #define PORT_PHY_QCFG_RESP_TRANSCEIVER_TYPE_XCVR_EXTERNAL (0x2UL << 0) | 1755 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL (0x2UL << 0) |
1540 | u8 phy_addr; | 1756 | u8 eee_config_phy_addr; |
1541 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_MASK 0x1fUL | 1757 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_MASK 0x1fUL |
1542 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_SFT 0 | 1758 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_SFT 0 |
1543 | u8 unused_2; | 1759 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ENABLED 0x20UL |
1760 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ACTIVE 0x40UL | ||
1761 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_TX_LPI 0x80UL | ||
1762 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_MASK 0xe0UL | ||
1763 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_SFT 5 | ||
1764 | u8 parallel_detect; | ||
1765 | #define PORT_PHY_QCFG_RESP_PARALLEL_DETECT 0x1UL | ||
1766 | #define PORT_PHY_QCFG_RESP_RESERVED_MASK 0xfeUL | ||
1767 | #define PORT_PHY_QCFG_RESP_RESERVED_SFT 1 | ||
1544 | __le16 link_partner_adv_speeds; | 1768 | __le16 link_partner_adv_speeds; |
1545 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MBHD 0x1UL | 1769 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MBHD 0x1UL |
1546 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MB 0x2UL | 1770 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MB 0x2UL |
@@ -1553,15 +1777,48 @@ struct hwrm_port_phy_qcfg_output { | |||
1553 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_25GB 0x100UL | 1777 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_25GB 0x100UL |
1554 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_40GB 0x200UL | 1778 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_40GB 0x200UL |
1555 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_50GB 0x400UL | 1779 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_50GB 0x400UL |
1780 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100GB 0x800UL | ||
1781 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MBHD 0x1000UL | ||
1782 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MB 0x2000UL | ||
1556 | u8 link_partner_adv_auto_mode; | 1783 | u8 link_partner_adv_auto_mode; |
1557 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_NONE (0x0UL << 0) | 1784 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_NONE (0x0UL << 0) |
1558 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ALL_SPEEDS (0x1UL << 0) | 1785 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ALL_SPEEDS (0x1UL << 0) |
1559 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_SPEED (0x2UL << 0) | 1786 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_SPEED (0x2UL << 0) |
1560 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_OR_BELOW (0x3UL << 0) | 1787 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_OR_BELOW (0x3UL << 0) |
1561 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_MASK (0x4UL << 0) | 1788 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK (0x4UL << 0) |
1562 | u8 link_partner_adv_pause; | 1789 | u8 link_partner_adv_pause; |
1563 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_TX 0x1UL | 1790 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_TX 0x1UL |
1564 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_RX 0x2UL | 1791 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_RX 0x2UL |
1792 | __le16 adv_eee_link_speed_mask; | ||
1793 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL | ||
1794 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL | ||
1795 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL | ||
1796 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL | ||
1797 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL | ||
1798 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL | ||
1799 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL | ||
1800 | __le16 link_partner_adv_eee_link_speed_mask; | ||
1801 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL | ||
1802 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL | ||
1803 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL | ||
1804 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL | ||
1805 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL | ||
1806 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL | ||
1807 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL | ||
1808 | __le32 xcvr_identifier_type_tx_lpi_timer; | ||
1809 | #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_MASK 0xffffffUL | ||
1810 | #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_SFT 0 | ||
1811 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_MASK 0xff000000UL | ||
1812 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFT 24 | ||
1813 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_UNKNOWN (0x0UL << 24) | ||
1814 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFP (0x3UL << 24) | ||
1815 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP (0xcUL << 24) | ||
1816 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFPPLUS (0xdUL << 24) | ||
1817 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28 (0x11UL << 24) | ||
1818 | __le32 unused_1; | ||
1819 | char phy_vendor_name[16]; | ||
1820 | char phy_vendor_partnumber[16]; | ||
1821 | __le32 unused_2; | ||
1565 | u8 unused_3; | 1822 | u8 unused_3; |
1566 | u8 unused_4; | 1823 | u8 unused_4; |
1567 | u8 unused_5; | 1824 | u8 unused_5; |
@@ -1569,7 +1826,7 @@ struct hwrm_port_phy_qcfg_output { | |||
1569 | }; | 1826 | }; |
1570 | 1827 | ||
1571 | /* hwrm_port_mac_cfg */ | 1828 | /* hwrm_port_mac_cfg */ |
1572 | /* Input (32 bytes) */ | 1829 | /* Input (40 bytes) */ |
1573 | struct hwrm_port_mac_cfg_input { | 1830 | struct hwrm_port_mac_cfg_input { |
1574 | __le16 req_type; | 1831 | __le16 req_type; |
1575 | __le16 cmpl_ring; | 1832 | __le16 cmpl_ring; |
@@ -1581,6 +1838,10 @@ struct hwrm_port_mac_cfg_input { | |||
1581 | #define PORT_MAC_CFG_REQ_FLAGS_COS_ASSIGNMENT_ENABLE 0x2UL | 1838 | #define PORT_MAC_CFG_REQ_FLAGS_COS_ASSIGNMENT_ENABLE 0x2UL |
1582 | #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_ENABLE 0x4UL | 1839 | #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_ENABLE 0x4UL |
1583 | #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_ENABLE 0x8UL | 1840 | #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_ENABLE 0x8UL |
1841 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_ENABLE 0x10UL | ||
1842 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE 0x20UL | ||
1843 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_ENABLE 0x40UL | ||
1844 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_DISABLE 0x80UL | ||
1584 | __le32 enables; | 1845 | __le32 enables; |
1585 | #define PORT_MAC_CFG_REQ_ENABLES_IPG 0x1UL | 1846 | #define PORT_MAC_CFG_REQ_ENABLES_IPG 0x1UL |
1586 | #define PORT_MAC_CFG_REQ_ENABLES_LPBK 0x2UL | 1847 | #define PORT_MAC_CFG_REQ_ENABLES_LPBK 0x2UL |
@@ -1588,6 +1849,8 @@ struct hwrm_port_mac_cfg_input { | |||
1588 | #define PORT_MAC_CFG_REQ_ENABLES_LCOS_MAP_PRI 0x8UL | 1849 | #define PORT_MAC_CFG_REQ_ENABLES_LCOS_MAP_PRI 0x8UL |
1589 | #define PORT_MAC_CFG_REQ_ENABLES_TUNNEL_PRI2COS_MAP_PRI 0x10UL | 1850 | #define PORT_MAC_CFG_REQ_ENABLES_TUNNEL_PRI2COS_MAP_PRI 0x10UL |
1590 | #define PORT_MAC_CFG_REQ_ENABLES_DSCP2COS_MAP_PRI 0x20UL | 1851 | #define PORT_MAC_CFG_REQ_ENABLES_DSCP2COS_MAP_PRI 0x20UL |
1852 | #define PORT_MAC_CFG_REQ_ENABLES_RX_TS_CAPTURE_PTP_MSG_TYPE 0x40UL | ||
1853 | #define PORT_MAC_CFG_REQ_ENABLES_TX_TS_CAPTURE_PTP_MSG_TYPE 0x80UL | ||
1591 | __le16 port_id; | 1854 | __le16 port_id; |
1592 | u8 ipg; | 1855 | u8 ipg; |
1593 | u8 lpbk; | 1856 | u8 lpbk; |
@@ -1598,6 +1861,9 @@ struct hwrm_port_mac_cfg_input { | |||
1598 | u8 lcos_map_pri; | 1861 | u8 lcos_map_pri; |
1599 | u8 tunnel_pri2cos_map_pri; | 1862 | u8 tunnel_pri2cos_map_pri; |
1600 | u8 dscp2pri_map_pri; | 1863 | u8 dscp2pri_map_pri; |
1864 | __le16 rx_ts_capture_ptp_msg_type; | ||
1865 | __le16 tx_ts_capture_ptp_msg_type; | ||
1866 | __le32 unused_0; | ||
1601 | }; | 1867 | }; |
1602 | 1868 | ||
1603 | /* Output (16 bytes) */ | 1869 | /* Output (16 bytes) */ |
@@ -1754,7 +2020,79 @@ struct hwrm_port_blink_led_output { | |||
1754 | u8 valid; | 2020 | u8 valid; |
1755 | }; | 2021 | }; |
1756 | 2022 | ||
1757 | /* hwrm_queue_qportcfg */ | 2023 | /* hwrm_port_phy_qcaps */ |
2024 | /* Input (24 bytes) */ | ||
2025 | struct hwrm_port_phy_qcaps_input { | ||
2026 | __le16 req_type; | ||
2027 | __le16 cmpl_ring; | ||
2028 | __le16 seq_id; | ||
2029 | __le16 target_id; | ||
2030 | __le64 resp_addr; | ||
2031 | __le16 port_id; | ||
2032 | __le16 unused_0[3]; | ||
2033 | }; | ||
2034 | |||
2035 | /* Output (24 bytes) */ | ||
2036 | struct hwrm_port_phy_qcaps_output { | ||
2037 | __le16 error_code; | ||
2038 | __le16 req_type; | ||
2039 | __le16 seq_id; | ||
2040 | __le16 resp_len; | ||
2041 | u8 eee_supported; | ||
2042 | #define PORT_PHY_QCAPS_RESP_EEE_SUPPORTED 0x1UL | ||
2043 | #define PORT_PHY_QCAPS_RESP_RSVD1_MASK 0xfeUL | ||
2044 | #define PORT_PHY_QCAPS_RESP_RSVD1_SFT 1 | ||
2045 | u8 unused_0; | ||
2046 | __le16 supported_speeds_force_mode; | ||
2047 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MBHD 0x1UL | ||
2048 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MB 0x2UL | ||
2049 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GBHD 0x4UL | ||
2050 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GB 0x8UL | ||
2051 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2GB 0x10UL | ||
2052 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2_5GB 0x20UL | ||
2053 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10GB 0x40UL | ||
2054 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_20GB 0x80UL | ||
2055 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_25GB 0x100UL | ||
2056 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_40GB 0x200UL | ||
2057 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_50GB 0x400UL | ||
2058 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100GB 0x800UL | ||
2059 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MBHD 0x1000UL | ||
2060 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MB 0x2000UL | ||
2061 | __le16 supported_speeds_auto_mode; | ||
2062 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MBHD 0x1UL | ||
2063 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MB 0x2UL | ||
2064 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GBHD 0x4UL | ||
2065 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GB 0x8UL | ||
2066 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2GB 0x10UL | ||
2067 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2_5GB 0x20UL | ||
2068 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10GB 0x40UL | ||
2069 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_20GB 0x80UL | ||
2070 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_25GB 0x100UL | ||
2071 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_40GB 0x200UL | ||
2072 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_50GB 0x400UL | ||
2073 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100GB 0x800UL | ||
2074 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MBHD 0x1000UL | ||
2075 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MB 0x2000UL | ||
2076 | __le16 supported_speeds_eee_mode; | ||
2077 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD1 0x1UL | ||
2078 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_100MB 0x2UL | ||
2079 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD2 0x4UL | ||
2080 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_1GB 0x8UL | ||
2081 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD3 0x10UL | ||
2082 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD4 0x20UL | ||
2083 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_10GB 0x40UL | ||
2084 | __le32 tx_lpi_timer_low; | ||
2085 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_MASK 0xffffffUL | ||
2086 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_SFT 0 | ||
2087 | #define PORT_PHY_QCAPS_RESP_RSVD2_MASK 0xff000000UL | ||
2088 | #define PORT_PHY_QCAPS_RESP_RSVD2_SFT 24 | ||
2089 | __le32 valid_tx_lpi_timer_high; | ||
2090 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_MASK 0xffffffUL | ||
2091 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_SFT 0 | ||
2092 | #define PORT_PHY_QCAPS_RESP_VALID_MASK 0xff000000UL | ||
2093 | #define PORT_PHY_QCAPS_RESP_VALID_SFT 24 | ||
2094 | }; | ||
2095 | |||
1758 | /* Input (24 bytes) */ | 2096 | /* Input (24 bytes) */ |
1759 | struct hwrm_queue_qportcfg_input { | 2097 | struct hwrm_queue_qportcfg_input { |
1760 | __le16 req_type; | 2098 | __le16 req_type; |
@@ -1766,6 +2104,7 @@ struct hwrm_queue_qportcfg_input { | |||
1766 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH 0x1UL | 2104 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH 0x1UL |
1767 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2105 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_TX (0x0UL << 0) |
1768 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2106 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX (0x1UL << 0) |
2107 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_LAST QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX | ||
1769 | __le16 port_id; | 2108 | __le16 port_id; |
1770 | __le16 unused_0; | 2109 | __le16 unused_0; |
1771 | }; | 2110 | }; |
@@ -1838,6 +2177,7 @@ struct hwrm_queue_cfg_input { | |||
1838 | #define QUEUE_CFG_REQ_FLAGS_PATH 0x1UL | 2177 | #define QUEUE_CFG_REQ_FLAGS_PATH 0x1UL |
1839 | #define QUEUE_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2178 | #define QUEUE_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) |
1840 | #define QUEUE_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2179 | #define QUEUE_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) |
2180 | #define QUEUE_CFG_REQ_FLAGS_PATH_LAST QUEUE_CFG_REQ_FLAGS_PATH_RX | ||
1841 | __le32 enables; | 2181 | __le32 enables; |
1842 | #define QUEUE_CFG_REQ_ENABLES_DFLT_LEN 0x1UL | 2182 | #define QUEUE_CFG_REQ_ENABLES_DFLT_LEN 0x1UL |
1843 | #define QUEUE_CFG_REQ_ENABLES_SERVICE_PROFILE 0x2UL | 2183 | #define QUEUE_CFG_REQ_ENABLES_SERVICE_PROFILE 0x2UL |
@@ -1875,6 +2215,7 @@ struct hwrm_queue_buffers_cfg_input { | |||
1875 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH 0x1UL | 2215 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH 0x1UL |
1876 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2216 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) |
1877 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2217 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) |
2218 | #define QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH_LAST QUEUE_BUFFERS_CFG_REQ_FLAGS_PATH_RX | ||
1878 | __le32 enables; | 2219 | __le32 enables; |
1879 | #define QUEUE_BUFFERS_CFG_REQ_ENABLES_RESERVED 0x1UL | 2220 | #define QUEUE_BUFFERS_CFG_REQ_ENABLES_RESERVED 0x1UL |
1880 | #define QUEUE_BUFFERS_CFG_REQ_ENABLES_SHARED 0x2UL | 2221 | #define QUEUE_BUFFERS_CFG_REQ_ENABLES_SHARED 0x2UL |
@@ -1952,6 +2293,7 @@ struct hwrm_queue_pri2cos_cfg_input { | |||
1952 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH 0x1UL | 2293 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH 0x1UL |
1953 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2294 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) |
1954 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2295 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) |
2296 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX | ||
1955 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_IVLAN 0x2UL | 2297 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_IVLAN 0x2UL |
1956 | __le32 enables; | 2298 | __le32 enables; |
1957 | u8 port_id; | 2299 | u8 port_id; |
@@ -2158,6 +2500,8 @@ struct hwrm_vnic_cfg_input { | |||
2158 | #define VNIC_CFG_REQ_FLAGS_DEFAULT 0x1UL | 2500 | #define VNIC_CFG_REQ_FLAGS_DEFAULT 0x1UL |
2159 | #define VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE 0x2UL | 2501 | #define VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE 0x2UL |
2160 | #define VNIC_CFG_REQ_FLAGS_BD_STALL_MODE 0x4UL | 2502 | #define VNIC_CFG_REQ_FLAGS_BD_STALL_MODE 0x4UL |
2503 | #define VNIC_CFG_REQ_FLAGS_ROCE_DUAL_VNIC_MODE 0x8UL | ||
2504 | #define VNIC_CFG_REQ_FLAGS_ROCE_ONLY_VNIC_MODE 0x10UL | ||
2161 | __le32 enables; | 2505 | __le32 enables; |
2162 | #define VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP 0x1UL | 2506 | #define VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP 0x1UL |
2163 | #define VNIC_CFG_REQ_ENABLES_RSS_RULE 0x2UL | 2507 | #define VNIC_CFG_REQ_ENABLES_RSS_RULE 0x2UL |
@@ -2622,6 +2966,7 @@ struct hwrm_cfa_l2_filter_alloc_input { | |||
2622 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH 0x1UL | 2966 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH 0x1UL |
2623 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2967 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_TX (0x0UL << 0) |
2624 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2968 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX (0x1UL << 0) |
2969 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX | ||
2625 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x2UL | 2970 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x2UL |
2626 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_DROP 0x4UL | 2971 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_DROP 0x4UL |
2627 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_OUTERMOST 0x8UL | 2972 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_OUTERMOST 0x8UL |
@@ -2747,6 +3092,7 @@ struct hwrm_cfa_l2_filter_cfg_input { | |||
2747 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH 0x1UL | 3092 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH 0x1UL |
2748 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 3093 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) |
2749 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 3094 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) |
3095 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX | ||
2750 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_DROP 0x2UL | 3096 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_DROP 0x2UL |
2751 | __le32 enables; | 3097 | __le32 enables; |
2752 | #define CFA_L2_FILTER_CFG_REQ_ENABLES_DST_ID 0x1UL | 3098 | #define CFA_L2_FILTER_CFG_REQ_ENABLES_DST_ID 0x1UL |
@@ -3337,6 +3683,41 @@ struct hwrm_fw_reset_output { | |||
3337 | u8 valid; | 3683 | u8 valid; |
3338 | }; | 3684 | }; |
3339 | 3685 | ||
3686 | /* hwrm_fw_qstatus */ | ||
3687 | /* Input (24 bytes) */ | ||
3688 | struct hwrm_fw_qstatus_input { | ||
3689 | __le16 req_type; | ||
3690 | __le16 cmpl_ring; | ||
3691 | __le16 seq_id; | ||
3692 | __le16 target_id; | ||
3693 | __le64 resp_addr; | ||
3694 | u8 embedded_proc_type; | ||
3695 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_BOOT (0x0UL << 0) | ||
3696 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_MGMT (0x1UL << 0) | ||
3697 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_NETCTRL (0x2UL << 0) | ||
3698 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_ROCE (0x3UL << 0) | ||
3699 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_RSVD (0x4UL << 0) | ||
3700 | u8 unused_0[7]; | ||
3701 | }; | ||
3702 | |||
3703 | /* Output (16 bytes) */ | ||
3704 | struct hwrm_fw_qstatus_output { | ||
3705 | __le16 error_code; | ||
3706 | __le16 req_type; | ||
3707 | __le16 seq_id; | ||
3708 | __le16 resp_len; | ||
3709 | u8 selfrst_status; | ||
3710 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTNONE (0x0UL << 0) | ||
3711 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTASAP (0x1UL << 0) | ||
3712 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPCIERST (0x2UL << 0) | ||
3713 | u8 unused_0; | ||
3714 | __le16 unused_1; | ||
3715 | u8 unused_2; | ||
3716 | u8 unused_3; | ||
3717 | u8 unused_4; | ||
3718 | u8 valid; | ||
3719 | }; | ||
3720 | |||
3340 | /* hwrm_exec_fwd_resp */ | 3721 | /* hwrm_exec_fwd_resp */ |
3341 | /* Input (128 bytes) */ | 3722 | /* Input (128 bytes) */ |
3342 | struct hwrm_exec_fwd_resp_input { | 3723 | struct hwrm_exec_fwd_resp_input { |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h index 43ef392c8588..40a7b0e09612 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c index 0c5f510492f1..8457850b0bdd 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -771,12 +771,8 @@ static int bnxt_vf_set_link(struct bnxt *bp, struct bnxt_vf_info *vf) | |||
771 | PORT_PHY_QCFG_RESP_LINK_NO_LINK) { | 771 | PORT_PHY_QCFG_RESP_LINK_NO_LINK) { |
772 | phy_qcfg_resp.link = | 772 | phy_qcfg_resp.link = |
773 | PORT_PHY_QCFG_RESP_LINK_LINK; | 773 | PORT_PHY_QCFG_RESP_LINK_LINK; |
774 | if (phy_qcfg_resp.auto_link_speed) | 774 | phy_qcfg_resp.link_speed = cpu_to_le16( |
775 | phy_qcfg_resp.link_speed = | 775 | PORT_PHY_QCFG_RESP_LINK_SPEED_10GB); |
776 | phy_qcfg_resp.auto_link_speed; | ||
777 | else | ||
778 | phy_qcfg_resp.link_speed = | ||
779 | phy_qcfg_resp.force_link_speed; | ||
780 | phy_qcfg_resp.duplex = | 776 | phy_qcfg_resp.duplex = |
781 | PORT_PHY_QCFG_RESP_DUPLEX_FULL; | 777 | PORT_PHY_QCFG_RESP_DUPLEX_FULL; |
782 | phy_qcfg_resp.pause = | 778 | phy_qcfg_resp.pause = |
@@ -859,8 +855,8 @@ void bnxt_update_vf_mac(struct bnxt *bp) | |||
859 | * default but the stored zero MAC will allow the VF user to change | 855 | * default but the stored zero MAC will allow the VF user to change |
860 | * the random MAC address using ndo_set_mac_address() if he wants. | 856 | * the random MAC address using ndo_set_mac_address() if he wants. |
861 | */ | 857 | */ |
862 | if (!ether_addr_equal(resp->perm_mac_address, bp->vf.mac_addr)) | 858 | if (!ether_addr_equal(resp->mac_address, bp->vf.mac_addr)) |
863 | memcpy(bp->vf.mac_addr, resp->perm_mac_address, ETH_ALEN); | 859 | memcpy(bp->vf.mac_addr, resp->mac_address, ETH_ALEN); |
864 | 860 | ||
865 | /* overwrite netdev dev_addr with admin VF MAC */ | 861 | /* overwrite netdev dev_addr with admin VF MAC */ |
866 | if (is_valid_ether_addr(bp->vf.mac_addr)) | 862 | if (is_valid_ether_addr(bp->vf.mac_addr)) |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h index c151280e3980..3f08354a247e 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2015 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |