Lines Matching +full:max +full:- +full:bit +full:- +full:rate
1 /* SPDX-License-Identifier: ISC */
3 * Copyright (c) 2005-2011 Atheros Communications Inc.
4 * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
5 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
28 * 1. Add new WMI commands ONLY within the specified range - 0x9000 - 0x9fff
34 * 3. DO NOT define bit fields within structures. Implement bit fields
35 * using masks if necessary. Do not use the programming language's bit
44 * variable is already 4-byte aligned by virtue of being a u32
523 BIT((svc_id) % (sizeof(u32))))
526 * for wmi_services is 64 as target is using only 4-bits of each 32-bit
532 __le32_to_cpu((wmi_svc_bmap)[((svc_id) - (len)) / 28]) & \
533 BIT(((((svc_id) - (len)) % 28) & 0x1f) + 4))
1159 /** DFS-specific commands */
1186 /* Rate-control specific commands */
1411 /* DFS-specific commands */
1438 /* Rate-control specific commands */
1479 WMI_10X_PDEV_UTF_CMDID = WMI_10X_END_CMDID - 1,
1542 WMI_10X_PDEV_UTF_EVENTID = WMI_10X_END_EVENTID - 1,
1665 WMI_10_2_PDEV_UTF_CMDID = WMI_10_2_END_CMDID - 1,
1710 WMI_10_2_PDEV_UTF_EVENTID = WMI_10_2_END_EVENTID - 1,
1891 WMI_10_4_PDEV_UTF_CMDID = WMI_10_4_END_CMDID - 1,
1969 WMI_10_4_PDEV_UTF_EVENTID = WMI_10_4_END_EVENTID - 1,
2006 return "11na-ht20"; in ath10k_wmi_phymode_str()
2008 return "11ng-ht20"; in ath10k_wmi_phymode_str()
2010 return "11na-ht40"; in ath10k_wmi_phymode_str()
2012 return "11ng-ht40"; in ath10k_wmi_phymode_str()
2014 return "11ac-vht20"; in ath10k_wmi_phymode_str()
2016 return "11ac-vht40"; in ath10k_wmi_phymode_str()
2018 return "11ac-vht80"; in ath10k_wmi_phymode_str()
2020 return "11ac-vht160"; in ath10k_wmi_phymode_str()
2022 return "11ac-vht80+80"; in ath10k_wmi_phymode_str()
2024 return "11ac-vht20-2g"; in ath10k_wmi_phymode_str()
2026 return "11ac-vht40-2g"; in ath10k_wmi_phymode_str()
2028 return "11ac-vht80-2g"; in ath10k_wmi_phymode_str()
2114 #define WMI_MAX_SPATIAL_STREAM 3 /* default max ss */
2122 #define WMI_HT_CAP_RX_STBC 0x0030 /* B4-B5 RX STBC */
2125 #define WMI_HT_CAP_L_SIG_TXOP_PROT 0x0080 /* L-SIG TXOP Protection */
2166 /* The following also refer for max HT AMSDU */
2184 #define WMI_VHT_MAX_MCS_4_SS_MASK(r, ss) ((3 & (r)) << (((ss) - 1) << 1))
2190 REGDMN_MODE_TURBO = 0x00002, /* 11a turbo-only channels */
2197 REGDMN_MODE_11A_HALF_RATE = 0x00200, /* 11A half rate channels */
2198 REGDMN_MODE_11A_QUARTER_RATE = 0x00400, /* 11A quarter rate channels */
2199 REGDMN_MODE_11NG_HT20 = 0x00800, /* 11N-G HT20 channels */
2200 REGDMN_MODE_11NA_HT20 = 0x01000, /* 11N-A HT20 channels */
2201 REGDMN_MODE_11NG_HT40PLUS = 0x02000, /* 11N-G HT40 + channels */
2202 REGDMN_MODE_11NG_HT40MINUS = 0x04000, /* 11N-G HT40 - channels */
2203 REGDMN_MODE_11NA_HT40PLUS = 0x08000, /* 11N-A HT40 + channels */
2204 REGDMN_MODE_11NA_HT40MINUS = 0x10000, /* 11N-A HT40 - channels */
2207 REGDMN_MODE_11AC_VHT40MINUS = 0x80000, /* 5Ghz VHT40 - channels */
2231 /* CAP1 capabilities bit map. */
2298 * Max beacon and Probe Response IE offload size
2377 /* For target-based RX reordering */
2387 * max skid for resolving hash collisions
2403 * This configuration parameter specifies the nominal chain-mask that
2415 * This configuration parameter specifies the nominal chain-mask that
2423 * Each WMM access class (voice, video, best-effort, background) will
2457 * how many groups to use for mcast->ucast conversion
2461 * multicast->unicast conversion is enabled, the target can convert
2482 * whether/how to do multicast->unicast conversion
2485 * perform multicast --> unicast conversion on transmit, and if so,
2489 * 0 -> Do not perform multicast to unicast conversion.
2490 * 1 -> Convert multicast frames to unicast, if the IP multicast
2494 * 2 -> Convert multicast frames to unicast, if the IP multicast
2505 * to store a log of tx PPDU meta-information (how large the PPDU
2515 * 0 -default, 1 256B
2527 * non-aggregate MPDU and timing out stale fragments.
2529 * A-MPDU reordering is always performed on the target.
2539 * and Max no of descriptors for each Video link (node).
2550 * Max. number of Tx fragments per MSDU
2551 * This parameter controls the max number of Tx fragments per MSDU.
2572 * max skid for resolving hash collisions
2588 * This configuration parameter specifies the nominal chain-mask that
2600 * This configuration parameter specifies the nominal chain-mask that
2608 * Each WMM access class (voice, video, best-effort, background) will
2642 * how many groups to use for mcast->ucast conversion
2646 * multicast->unicast conversion is enabled, the target can convert
2667 * whether/how to do multicast->unicast conversion
2670 * perform multicast --> unicast conversion on transmit, and if so,
2674 * 0 -> Do not perform multicast to unicast conversion.
2675 * 1 -> Convert multicast frames to unicast, if the IP multicast
2679 * 2 -> Convert multicast frames to unicast, if the IP multicast
2690 * to store a log of tx PPDU meta-information (how large the PPDU
2700 * 0 -default, 1 256B
2712 * non-aggregate MPDU and timing out stale fragments.
2714 * A-MPDU reordering is always performed on the target.
2724 * and Max no of descriptors for each Video link (node).
2732 * Max. number of Tx fragments per MSDU
2733 * This parameter controls the max number of Tx fragments per MSDU.
2741 WMI_10_2_RX_BATCH_MODE = BIT(0),
2742 WMI_10_2_ATF_CONFIG = BIT(1),
2743 WMI_10_2_COEX_GPIO = BIT(3),
2744 WMI_10_2_BSS_CHAN_INFO = BIT(6),
2745 WMI_10_2_PEER_STATS = BIT(7),
2751 __le32 smart_ant_cap; /* 0-disable, 1-enable */
2759 #define NUM_UNITS_IS_NUM_VDEVS BIT(0)
2760 #define NUM_UNITS_IS_NUM_PEERS BIT(1)
2761 #define NUM_UNITS_IS_NUM_ACTIVE_PEERS BIT(2)
2792 /* Max skid for resolving hash collisions.
2805 * This configuration parameter specifies the nominal chain-mask that
2815 * chain-mask that should be used when not operating with a reduced
2821 * Each WMM access class (voice, video, best-effort, background) will
2844 /* How many groups to use for mcast->ucast conversion.
2847 * multicast->unicast conversion is enabled, the target can convert
2864 /* Whether/how to do multicast->unicast conversion.
2866 * perform multicast --> unicast conversion on transmit, and if so,
2870 * 0 -> Do not perform multicast to unicast conversion.
2871 * 1 -> Convert multicast frames to unicast, if the IP multicast address
2874 * 2 -> Convert multicast frames to unicast, if the IP multicast address
2883 * store a log of tx PPDU meta-information (how large the PPDU was,
2891 /* MAC DMA burst size. 0 -default, 1 -256B */
2900 * non-aggregate MPDU and timing out stale fragments. A-MPDU reordering
2908 /* Configuration for VoW : No of Video nodes to be supported and max
2919 /* Max number of tx fragments per MSDU.
2920 * This parameter controls the max number of tx fragments per MSDU.
2926 /* Max number of extended peer stats.
2927 * This parameter controls the max number of peers for which extended
2933 * 1 - Smart antenna is enabled
2934 * 0 - Smart antenna is disabled
2948 * 1 - Rx batch mode enabled
2949 * 0 - Rx batch mode disabled
2954 * 1 - Capable of thermal throttling
2955 * 0 - Not capable of thermal throttling
2960 * 1 - Enable ATF
2961 * 0 - Disable ATF
2965 /* Configure padding to manage IP header un-alignment
2966 * 1 - Enable padding
2967 * 0 - Disable padding
2971 /* qwrap configuration (bits 15-0)
2972 * 1 - This is qwrap configuration
2973 * 0 - This is not qwrap
2975 * Bits 31-16 is alloc_frag_desc_for_data_pkt (1 enables, 0 disables)
2976 * In order to get ack-RSSI reporting and to specify the tx-rate for
2978 * 4 bytes per tx-msdu descriptor, so don't enable it unless you need it.
2996 * enum wmi_10_4_feature_mask - WMI 10.4 feature enable/disable flags
3014 WMI_10_4_LTEU_SUPPORT = BIT(0),
3015 WMI_10_4_COEX_GPIO_SUPPORT = BIT(1),
3016 WMI_10_4_AUX_RADIO_SPECTRAL_INTF = BIT(2),
3017 WMI_10_4_AUX_RADIO_CHAN_LOAD_INTF = BIT(3),
3018 WMI_10_4_BSS_CHANNEL_INFO_64 = BIT(4),
3019 WMI_10_4_PEER_STATS = BIT(5),
3020 WMI_10_4_VDEV_STATS = BIT(6),
3021 WMI_10_4_TDLS = BIT(7),
3022 WMI_10_4_TDLS_OFFCHAN = BIT(8),
3023 WMI_10_4_TDLS_UAPSD_BUFFER_STA = BIT(9),
3024 WMI_10_4_TDLS_UAPSD_SLEEP_STA = BIT(10),
3025 WMI_10_4_TDLS_CONN_TRACKER_IN_HOST_MODE = BIT(11),
3026 WMI_10_4_TDLS_EXPLICIT_MODE_ONLY = BIT(12),
3027 WMI_10_4_TX_DATA_ACK_RSSI = BIT(16),
3028 WMI_10_4_EXT_PEER_TID_CONFIGS_SUPPORT = BIT(17),
3029 WMI_10_4_REPORT_AIRTIME = BIT(18),
3178 * max rest time in msec on the BSS channel,only valid if at least
3350 WMI_SCAN_EVENT_STARTED = BIT(0),
3351 WMI_SCAN_EVENT_COMPLETED = BIT(1),
3352 WMI_SCAN_EVENT_BSS_CHANNEL = BIT(2),
3353 WMI_SCAN_EVENT_FOREIGN_CHANNEL = BIT(3),
3354 WMI_SCAN_EVENT_DEQUEUED = BIT(4),
3355 /* possibly by high-prio scan */
3356 WMI_SCAN_EVENT_PREEMPTED = BIT(5),
3357 WMI_SCAN_EVENT_START_FAILED = BIT(6),
3358 WMI_SCAN_EVENT_RESTARTED = BIT(7),
3359 WMI_SCAN_EVENT_FOREIGN_CHANNEL_EXIT = BIT(8),
3360 WMI_SCAN_EVENT_MAX = BIT(15),
3401 __le32 rate; member
3426 __le32 rate; member
3678 ATH10K_PROT_RTSCTS = 2, /* RTS-CTS */
3709 /* Bit 0-15: FC */
3710 /* Bit 16-31: DUR */
3847 * 0: no protection 1:use CTS-to-self 2: use RTS/CTS
3851 * Dynamic bandwidth - 0: disable, 1: enable
3853 * When enabled HW rate control tries different bandwidths when
3857 /* Non aggregrate/ 11g sw retry threshold.0-disable */
3859 /* aggregrate sw retry threshold. 0-disable*/
3861 /* Station kickout threshold (non of consecutive failures).0-disable */
3879 /* LTR-RX override, in us */
3919 /* Enable/Disable CDD for 1x1 STAs in rate control module */
3951 * 0: no protection 1:use CTS-to-self 2: use RTS/CTS
3956 /* Non aggregrate/ 11g sw retry threshold.0-disable */
3958 /* aggregrate sw retry threshold. 0-disable*/
3960 /* Station kickout threshold (non of consecutive failures).0-disable */
3978 /* LTR-RX override, in us */
4010 /* Enable/Disable CDD for 1x1 STAs in rate control module */
4203 WMI_TP_SCALE_50 = 1, /* 50% of max (-3 dBm) */
4204 WMI_TP_SCALE_25 = 2, /* 25% of max (-6 dBm) */
4205 WMI_TP_SCALE_12 = 3, /* 12% of max (-9 dBm) */
4207 WMI_TP_SCALE_SIZE = 5, /* max num of enum */
4296 /* Customize the DSCP (bit) to TID (0-7) mapping for QOS */
4310 __le32 rate; member
4385 /* data hw rate code */
4394 /* illegal rate phy errors */
4406 /* frames dropped due to non-availability of stateless TIDs */
4458 /* data hw rate code */
4467 /* illegal rate phy errors */
4479 /* frames dropped due to non-availability of stateless TIDs */
4509 * (TXOP, TBTT, PPDU_duration based on rate, dyn_bw)
4521 /* Cnts any change in ring routing mid-ppdu */
4527 /* Extra frags on rings 0-3 */
4550 /* Number of mpdu errors - FCS, MIC, ENC etc. */
4560 WMI_STAT_PEER = BIT(0),
4561 WMI_STAT_AP = BIT(1),
4562 WMI_STAT_PDEV = BIT(2),
4563 WMI_STAT_VDEV = BIT(3),
4564 WMI_STAT_BCNFLT = BIT(4),
4565 WMI_STAT_VDEV_RATE = BIT(5),
4569 WMI_10_4_STAT_PEER = BIT(0),
4570 WMI_10_4_STAT_AP = BIT(1),
4571 WMI_10_4_STAT_INST = BIT(2),
4572 WMI_10_4_STAT_PEER_EXTD = BIT(3),
4573 WMI_10_4_STAT_VDEV_EXTD = BIT(4),
4577 WMI_TLV_STAT_PEER = BIT(0),
4578 WMI_TLV_STAT_AP = BIT(1),
4579 WMI_TLV_STAT_PDEV = BIT(2),
4580 WMI_TLV_STAT_VDEV = BIT(3),
4581 WMI_TLV_STAT_PEER_EXTD = BIT(10),
4631 * (wmi_vdev_stats) 0 or max vdevs
4636 * (wmi_peer_stats) 0 or max peers
4671 __le32 cycle_count; /* Total on-channel time */
4730 #define WMI_VDEV_STATS_FTM_COUNT_VALID BIT(31)
4915 __le32 start_time; /* 32 bit tsf time when in starts */
4933 /* beacon/probe response xmit rate. Applicable for SoftAP. */
5006 #define WMI_KEY_TX_USAGE 0x02 /* default tx key - static wep */
5070 * vdev fixed rate format:
5071 * - preamble - b7:b6 - see WMI_RATE_PREMABLE_
5072 * - nss - b5:b4 - ss number (0 mean 1ss)
5073 * - rate_mcs - b3:b0 - as below
5074 * CCK: 0 - 11Mbps, 1 - 5,5Mbps, 2 - 2Mbps, 3 - 1Mbps,
5075 * 4 - 11Mbps (s), 5 - 5,5Mbps (s), 6 - 2Mbps (s)
5076 * OFDM: 0 - 48Mbps, 1 - 24Mbps, 2 - 12Mbps, 3 - 6Mbps,
5077 * 4 - 54Mbps, 5 - 36Mbps, 6 - 18Mbps, 7 - 9Mbps
5081 /* Preamble types to be used with VDEV fixed rate configuration */
5089 #define ATH10K_HW_NSS(rate) (1 + (((rate) >> 4) & 0x3)) argument
5090 #define ATH10K_HW_PREAMBLE(rate) (((rate) >> 6) & 0x3) argument
5091 #define ATH10K_HW_MCS_RATE(rate) ((rate) & 0xf) argument
5092 #define ATH10K_HW_LEGACY_RATE(rate) ((rate) & 0x3f) argument
5095 #define ATH10K_HW_RATECODE(rate, nss, preamble) \ argument
5096 (((preamble) << 6) | ((nss) << 4) | (rate))
5110 /* Value to disable fixed rate setting */
5217 /* multicast rate in Mbps */
5219 /* management frame rate in Mbps */
5247 /* BMISS max */
5263 /* Rate to be used with Management frames */
5267 /* Fixed rate setting */
5283 /* Set the custom rate for the broadcast data frames */
5285 /* Set the custom rate (rate-code) for multicast data frames */
5301 * 802.11 data-null as a keep alive to verify the STA is still
5302 * associated. If the STA does ACK the data-null, or if the data-null
5319 /* Enable/Disable RTS-CTS */
5328 * Drops un-encrypted packets if eceived in an encrypted connection
5349 /* multicast rate in Mbps */
5351 /* management frame rate in Mbps */
5379 /* BMISS max */
5391 /* Rate to be used with Management frames */
5395 /* Fixed rate setting */
5411 /* Set the custom rate for the broadcast data frames */
5413 /* Set the custom rate (rate-code) for multicast data frames */
5429 * 802.11 data-null as a keep alive to verify the STA is still
5430 * associated. If the STA does ACK the data-null, or if the data-null
5449 /* Enable/Disable RTS-CTS */
5556 #define WMI_VDEV_PARAM_TXBF_SU_TX_BFEE BIT(0)
5557 #define WMI_VDEV_PARAM_TXBF_MU_TX_BFEE BIT(1)
5558 #define WMI_VDEV_PARAM_TXBF_SU_TX_BFER BIT(2)
5559 #define WMI_VDEV_PARAM_TXBF_MU_TX_BFER BIT(3)
5563 #define WMI_TXBF_CONF_IMPLICIT_BF BIT(7)
5622 /* TODO: please add more comments if you have in-depth information */
5631 /* number of bins in the FFT: 2^(fft_size - bin_scale) */
5647 * 1: 2-dword summary of metrics for each completed FFT + spectral
5649 * 2: 2-dword summary of metrics for each completed FFT +
5650 * 1x- oversampled bins(in-band) per FFT + spectral scan summary
5652 * 3: 2-dword summary of metrics for each completed FFT +
5653 * 2x- oversampled bins (all) per FFT + spectral scan summary
5690 #define WMI_SPECTRAL_NOISE_FLOOR_REF_DEFAULT -96
5748 /* physical address of the frame - dma pointer */
5770 /* Filter type - wmi_bcn_filter */
5863 * bit set in the received beacon frame from AP.
5869 * bit, instead it will send a PSPOLL (or) UASPD trigger based on UAPSD
5871 * access categories are delivery-enabled, the station will send a
5872 * UAPSD trigger frame, otherwise it will send a PS-Poll.
5896 * The maximum number of PS-Poll frames the FW will send in response to
5899 * will send as many PS-Poll as are necessary to retrieve buffered BU. This
5907 * Values greater than 0 indicate the maximum number of PS-Poll frames
5911 /* When u-APSD is enabled the firmware will be very reluctant to exit
5913 * PS-Poll for each and every buffered frame. This value is a bit
5982 * Number of PS-Poll to send before STA wakes up
6026 /* U-APSD configuration of peer station from (re)assoc request and TSPECs */
6038 /* U-APSD maximum service period of peer station */
6113 #define WMI_P2P_OPPPS_ENABLE_BIT BIT(0)
6115 #define WMI_P2P_NOA_CHANGED_BIT BIT(0)
6118 /* Bit 0 - Flag to indicate an update in NOA schedule
6119 * Bits 7-1 - Reserved
6124 /* Bit 0 - Opp PS state of the AP
6125 * Bits 1-7 - Ctwindow in TUs
6168 /* Bit 0 - Flag to indicate an update in NOA schedule
6169 * Bits 7-1 - Reserved
6174 /* Bit 0 - Opp PS state of the AP
6175 * Bits 1-7 - Ctwindow in TUs
6227 * rate mode . 0: disable fixed rate (auto rate)
6228 * 1: legacy (non 11n) rate specified as ieee rate 2*Mbps
6229 * 2: ht20 11n rate specified as mcs index
6230 * 3: ht40 11n rate specified as mcs index
6234 * 4 rate values for 4 rate series. series 0 is stored in byte 0 (LSB)
6239 * 4 retry counts for 4 rate series. retry count for rate 0 is stored
6240 * in byte 0 (LSB) and retry count for rate 3 is stored at byte 3
6251 /* fixed rate */
6348 * rates (each 8bit value) packed into a 32 bit word.
6366 __le32 rx_max_rate; /* Max Rx data rate */
6368 __le32 tx_max_rate; /* Max Tx data rate */
6382 /* legacy rate set */
6384 /* ht rate set */
6475 * Peer rate capabilities.
6478 * module which resides in the firmware. The bit definitions are
6540 #define WMI_PEER_NSS_MAP_ENABLE BIT(31)
6615 #define WMI_CHAN_INFO_FLAG_COMPLETE BIT(0)
6616 #define WMI_CHAN_INFO_FLAG_PRE_COMPLETE BIT(1)
6831 __le32 rate; member
7030 WOW_REASON_UNSPECIFIED = -1,
7114 #define WOW_MAX_REDUCE (WOW_HDR_LEN - sizeof(struct ethhdr) - \
7142 WMI_TDLS_OFFCHAN_EN = BIT(0),
7143 WMI_TDLS_BUFFER_STA_EN = BIT(1),
7144 WMI_TDLS_SLEEP_STA_EN = BIT(2),
7148 WMI_TDLS_PEER_QOS_AC_VO = BIT(0),
7149 WMI_TDLS_PEER_QOS_AC_VI = BIT(1),
7150 WMI_TDLS_PEER_QOS_AC_BK = BIT(2),
7151 WMI_TDLS_PEER_QOS_AC_BE = BIT(3),
7268 WMI_EXT_TID_RTS_CTS_CONFIG = BIT(0),