i40e/i40evf: Cache the CEE TLV status returned from firmware
authorNeerav Parikh <neerav.parikh@intel.com>
Fri, 10 Jul 2015 23:36:09 +0000 (19:36 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 26 Aug 2015 22:12:16 +0000 (15:12 -0700)
Store the CEE TLV status returned by firmware to allow drivers to dump that
for debug purposes.

Change-ID: Ie3c4cf8cebabee4f15e1e3fdc4fc8a68bbca40ee
Signed-off-by: Neerav Parikh <neerav.parikh@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_dcb.c
drivers/net/ethernet/intel/i40e/i40e_type.h
drivers/net/ethernet/intel/i40evf/i40e_type.h

index 2547aa21b2cac5efa2d3d9d15bcbc9f2529549d7..90de46aef557927e283b81a6ca2674af764d7b06 100644 (file)
@@ -588,6 +588,8 @@ i40e_status i40e_get_dcb_config(struct i40e_hw *hw)
                if (!ret) {
                        /* CEE mode */
                        hw->local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_CEE;
+                       hw->local_dcbx_config.tlv_status =
+                                       le16_to_cpu(cee_v1_cfg.tlv_status);
                        i40e_cee_to_dcb_v1_config(&cee_v1_cfg,
                                                  &hw->local_dcbx_config);
                }
@@ -597,6 +599,8 @@ i40e_status i40e_get_dcb_config(struct i40e_hw *hw)
                if (!ret) {
                        /* CEE mode */
                        hw->local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_CEE;
+                       hw->local_dcbx_config.tlv_status =
+                                       le32_to_cpu(cee_cfg.tlv_status);
                        i40e_cee_to_dcb_config(&cee_cfg,
                                               &hw->local_dcbx_config);
                }
index acb2aad54b48b3be1c6248bf67d873c0916ffca9..4842239ee77791e6ed428d38837fb59e37e0a524 100644 (file)
@@ -440,6 +440,7 @@ struct i40e_dcbx_config {
 #define I40E_DCBX_MODE_CEE     0x1
 #define I40E_DCBX_MODE_IEEE    0x2
        u32 numapps;
+       u32 tlv_status; /* CEE mode TLV status */
        struct i40e_dcb_ets_config etscfg;
        struct i40e_dcb_ets_config etsrec;
        struct i40e_dcb_pfc_config pfc;
index 1ab2498d68df2938fbfcee2c550873664fd5883f..24a2693869a109af5725bd9182a66cbadfc6bd7e 100644 (file)
@@ -434,6 +434,7 @@ struct i40e_ieee_app_priority_table {
 
 struct i40e_dcbx_config {
        u32 numapps;
+       u32 tlv_status; /* CEE mode TLV status */
        struct i40e_ieee_ets_config etscfg;
        struct i40e_ieee_ets_recommend etsrec;
        struct i40e_ieee_pfc_config pfc;