qcacld-3.0: Add pause and unpause statistics for new netif actions

Add pause and unpause statistics for below new netif actions:
	WLAN_NETIF_VO_QUEUE_ON
	WLAN_NETIF_VO_QUEUE_OFF
	WLAN_NETIF_VI_QUEUE_ON
	WLAN_NETIF_VI_QUEUE_OFF
	WLAN_NETIF_BE_BK_QUEUE_OFF

This change is part of FR49094

Change-Id: I56452711b0e4c2176ed8ee398ea68fa5e60012ba
CRs-Fixed: 2307945
This commit is contained in:
chenguo 2018-09-03 18:53:26 +08:00 • committed by nshrivas
commit dc9f0ec570

View file

@ -2097,6 +2097,9 @@ static void wlan_hdd_update_queue_oper_stats(struct hdd_adapter *adapter,
switch (action) {
case WLAN_STOP_ALL_NETIF_QUEUE:
case WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER:
case WLAN_NETIF_BE_BK_QUEUE_OFF:
case WLAN_NETIF_VI_QUEUE_OFF:
case WLAN_NETIF_VO_QUEUE_OFF:
case WLAN_NETIF_PRIORITY_QUEUE_OFF:
case WLAN_STOP_NON_PRIORITY_QUEUE:
adapter->queue_oper_stats[reason].pause_count++;
@ -2104,6 +2107,8 @@ static void wlan_hdd_update_queue_oper_stats(struct hdd_adapter *adapter,
case WLAN_START_ALL_NETIF_QUEUE:
case WLAN_WAKE_ALL_NETIF_QUEUE:
case WLAN_START_ALL_NETIF_QUEUE_N_CARRIER:
case WLAN_NETIF_VI_QUEUE_ON:
case WLAN_NETIF_VO_QUEUE_ON:
case WLAN_NETIF_PRIORITY_QUEUE_ON:
case WLAN_WAKE_NON_PRIORITY_QUEUE:
adapter->queue_oper_stats[reason].unpause_count++;
@ -2306,6 +2311,52 @@ void wlan_hdd_netif_queue_control(struct hdd_adapter *adapter,
spin_unlock_bh(&adapter->pause_map_lock);
break;
case WLAN_NETIF_BE_BK_QUEUE_OFF:
spin_lock_bh(&adapter->pause_map_lock);
netif_stop_subqueue(adapter->dev, HDD_LINUX_AC_BK);
netif_stop_subqueue(adapter->dev, HDD_LINUX_AC_BE);
wlan_hdd_update_txq_timestamp(adapter->dev);
wlan_hdd_update_unpause_time(adapter);
adapter->pause_map |= (1 << reason);
spin_unlock_bh(&adapter->pause_map_lock);
break;
case WLAN_NETIF_VI_QUEUE_OFF:
spin_lock_bh(&adapter->pause_map_lock);
netif_stop_subqueue(adapter->dev, HDD_LINUX_AC_VI);
wlan_hdd_update_txq_timestamp(adapter->dev);
wlan_hdd_update_unpause_time(adapter);
adapter->pause_map |= (1 << reason);
spin_unlock_bh(&adapter->pause_map_lock);
break;
case WLAN_NETIF_VI_QUEUE_ON:
spin_lock_bh(&adapter->pause_map_lock);
temp_map = adapter->pause_map;
adapter->pause_map &= ~(1 << reason);
netif_wake_subqueue(adapter->dev, HDD_LINUX_AC_VI);
wlan_hdd_update_pause_time(adapter, temp_map);
spin_unlock_bh(&adapter->pause_map_lock);
break;
case WLAN_NETIF_VO_QUEUE_OFF:
spin_lock_bh(&adapter->pause_map_lock);
netif_stop_subqueue(adapter->dev, HDD_LINUX_AC_VO);
wlan_hdd_update_txq_timestamp(adapter->dev);
wlan_hdd_update_unpause_time(adapter);
adapter->pause_map |= (1 << reason);
spin_unlock_bh(&adapter->pause_map_lock);
break;
case WLAN_NETIF_VO_QUEUE_ON:
spin_lock_bh(&adapter->pause_map_lock);
temp_map = adapter->pause_map;
adapter->pause_map &= ~(1 << reason);
netif_wake_subqueue(adapter->dev, HDD_LINUX_AC_VO);
wlan_hdd_update_pause_time(adapter, temp_map);
spin_unlock_bh(&adapter->pause_map_lock);
break;
case WLAN_START_ALL_NETIF_QUEUE:
spin_lock_bh(&adapter->pause_map_lock);
temp_map = adapter->pause_map;