Sfoglia il codice sorgente

Merge "qcacld-3.0: Remove legacy implementation of wow stats" into wlan-cld3.driver.lnx.2.0

CNSS_WLAN Service 5 anni fa
parent
commit
9a6bf0509c
4 ha cambiato i file con 0 aggiunte e 331 eliminazioni
  1. 0 47
      core/mac/inc/sir_api.h
  2. 0 4
      core/wma/inc/wma.h
  3. 0 182
      core/wma/src/wma_features.c
  4. 0 98
      core/wma/src/wma_main.c

+ 0 - 47
core/mac/inc/sir_api.h

@@ -4698,53 +4698,6 @@ struct sir_apf_get_offload {
 	uint32_t max_bytes_for_apf_inst;
 };
 
-#ifndef QCA_SUPPORT_CP_STATS
-/**
- * struct sir_vdev_wow_stats - container for per vdev wow related stat counters
- * @ucast: Unicast wakeup count
- * @bcast: Broadcast wakeup count
- * @ipv4_mcast: ipv4 multicast wakeup count
- * @ipv6_mcast: ipv6 multicast wakeup count
- * @ipv6_mcast_ra: ipv6 multicast ra stats
- * @ipv6_mcast_ns: ipv6 multicast ns stats
- * @ipv6_mcast_na: ipv6 multicast na stats
- * @icmpv4: ipv4 icmp packet count
- * @icmpv6: ipv6 icmp packet count
- * @rssi_breach: rssi breach wakeup count
- * @low_rssi: low rssi wakeup count
- * @gscan: gscan wakeup count
- * @pno_complete: pno complete wakeup count
- * @pno_match: pno match wakeup count
- * @oem_response: oem response wakeup count
- * @scan_11d: 11d scan wakeup count
- * @motion_detect: motion detection wakeup count
- * @motion_detect_bl: motion detection baselining wakeup count
- */
-struct sir_vdev_wow_stats {
-	uint32_t ucast;
-	uint32_t bcast;
-	uint32_t ipv4_mcast;
-	uint32_t ipv6_mcast;
-	uint32_t ipv6_mcast_ra;
-	uint32_t ipv6_mcast_ns;
-	uint32_t ipv6_mcast_na;
-	uint32_t icmpv4;
-	uint32_t icmpv6;
-	uint32_t rssi_breach;
-	uint32_t low_rssi;
-	uint32_t gscan;
-	uint32_t pno_complete;
-	uint32_t pno_match;
-	uint32_t oem_response;
-	uint32_t pwr_save_fail_detected;
-	uint32_t scan_11d;
-#ifdef WLAN_FEATURE_MOTION_DETECTION
-	uint32_t motion_detect;
-	uint32_t motion_detect_bl;
-#endif /* WLAN_FEATURE_MOTION_DETECTION */
-};
-#endif
-
 #ifdef WLAN_FEATURE_NAN
 #define IFACE_NAME_SIZE 64
 

+ 0 - 4
core/wma/inc/wma.h

@@ -759,7 +759,6 @@ struct roam_synch_frame_ind {
  * @wep_default_key_idx: wep default index for group key
  * @arp_offload_req: cached arp offload request
  * @ns_offload_req: cached ns offload request
- * @wow_stats: stat counters for WoW related events
  * @rcpi_req: rcpi request
  * @in_bmps: Whether bmps for this interface has been enabled
  * @vdev_start_wakelock: wakelock to protect vdev start op with firmware
@@ -829,9 +828,6 @@ struct wma_txrx_node {
 	bool roaming_in_progress;
 	int32_t roam_synch_delay;
 	uint8_t wep_default_key_idx;
-#ifndef QCA_SUPPORT_CP_STATS
-	struct sir_vdev_wow_stats wow_stats;
-#endif
 	struct sme_rcpi_req *rcpi_req;
 	bool in_bmps;
 	struct beacon_filter_param beacon_filter;

+ 0 - 182
core/wma/src/wma_features.c

@@ -1445,7 +1445,6 @@ static const uint8_t *wma_wow_wake_reason_str(A_INT32 wake_reason)
 	}
 }
 
-#ifdef QCA_SUPPORT_CP_STATS
 static bool wma_wow_reason_has_stats(enum wake_reason_e reason)
 {
 	switch (reason) {
@@ -1541,124 +1540,6 @@ static void wma_print_wow_stats(t_wma_handle *wma,
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_WMA_ID);
 	wma_wow_stats_display(&stats);
 }
-#else
-/**
- * wma_wow_stats_display() - display wow wake up stats
- * @stats: per vdev stats counters
- *
- * Return: none
- */
-static void wma_wow_stats_display(struct sir_vdev_wow_stats *stats)
-{
-	WMA_LOGA("uc %d bc %d v4_mc %d v6_mc %d ra %d ns %d na %d pno_match %d pno_complete %d gscan %d low_rssi %d rssi_breach %d icmp %d icmpv6 %d oem %d",
-		stats->ucast,
-		stats->bcast,
-		stats->ipv4_mcast,
-		stats->ipv6_mcast,
-		stats->ipv6_mcast_ra,
-		stats->ipv6_mcast_ns,
-		stats->ipv6_mcast_na,
-		stats->pno_match,
-		stats->pno_complete,
-		stats->gscan,
-		stats->low_rssi,
-		stats->rssi_breach,
-		stats->icmpv4,
-		stats->icmpv6,
-		stats->oem_response);
-}
-
-static void wma_print_wow_stats(t_wma_handle *wma,
-				WOW_EVENT_INFO_fixed_param *wake_info)
-{
-	struct sir_vdev_wow_stats *stats;
-
-	switch (wake_info->wake_reason) {
-	case WOW_REASON_BPF_ALLOW:
-	case WOW_REASON_PATTERN_MATCH_FOUND:
-	case WOW_REASON_PACKET_FILTER_MATCH:
-	case WOW_REASON_RA_MATCH:
-	case WOW_REASON_NLOD:
-	case WOW_REASON_NLO_SCAN_COMPLETE:
-	case WOW_REASON_LOW_RSSI:
-	case WOW_REASON_EXTSCAN:
-	case WOW_REASON_RSSI_BREACH_EVENT:
-	case WOW_REASON_OEM_RESPONSE_EVENT:
-	case WOW_REASON_CHIP_POWER_FAILURE_DETECT:
-	case WOW_REASON_11D_SCAN:
-		break;
-#ifdef WLAN_FEATURE_MOTION_DETECTION
-	case WOW_REASON_WLAN_MD:
-	case WOW_REASON_WLAN_BL:
-		break;
-#endif /* WLAN_FEATURE_MOTION_DETECTION */
-	default:
-		return;
-	}
-
-	stats = &wma->interfaces[wake_info->vdev_id].wow_stats;
-	wma_wow_stats_display(stats);
-}
-
-/**
- * wma_inc_wow_stats() - maintain wow pattern match wake up stats
- * @wma: wma handle, containing the stats counters
- * @wake_info: the wake event information
- *
- * Return: none
- */
-static void wma_inc_wow_stats(t_wma_handle *wma,
-			      WOW_EVENT_INFO_fixed_param *wake_info)
-{
-	struct sir_vdev_wow_stats *stats;
-
-	if (wake_info->wake_reason == WOW_REASON_UNSPECIFIED) {
-		wma->wow_unspecified_wake_count++;
-		return;
-	}
-
-	stats = &wma->interfaces[wake_info->vdev_id].wow_stats;
-	switch (wake_info->wake_reason) {
-	case WOW_REASON_RA_MATCH:
-		stats->ipv6_mcast++;
-		stats->ipv6_mcast_ra++;
-		stats->icmpv6++;
-		break;
-	case WOW_REASON_NLOD:
-		stats->pno_match++;
-		break;
-	case WOW_REASON_NLO_SCAN_COMPLETE:
-		stats->pno_complete++;
-		break;
-	case WOW_REASON_LOW_RSSI:
-		stats->low_rssi++;
-		break;
-	case WOW_REASON_EXTSCAN:
-		stats->gscan++;
-		break;
-	case WOW_REASON_RSSI_BREACH_EVENT:
-		stats->rssi_breach++;
-		break;
-	case WOW_REASON_OEM_RESPONSE_EVENT:
-		stats->oem_response++;
-		break;
-	case WOW_REASON_11D_SCAN:
-		stats->scan_11d++;
-		break;
-	case WOW_REASON_CHIP_POWER_FAILURE_DETECT:
-		stats->pwr_save_fail_detected++;
-		break;
-#ifdef WLAN_FEATURE_MOTION_DETECTION
-	case WOW_REASON_WLAN_MD:
-		stats->motion_detect++;
-		break;
-	case WOW_REASON_WLAN_BL:
-		stats->motion_detect_bl++;
-		break;
-#endif /* WLAN_FEATURE_MOTION_DETECTION */
-	}
-}
-#endif
 
 #ifdef FEATURE_WLAN_EXTSCAN
 /**
@@ -2123,7 +2004,6 @@ static void wma_log_pkt_tcpv6(uint8_t *data, uint32_t length)
 	WMA_LOGD("TCP_seq_num: %u", qdf_cpu_to_be16(seq_num));
 }
 
-#ifdef QCA_SUPPORT_CP_STATS
 static void wma_wow_inc_wake_lock_stats_by_dst_addr(t_wma_handle *wma,
 						    uint8_t vdev_id,
 						    uint8_t *dest_mac)
@@ -2140,68 +2020,6 @@ static void wma_wow_inc_wake_lock_stats_by_protocol(t_wma_handle *wma,
 							 vdev_id,
 							 proto_subtype);
 }
-#else
-static void wma_wow_inc_wake_lock_stats_by_dst_addr(t_wma_handle *wma,
-						    uint8_t vdev_id,
-						    uint8_t *dest_mac)
-{
-	struct wma_txrx_node *vdev;
-	struct sir_vdev_wow_stats *stats;
-
-	vdev = &wma->interfaces[vdev_id];
-	stats = &vdev->wow_stats;
-
-	switch (*dest_mac) {
-	case QDF_BCAST_MAC_ADDR:
-		stats->bcast++;
-		break;
-	case QDF_MCAST_IPV4_MAC_ADDR:
-		stats->ipv4_mcast++;
-		break;
-	case QDF_MCAST_IPV6_MAC_ADDR:
-		stats->ipv6_mcast++;
-		break;
-	default:
-		stats->ucast++;
-		break;
-	}
-}
-
-static void wma_wow_inc_wake_lock_stats_by_protocol(t_wma_handle *wma,
-			uint8_t vdev_id, enum qdf_proto_subtype proto_subtype)
-{
-	struct wma_txrx_node *vdev;
-	struct sir_vdev_wow_stats *stats;
-
-	vdev = &wma->interfaces[vdev_id];
-	stats = &vdev->wow_stats;
-
-	switch (proto_subtype) {
-	case QDF_PROTO_ICMP_RES:
-		stats->icmpv4++;
-		break;
-	case QDF_PROTO_ICMPV6_REQ:
-	case QDF_PROTO_ICMPV6_RES:
-	case QDF_PROTO_ICMPV6_RS:
-		stats->icmpv6++;
-		break;
-	case QDF_PROTO_ICMPV6_RA:
-		stats->icmpv6++;
-		stats->ipv6_mcast_ra++;
-		break;
-	case QDF_PROTO_ICMPV6_NS:
-		stats->icmpv6++;
-		stats->ipv6_mcast_ns++;
-		break;
-	case QDF_PROTO_ICMPV6_NA:
-		stats->icmpv6++;
-		stats->ipv6_mcast_na++;
-		break;
-	default:
-		break;
-	}
-}
-#endif
 
 /**
  * wma_wow_parse_data_pkt() - API to parse data buffer for data

+ 0 - 98
core/wma/src/wma_main.c

@@ -2032,7 +2032,6 @@ struct wma_version_info g_wmi_version_info;
  *
  * Return: None
  */
-#ifdef QCA_SUPPORT_CP_STATS
 static void wma_state_info_dump(char **buf_ptr, uint16_t *size)
 {
 	uint8_t vdev_id;
@@ -2134,103 +2133,6 @@ static void wma_state_info_dump(char **buf_ptr, uint16_t *size)
 	*size -= len;
 	*buf_ptr += len;
 }
-#else /* QCA_SUPPORT_CP_STATS */
-static void wma_state_info_dump(char **buf_ptr, uint16_t *size)
-{
-	t_wma_handle *wma;
-	struct sir_vdev_wow_stats *stats;
-	uint16_t len = 0;
-	char *buf = *buf_ptr;
-	struct wma_txrx_node *iface;
-	uint8_t vdev_id;
-
-	wma = cds_get_context(QDF_MODULE_ID_WMA);
-	if (!wma) {
-		WMA_LOGE("%s: WMA context is invald!", __func__);
-		return;
-	}
-
-	WMA_LOGE("%s: size of buffer: %d", __func__, *size);
-
-	for (vdev_id = 0; vdev_id < wma->max_bssid; vdev_id++) {
-		iface = &wma->interfaces[vdev_id];
-		if (!iface->handle)
-			continue;
-
-		stats = &iface->wow_stats;
-		len += qdf_scnprintf(buf + len, *size - len,
-			"\n"
-			"vdev_id %d\n"
-			"WoW Stats\n"
-			"\tpno_match %u\n"
-			"\tpno_complete %u\n"
-			"\tgscan %u\n"
-			"\tlow_rssi %u\n"
-			"\trssi_breach %u\n"
-			"\tucast %u\n"
-			"\tbcast %u\n"
-			"\ticmpv4 %u\n"
-			"\ticmpv6 %u\n"
-			"\tipv4_mcast %u\n"
-			"\tipv6_mcast %u\n"
-			"\tipv6_mcast_ra %u\n"
-			"\tipv6_mcast_ns %u\n"
-			"\tipv6_mcast_na %u\n"
-			"\toem_response %u\n"
-			"dtimPeriod %d\n"
-			"chanmode %d\n"
-			"vht_capable %d\n"
-			"ht_capable %d\n"
-			"chan_width %d\n"
-			"vdev_active %d\n"
-			"vdev_up %d\n"
-			"aid %d\n"
-			"rate_flags %d\n"
-			"nss %d\n"
-			"tx_power %d\n"
-			"max_tx_power %d\n"
-			"nwType %d\n"
-			"tx_streams %d\n"
-			"rx_streams %d\n"
-			"chain_mask %d",
-			vdev_id,
-			stats->pno_match,
-			stats->pno_complete,
-			stats->gscan,
-			stats->low_rssi,
-			stats->rssi_breach,
-			stats->ucast,
-			stats->bcast,
-			stats->icmpv4,
-			stats->icmpv6,
-			stats->ipv4_mcast,
-			stats->ipv6_mcast,
-			stats->ipv6_mcast_ra,
-			stats->ipv6_mcast_ns,
-			stats->ipv6_mcast_na,
-			stats->oem_response,
-			iface->dtimPeriod,
-			iface->chanmode,
-			iface->vht_capable,
-			iface->ht_capable,
-			iface->chan_width,
-			iface->vdev_active,
-			wma_is_vdev_up(vdev_id),
-			iface->aid,
-			iface->rate_flags,
-			iface->nss,
-			iface->tx_power,
-			iface->max_tx_power,
-			iface->nwType,
-			iface->tx_streams,
-			iface->rx_streams,
-			iface->chain_mask);
-	}
-
-	*size -= len;
-	*buf_ptr += len;
-}
-#endif /* QCA_SUPPORT_CP_STATS */
 
 /**
  * wma_register_debug_callback() - registration function for wma layer