/* * Copyright (c) 2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022-2023 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 above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /** * DOC: cfg_mgmt_rx_reo.h * This file contains cfg definitions of mgmt rx reo sub-component */ #ifndef __CFG_MGMT_RX_REO_H #define __CFG_MGMT_RX_REO_H #ifdef WLAN_MGMT_RX_REO_SUPPORT /* * * mgmt_rx_reo_enable - Enable MGMT Rx REO feature * @Min: 0 * @Max: 1 * @Default: 0 * * This ini is used to enable MGMT Rx REO feature * * Related: None * * Supported Feature: MGMT Rx REO * * Usage: External * * */ #define CFG_MGMT_RX_REO_ENABLE \ CFG_INI_BOOL("mgmt_rx_reo_enable", false, \ "Enable MGMT Rx REO feature") /* * * mgmt_rx_reo_scheduler_enable - Enable MGMT Rx REO scheduler * @Min: 0 * @Max: 1 * @Default: 0 * * This ini is used to enable MGMT Rx REO scheduler * * Related: None * * Supported Feature: MGMT Rx REO * * Usage: External * * */ #define CFG_MGMT_RX_REO_SCHEDULER_ENABLE \ CFG_INI_BOOL("mgmt_rx_reo_scheduler_enable", false, \ "Enable MGMT Rx REO scheduler") /* * * mgmt_rx_reo_pkt_ctr_delta_thresh - Packet counter delta threshold * @Min: 0 * @Max: 0xFFFF * @Default: 0 * * This ini is used to configure the maximum allowed delta between subsequent * management frames of a given link. Configurations are as follows: * 0 - No restrictions in the delta value * >= 1 - Assert the system if the delta between the packet counter values of * subsequent frames of a given link crosses this value. * * Related: None * * Supported Feature: MGMT Rx REO * * Usage: External * * */ #define CFG_MGMT_RX_REO_PKT_CTR_DELTA_THRESH CFG_INI_UINT(\ "mgmt_rx_reo_pkt_ctr_delta_thresh",\ 0, 0xFFFF, 0,\ CFG_VALUE_OR_DEFAULT, "Packet counter delta threshold") /* * * mgmt_rx_reo_ingress_frame_debug_list_size - Size of the list which logs the * incoming management frames * @Min: 0 * @Max: WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_MAX * @Default: WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT * * This ini is used to configure the size of the list which logs the incoming * management frames. * * Related: None * * Supported Feature: MGMT Rx REO * * Usage: External * * */ #define CFG_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE CFG_INI_UINT(\ "mgmt_rx_reo_ingress_frame_debug_list_size",\ 0, WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_MAX,\ WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT,\ CFG_VALUE_OR_CLAMP, "Size of ingress frame debug list") /* * * mgmt_rx_reo_egress_frame_debug_list_size - Size of the list which logs the * outgoing management frames * @Min: 0 * @Max: WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_MAX * @Default: WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT * * This ini is used to configure the size of the list which logs the outgoing * management frames. * * Related: None * * Supported Feature: MGMT Rx REO * * Usage: External * * */ #define CFG_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE CFG_INI_UINT(\ "mgmt_rx_reo_egress_frame_debug_list_size",\ 0, WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_MAX,\ WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT,\ CFG_VALUE_OR_CLAMP, "Size of egress frame debug list") /* * * mgmt_rx_reo_scheduler_debug_list_size - Size of the list which logs the * frames which are scheduled by management rx reorder scheduler * @Min: 0 * @Max: WLAN_MGMT_RX_REO_SCHEDULER_DEBUG_LIST_SIZE_MAX * @Default: WLAN_MGMT_RX_REO_SCHEDULER_DEBUG_LIST_SIZE_DEFAULT * * This ini is used to configure the size of the list which logs the frames * which are scheduled by management rx reorder scheduler * * Related: None * * Supported Feature: MGMT Rx REO * * Usage: External * * */ #define CFG_MGMT_RX_REO_SCHEDULER_DEBUG_LIST_SIZE CFG_INI_UINT(\ "mgmt_rx_reo_scheduler_debug_list_size",\ 0, WLAN_MGMT_RX_REO_SCHEDULER_DEBUG_LIST_SIZE_MAX,\ WLAN_MGMT_RX_REO_SCHEDULER_DEBUG_LIST_SIZE_DEFAULT,\ CFG_VALUE_OR_CLAMP, "Size of scheduler debug list") #ifdef WLAN_MGMT_RX_REO_DEBUG_SUPPORT #define CFG_MGMT_RX_REO_DEBUG_ALL \ CFG(CFG_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE) \ CFG(CFG_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE) \ CFG(CFG_MGMT_RX_REO_SCHEDULER_DEBUG_LIST_SIZE) #else #define CFG_MGMT_RX_REO_DEBUG_ALL #endif /* WLAN_MGMT_RX_REO_DEBUG_SUPPORT */ #define CFG_MGMT_RX_REO_ALL \ CFG(CFG_MGMT_RX_REO_ENABLE) \ CFG(CFG_MGMT_RX_REO_SCHEDULER_ENABLE) \ CFG(CFG_MGMT_RX_REO_PKT_CTR_DELTA_THRESH) \ CFG_MGMT_RX_REO_DEBUG_ALL #else #define CFG_MGMT_RX_REO_ALL #endif /* WLAN_MGMT_RX_REO_SUPPORT */ #endif /* __CFG_MGMT_RX_REO_H */