|
@@ -1481,6 +1481,138 @@ typedef enum {
|
|
|
#define CFG_ALLOW_MCC_GO_DIFF_BI_MAX (4)
|
|
|
#define CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT (4)
|
|
|
|
|
|
+#if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL)
|
|
|
+/*
|
|
|
+ * Enable/Disable Bad Peer TX CTL feature
|
|
|
+ * Default: Enable
|
|
|
+ */
|
|
|
+#define CFG_BAD_PEER_TX_CTL_ENABLE_NAME "gBadPeerTxCtlEnable"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_ENABLE_MIN (0)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_ENABLE_MAX (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_ENABLE_DEFAULT (1)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PERIOD_NAME "gBadPeerTxCtlPeriod"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PERIOD_MIN (10)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PERIOD_MAX (10000)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PERIOD_DEFAULT (50)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_NAME "gBadPeerTxCtlTxqLimit"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MAX (5000)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_DEFAULT (100)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_NAME "gBadPeerTxCtlTgtBackoffTime"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MAX (5000)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_DEFAULT (20)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_NAME "gBadPeerTxCtlTgtReportPeriod"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MAX (5000)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_DEFAULT (500)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_NAME "gBadPeerTxCtlCondLevelIeeeB"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MAX (2)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_DEFAULT (2)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_NAME "gBadPeerTxCtlDeltaLevelIeeeB"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MAX (11)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_DEFAULT (2)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_NAME "gBadPeerTxCtlPctLevelIeeeB"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MAX (8)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_DEFAULT (1)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_NAME "gBadPeerTxCtlTputLevelIeeeB"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MAX (11)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_DEFAULT (2)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_NAME "gBadPeerTxCtlTxLimitLevelIeeeB"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MIN (0)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MAX (50)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_DEFAULT (3)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_NAME "gBadPeerTxCtlCondLevelIeeeAG"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MAX (2)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_DEFAULT (2)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_NAME "gBadPeerTxCtlDeltaLevelIeeeAG"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MIN (6)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MAX (54)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_DEFAULT (6)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlPctLevelIeeeAG"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MAX (8)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_DEFAULT (1)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlTputLevelIeeeAG"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MIN (6)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MAX (54)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_DEFAULT (6)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlTxLimitLevelIeeeAG"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MIN (0)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MAX (50)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_DEFAULT (3)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_NAME "gBadPeerTxCtlCondLevelIeeeN"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MAX (2)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_DEFAULT (2)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_NAME "gBadPeerTxCtlDeltaLevelIeeeN"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MIN (6)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MAX (72)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_DEFAULT (6)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_NAME "gBadPeerTxCtlPctLevelIeeeN"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MAX (8)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_DEFAULT (1)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_NAME "gBadPeerTxCtlTputLevelIeeeN"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MIN (6)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MAX (72)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_DEFAULT (15)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_NAME "gBadPeerTxCtlTxLimitLevelIeeeN"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MIN (0)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MAX (50)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_DEFAULT (3)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_NAME "gBadPeerTxCtlCondLevelIeeeAC"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MAX (2)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_DEFAULT (2)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_NAME "gBadPeerTxCtlDeltaLevelIeeeAC"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MIN (6)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MAX (433)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_DEFAULT (6)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlPctLevelIeeeAC"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MIN (1)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MAX (8)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_DEFAULT (1)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlTputLevelIeeeAC"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MIN (6)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MAX (433)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_DEFAULT (15)
|
|
|
+
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlTxLimitLevelIeeeAC"
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MIN (0)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MAX (50)
|
|
|
+#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_DEFAULT (3)
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
/*
|
|
|
* Enable/Disable Thermal Mitigation feature
|
|
|
* Default: Enable
|
|
@@ -3512,6 +3644,33 @@ struct hdd_config {
|
|
|
uint32_t throttle_dutycycle_level1;
|
|
|
uint32_t throttle_dutycycle_level2;
|
|
|
uint32_t throttle_dutycycle_level3;
|
|
|
+#if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL)
|
|
|
+ bool bad_peer_txctl_enable;
|
|
|
+ uint32_t bad_peer_txctl_prd;
|
|
|
+ uint32_t bad_peer_txctl_txq_lmt;
|
|
|
+ uint32_t bad_peer_tgt_backoff;
|
|
|
+ uint32_t bad_peer_tgt_report_prd;
|
|
|
+ uint32_t bad_peer_cond_ieee80211b;
|
|
|
+ uint32_t bad_peer_delta_ieee80211b;
|
|
|
+ uint32_t bad_peer_pct_ieee80211b;
|
|
|
+ uint32_t bad_peer_tput_ieee80211b;
|
|
|
+ uint32_t bad_peer_limit_ieee80211b;
|
|
|
+ uint32_t bad_peer_cond_ieee80211ag;
|
|
|
+ uint32_t bad_peer_delta_ieee80211ag;
|
|
|
+ uint32_t bad_peer_pct_ieee80211ag;
|
|
|
+ uint32_t bad_peer_tput_ieee80211ag;
|
|
|
+ uint32_t bad_peer_limit_ieee80211ag;
|
|
|
+ uint32_t bad_peer_cond_ieee80211n;
|
|
|
+ uint32_t bad_peer_delta_ieee80211n;
|
|
|
+ uint32_t bad_peer_pct_ieee80211n;
|
|
|
+ uint32_t bad_peer_tput_ieee80211n;
|
|
|
+ uint32_t bad_peer_limit_ieee80211n;
|
|
|
+ uint32_t bad_peer_cond_ieee80211ac;
|
|
|
+ uint32_t bad_peer_delta_ieee80211ac;
|
|
|
+ uint32_t bad_peer_pct_ieee80211ac;
|
|
|
+ uint32_t bad_peer_tput_ieee80211ac;
|
|
|
+ uint32_t bad_peer_limit_ieee80211ac;
|
|
|
+#endif
|
|
|
uint8_t vhtChannelWidth;
|
|
|
uint8_t vhtRxMCS;
|
|
|
uint8_t vhtTxMCS;
|