Эх сурвалжийг харах

qcacld-3.0: Log Optimization for lim_set_active_edca_params

optimize logs in one line for func lim_set_active_edca_params,
to avoid printing in loop

Change-Id: I60e6d4265f97037d677adef9bdd4c9bf547acc4d
CRs-Fixed: 3134765
Rahul Gusain 3 жил өмнө
parent
commit
c7449092dd

+ 24 - 9
core/mac/src/pe/lim/lim_send_messages.c

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -37,6 +38,9 @@
 #include "wma.h"
 #include "../../core/src/vdev_mgr_ops.h"
 
+/* Max debug string size in bytes  */
+#define LIM_DEBUG_STRING_SIZE    512
+
 /**
  * lim_send_beacon_params() - updates bcn params to WMA
  *
@@ -187,6 +191,9 @@ void lim_set_active_edca_params(struct mac_context *mac_ctx,
 #ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM    /* FEATURE_WLAN_DIAG_SUPPORT */
 	host_log_qos_edca_pkt_type *log_ptr = NULL;
 #endif /* FEATURE_WLAN_DIAG_SUPPORT */
+	uint8_t *debug_str;
+	uint32_t len = 0;
+
 	/* Initialize gLimEdcaParamsActive[] to be same as localEdcaParams */
 	pe_session->gLimEdcaParamsActive[QCA_WLAN_AC_BE] = edca_params[QCA_WLAN_AC_BE];
 	pe_session->gLimEdcaParamsActive[QCA_WLAN_AC_BK] = edca_params[QCA_WLAN_AC_BK];
@@ -201,7 +208,6 @@ void lim_set_active_edca_params(struct mac_context *mac_ctx,
 					mac_ctx->no_ack_policy_cfg[QCA_WLAN_AC_VI];
 	pe_session->gLimEdcaParamsActive[QCA_WLAN_AC_VO].no_ack =
 					mac_ctx->no_ack_policy_cfg[QCA_WLAN_AC_VO];
-
 	/* An AC requires downgrade if the ACM bit is set, and the AC has not
 	 * yet been admitted in uplink or bi-directions.
 	 * If an AC requires downgrade, it will downgrade to the next beset AC
@@ -215,19 +221,21 @@ void lim_set_active_edca_params(struct mac_context *mac_ctx,
 	 *   such that: BE_ACM=1, BK_ACM=1, VI_ACM=1, VO_ACM=0
 	 *   then all AC will be downgraded to AC_BE.
 	 */
-	pe_debug("adAdmitMask[UPLINK] = 0x%x ",
-		pe_session->gAcAdmitMask[SIR_MAC_DIRECTION_UPLINK]);
-	pe_debug("adAdmitMask[DOWNLINK] = 0x%x ",
-		pe_session->gAcAdmitMask[SIR_MAC_DIRECTION_DNLINK]);
+
+	debug_str = qdf_mem_malloc(LIM_DEBUG_STRING_SIZE);
+	if (!debug_str)
+		return;
+
 	for (ac = QCA_WLAN_AC_BK; ac <= QCA_WLAN_AC_VO; ac++) {
 		ac_admitted =
 			((pe_session->gAcAdmitMask[SIR_MAC_DIRECTION_UPLINK] &
 			 (1 << ac)) >> ac);
 
-		pe_debug("For AC[%d]: acm=%d,  ac_admitted=%d ",
-			ac, edca_params[ac].aci.acm, ac_admitted);
+		len += qdf_scnprintf(debug_str + len,
+				     LIM_DEBUG_STRING_SIZE - len,
+				     "AC[%d]:acm=%d ac_admitted=%d,", ac,
+				     edca_params[ac].aci.acm, ac_admitted);
 		if ((edca_params[ac].aci.acm == 1) && (ac_admitted == 0)) {
-			pe_debug("We need to downgrade AC %d!!", ac);
 			/* Loop backwards through AC values until it finds
 			 * acm == 0 or reaches QCA_WLAN_AC_BE.
 			 * Note that for block has no executable statements.
@@ -238,11 +246,18 @@ void lim_set_active_edca_params(struct mac_context *mac_ctx,
 			     i--)
 				;
 			new_ac = i;
-			pe_debug("Downgrading AC %d ---> AC %d ", ac, new_ac);
+			len += qdf_scnprintf(debug_str + len,
+					     LIM_DEBUG_STRING_SIZE - len,
+					     "AC %d ---> AC %d, ", ac, new_ac);
 			pe_session->gLimEdcaParamsActive[ac] =
 				edca_params[new_ac];
 		}
 	}
+
+	pe_debug("adAdmitMask: uplink 0x%x downlink 0x%x, %s",
+		 pe_session->gAcAdmitMask[SIR_MAC_DIRECTION_UPLINK],
+		 pe_session->gAcAdmitMask[SIR_MAC_DIRECTION_DNLINK], debug_str);
+	qdf_mem_free(debug_str);
 /* log: LOG_WLAN_QOS_EDCA_C */
 #ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM    /* FEATURE_WLAN_DIAG_SUPPORT */
 	WLAN_HOST_DIAG_LOG_ALLOC(log_ptr, host_log_qos_edca_pkt_type,