qcacld-3.0: Add new WMI wakeup reason
Add the new WMI wakeup reason “WOW_REASON_LOCAL_DATA_UC_DROP". Change-Id: Ibae5d98de8e63b03930837de8ce3062fef319718 CRs-Fixed: 2798184
Cette révision appartient à :

révisé par
snandini

Parent
1fdde10aa7
révision
1eb57fce21
@@ -131,6 +131,7 @@ enum txrate_gi {
|
|||||||
* @pno_complete_wake_up_count: pno complete wakeup count
|
* @pno_complete_wake_up_count: pno complete wakeup count
|
||||||
* @pno_match_wake_up_count: pno match wakeup count
|
* @pno_match_wake_up_count: pno match wakeup count
|
||||||
* @oem_response_wake_up_count: oem response wakeup count
|
* @oem_response_wake_up_count: oem response wakeup count
|
||||||
|
* @uc_drop_wake_up_count: local data uc drop wakeup count
|
||||||
* @pwr_save_fail_detected: pwr save fail detected wakeup count
|
* @pwr_save_fail_detected: pwr save fail detected wakeup count
|
||||||
* @scan_11d 11d scan wakeup count
|
* @scan_11d 11d scan wakeup count
|
||||||
* @mgmt_assoc: association request management frame
|
* @mgmt_assoc: association request management frame
|
||||||
@@ -158,6 +159,7 @@ struct wake_lock_stats {
|
|||||||
uint32_t pno_complete_wake_up_count;
|
uint32_t pno_complete_wake_up_count;
|
||||||
uint32_t pno_match_wake_up_count;
|
uint32_t pno_match_wake_up_count;
|
||||||
uint32_t oem_response_wake_up_count;
|
uint32_t oem_response_wake_up_count;
|
||||||
|
uint32_t uc_drop_wake_up_count;
|
||||||
uint32_t pwr_save_fail_detected;
|
uint32_t pwr_save_fail_detected;
|
||||||
uint32_t scan_11d;
|
uint32_t scan_11d;
|
||||||
uint32_t mgmt_assoc;
|
uint32_t mgmt_assoc;
|
||||||
|
@@ -551,6 +551,7 @@ static void vdev_iterator(struct wlan_objmgr_psoc *psoc, void *vdev, void *arg)
|
|||||||
stats->pno_match_wake_up_count += vdev_stats->pno_match_wake_up_count;
|
stats->pno_match_wake_up_count += vdev_stats->pno_match_wake_up_count;
|
||||||
stats->oem_response_wake_up_count +=
|
stats->oem_response_wake_up_count +=
|
||||||
vdev_stats->oem_response_wake_up_count;
|
vdev_stats->oem_response_wake_up_count;
|
||||||
|
stats->uc_drop_wake_up_count += vdev_stats->uc_drop_wake_up_count;
|
||||||
stats->pwr_save_fail_detected += vdev_stats->pwr_save_fail_detected;
|
stats->pwr_save_fail_detected += vdev_stats->pwr_save_fail_detected;
|
||||||
stats->scan_11d += vdev_stats->scan_11d;
|
stats->scan_11d += vdev_stats->scan_11d;
|
||||||
}
|
}
|
||||||
@@ -661,6 +662,7 @@ QDF_STATUS ucfg_mc_cp_stats_write_wow_stats(
|
|||||||
"\tG-Scan: %u\n"
|
"\tG-Scan: %u\n"
|
||||||
"\tPNO Complete: %u\n"
|
"\tPNO Complete: %u\n"
|
||||||
"\tPNO Match: %u\n"
|
"\tPNO Match: %u\n"
|
||||||
|
"\tUC Drop wake_count: %u\n"
|
||||||
"\tOEM rsp wake_count: %u\n"
|
"\tOEM rsp wake_count: %u\n"
|
||||||
"\twake count due to pwr_save_fail_detected: %u\n"
|
"\twake count due to pwr_save_fail_detected: %u\n"
|
||||||
"\twake count due to 11d scan: %u\n",
|
"\twake count due to 11d scan: %u\n",
|
||||||
@@ -679,6 +681,7 @@ QDF_STATUS ucfg_mc_cp_stats_write_wow_stats(
|
|||||||
wow_stats.gscan_wake_up_count,
|
wow_stats.gscan_wake_up_count,
|
||||||
wow_stats.pno_complete_wake_up_count,
|
wow_stats.pno_complete_wake_up_count,
|
||||||
wow_stats.pno_match_wake_up_count,
|
wow_stats.pno_match_wake_up_count,
|
||||||
|
wow_stats.uc_drop_wake_up_count,
|
||||||
wow_stats.oem_response_wake_up_count,
|
wow_stats.oem_response_wake_up_count,
|
||||||
wow_stats.pwr_save_fail_detected,
|
wow_stats.pwr_save_fail_detected,
|
||||||
wow_stats.scan_11d);
|
wow_stats.scan_11d);
|
||||||
|
@@ -1069,6 +1069,10 @@ static void target_if_cp_stats_inc_wake_lock_stats(uint32_t reason,
|
|||||||
stats->pwr_save_fail_detected++;
|
stats->pwr_save_fail_detected++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WOW_REASON_LOCAL_DATA_UC_DROP:
|
||||||
|
stats->uc_drop_wake_up_count++;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -1477,6 +1477,8 @@ static const uint8_t *wma_wow_wake_reason_str(A_INT32 wake_reason)
|
|||||||
return "ROAM_PMKID_REQUEST";
|
return "ROAM_PMKID_REQUEST";
|
||||||
case WOW_REASON_VDEV_DISCONNECT:
|
case WOW_REASON_VDEV_DISCONNECT:
|
||||||
return "VDEV_DISCONNECT";
|
return "VDEV_DISCONNECT";
|
||||||
|
case WOW_REASON_LOCAL_DATA_UC_DROP:
|
||||||
|
return "LOCAL_DATA_UC_DROP";
|
||||||
default:
|
default:
|
||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
@@ -1505,6 +1507,7 @@ static bool wma_wow_reason_has_stats(enum wake_reason_e reason)
|
|||||||
case WOW_REASON_OEM_RESPONSE_EVENT:
|
case WOW_REASON_OEM_RESPONSE_EVENT:
|
||||||
case WOW_REASON_CHIP_POWER_FAILURE_DETECT:
|
case WOW_REASON_CHIP_POWER_FAILURE_DETECT:
|
||||||
case WOW_REASON_11D_SCAN:
|
case WOW_REASON_11D_SCAN:
|
||||||
|
case WOW_REASON_LOCAL_DATA_UC_DROP:
|
||||||
return true;
|
return true;
|
||||||
#ifdef WLAN_FEATURE_MOTION_DETECTION
|
#ifdef WLAN_FEATURE_MOTION_DETECTION
|
||||||
case WOW_REASON_WLAN_MD:
|
case WOW_REASON_WLAN_MD:
|
||||||
@@ -1551,13 +1554,14 @@ static void wma_wow_stats_display(struct wake_lock_stats *stats)
|
|||||||
stats->mgmt_action);
|
stats->mgmt_action);
|
||||||
|
|
||||||
wma_nofl_alert("pno_match:%d pno_complete:%d gscan:%d "
|
wma_nofl_alert("pno_match:%d pno_complete:%d gscan:%d "
|
||||||
"low_rssi:%d rssi_breach:%d oem:%d scan_11d:%d",
|
"low_rssi:%d rssi_breach:%d oem:%d ucdrop:%d scan_11d:%d",
|
||||||
stats->pno_match_wake_up_count,
|
stats->pno_match_wake_up_count,
|
||||||
stats->pno_complete_wake_up_count,
|
stats->pno_complete_wake_up_count,
|
||||||
stats->gscan_wake_up_count,
|
stats->gscan_wake_up_count,
|
||||||
stats->low_rssi_wake_up_count,
|
stats->low_rssi_wake_up_count,
|
||||||
stats->rssi_breach_wake_up_count,
|
stats->rssi_breach_wake_up_count,
|
||||||
stats->oem_response_wake_up_count,
|
stats->oem_response_wake_up_count,
|
||||||
|
stats->uc_drop_wake_up_count,
|
||||||
stats->scan_11d);
|
stats->scan_11d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1813,6 +1813,7 @@ static void wma_state_info_dump(char **buf_ptr, uint16_t *size)
|
|||||||
"\tipv6_mcast_ns %u\n"
|
"\tipv6_mcast_ns %u\n"
|
||||||
"\tipv6_mcast_na %u\n"
|
"\tipv6_mcast_na %u\n"
|
||||||
"\toem_response %u\n"
|
"\toem_response %u\n"
|
||||||
|
"\tuc_drop %u\n"
|
||||||
"dtimPeriod %d\n"
|
"dtimPeriod %d\n"
|
||||||
"chan_width %d\n"
|
"chan_width %d\n"
|
||||||
"vdev_active %d\n"
|
"vdev_active %d\n"
|
||||||
@@ -1838,6 +1839,7 @@ static void wma_state_info_dump(char **buf_ptr, uint16_t *size)
|
|||||||
stats.ipv6_mcast_ns_stats,
|
stats.ipv6_mcast_ns_stats,
|
||||||
stats.ipv6_mcast_na_stats,
|
stats.ipv6_mcast_na_stats,
|
||||||
stats.oem_response_wake_up_count,
|
stats.oem_response_wake_up_count,
|
||||||
|
stats.uc_drop_wake_up_count,
|
||||||
iface->dtimPeriod,
|
iface->dtimPeriod,
|
||||||
iface->chan_width,
|
iface->chan_width,
|
||||||
iface->vdev_active,
|
iface->vdev_active,
|
||||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur