wmi.h (8dd06ef34b6e2f41b29fbf5fc1663780f2524285) wmi.h (5dcf42f8b79d1419ad7f6d46d7b5f7dc5bf9cdba)
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
2/*
3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
4 */
5
6#ifndef ATH11K_WMI_H
7#define ATH11K_WMI_H
8

--- 25 unchanged lines hidden (view full) ---

34#define WMI_TLV_VDEV_PARAM_UNSUPPORTED 0
35
36struct wmi_cmd_hdr {
37 u32 cmd_id;
38} __packed;
39
40struct wmi_tlv {
41 u32 header;
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
2/*
3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
4 */
5
6#ifndef ATH11K_WMI_H
7#define ATH11K_WMI_H
8

--- 25 unchanged lines hidden (view full) ---

34#define WMI_TLV_VDEV_PARAM_UNSUPPORTED 0
35
36struct wmi_cmd_hdr {
37 u32 cmd_id;
38} __packed;
39
40struct wmi_tlv {
41 u32 header;
42 u8 value[0];
42 u8 value[];
43} __packed;
44
45#define WMI_TLV_LEN GENMASK(15, 0)
46#define WMI_TLV_TAG GENMASK(31, 16)
47#define TLV_HDR_SIZE sizeof_field(struct wmi_tlv, header)
48
49#define WMI_CMD_HDR_CMD_ID GENMASK(23, 0)
50#define WMI_MAX_MEM_REQS 32

--- 386 unchanged lines hidden (view full) ---

437 WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID,
438 WMI_LRO_CONFIG_CMDID,
439 WMI_TRANSFER_DATA_TO_FLASH_CMDID,
440 WMI_CONFIG_ENHANCED_MCAST_FILTER_CMDID,
441 WMI_VDEV_WISA_CMDID,
442 WMI_DBGLOG_TIME_STAMP_SYNC_CMDID,
443 WMI_SET_MULTIPLE_MCAST_FILTER_CMDID,
444 WMI_READ_DATA_FROM_FLASH_CMDID,
43} __packed;
44
45#define WMI_TLV_LEN GENMASK(15, 0)
46#define WMI_TLV_TAG GENMASK(31, 16)
47#define TLV_HDR_SIZE sizeof_field(struct wmi_tlv, header)
48
49#define WMI_CMD_HDR_CMD_ID GENMASK(23, 0)
50#define WMI_MAX_MEM_REQS 32

--- 386 unchanged lines hidden (view full) ---

437 WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID,
438 WMI_LRO_CONFIG_CMDID,
439 WMI_TRANSFER_DATA_TO_FLASH_CMDID,
440 WMI_CONFIG_ENHANCED_MCAST_FILTER_CMDID,
441 WMI_VDEV_WISA_CMDID,
442 WMI_DBGLOG_TIME_STAMP_SYNC_CMDID,
443 WMI_SET_MULTIPLE_MCAST_FILTER_CMDID,
444 WMI_READ_DATA_FROM_FLASH_CMDID,
445 WMI_THERM_THROT_SET_CONF_CMDID,
446 WMI_RUNTIME_DPD_RECAL_CMDID,
447 WMI_GET_TPC_POWER_CMDID,
448 WMI_IDLE_TRIGGER_MONITOR_CMDID,
445 WMI_GPIO_CONFIG_CMDID = WMI_TLV_CMD(WMI_GRP_GPIO),
446 WMI_GPIO_OUTPUT_CMDID,
447 WMI_TXBF_CMDID,
448 WMI_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID = WMI_TLV_CMD(WMI_GRP_FWTEST),
449 WMI_FWTEST_P2P_SET_NOA_PARAM_CMDID,
450 WMI_UNIT_TEST_CMDID,
451 WMI_FWTEST_CMDID,
452 WMI_QBOOST_CFG_CMDID,

--- 26 unchanged lines hidden (view full) ---

