Commit 16b496fd authored by Jian Shen's avatar Jian Shen Committed by David S. Miller

net: hns3: Remove unused led control code

In the previous implementation of led control for fibre port , parses the
port speed configuration, checks the link status and traffic status per
second, and updates the blink status of link led, traffic led and speed
led.

Now, the firmware takes responsibility to handle the led, the dirver just
needs to deal with locate command.

So the codes for link led, traffic led and speed led are useless now. This
patch removes these redundant codes.
Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarSalil Mehta <salil.mehta@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7b763f3f
...@@ -115,7 +115,6 @@ enum hclge_opcode_type { ...@@ -115,7 +115,6 @@ enum hclge_opcode_type {
HCLGE_OPC_QUERY_LINK_STATUS = 0x0307, HCLGE_OPC_QUERY_LINK_STATUS = 0x0307,
HCLGE_OPC_CONFIG_MAX_FRM_SIZE = 0x0308, HCLGE_OPC_CONFIG_MAX_FRM_SIZE = 0x0308,
HCLGE_OPC_CONFIG_SPEED_DUP = 0x0309, HCLGE_OPC_CONFIG_SPEED_DUP = 0x0309,
HCLGE_OPC_STATS_MAC_TRAFFIC = 0x0314,
/* MACSEC command */ /* MACSEC command */
/* PFC/Pause CMD*/ /* PFC/Pause CMD*/
......
...@@ -39,7 +39,6 @@ static int hclge_set_mta_filter_mode(struct hclge_dev *hdev, ...@@ -39,7 +39,6 @@ static int hclge_set_mta_filter_mode(struct hclge_dev *hdev,
static int hclge_set_mtu(struct hnae3_handle *handle, int new_mtu); static int hclge_set_mtu(struct hnae3_handle *handle, int new_mtu);
static int hclge_init_vlan_config(struct hclge_dev *hdev); static int hclge_init_vlan_config(struct hclge_dev *hdev);
static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev); static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev);
static int hclge_update_led_status(struct hclge_dev *hdev);
static struct hnae3_ae_algo ae_algo; static struct hnae3_ae_algo ae_algo;
...@@ -504,38 +503,6 @@ static int hclge_32_bit_update_stats(struct hclge_dev *hdev) ...@@ -504,38 +503,6 @@ static int hclge_32_bit_update_stats(struct hclge_dev *hdev)
return 0; return 0;
} }
static int hclge_mac_get_traffic_stats(struct hclge_dev *hdev)
{
struct hclge_mac_stats *mac_stats = &hdev->hw_stats.mac_stats;
struct hclge_desc desc;
__le64 *desc_data;
int ret;
/* for fiber port, need to query the total rx/tx packets statstics,
* used for data transferring checking.
*/
if (hdev->hw.mac.media_type != HNAE3_MEDIA_TYPE_FIBER)
return 0;
if (test_bit(HCLGE_STATE_STATISTICS_UPDATING, &hdev->state))
return 0;
hclge_cmd_setup_basic_desc(&desc, HCLGE_OPC_STATS_MAC_TRAFFIC, true);
ret = hclge_cmd_send(&hdev->hw, &desc, 1);
if (ret) {
dev_err(&hdev->pdev->dev,
"Get MAC total pkt stats fail, ret = %d\n", ret);
return ret;
}
desc_data = (__le64 *)(&desc.data[0]);
mac_stats->mac_tx_total_pkt_num += le64_to_cpu(*desc_data++);
mac_stats->mac_rx_total_pkt_num += le64_to_cpu(*desc_data);
return 0;
}
static int hclge_mac_update_stats(struct hclge_dev *hdev) static int hclge_mac_update_stats(struct hclge_dev *hdev)
{ {
#define HCLGE_MAC_CMD_NUM 21 #define HCLGE_MAC_CMD_NUM 21
...@@ -2916,20 +2883,13 @@ static void hclge_service_task(struct work_struct *work) ...@@ -2916,20 +2883,13 @@ static void hclge_service_task(struct work_struct *work)
struct hclge_dev *hdev = struct hclge_dev *hdev =
container_of(work, struct hclge_dev, service_task); container_of(work, struct hclge_dev, service_task);
/* The total rx/tx packets statstics are wanted to be updated
* per second. Both hclge_update_stats_for_all() and
* hclge_mac_get_traffic_stats() can do it.
*/
if (hdev->hw_stats.stats_timer >= HCLGE_STATS_TIMER_INTERVAL) { if (hdev->hw_stats.stats_timer >= HCLGE_STATS_TIMER_INTERVAL) {
hclge_update_stats_for_all(hdev); hclge_update_stats_for_all(hdev);
hdev->hw_stats.stats_timer = 0; hdev->hw_stats.stats_timer = 0;
} else {
hclge_mac_get_traffic_stats(hdev);
} }
hclge_update_speed_duplex(hdev); hclge_update_speed_duplex(hdev);
hclge_update_link_status(hdev); hclge_update_link_status(hdev);
hclge_update_led_status(hdev);
hclge_service_complete(hdev); hclge_service_complete(hdev);
} }
...@@ -6100,75 +6060,6 @@ static int hclge_set_led_id(struct hnae3_handle *handle, ...@@ -6100,75 +6060,6 @@ static int hclge_set_led_id(struct hnae3_handle *handle,
return ret; return ret;
} }
enum hclge_led_port_speed {
HCLGE_SPEED_LED_FOR_1G,
HCLGE_SPEED_LED_FOR_10G,
HCLGE_SPEED_LED_FOR_25G,
HCLGE_SPEED_LED_FOR_40G,
HCLGE_SPEED_LED_FOR_50G,
HCLGE_SPEED_LED_FOR_100G,
};
static u8 hclge_led_get_speed_status(u32 speed)
{
u8 speed_led;
switch (speed) {
case HCLGE_MAC_SPEED_1G:
speed_led = HCLGE_SPEED_LED_FOR_1G;
break;
case HCLGE_MAC_SPEED_10G:
speed_led = HCLGE_SPEED_LED_FOR_10G;
break;
case HCLGE_MAC_SPEED_25G:
speed_led = HCLGE_SPEED_LED_FOR_25G;
break;
case HCLGE_MAC_SPEED_40G:
speed_led = HCLGE_SPEED_LED_FOR_40G;
break;
case HCLGE_MAC_SPEED_50G:
speed_led = HCLGE_SPEED_LED_FOR_50G;
break;
case HCLGE_MAC_SPEED_100G:
speed_led = HCLGE_SPEED_LED_FOR_100G;
break;
default:
speed_led = HCLGE_LED_NO_CHANGE;
}
return speed_led;
}
static int hclge_update_led_status(struct hclge_dev *hdev)
{
u8 port_speed_status, link_status, activity_status;
u64 rx_pkts, tx_pkts;
if (hdev->hw.mac.media_type != HNAE3_MEDIA_TYPE_FIBER)
return 0;
port_speed_status = hclge_led_get_speed_status(hdev->hw.mac.speed);
rx_pkts = hdev->hw_stats.mac_stats.mac_rx_total_pkt_num;
tx_pkts = hdev->hw_stats.mac_stats.mac_tx_total_pkt_num;
if (rx_pkts != hdev->rx_pkts_for_led ||
tx_pkts != hdev->tx_pkts_for_led)
activity_status = HCLGE_LED_ON;
else
activity_status = HCLGE_LED_OFF;
hdev->rx_pkts_for_led = rx_pkts;
hdev->tx_pkts_for_led = tx_pkts;
if (hdev->hw.mac.link)
link_status = HCLGE_LED_ON;
else
link_status = HCLGE_LED_OFF;
return hclge_set_led_status_sfp(hdev, port_speed_status,
activity_status, link_status,
HCLGE_LED_NO_CHANGE);
}
static void hclge_get_link_mode(struct hnae3_handle *handle, static void hclge_get_link_mode(struct hnae3_handle *handle,
unsigned long *supported, unsigned long *supported,
unsigned long *advertising) unsigned long *advertising)
......
...@@ -563,8 +563,6 @@ struct hclge_dev { ...@@ -563,8 +563,6 @@ struct hclge_dev {
struct hclge_vlan_type_cfg vlan_type_cfg; struct hclge_vlan_type_cfg vlan_type_cfg;
u64 rx_pkts_for_led;
u64 tx_pkts_for_led;
unsigned long vlan_table[VLAN_N_VID][BITS_TO_LONGS(HCLGE_VPORT_NUM)]; unsigned long vlan_table[VLAN_N_VID][BITS_TO_LONGS(HCLGE_VPORT_NUM)];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment