浏览代码

bnx2x: allow all functions to display the phy FW version

The phy FW version is stored in regular memory, no MDC-MDIO access or
any special locks are required to read it in the current implementation.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mintz Yuval 13 年之前
父节点
当前提交
a1e785e02b

+ 2 - 8
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c

@@ -806,14 +806,8 @@ static void bnx2x_get_drvinfo(struct net_device *dev,
 	strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version));
 	strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version));
 
 
 	phy_fw_ver[0] = '\0';
 	phy_fw_ver[0] = '\0';
-	if (bp->port.pmf) {
-		bnx2x_acquire_phy_lock(bp);
-		bnx2x_get_ext_phy_fw_version(&bp->link_params,
-					     (bp->state != BNX2X_STATE_CLOSED),
-					     phy_fw_ver, PHY_FW_VER_LEN);
-		bnx2x_release_phy_lock(bp);
-	}
-
+	bnx2x_get_ext_phy_fw_version(&bp->link_params,
+				     phy_fw_ver, PHY_FW_VER_LEN);
 	strlcpy(info->fw_version, bp->fw_ver, sizeof(info->fw_version));
 	strlcpy(info->fw_version, bp->fw_ver, sizeof(info->fw_version));
 	snprintf(info->fw_version + strlen(bp->fw_ver), 32 - strlen(bp->fw_ver),
 	snprintf(info->fw_version + strlen(bp->fw_ver), 32 - strlen(bp->fw_ver),
 		 "bc %d.%d.%d%s%s",
 		 "bc %d.%d.%d%s%s",

+ 2 - 2
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c

@@ -6042,8 +6042,8 @@ static int bnx2x_null_format_ver(u32 spirom_ver, u8 *str, u16 *len)
 	return 0;
 	return 0;
 }
 }
 
 
-int bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 driver_loaded,
-				 u8 *version, u16 len)
+int bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 *version,
+				 u16 len)
 {
 {
 	struct bnx2x *bp;
 	struct bnx2x *bp;
 	u32 spirom_ver = 0;
 	u32 spirom_ver = 0;

+ 2 - 2
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h

@@ -337,8 +337,8 @@ int bnx2x_phy_write(struct link_params *params, u8 phy_addr,
 void bnx2x_link_status_update(struct link_params *input,
 void bnx2x_link_status_update(struct link_params *input,
 			    struct link_vars *output);
 			    struct link_vars *output);
 /* returns string representing the fw_version of the external phy */
 /* returns string representing the fw_version of the external phy */
-int bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 driver_loaded,
-				 u8 *version, u16 len);
+int bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 *version,
+				 u16 len);
 
 
 /* Set/Unset the led
 /* Set/Unset the led
    Basically, the CLC takes care of the led for the link, but in case one needs
    Basically, the CLC takes care of the led for the link, but in case one needs