479 WMI_MODEM_POWER_STATE_CMDID = WMI_TLV_CMD(WMI_GRP_COEX),
480 WMI_CHAN_AVOID_UPDATE_CMDID,
481 WMI_COEX_CONFIG_CMDID,
482 WMI_CHAN_AVOID_RPT_ALLOW_CMDID,
483 WMI_COEX_GET_ANTENNA_ISOLATION_CMDID,
484 WMI_SAR_LIMITS_CMDID,
485 WMI_OBSS_SCAN_ENABLE_CMDID = WMI_TLV_CMD(WMI_GRP_OBSS_OFL),
486 WMI_OBSS_SCAN_DISABLE_CMDID,
449 WMI_GPIO_CONFIG_CMDID = WMI_TLV_CMD(WMI_GRP_GPIO),
450 WMI_GPIO_OUTPUT_CMDID,
451 WMI_TXBF_CMDID,
452 WMI_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID = WMI_TLV_CMD(WMI_GRP_FWTEST),
453 WMI_FWTEST_P2P_SET_NOA_PARAM_CMDID,
454 WMI_UNIT_TEST_CMDID,
455 WMI_FWTEST_CMDID,
456 WMI_QBOOST_CFG_CMDID,

--- 26 unchanged lines hidden (view full) ---

483 WMI_MODEM_POWER_STATE_CMDID = WMI_TLV_CMD(WMI_GRP_COEX),
484 WMI_CHAN_AVOID_UPDATE_CMDID,
485 WMI_COEX_CONFIG_CMDID,
486 WMI_CHAN_AVOID_RPT_ALLOW_CMDID,
487 WMI_COEX_GET_ANTENNA_ISOLATION_CMDID,
488 WMI_SAR_LIMITS_CMDID,
489 WMI_OBSS_SCAN_ENABLE_CMDID = WMI_TLV_CMD(WMI_GRP_OBSS_OFL),
490 WMI_OBSS_SCAN_DISABLE_CMDID,
491 WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID,
487 WMI_LPI_MGMT_SNOOPING_CONFIG_CMDID = WMI_TLV_CMD(WMI_GRP_LPI),
488 WMI_LPI_START_SCAN_CMDID,
489 WMI_LPI_STOP_SCAN_CMDID,
490 WMI_EXTSCAN_START_CMDID = WMI_TLV_CMD(WMI_GRP_EXTSCAN),
491 WMI_EXTSCAN_STOP_CMDID,
492 WMI_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID,
493 WMI_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID,
494 WMI_EXTSCAN_GET_CACHED_RESULTS_CMDID,

--- 1471 unchanged lines hidden (view full) ---

1966 WMI_TLV_SERVICE_CFR_CAPTURE_IND_MSG_TYPE_1 = 169,
1967 WMI_TLV_SERVICE_ESP_SUPPORT = 170,
1968 WMI_TLV_SERVICE_PEER_CHWIDTH_CHANGE = 171,
1969 WMI_TLV_SERVICE_WLAN_HPCS_PULSE = 172,
1970 WMI_TLV_SERVICE_PER_VDEV_CHAINMASK_CONFIG_SUPPORT = 173,
1971 WMI_TLV_SERVICE_TX_DATA_MGMT_ACK_RSSI = 174,
1972 WMI_TLV_SERVICE_NAN_DISABLE_SUPPORT = 175,
1973 WMI_TLV_SERVICE_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN = 176,
492 WMI_LPI_MGMT_SNOOPING_CONFIG_CMDID = WMI_TLV_CMD(WMI_GRP_LPI),
493 WMI_LPI_START_SCAN_CMDID,
494 WMI_LPI_STOP_SCAN_CMDID,
495 WMI_EXTSCAN_START_CMDID = WMI_TLV_CMD(WMI_GRP_EXTSCAN),
496 WMI_EXTSCAN_STOP_CMDID,
497 WMI_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID,
498 WMI_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID,
499 WMI_EXTSCAN_GET_CACHED_RESULTS_CMDID,

--- 1471 unchanged lines hidden (view full) ---

