aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeerav Parikh <Neerav.Parikh@intel.com>2014-04-01 03:11:56 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-04-28 08:58:57 -0400
commit6bb3f23c55bc8c14e9721c64bf51a8290ee50779 (patch)
tree3ba6b3c382171c7115b3bbf05a96c0b6d09cf12a
parentf4f94b94d6d6923ba7abfd1eedf931dcc1ccbbd5 (diff)
i40e/i40evf: Retrieve and store missing link config information
Some information returned via "Get Link Status" command was not being cached in the struct i40e_link_status. Add this so the driver can utilize this information as needed. Change-ID: If084a0ae2a63b16b97572196b993742af2c67772 Signed-off-by: Neerav Parikh <neerav.parikh@intel.com> Acked-by: Greg Rose <gregory.v.rose@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_common.c7
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_type.h3
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40e_type.h3
3 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 55d029f78e9a..22eefda3a530 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -975,6 +975,13 @@ i40e_status i40e_aq_get_link_info(struct i40e_hw *hw,
975 hw_link_info->an_info = resp->an_info; 975 hw_link_info->an_info = resp->an_info;
976 hw_link_info->ext_info = resp->ext_info; 976 hw_link_info->ext_info = resp->ext_info;
977 hw_link_info->loopback = resp->loopback; 977 hw_link_info->loopback = resp->loopback;
978 hw_link_info->max_frame_size = le16_to_cpu(resp->max_frame_size);
979 hw_link_info->pacing = resp->config & I40E_AQ_CONFIG_PACING_MASK;
980
981 if (resp->config & I40E_AQ_CONFIG_CRC_ENA)
982 hw_link_info->crc_enable = true;
983 else
984 hw_link_info->crc_enable = false;
978 985
979 if (resp->command_flags & cpu_to_le16(I40E_AQ_LSE_ENABLE)) 986 if (resp->command_flags & cpu_to_le16(I40E_AQ_LSE_ENABLE))
980 hw_link_info->lse_enable = true; 987 hw_link_info->lse_enable = true;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index 668acc78d34e..c4df8bac2db1 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -167,6 +167,9 @@ struct i40e_link_status {
167 u8 loopback; 167 u8 loopback;
168 /* is Link Status Event notification to SW enabled */ 168 /* is Link Status Event notification to SW enabled */
169 bool lse_enable; 169 bool lse_enable;
170 u16 max_frame_size;
171 bool crc_enable;
172 u8 pacing;
170}; 173};
171 174
172struct i40e_phy_info { 175struct i40e_phy_info {
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_type.h b/drivers/net/ethernet/intel/i40evf/i40e_type.h
index 449a3be24210..51a6dee3c7b1 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40evf/i40e_type.h
@@ -173,6 +173,9 @@ struct i40e_link_status {
173 u8 loopback; 173 u8 loopback;
174 /* is Link Status Event notification to SW enabled */ 174 /* is Link Status Event notification to SW enabled */
175 bool lse_enable; 175 bool lse_enable;
176 u16 max_frame_size;
177 bool crc_enable;
178 u8 pacing;
176}; 179};
177 180
178struct i40e_phy_info { 181struct i40e_phy_info {