i40e: 25G FEC status improvements
authorMariusz Stachura <mariusz.stachura@intel.com>
Wed, 12 Jul 2017 09:46:14 +0000 (05:46 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 27 Aug 2017 23:01:03 +0000 (16:01 -0700)
This patch improves the system log message. The log message will
be expanded to include the FEC mode the FW requested before link
was established.

Signed-off-by: Mariusz Stachura <mariusz.stachura@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_main.c

index 3a6a752c6c58e360086fb876c44a0377a5549f36..5a06cd23b9e622837e5d63b6e2458673e09dbd62 100644 (file)
@@ -5354,6 +5354,7 @@ void i40e_print_link_message(struct i40e_vsi *vsi, bool isup)
        char *speed = "Unknown";
        char *fc = "Unknown";
        char *fec = "";
+       char *req_fec = "";
        char *an = "";
 
        new_speed = vsi->back->hw.phy.link_info.link_speed;
@@ -5415,6 +5416,7 @@ void i40e_print_link_message(struct i40e_vsi *vsi, bool isup)
        }
 
        if (vsi->back->hw.phy.link_info.link_speed == I40E_LINK_SPEED_25GB) {
+               req_fec = ", Requested FEC: None";
                fec = ", FEC: None";
                an = ", Autoneg: False";
 
@@ -5427,10 +5429,22 @@ void i40e_print_link_message(struct i40e_vsi *vsi, bool isup)
                else if (vsi->back->hw.phy.link_info.fec_info &
                         I40E_AQ_CONFIG_FEC_RS_ENA)
                        fec = ", FEC: CL108 RS-FEC";
+
+               /* 'CL108 RS-FEC' should be displayed when RS is requested, or
+                * both RS and FC are requested
+                */
+               if (vsi->back->hw.phy.link_info.req_fec_info &
+                   (I40E_AQ_REQUEST_FEC_KR | I40E_AQ_REQUEST_FEC_RS)) {
+                       if (vsi->back->hw.phy.link_info.req_fec_info &
+                           I40E_AQ_REQUEST_FEC_RS)
+                               req_fec = ", Requested FEC: CL108 RS-FEC";
+                       else
+                               req_fec = ", Requested FEC: CL74 FC-FEC/BASE-R";
+               }
        }
 
-       netdev_info(vsi->netdev, "NIC Link is Up, %sbps Full Duplex%s%s, Flow Control: %s\n",
-                   speed, fec, an, fc);
+       netdev_info(vsi->netdev, "NIC Link is Up, %sbps Full Duplex%s%s%s, Flow Control: %s\n",
+                   speed, req_fec, fec, an, fc);
 }
 
 /**