1971 WMI_TLV_SERVICE_CFR_CAPTURE_IND_MSG_TYPE_1 = 169,
1972 WMI_TLV_SERVICE_ESP_SUPPORT = 170,
1973 WMI_TLV_SERVICE_PEER_CHWIDTH_CHANGE = 171,
1974 WMI_TLV_SERVICE_WLAN_HPCS_PULSE = 172,
1975 WMI_TLV_SERVICE_PER_VDEV_CHAINMASK_CONFIG_SUPPORT = 173,
1976 WMI_TLV_SERVICE_TX_DATA_MGMT_ACK_RSSI = 174,
1977 WMI_TLV_SERVICE_NAN_DISABLE_SUPPORT = 175,
1978 WMI_TLV_SERVICE_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN = 176,
1979 WMI_TLV_SERVICE_COEX_SUPPORT_UNEQUAL_ISOLATION = 177,
1980 WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT = 178,
1981 WMI_TLV_SERVICE_SUPPORT_EXTEND_ADDRESS = 179,
1982 WMI_TLV_SERVICE_BEACON_RECEPTION_STATS = 180,
1983 WMI_TLV_SERVICE_FETCH_TX_PN = 181,
1984 WMI_TLV_SERVICE_PEER_UNMAP_RESPONSE_SUPPORT = 182,
1985 WMI_TLV_SERVICE_TX_PER_PEER_AMPDU_SIZE = 183,
1986 WMI_TLV_SERVICE_BSS_COLOR_SWITCH_COUNT = 184,
1987 WMI_TLV_SERVICE_HTT_PEER_STATS_SUPPORT = 185,
1988 WMI_TLV_SERVICE_UL_RU26_ALLOWED = 186,
1989 WMI_TLV_SERVICE_GET_MWS_COEX_STATE = 187,
1990 WMI_TLV_SERVICE_GET_MWS_DPWB_STATE = 188,
1991 WMI_TLV_SERVICE_GET_MWS_TDM_STATE = 189,
1992 WMI_TLV_SERVICE_GET_MWS_IDRX_STATE = 190,
1993 WMI_TLV_SERVICE_GET_MWS_ANTENNA_SHARING_STATE = 191,
1994 WMI_TLV_SERVICE_ENHANCED_TPC_CONFIG_EVENT = 192,
1995 WMI_TLV_SERVICE_WLM_STATS_REQUEST = 193,
1996 WMI_TLV_SERVICE_EXT_PEER_TID_CONFIGS_SUPPORT = 194,
1997 WMI_TLV_SERVICE_WPA3_FT_SAE_SUPPORT = 195,
1998 WMI_TLV_SERVICE_WPA3_FT_SUITE_B_SUPPORT = 196,
1999 WMI_TLV_SERVICE_VOW_ENABLE = 197,
2000 WMI_TLV_SERVICE_CFR_CAPTURE_IND_EVT_TYPE_1 = 198,
2001 WMI_TLV_SERVICE_BROADCAST_TWT = 199,
2002 WMI_TLV_SERVICE_RAP_DETECTION_SUPPORT = 200,
2003 WMI_TLV_SERVICE_PS_TDCC = 201,
2004 WMI_TLV_SERVICE_THREE_WAY_COEX_CONFIG_LEGACY = 202,
2005 WMI_TLV_SERVICE_THREE_WAY_COEX_CONFIG_OVERRIDE = 203,
2006 WMI_TLV_SERVICE_TX_PWR_PER_PEER = 204,
2007 WMI_TLV_SERVICE_STA_PLUS_STA_SUPPORT = 205,
2008 WMI_TLV_SERVICE_WPA3_FT_FILS = 206,
2009 WMI_TLV_SERVICE_ADAPTIVE_11R_ROAM = 207,
2010 WMI_TLV_SERVICE_CHAN_RF_CHARACTERIZATION_INFO = 208,
2011 WMI_TLV_SERVICE_FW_IFACE_COMBINATION_SUPPORT = 209,
2012 WMI_TLV_SERVICE_TX_COMPL_TSF64 = 210,
2013 WMI_TLV_SERVICE_DSM_ROAM_FILTER = 211,
2014 WMI_TLV_SERVICE_PACKET_CAPTURE_SUPPORT = 212,
2015 WMI_TLV_SERVICE_PER_PEER_HTT_STATS_RESET = 213,
1974
1975 WMI_MAX_EXT_SERVICE
1976
1977};
1978
1979enum {
1980 WMI_SMPS_FORCED_MODE_NONE = 0,
1981 WMI_SMPS_FORCED_MODE_DISABLED,

--- 353 unchanged lines hidden (view full) ---

2335 u8 addr[6];
2336 struct {
2337 u32 word0;
2338 u32 word1;
2339 } __packed;
2340 } __packed;
2341} __packed;
2342
2016
2017 WMI_MAX_EXT_SERVICE
2018
2019};
2020
2021enum {
2022 WMI_SMPS_FORCED_MODE_NONE = 0,
2023 WMI_SMPS_FORCED_MODE_DISABLED,

--- 353 unchanged lines hidden (view full) ---

2377 u8 addr[6];
2378 struct {
2379 u32 word0;
2380 u32 word1;
2381 } __packed;
2382 } __packed;
2383} __packed;
2384
2343struct wmi_ready_event {
2385struct wmi_ready_event_min {
2344 struct wmi_abi_version fw_abi_vers;
2345 struct wmi_mac_addr mac_addr;
2346 u32 status;
2347 u32 num_dscp_table;
2348 u32 num_extra_mac_addr;
2349 u32 num_total_peers;
2350 u32 num_extra_peers;
2351} __packed;
2352
2386 struct wmi_abi_version fw_abi_vers;
2387 struct wmi_mac_addr mac_addr;
2388 u32 status;
2389 u32 num_dscp_table;
2390 u32 num_extra_mac_addr;
2391 u32 num_total_peers;
2392 u32 num_extra_peers;
2393} __packed;
2394
2395struct wmi_ready_event {
2396 struct wmi_ready_event_min ready_event_min;
2397 u32 max_ast_index;
2398 u32 pktlog_defs_checksum;
2399} __packed;
2400
2353struct wmi_service_available_event {
2354 u32 wmi_service_segment_offset;
2355 u32 wmi_service_segment_bitmap[WMI_SERVICE_SEGMENT_BM_SIZE32];
2356} __packed;
2357
2358struct ath11k_pdev_wmi {
2359 struct ath11k_wmi_base *wmi_ab;
2360 enum ath11k_htc_ep_id eid;

--- 934 unchanged lines hidden (view full) ---

3295struct wmi_request_stats_cmd {
3296 u32 tlv_header;
3297 enum wmi_stats_id stats_id;
3298 u32 vdev_id;
3299 struct wmi_mac_addr peer_macaddr;
3300 u32 pdev_id;
3301} __packed;
3302
2401struct wmi_service_available_event {
2402 u32 wmi_service_segment_offset;
2403 u32 wmi_service_segment_bitmap[WMI_SERVICE_SEGMENT_BM_SIZE32];
2404} __packed;
2405
2406struct ath11k_pdev_wmi {
2407 struct ath11k_wmi_base *wmi_ab;
2408 enum ath11k_htc_ep_id eid;

--- 934 unchanged lines hidden (view full) ---

3343struct wmi_request_stats_cmd {
3344 u32 tlv_header;
3345 enum wmi_stats_id stats_id;
3346 u32 vdev_id;
3347 struct wmi_mac_addr peer_macaddr;
3348 u32 pdev_id;
3349} __packed;
3350
3351struct wmi_get_pdev_temperature_cmd {
3352 u32 tlv_header;
3353 u32 param;
3354 u32 pdev_id;
3355} __packed;
3356
3303#define WMI_BEACON_TX_BUFFER_SIZE 512
3304
3305struct wmi_bcn_tmpl_cmd {
3306 u32 tlv_header;
3307 u32 vdev_id;
3308 u32 tim_ie_offset;
3309 u32 buf_len;
3310 u32 csa_switch_count_offset;

--- 289 unchanged lines hidden (view full) ---

3600 u32 init_cc_type;
3601 union {
3602 u32 country_code;
3603 u32 regdom_id;
3604 u32 alpha2;
3605 } cc_info;
3606} __packed;
3607
3357#define WMI_BEACON_TX_BUFFER_SIZE 512
3358
3359struct wmi_bcn_tmpl_cmd {
3360 u32 tlv_header;
3361 u32 vdev_id;
3362 u32 tim_ie_offset;
3363 u32 buf_len;
3364 u32 csa_switch_count_offset;

--- 289 unchanged lines hidden (view full) ---

3654 u32 init_cc_type;
3655 union {
3656 u32 country_code;
3657 u32 regdom_id;
3658 u32 alpha2;
3659 } cc_info;
3660} __packed;
3661
3662#define THERMAL_LEVELS 1
3663struct tt_level_config {
3664 u32 tmplwm;
3665 u32 tmphwm;
3666 u32 dcoffpercent;
3667 u32 priority;
3668};
3669
3670struct thermal_mitigation_params {
3671 u32 pdev_id;
3672 u32 enable;
3673 u32 dc;
3674 u32 dc_per_event;
3675 struct tt_level_config levelconf[THERMAL_LEVELS];
3676};
3677
3678struct wmi_therm_throt_config_request_cmd {
3679 u32 tlv_header;
3680 u32 pdev_id;
3681 u32 enable;
3682 u32 dc;
3683 u32 dc_per_event;
3684 u32 therm_throt_levels;
3685} __packed;
3686
3687struct wmi_therm_throt_level_config_info {
3688 u32 tlv_header;
3689 u32 temp_lwm;
3690 u32 temp_hwm;
3691 u32 dc_off_percent;
3692 u32 prio;
3693} __packed;
3694
3695struct wmi_delba_send_cmd {
3696 u32 tlv_header;
3697 u32 vdev_id;
3698 struct wmi_mac_addr peer_macaddr;
3699 u32 tid;
3700 u32 initiator;
3701 u32 reasoncode;
3702} __packed;
3703
3704struct wmi_addba_setresponse_cmd {
3705 u32 tlv_header;
3706 u32 vdev_id;
3707 struct wmi_mac_addr peer_macaddr;
3708 u32 tid;
3709 u32 statuscode;
3710} __packed;
3711
3712struct wmi_addba_send_cmd {
3713 u32 tlv_header;
3714 u32 vdev_id;
3715 struct wmi_mac_addr peer_macaddr;
3716 u32 tid;
3717 u32 buffersize;
3718} __packed;
3719
3720struct wmi_addba_clear_resp_cmd {
3721 u32 tlv_header;
3722 u32 vdev_id;
3723 struct wmi_mac_addr peer_macaddr;
3724} __packed;
3725
3608struct wmi_pdev_pktlog_filter_info {
3609 u32 tlv_header;
3610 struct wmi_mac_addr peer_macaddr;
3611} __packed;
3612
3613struct wmi_pdev_pktlog_filter_cmd {
3614 u32 tlv_header;
3615 u32 pdev_id;

--- 474 unchanged lines hidden (view full) ---

4090 u32 detector_id;
4091 u32 segment_id;
4092 u32 timestamp;
4093 u32 is_chirp;
4094 s32 freq_offset;
4095 s32 sidx;
4096} __packed;
4097
3726struct wmi_pdev_pktlog_filter_info {
3727 u32 tlv_header;
3728 struct wmi_mac_addr peer_macaddr;
3729} __packed;
3730
3731struct wmi_pdev_pktlog_filter_cmd {
3732 u32 tlv_header;
3733 u32 pdev_id;

--- 474 unchanged lines hidden (view full) ---

4208 u32 detector_id;
4209 u32 segment_id;
4210 u32 timestamp;
4211 u32 is_chirp;
4212 s32 freq_offset;
4213 s32 sidx;
4214} __packed;
4215
4216struct wmi_pdev_temperature_event {
4217 /* temperature value in Celcius degree */
4218 s32 temp;
4219 u32 pdev_id;
4220} __packed;
4221
4098#define WMI_RX_STATUS_OK 0x00
4099#define WMI_RX_STATUS_ERR_CRC 0x01
4100#define WMI_RX_STATUS_ERR_DECRYPT 0x08
4101#define WMI_RX_STATUS_ERR_MIC 0x10
4102#define WMI_RX_STATUS_ERR_KEY_CACHE_MISS 0x20
4103
4104#define WLAN_MGMT_TXRX_HOST_MAX_ANTENNA 4
4105
4106struct mgmt_rx_event_params {
4222#define WMI_RX_STATUS_OK 0x00
4223#define WMI_RX_STATUS_ERR_CRC 0x01
4224#define WMI_RX_STATUS_ERR_DECRYPT 0x08
4225#define WMI_RX_STATUS_ERR_MIC 0x10
4226#define WMI_RX_STATUS_ERR_KEY_CACHE_MISS 0x20
4227
4228#define WLAN_MGMT_TXRX_HOST_MAX_ANTENNA 4
4229
4230struct mgmt_rx_event_params {
4231 u32 chan_freq;
4107 u32 channel;
4108 u32 snr;
4109 u8 rssi_ctl[WLAN_MGMT_TXRX_HOST_MAX_ANTENNA];
4110 u32 rate;
4111 enum wmi_phy_mode phy_mode;
4112 u32 buf_len;
4113 int status;
4114 u32 flags;

--- 13 unchanged lines hidden (view full) ---

4128 u32 status;
4129 u32 rssi_ctl[ATH_MAX_ANTENNA];
4130 u32 flags;
4131 int rssi;
4132 u32 tsf_delta;
4133 u32 rx_tsf_l32;
4134 u32 rx_tsf_u32;
4135 u32 pdev_id;
4232 u32 channel;
4233 u32 snr;
4234 u8 rssi_ctl[WLAN_MGMT_TXRX_HOST_MAX_ANTENNA];
4235 u32 rate;
4236 enum wmi_phy_mode phy_mode;
4237 u32 buf_len;
4238 int status;
4239 u32 flags;

--- 13 unchanged lines hidden (view full) ---

4253 u32 status;
4254 u32 rssi_ctl[ATH_MAX_ANTENNA];
4255 u32 flags;
4256 int rssi;
4257 u32 tsf_delta;
4258 u32 rx_tsf_l32;
4259 u32 rx_tsf_u32;
4260 u32 pdev_id;
4261 u32 chan_freq;
4136} __packed;
4137
4138#define MAX_ANTENNA_EIGHT 8
4139
4140struct wmi_rssi_ctl_ext {
4141 u32 tlv_header;
4142 u32 rssi_ctl_ext[MAX_ANTENNA_EIGHT - ATH_MAX_ANTENNA];
4143};

--- 332 unchanged lines hidden (view full) ---

4476
4477#define WMI_SKB_HEADROOM sizeof(struct wmi_cmd_hdr)
4478
4479enum wmi_sta_ps_param_rx_wake_policy {
4480 WMI_STA_PS_RX_WAKE_POLICY_WAKE = 0,
4481 WMI_STA_PS_RX_WAKE_POLICY_POLL_UAPSD = 1,
4482};
4483
4262} __packed;
4263
4264#define MAX_ANTENNA_EIGHT 8
4265
4266struct wmi_rssi_ctl_ext {
4267 u32 tlv_header;
4268 u32 rssi_ctl_ext[MAX_ANTENNA_EIGHT - ATH_MAX_ANTENNA];
4269};

--- 332 unchanged lines hidden (view full) ---

4602
4603#define WMI_SKB_HEADROOM sizeof(struct wmi_cmd_hdr)
4604
4605enum wmi_sta_ps_param_rx_wake_policy {
4606 WMI_STA_PS_RX_WAKE_POLICY_WAKE = 0,
4607 WMI_STA_PS_RX_WAKE_POLICY_POLL_UAPSD = 1,
4608};
4609
4610/* Do not change existing values! Used by ath11k_frame_mode parameter
4611 * module parameter.
4612 */
4484enum ath11k_hw_txrx_mode {
4485 ATH11K_HW_TXRX_RAW = 0,
4486 ATH11K_HW_TXRX_NATIVE_WIFI = 1,
4487 ATH11K_HW_TXRX_ETHERNET = 2,
4488};
4489
4490struct wmi_wmm_params {
4491 u32 tlv_header;

--- 74 unchanged lines hidden (view full) ---

4566 u32 tlv_header;
4567 u32 pdev_id;
4568 u32 enable;
4569 s32 obss_min;
4570 s32 obss_max;
4571 u32 vdev_id;
4572} __packed;
4573
4613enum ath11k_hw_txrx_mode {
4614 ATH11K_HW_TXRX_RAW = 0,
4615 ATH11K_HW_TXRX_NATIVE_WIFI = 1,
4616 ATH11K_HW_TXRX_ETHERNET = 2,
4617};
4618
4619struct wmi_wmm_params {
4620 u32 tlv_header;

--- 74 unchanged lines hidden (view full) ---

4695 u32 tlv_header;
4696 u32 pdev_id;
4697 u32 enable;
4698 s32 obss_min;
4699 s32 obss_max;
4700 u32 vdev_id;
4701} __packed;
4702
4703#define ATH11K_BSS_COLOR_COLLISION_SCAN_PERIOD_MS 200
4704#define ATH11K_OBSS_COLOR_COLLISION_DETECTION_DISABLE 0
4705#define ATH11K_OBSS_COLOR_COLLISION_DETECTION 1
4706
4707#define ATH11K_BSS_COLOR_COLLISION_DETECTION_STA_PERIOD_MS 10000
4708#define ATH11K_BSS_COLOR_COLLISION_DETECTION_AP_PERIOD_MS 5000
4709
4710struct wmi_obss_color_collision_cfg_params_cmd {
4711 u32 tlv_header;
4712 u32 vdev_id;
4713 u32 flags;
4714 u32 evt_type;
4715 u32 current_bss_color;
4716 u32 detection_period_ms;
4717 u32 scan_period_ms;
4718 u32 free_slot_expiry_time_ms;
4719} __packed;
4720
4721struct wmi_bss_color_change_enable_params_cmd {
4722 u32 tlv_header;
4723 u32 vdev_id;
4724 u32 enable;
4725} __packed;
4726
4727#define ATH11K_IPV4_TH_SEED_SIZE 5
4728#define ATH11K_IPV6_TH_SEED_SIZE 11
4729
4730struct ath11k_wmi_pdev_lro_config_cmd {
4731 u32 tlv_header;
4732 u32 lro_enable;
4733 u32 res;
4734 u32 th_4[ATH11K_IPV4_TH_SEED_SIZE];
4735 u32 th_6[ATH11K_IPV6_TH_SEED_SIZE];
4736 u32 pdev_id;
4737} __packed;
4738
4574struct target_resource_config {
4575 u32 num_vdevs;
4576 u32 num_peers;
4577 u32 num_active_peers;
4578 u32 num_offload_peers;
4579 u32 num_offload_reorder_buffs;
4580 u32 num_peer_keys;
4581 u32 num_tids;

--- 139 unchanged lines hidden (view full) ---

4721int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
4722 struct peer_assoc_params *param);
4723int ath11k_wmi_vdev_install_key(struct ath11k *ar,
4724 struct wmi_vdev_install_key_arg *arg);
4725int ath11k_wmi_pdev_bss_chan_info_request(struct ath11k *ar,
4726 enum wmi_bss_chan_info_req_type type);
4727int ath11k_wmi_send_stats_request_cmd(struct ath11k *ar,
4728 struct stats_request_params *param);
4739struct target_resource_config {
4740 u32 num_vdevs;
4741 u32 num_peers;
4742 u32 num_active_peers;
4743 u32 num_offload_peers;
4744 u32 num_offload_reorder_buffs;
4745 u32 num_peer_keys;
4746 u32 num_tids;

--- 139 unchanged lines hidden (view full) ---

4886int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
4887 struct peer_assoc_params *param);
4888int ath11k_wmi_vdev_install_key(struct ath11k *ar,
4889 struct wmi_vdev_install_key_arg *arg);
4890int ath11k_wmi_pdev_bss_chan_info_request(struct ath11k *ar,
4891 enum wmi_bss_chan_info_req_type type);
4892int ath11k_wmi_send_stats_request_cmd(struct ath11k *ar,
4893 struct stats_request_params *param);
4894int ath11k_wmi_send_pdev_temperature_cmd(struct ath11k *ar);
4729int ath11k_wmi_send_peer_flush_tids_cmd(struct ath11k *ar,
4730 u8 peer_addr[ETH_ALEN],
4731 struct peer_flush_params *param);
4732int ath11k_wmi_send_set_ap_ps_param_cmd(struct ath11k *ar, u8 *peer_addr,
4733 struct ap_ps_params *param);
4734int ath11k_wmi_send_scan_chan_list_cmd(struct ath11k *ar,
4735 struct scan_chan_list_params *chan_list);
4736int ath11k_wmi_send_dfs_phyerr_offload_enable_cmd(struct ath11k *ar,
4737 u32 pdev_id);
4895int ath11k_wmi_send_peer_flush_tids_cmd(struct ath11k *ar,
4896 u8 peer_addr[ETH_ALEN],
4897 struct peer_flush_params *param);
4898int ath11k_wmi_send_set_ap_ps_param_cmd(struct ath11k *ar, u8 *peer_addr,
4899 struct ap_ps_params *param);
4900int ath11k_wmi_send_scan_chan_list_cmd(struct ath11k *ar,
4901 struct scan_chan_list_params *chan_list);
4902int ath11k_wmi_send_dfs_phyerr_offload_enable_cmd(struct ath11k *ar,
4903 u32 pdev_id);
4904int ath11k_wmi_addba_clear_resp(struct ath11k *ar, u32 vdev_id, const u8 *mac);
4905int ath11k_wmi_addba_send(struct ath11k *ar, u32 vdev_id, const u8 *mac,
4906 u32 tid, u32 buf_size);
4907int ath11k_wmi_addba_set_resp(struct ath11k *ar, u32 vdev_id, const u8 *mac,
4908 u32 tid, u32 status);
4909int ath11k_wmi_delba_send(struct ath11k *ar, u32 vdev_id, const u8 *mac,
4910 u32 tid, u32 initiator, u32 reason);
4738int ath11k_wmi_send_bcn_offload_control_cmd(struct ath11k *ar,
4739 u32 vdev_id, u32 bcn_ctrl_op);
4740int
4741ath11k_wmi_send_init_country_cmd(struct ath11k *ar,
4742 struct wmi_init_country_params init_cc_param);
4911int ath11k_wmi_send_bcn_offload_control_cmd(struct ath11k *ar,
4912 u32 vdev_id, u32 bcn_ctrl_op);
4913int
4914ath11k_wmi_send_init_country_cmd(struct ath11k *ar,
4915 struct wmi_init_country_params init_cc_param);
4916int
4917ath11k_wmi_send_thermal_mitigation_param_cmd(struct ath11k *ar,
4918 struct thermal_mitigation_params *param);
4743int ath11k_wmi_pdev_pktlog_enable(struct ath11k *ar, u32 pktlog_filter);
4744int ath11k_wmi_pdev_pktlog_disable(struct ath11k *ar);
4745int ath11k_wmi_pdev_peer_pktlog_filter(struct ath11k *ar, u8 *addr, u8 enable);
4746int
4747ath11k_wmi_rx_reord_queue_remove(struct ath11k *ar,
4748 struct rx_reorder_queue_remove_params *param);
4749int ath11k_wmi_send_pdev_set_regdomain(struct ath11k *ar,
4750 struct pdev_set_regdomain_params *param);

--- 5 unchanged lines hidden (view full) ---

4756void ath11k_wmi_fw_stats_fill(struct ath11k *ar,
4757 struct ath11k_fw_stats *fw_stats, u32 stats_id,
4758 char *buf);
4759int ath11k_wmi_simulate_radar(struct ath11k *ar);
4760int ath11k_wmi_send_twt_enable_cmd(struct ath11k *ar, u32 pdev_id);
4761int ath11k_wmi_send_twt_disable_cmd(struct ath11k *ar, u32 pdev_id);
4762int ath11k_wmi_send_obss_spr_cmd(struct ath11k *ar, u32 vdev_id,
4763 struct ieee80211_he_obss_pd *he_obss_pd);
4919int ath11k_wmi_pdev_pktlog_enable(struct ath11k *ar, u32 pktlog_filter);
4920int ath11k_wmi_pdev_pktlog_disable(struct ath11k *ar);
4921int ath11k_wmi_pdev_peer_pktlog_filter(struct ath11k *ar, u8 *addr, u8 enable);
4922int
4923ath11k_wmi_rx_reord_queue_remove(struct ath11k *ar,
4924 struct rx_reorder_queue_remove_params *param);
4925int ath11k_wmi_send_pdev_set_regdomain(struct ath11k *ar,
4926 struct pdev_set_regdomain_params *param);

--- 5 unchanged lines hidden (view full) ---

4932void ath11k_wmi_fw_stats_fill(struct ath11k *ar,
4933 struct ath11k_fw_stats *fw_stats, u32 stats_id,
4934 char *buf);
4935int ath11k_wmi_simulate_radar(struct ath11k *ar);
4936int ath11k_wmi_send_twt_enable_cmd(struct ath11k *ar, u32 pdev_id);
4937int ath11k_wmi_send_twt_disable_cmd(struct ath11k *ar, u32 pdev_id);
4938int ath11k_wmi_send_obss_spr_cmd(struct ath11k *ar, u32 vdev_id,
4939 struct ieee80211_he_obss_pd *he_obss_pd);
4940int ath11k_wmi_send_obss_color_collision_cfg_cmd(struct ath11k *ar, u32 vdev_id,
4941 u8 bss_color, u32 period,
4942 bool enable);
4943int ath11k_wmi_send_bss_color_change_enable_cmd(struct ath11k *ar, u32 vdev_id,
4944 bool enable);
4945int ath11k_wmi_pdev_lro_cfg(struct ath11k *ar, int pdev_id);
4764#endif
4946#endif