1 /* 2 * Copyright (c) 2012-2019, 2021 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #ifndef __CFG_LEGACY_DP 20 #define __CFG_LEGACY_DP 21 22 #include "cfg_define.h" 23 #include "cfg_converged.h" 24 #include "qdf_types.h" 25 26 /* 27 * <ini> 28 * gEnableFlowSteering - Enable rx traffic flow steering 29 * @Default: true 30 * 31 * Enable Rx traffic flow steering to enable Rx interrupts on multiple CEs based 32 * on the flows. Different CEs<==>different IRQs<==>probably different CPUs. 33 * Parallel Rx paths. 34 * 1 - enable 0 - disable 35 * 36 * Usage: Internal 37 * 38 * </ini> 39 */ 40 #define CFG_DP_FLOW_STEERING_ENABLED \ 41 CFG_INI_BOOL( \ 42 "gEnableFlowSteering", \ 43 true, \ 44 "") 45 46 /* 47 * <ini> 48 * maxMSDUsPerRxInd - Max number of MSDUs per HTT RX IN ORDER INDICATION msg. 49 * Note that this has a direct impact on the size of source CE rings. 50 * It is possible to go below 8, but would require testing; so we are 51 * restricting the lower limit to 8 artificially 52 * 53 * It is recommended that this value is a POWER OF 2. 54 * 55 * Values lower than 8 are for experimental purposes only 56 * 57 * </ini>. 58 */ 59 #define CFG_DP_MAX_MSDUS_PER_RXIND \ 60 CFG_INI_UINT("maxMSDUsPerRxInd", \ 61 4, 32, 8, CFG_VALUE_OR_DEFAULT, \ 62 "Max number of MSDUs per HTT RX INORDER IND msg") 63 64 /* 65 * <ini> 66 * gEnableTxSchedWrrVO - Set TX sched parameters for VO 67 * @Default: 68 * 69 * This key is mapping to VO defined in data path module through 70 * OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC. The user can tune the 71 * WRR TX sched parameters such as skip, credit, limit, credit, disc for VO. 72 * e.g., gEnableTxSchedWrrVO = 10, 9, 8, 1, 8 73 * 74 * </ini> 75 */ 76 #define CFG_DP_ENABLE_TX_SCHED_WRR_VO \ 77 CFG_INI_STRING("gEnableTxSchedWrrVO", \ 78 0, 50, "", "et TX sched parameters for VO") 79 80 /* 81 * <ini> 82 * gEnableTxSchedWrrVI - Set TX sched parameters for VI 83 * @Default: 84 * 85 * This key is mapping to VI defined in data path module through 86 * OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC. The user can tune the 87 * WRR TX sched parameters such as skip, credit, limit, credit, disc for VI. 88 * e.g., gEnableTxSchedWrrVI = 10, 9, 8, 1, 8 89 * 90 * </ini> 91 */ 92 #define CFG_DP_ENABLE_TX_SCHED_WRR_VI \ 93 CFG_INI_STRING("gEnableTxSchedWrrVI", \ 94 0, 50, "", "Set TX sched parameters for VI") 95 96 /* 97 * <ini> 98 * gEnableTxSchedWrrBE - Set TX sched parameters for BE 99 * @Default: 100 * 101 * This key is mapping to BE defined in data path module through 102 * OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC. The user can tune the 103 * WRR TX sched parameters such as skip, credit, limit, credit, disc for BE. 104 * e.g., gEnableTxSchedWrrBE = 10, 9, 8, 1, 8 105 * 106 * </ini> 107 */ 108 #define CFG_DP_ENABLE_TX_SCHED_WRR_BE \ 109 CFG_INI_STRING("gEnableTxSchedWrrBE", \ 110 0, 50, "", "Set TX sched parameters for BE") 111 112 /* 113 * <ini> 114 * gEnableTxSchedWrrBK - Set TX sched parameters for BK 115 * @Default: 116 * 117 * This key is mapping to BK defined in data path module through 118 * OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC. The user can tune the 119 * WRR TX sched parameters such as skip, credit, limit, credit, disc for BK. 120 * e.g., gEnableTxSchedWrrBK = 10, 9, 8, 1, 8 121 * 122 * </ini> 123 */ 124 #define CFG_DP_ENABLE_TX_SCHED_WRR_BK \ 125 CFG_INI_STRING("gEnableTxSchedWrrBK", \ 126 0, 50, "", "Set TX sched parameters for BK") 127 128 #define CFG_DP_CE_CLASSIFY_ENABLE \ 129 CFG_INI_BOOL("gCEClassifyEnable", \ 130 true, "enable CE classify") 131 132 /* 133 * <ini> 134 * gEnablePeerUnmapConfSupport - Set PEER UNMAP confirmation support 135 * Default: false 136 * 1 - enable 0 - disable 137 * 138 * Enable peer unmap confirmation support in the Host. Host will send 139 * this support to the FW only if FW support is enabled. 140 * 141 * </ini> 142 */ 143 #define CFG_DP_ENABLE_PEER_UMAP_CONF_SUPPORT \ 144 CFG_INI_BOOL("gEnablePeerUnmapConfSupport", \ 145 false, "enable PEER UNMAP CONF support") 146 147 #define CFG_LEGACY_DP_ALL \ 148 CFG(CFG_DP_FLOW_STEERING_ENABLED) \ 149 CFG(CFG_DP_CE_CLASSIFY_ENABLE) \ 150 CFG(CFG_DP_MAX_MSDUS_PER_RXIND) \ 151 CFG(CFG_DP_ENABLE_TX_SCHED_WRR_VO) \ 152 CFG(CFG_DP_ENABLE_TX_SCHED_WRR_VI) \ 153 CFG(CFG_DP_ENABLE_TX_SCHED_WRR_BE) \ 154 CFG(CFG_DP_ENABLE_TX_SCHED_WRR_BK) \ 155 CFG(CFG_DP_ENABLE_PEER_UMAP_CONF_SUPPORT) 156 157 #endif 158