|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
|
|
|
+ * Copyright (c) 2012-2020 The Linux Foundation. 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
|
|
@@ -23,6 +23,29 @@
|
|
|
#ifndef __CFG_MLME_FE_WLM_H
|
|
|
#define __CFG_MLME_FE_WLM_H
|
|
|
|
|
|
+/*
|
|
|
+ * |31 18| 17 | 16 |15 8|7 2| 1 | 0 |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | RSVD | HBB | PM-QOS | RSVD | RSVD | REO Ring | RX Thread |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | common | TX Path | RX Path |
|
|
|
+ *
|
|
|
+ * bit 0-7: Rx path related optimization
|
|
|
+ * bit 0: disable rx_thread for vdev
|
|
|
+ * bit 1: Reduce REO ring timer threshold to 32us(applicable for all REO ring)
|
|
|
+ * bit 2-7: Reserved
|
|
|
+ * bit 8-15: Tx path related optimization
|
|
|
+ * bit 8-15: Reserved
|
|
|
+ * bit 16-31: common changes
|
|
|
+ * bit 16: Request for pm_qos vote
|
|
|
+ * bit 17: Request for high ddr bus bandwidth
|
|
|
+ */
|
|
|
+
|
|
|
+#define WLM_HOST_RX_THREAD_FLAG (1 << 0)
|
|
|
+#define WLM_HOST_REO_RING_FLAG (1 << 1)
|
|
|
+#define WLM_HOST_PM_QOS_FLAG (1 << 16)
|
|
|
+#define WLM_HOST_HBB_FLAG (1 << 17)
|
|
|
+
|
|
|
/*
|
|
|
* <ini>
|
|
|
* wlm_latency_enable - WLM latency Enable
|
|
@@ -69,7 +92,7 @@
|
|
|
*
|
|
|
* @min: 0x0
|
|
|
* @max: 0xffffffff
|
|
|
- * @defalut: 0x0
|
|
|
+ * @default: 0x0
|
|
|
*
|
|
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
|
* +------+------+------+------+------+------+------+-----+-----+
|
|
@@ -112,7 +135,7 @@
|
|
|
*
|
|
|
* @min: 0x0
|
|
|
* @max: 0xffffffff
|
|
|
- * @defalut: 0x8
|
|
|
+ * @default: 0x8
|
|
|
*
|
|
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
|
* +------+------+------+------+------+------+------+-----+-----+
|
|
@@ -155,7 +178,7 @@
|
|
|
*
|
|
|
* @min: 0x0
|
|
|
* @max: 0xffffffff
|
|
|
- * @defalut: 0xa
|
|
|
+ * @default: 0xa
|
|
|
*
|
|
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
|
* +------+------+------+------+------+------+------+-----+-----+
|
|
@@ -198,7 +221,7 @@
|
|
|
*
|
|
|
* @min: 0x0
|
|
|
* @max: 0xffffffff
|
|
|
- * @defalut: 0xc83
|
|
|
+ * @default: 0xc83
|
|
|
*
|
|
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
|
* +------+------+------+------+------+------+------+-----+-----+
|
|
@@ -235,12 +258,170 @@
|
|
|
CFG_VALUE_OR_DEFAULT, \
|
|
|
"WLM flags for ultralow level")
|
|
|
|
|
|
+/*
|
|
|
+ * <ini>
|
|
|
+ * wlm_latency_host_flags_normal - WLM Host flags setting for normal level
|
|
|
+ *
|
|
|
+ * @min: 0x0
|
|
|
+ * @max: 0xffffffff
|
|
|
+ * @default: 0x0
|
|
|
+ *
|
|
|
+ * This ini decides which host latency features gets enabled
|
|
|
+ * in normal latency mode.
|
|
|
+ *
|
|
|
+ * Usage: External
|
|
|
+ *
|
|
|
+ * |31 18| 17 | 16 |15 8|7 2| 1 | 0 |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | RSVD | HBB | PM-QOS | RSVD | RSVD | REO Ring | RX Thread |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | common | TX Path | RX Path |
|
|
|
+ *
|
|
|
+ * bit 0-7: Rx path related optimization
|
|
|
+ * bit 0: disable rx_thread for vdev
|
|
|
+ * bit 1: Reduce REO ring timer threshold to 32us(applicable for all REO ring)
|
|
|
+ * bit 2-7: Reserved
|
|
|
+ * bit 8-15: Tx path related optimization
|
|
|
+ * bit 8-15: Reserved
|
|
|
+ * bit 16-31: common changes
|
|
|
+ * bit 16: Request for pm_qos vote
|
|
|
+ * bit 17: Request for high ddr bus bandwidth
|
|
|
+ *
|
|
|
+ * </ini>
|
|
|
+ */
|
|
|
+#define CFG_LATENCY_HOST_FLAGS_NORMAL \
|
|
|
+ CFG_INI_UINT("wlm_latency_host_flags_normal",\
|
|
|
+ 0, \
|
|
|
+ 0xffffffff, \
|
|
|
+ 0, \
|
|
|
+ CFG_VALUE_OR_DEFAULT, \
|
|
|
+ "WLM Host flags for normal level")
|
|
|
+
|
|
|
+/*
|
|
|
+ * <ini>
|
|
|
+ * wlm_latency_host_flags_moderate - WLM Host flags setting for moderate level
|
|
|
+ *
|
|
|
+ * @min: 0x0
|
|
|
+ * @max: 0xffffffff
|
|
|
+ * @default: 0x0
|
|
|
+ *
|
|
|
+ * This ini decides which host latency features gets enabled
|
|
|
+ * in moderate latency mode.
|
|
|
+ *
|
|
|
+ * Usage: External
|
|
|
+ *
|
|
|
+ * |31 18| 17 | 16 |15 8|7 2| 1 | 0 |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | RSVD | HBB | PM-QOS | RSVD | RSVD | REO Ring | RX Thread |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | common | TX Path | RX Path |
|
|
|
+ *
|
|
|
+ * bit 0-7: Rx path related optimization
|
|
|
+ * bit 0: disable rx_thread for vdev
|
|
|
+ * bit 1: Reduce REO ring timer threshold to 32us(applicable for all REO ring)
|
|
|
+ * bit 2-7: Reserved
|
|
|
+ * bit 8-15: Tx path related optimization
|
|
|
+ * bit 8-15: Reserved
|
|
|
+ * bit 16-31: common changes
|
|
|
+ * bit 16: Request for pm_qos vote
|
|
|
+ * bit 17: Request for high ddr bus bandwidth
|
|
|
+ *
|
|
|
+ * </ini>
|
|
|
+ */
|
|
|
+#define CFG_LATENCY_HOST_FLAGS_MOD \
|
|
|
+ CFG_INI_UINT("wlm_latency_host_flags_moderate",\
|
|
|
+ 0, \
|
|
|
+ 0xffffffff, \
|
|
|
+ 0, \
|
|
|
+ CFG_VALUE_OR_DEFAULT, \
|
|
|
+ "WLM Host flags for moderate level")
|
|
|
+/*
|
|
|
+ * <ini>
|
|
|
+ * wlm_latency_host_flags_low - WLM Host flags setting for low level
|
|
|
+ *
|
|
|
+ * @min: 0x0
|
|
|
+ * @max: 0xffffffff
|
|
|
+ * @default: 0x0
|
|
|
+ *
|
|
|
+ * This ini decides which host latency features gets enabled
|
|
|
+ * in low latency mode.
|
|
|
+ *
|
|
|
+ * Usage: External
|
|
|
+ *
|
|
|
+ * |31 18| 17 | 16 |15 8|7 2| 1 | 0 |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | RSVD | HBB | PM-QOS | RSVD | RSVD | REO Ring | RX Thread |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | common | TX Path | RX Path |
|
|
|
+ *
|
|
|
+ * bit 0-7: Rx path related optimization
|
|
|
+ * bit 0: disable rx_thread for vdev
|
|
|
+ * bit 1: Reduce REO ring timer threshold to 32us(applicable for all REO ring)
|
|
|
+ * bit 2-7: Reserved
|
|
|
+ * bit 8-15: Tx path related optimization
|
|
|
+ * bit 8-15: Reserved
|
|
|
+ * bit 16-31: common changes
|
|
|
+ * bit 16: Request for pm_qos vote
|
|
|
+ * bit 17: Request for high ddr bus bandwidth
|
|
|
+ *
|
|
|
+ * </ini>
|
|
|
+ */
|
|
|
+#define CFG_LATENCY_HOST_FLAGS_LOW CFG_INI_UINT("wlm_latency_host_flags_low",\
|
|
|
+ 0, \
|
|
|
+ 0xffffffff, \
|
|
|
+ 0, \
|
|
|
+ CFG_VALUE_OR_DEFAULT, \
|
|
|
+ "WLM Host flags for low level")
|
|
|
+
|
|
|
+/*
|
|
|
+ * <ini>
|
|
|
+ * wlm_latency_host_flags_ultralow - WLM Host flags setting for ultralow level
|
|
|
+ *
|
|
|
+ * @min: 0x0
|
|
|
+ * @max: 0xffffffff
|
|
|
+ * @default: 0x0
|
|
|
+ *
|
|
|
+ * This ini decides which host latency features gets enabled
|
|
|
+ * in ultra low latency mode.
|
|
|
+ *
|
|
|
+ * Usage: External
|
|
|
+ *
|
|
|
+ * |31 18| 17 | 16 |15 8|7 2| 1 | 0 |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | RSVD | HBB | PM-QOS | RSVD | RSVD | REO Ring | RX Thread |
|
|
|
+ * +------+------+--------+-----------+------+----------+-----------+
|
|
|
+ * | common | TX Path | RX Path |
|
|
|
+ *
|
|
|
+ * bit 0-7: Rx path related optimization
|
|
|
+ * bit 0: disable rx_thread for vdev
|
|
|
+ * bit 1: Reduce REO ring timer threshold to 32us(applicable for all REO ring)
|
|
|
+ * bit 2-7: Reserved
|
|
|
+ * bit 8-15: Tx path related optimization
|
|
|
+ * bit 8-15: Reserved
|
|
|
+ * bit 16-31: common changes
|
|
|
+ * bit 16: Request for pm_qos vote
|
|
|
+ * bit 17: Request for high ddr bus bandwidth
|
|
|
+ *
|
|
|
+ * </ini>
|
|
|
+ */
|
|
|
+#define CFG_LATENCY_HOST_FLAGS_ULTLOW \
|
|
|
+ CFG_INI_UINT("wlm_latency_host_flags_ultralow",\
|
|
|
+ 0, \
|
|
|
+ 0xffffffff, \
|
|
|
+ 0, \
|
|
|
+ CFG_VALUE_OR_DEFAULT, \
|
|
|
+ "WLM Host flags for ultralow level")
|
|
|
+
|
|
|
#define CFG_FE_WLM_ALL \
|
|
|
CFG(CFG_LATENCY_ENABLE) \
|
|
|
CFG(CFG_LATENCY_LEVEL) \
|
|
|
CFG(CFG_LATENCY_FLAGS_NORMAL) \
|
|
|
CFG(CFG_LATENCY_FLAGS_MOD) \
|
|
|
CFG(CFG_LATENCY_FLAGS_LOW) \
|
|
|
- CFG(CFG_LATENCY_FLAGS_ULTLOW)
|
|
|
+ CFG(CFG_LATENCY_FLAGS_ULTLOW) \
|
|
|
+ CFG(CFG_LATENCY_HOST_FLAGS_NORMAL) \
|
|
|
+ CFG(CFG_LATENCY_HOST_FLAGS_MOD) \
|
|
|
+ CFG(CFG_LATENCY_HOST_FLAGS_LOW) \
|
|
|
+ CFG(CFG_LATENCY_HOST_FLAGS_ULTLOW)
|
|
|
|
|
|
#endif /* __CFG_MLME_FE_WLM_H */
|