|
@@ -1,5 +1,5 @@
|
|
|
/*
|
|
|
- * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
|
|
|
+ * Copyright (c) 2016-2021 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
|
|
@@ -908,18 +908,6 @@ struct pdev_params {
|
|
|
bool is_host_pdev_id;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct fd_params - FD cmd parameter
|
|
|
- * @vdev_id: vdev id
|
|
|
- * @frame_ctrl: frame control field
|
|
|
- * @wbuf: FD buffer
|
|
|
- */
|
|
|
-struct fd_params {
|
|
|
- uint8_t vdev_id;
|
|
|
- uint16_t frame_ctrl;
|
|
|
- qdf_nbuf_t wbuf;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct bcn_prb_template_params - beacon probe template parameter
|
|
|
* @vdev_id: vdev id
|
|
@@ -1205,10 +1193,6 @@ typedef struct {
|
|
|
uint32_t segmentInfo;
|
|
|
} QVIT_SEG_HDR_INFO_STRUCT;
|
|
|
|
|
|
-struct pdev_qvit_params {
|
|
|
- uint8_t *utf_payload;
|
|
|
- uint32_t len;
|
|
|
-};
|
|
|
/**
|
|
|
* struct crash_inject - crash inject command parameters
|
|
|
* @type: crash inject type
|
|
@@ -2734,45 +2718,6 @@ struct peer_chan_width_switch_info {
|
|
|
uint32_t chan_width;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct peer_chan_width_switch_params - Peer channel width capability wrapper
|
|
|
- * @num_peers: Total number of peers connected to AP
|
|
|
- * @max_peers_per_cmd: Peer limit per WMI command
|
|
|
- * @vdev_id: vdev id
|
|
|
- * @chan_width_peer_list: List of capabilities for all connected peers
|
|
|
- */
|
|
|
-
|
|
|
-struct peer_chan_width_switch_params {
|
|
|
- uint32_t num_peers;
|
|
|
- uint32_t max_peers_per_cmd;
|
|
|
- uint32_t vdev_id;
|
|
|
- struct peer_chan_width_switch_info *chan_width_peer_list;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct peer_add_wds_entry_params - WDS peer entry add params
|
|
|
- * @dest_addr: Pointer to destination macaddr
|
|
|
- * @peer_addr: Pointer to peer mac addr
|
|
|
- * @flags: flags
|
|
|
- * @vdev_id: Vdev id
|
|
|
- */
|
|
|
-struct peer_add_wds_entry_params {
|
|
|
- const uint8_t *dest_addr;
|
|
|
- uint8_t *peer_addr;
|
|
|
- uint32_t flags;
|
|
|
- uint32_t vdev_id;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct peer_del_wds_entry_params - WDS peer entry del params
|
|
|
- * @dest_addr: Pointer to destination macaddr
|
|
|
- * @vdev_id: Vdev id
|
|
|
- */
|
|
|
-struct peer_del_wds_entry_params {
|
|
|
- uint8_t *dest_addr;
|
|
|
- uint32_t vdev_id;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct set_bridge_mac_addr_params - set bridge MAC addr params
|
|
|
* @dest_addr: Pointer to bridge macaddr
|
|
@@ -2781,20 +2726,6 @@ struct set_bridge_mac_addr_params {
|
|
|
uint8_t *bridge_addr;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct peer_updatewds_entry_params - WDS peer entry update params
|
|
|
- * @wds_macaddr: Pointer to destination macaddr
|
|
|
- * @peer_add: Pointer to peer mac addr
|
|
|
- * @flags: flags
|
|
|
- * @vdev_id: Vdev id
|
|
|
- */
|
|
|
-struct peer_update_wds_entry_params {
|
|
|
- uint8_t *wds_macaddr;
|
|
|
- uint8_t *peer_macaddr;
|
|
|
- uint32_t flags;
|
|
|
- uint32_t vdev_id;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct peer_del_all_wds_entries_params - WDS peer entries del params
|
|
|
* @wds_macaddr: Pointer to destination macaddr
|
|
@@ -2995,38 +2926,6 @@ struct pdev_set_regdomain_params {
|
|
|
uint32_t pdev_id;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct set_quiet_mode_params - Set quiet mode params
|
|
|
- * @enabled: Enabled
|
|
|
- * @period: Quite period
|
|
|
- * @intval: Quite interval
|
|
|
- * @duration: Quite duration
|
|
|
- * @offset: offset
|
|
|
- */
|
|
|
-struct set_quiet_mode_params {
|
|
|
- uint8_t enabled;
|
|
|
- uint8_t period;
|
|
|
- uint16_t intval;
|
|
|
- uint16_t duration;
|
|
|
- uint16_t offset;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct set_bcn_offload_quiet_mode_params - Set quiet mode params
|
|
|
- * @vdev_id: Vdev ID
|
|
|
- * @period: Quite period
|
|
|
- * @duration: Quite duration
|
|
|
- * @next_start: Next quiet start
|
|
|
- * @flag: 0 - disable, 1 - enable and continuous, 3 - enable and single shot
|
|
|
- */
|
|
|
-struct set_bcn_offload_quiet_mode_params {
|
|
|
- uint32_t vdev_id;
|
|
|
- uint32_t period;
|
|
|
- uint32_t duration;
|
|
|
- uint32_t next_start;
|
|
|
- uint32_t flag;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct set_beacon_filter_params - Set beacon filter params
|
|
|
* @vdev_id: VDEV id
|
|
@@ -3112,16 +3011,6 @@ struct singleamsdu_params {
|
|
|
uint8_t tidno;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct set_qbosst_params - Set QBOOST params
|
|
|
- * @vdev_id: vdev id
|
|
|
- * @value: value
|
|
|
- */
|
|
|
-struct set_qboost_params {
|
|
|
- uint8_t vdev_id;
|
|
|
- uint32_t value;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct mu_scan_params - MU scan params
|
|
|
* @id: id
|
|
@@ -3185,58 +3074,6 @@ struct wlan_profile_params {
|
|
|
uint32_t enable;
|
|
|
};
|
|
|
|
|
|
-/* struct ht_ie_params - HT IE params
|
|
|
- * @ie_len: IE length
|
|
|
- * @ie_data: pointer to IE data
|
|
|
- * @tx_streams: Tx streams supported for this HT IE
|
|
|
- * @rx_streams: Rx streams supported for this HT IE
|
|
|
- */
|
|
|
-struct ht_ie_params {
|
|
|
- uint32_t ie_len;
|
|
|
- uint8_t *ie_data;
|
|
|
- uint32_t tx_streams;
|
|
|
- uint32_t rx_streams;
|
|
|
-};
|
|
|
-
|
|
|
-/* struct vht_ie_params - VHT IE params
|
|
|
- * @ie_len: IE length
|
|
|
- * @ie_data: pointer to IE data
|
|
|
- * @tx_streams: Tx streams supported for this VHT IE
|
|
|
- * @rx_streams: Rx streams supported for this VHT IE
|
|
|
- */
|
|
|
-struct vht_ie_params {
|
|
|
- uint32_t ie_len;
|
|
|
- uint8_t *ie_data;
|
|
|
- uint32_t tx_streams;
|
|
|
- uint32_t rx_streams;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_wmeParams - WME params
|
|
|
- * @wmep_acm: ACM paramete
|
|
|
- * @wmep_aifsn: AIFSN parameters
|
|
|
- * @wmep_logcwmin: cwmin in exponential form
|
|
|
- * @wmep_logcwmax: cwmax in exponential form
|
|
|
- * @wmep_txopLimit: txopLimit
|
|
|
- * @wmep_noackPolicy: No-Ack Policy: 0=ack, 1=no-ack
|
|
|
- */
|
|
|
-struct wmi_host_wmeParams {
|
|
|
- u_int8_t wmep_acm;
|
|
|
- u_int8_t wmep_aifsn;
|
|
|
- u_int8_t wmep_logcwmin;
|
|
|
- u_int8_t wmep_logcwmax;
|
|
|
- u_int16_t wmep_txopLimit;
|
|
|
- u_int8_t wmep_noackPolicy;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmm_update_params - WMM update params
|
|
|
- * @wmep_array: WME params for each AC
|
|
|
- */
|
|
|
-struct wmm_update_params {
|
|
|
- struct wmi_host_wmeParams *wmep_array;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct wmi_host_wmevParams - WME params
|
|
|
* @wmep_acm: ACM paramete
|
|
@@ -3268,37 +3105,6 @@ struct ratepwr_table_params {
|
|
|
uint16_t ratepwr_len;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct ctl_table_params - Ctl table params
|
|
|
- * @ctl_array: pointer to ctl array
|
|
|
- * @ctl_cmd_len: ctl command length
|
|
|
- * @is_2g: is 2G
|
|
|
- * @target_type: target type
|
|
|
- * @ctl_band: ctl band
|
|
|
- * @pdev_id: pdev id
|
|
|
- */
|
|
|
-struct ctl_table_params {
|
|
|
- uint8_t *ctl_array;
|
|
|
- uint16_t ctl_cmd_len;
|
|
|
- bool is_2g;
|
|
|
- uint32_t target_type;
|
|
|
- uint32_t ctl_band;
|
|
|
- uint32_t pdev_id;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct mimogain_table_params - MIMO gain table params
|
|
|
- * @array_gain: pointer to array gain table
|
|
|
- * @tbl_len: table length
|
|
|
- * @multichain_gain_bypass: bypass multichain gain
|
|
|
- */
|
|
|
-struct mimogain_table_params {
|
|
|
- uint8_t *array_gain;
|
|
|
- uint16_t tbl_len;
|
|
|
- bool multichain_gain_bypass;
|
|
|
- uint32_t pdev_id;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct ratepwr_chainmask_params - Rate power chainmask params
|
|
|
* @ratepwr_chain_tbl: pointer to ratepwr chain table
|
|
@@ -3403,38 +3209,6 @@ struct disa_encrypt_decrypt_req_params {
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
-/**
|
|
|
- * struct mcast_group_update_param - Mcast group table update to target
|
|
|
- * @action: Addition/deletion
|
|
|
- * @wildcard: iwldcard table entry?
|
|
|
- * @mcast_ip_addr: mcast ip address to be updated
|
|
|
- * @mcast_ip_addr_bytes: mcast ip addr bytes
|
|
|
- * @nsrcs: number of entries in source list
|
|
|
- * @filter_mode: filter mode
|
|
|
- * @is_action_delete: is delete
|
|
|
- * @is_filter_mode_snoop: is filter mode snoop
|
|
|
- * @ucast_mac_addr: ucast peer mac subscribed to mcast ip
|
|
|
- * @srcs: source mac accpted
|
|
|
- * @mask: mask
|
|
|
- * @vap_id: vdev id
|
|
|
- * @is_mcast_addr_len: is mcast address length
|
|
|
- */
|
|
|
-struct mcast_group_update_params {
|
|
|
- int action;
|
|
|
- int wildcard;
|
|
|
- uint8_t *mcast_ip_addr;
|
|
|
- int mcast_ip_addr_bytes;
|
|
|
- uint8_t nsrcs;
|
|
|
- uint8_t filter_mode;
|
|
|
- bool is_action_delete;
|
|
|
- bool is_filter_mode_snoop;
|
|
|
- uint8_t *ucast_mac_addr;
|
|
|
- uint8_t *srcs;
|
|
|
- uint8_t *mask;
|
|
|
- uint8_t vap_id;
|
|
|
- bool is_mcast_addr_len;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct periodic_chan_stats_param - periodic channel stats req param
|
|
|
* @stats_period: stats period update
|
|
@@ -3520,27 +3294,6 @@ enum wmi_ratemask_type {
|
|
|
WMI_RATEMASK_TYPE_HE = 3,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct packet_power_info_params - packet power info params
|
|
|
- * @chainmask: chain mask
|
|
|
- * @chan_width: channel bandwidth
|
|
|
- * @rate_flags: rate flags
|
|
|
- * @su_mu_ofdma: su/mu/ofdma flags
|
|
|
- * @nss: number of spatial streams
|
|
|
- * @preamble: preamble
|
|
|
- * @hw_rate:
|
|
|
- */
|
|
|
-struct packet_power_info_params {
|
|
|
- uint16_t chainmask;
|
|
|
- uint16_t chan_width;
|
|
|
- uint16_t rate_flags;
|
|
|
- uint16_t su_mu_ofdma;
|
|
|
- uint16_t nss;
|
|
|
- uint16_t preamble;
|
|
|
- uint16_t hw_rate;
|
|
|
- uint32_t pdev_id;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* enum gpio_pull_type - GPIO PULL TYPE
|
|
|
* @WMI_HOST_GPIO_PULL_NONE: set gpio pull type to none
|
|
@@ -5576,20 +5329,6 @@ typedef struct {
|
|
|
bool carrier_vow_optimization;
|
|
|
} target_resource_config;
|
|
|
|
|
|
-/**
|
|
|
- * struct wds_addr_event - WDS addr event structure
|
|
|
- * @event_type: event type add/delete
|
|
|
- * @peer_mac: peer mac
|
|
|
- * @dest_mac: destination mac address
|
|
|
- * @vdev_id: vdev id
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t event_type[4];
|
|
|
- u_int8_t peer_mac[QDF_MAC_ADDR_SIZE];
|
|
|
- u_int8_t dest_mac[QDF_MAC_ADDR_SIZE];
|
|
|
- uint32_t vdev_id;
|
|
|
-} wds_addr_event_t;
|
|
|
-
|
|
|
/**
|
|
|
* Enum replicated for host abstraction with FW
|
|
|
*/
|
|
@@ -5690,34 +5429,6 @@ typedef struct {
|
|
|
wmi_host_mcast_ageout_entry entry[1];
|
|
|
} wmi_host_mcast_list_ageout_event;
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_pdev_nfcal_power_all_channels_event - NF cal event data
|
|
|
- * @nfdbr:
|
|
|
- * chan[0 ~ 7]: {NFCalPower_chain0, NFCalPower_chain1,
|
|
|
- * NFCalPower_chain2, NFCalPower_chain3,
|
|
|
- * NFCalPower_chain4, NFCalPower_chain5,
|
|
|
- * NFCalPower_chain6, NFCalPower_chain7},
|
|
|
- * @nfdbm:
|
|
|
- * chan[0 ~ 7]: {NFCalPower_chain0, NFCalPower_chain1,
|
|
|
- * NFCalPower_chain2, NFCalPower_chain3,
|
|
|
- * NFCalPower_chain4, NFCalPower_chain5,
|
|
|
- * NFCalPower_chain6, NFCalPower_chain7},
|
|
|
- * @freqnum:
|
|
|
- * chan[0 ~ 7]: frequency number
|
|
|
- * @pdev_id: pdev_id
|
|
|
- * @num_freq: number of valid frequency in freqnum
|
|
|
- * @num_nfdbr_dbm: number of valid entries in dbr/dbm array
|
|
|
- *
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- int8_t nfdbr[WMI_HOST_RXG_CAL_CHAN_MAX * WMI_HOST_MAX_NUM_CHAINS];
|
|
|
- int8_t nfdbm[WMI_HOST_RXG_CAL_CHAN_MAX * WMI_HOST_MAX_NUM_CHAINS];
|
|
|
- uint32_t freqnum[WMI_HOST_RXG_CAL_CHAN_MAX];
|
|
|
- uint32_t pdev_id;
|
|
|
- uint16_t num_freq;
|
|
|
- uint16_t num_nfdbr_dbm;
|
|
|
-} wmi_host_pdev_nfcal_power_all_channels_event;
|
|
|
-
|
|
|
/**
|
|
|
* enum wmi_host_pdev_tpc_event_offset: offsets of TPC events
|
|
|
* @WMI_HOST_TX_POWER_MAX: offset of max tx power
|
|
@@ -5730,16 +5441,6 @@ enum wmi_host_pdev_tpc_event_offset {
|
|
|
WMI_HOST_TX_POWER_LEN,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_pdev_tpc_event - WMI host pdev TPC event
|
|
|
- * @pdev_id: pdev_id
|
|
|
- * @tpc:
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t pdev_id;
|
|
|
- int32_t tpc[WMI_HOST_TX_POWER_LEN];
|
|
|
-} wmi_host_pdev_tpc_event;
|
|
|
-
|
|
|
/**
|
|
|
* struct wmi_host_pdev_generic_buffer_event
|
|
|
* @buf_type: Buffer type
|
|
@@ -5763,45 +5464,6 @@ enum {
|
|
|
WMI_HOST_BUFFER_TYPE_CTL_TABLE,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_pdev_tpc_config_event - host pdev tpc config event
|
|
|
- * @pdev_id: pdev_id
|
|
|
- * @regDomain:
|
|
|
- * @chanFreq:
|
|
|
- * @phyMode:
|
|
|
- * @twiceAntennaReduction:
|
|
|
- * @twiceMaxRDPower:
|
|
|
- * @twiceAntennaGain:
|
|
|
- * @powerLimit:
|
|
|
- * @rateMax:
|
|
|
- * @numTxChain:
|
|
|
- * @ctl:
|
|
|
- * @flags:
|
|
|
- * @maxRegAllowedPower:
|
|
|
- * @maxRegAllowedPowerAGCDD:
|
|
|
- * @maxRegAllowedPowerAGSTBC:
|
|
|
- * @maxRegAllowedPowerAGTXBF:
|
|
|
- * @ratesArray:
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t pdev_id;
|
|
|
- uint32_t regDomain;
|
|
|
- uint32_t chanFreq;
|
|
|
- uint32_t phyMode;
|
|
|
- uint32_t twiceAntennaReduction;
|
|
|
- uint32_t twiceMaxRDPower;
|
|
|
- int32_t twiceAntennaGain;
|
|
|
- uint32_t powerLimit;
|
|
|
- uint32_t rateMax;
|
|
|
- uint32_t numTxChain;
|
|
|
- uint32_t ctl;
|
|
|
- uint32_t flags;
|
|
|
- int8_t maxRegAllowedPower[WMI_HOST_TPC_TX_NUM_CHAIN];
|
|
|
- int8_t maxRegAllowedPowerAGCDD[WMI_HOST_TPC_TX_NUM_CHAIN][WMI_HOST_TPC_TX_NUM_CHAIN];
|
|
|
- int8_t maxRegAllowedPowerAGSTBC[WMI_HOST_TPC_TX_NUM_CHAIN][WMI_HOST_TPC_TX_NUM_CHAIN];
|
|
|
- int8_t maxRegAllowedPowerAGTXBF[WMI_HOST_TPC_TX_NUM_CHAIN][WMI_HOST_TPC_TX_NUM_CHAIN];
|
|
|
- uint8_t ratesArray[WMI_HOST_TPC_RATE_MAX];
|
|
|
-} wmi_host_pdev_tpc_config_event;
|
|
|
/**
|
|
|
* Enums for TPC event
|
|
|
*/
|
|
@@ -5859,72 +5521,8 @@ typedef struct {
|
|
|
uint32_t num_TA_entries;
|
|
|
} wmi_host_mu_report_event;
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_mgmt_tx_compl_event - TX completion event
|
|
|
- * @desc_id: from tx_send_cmd
|
|
|
- * @status: WMI_MGMT_TX_COMP_STATUS_TYPE
|
|
|
- * @pdev_id: pdev_id
|
|
|
- * @ppdu_id: ppdu_id
|
|
|
- * @retries_count: retries count
|
|
|
- * @tx_tsf: 64 bits completion timestamp
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t desc_id;
|
|
|
- uint32_t status;
|
|
|
- uint32_t pdev_id;
|
|
|
- uint32_t ppdu_id;
|
|
|
- uint32_t retries_count;
|
|
|
- uint64_t tx_tsf;
|
|
|
-} wmi_host_mgmt_tx_compl_event;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_offchan_data_tx_compl_event - TX completion event
|
|
|
- * @desc_id: from tx_send_cmd
|
|
|
- * @status: VWMI_MGMT_TX_COMP_STATUS_TYPE
|
|
|
- * @pdev_id: pdev_id
|
|
|
- */
|
|
|
-struct wmi_host_offchan_data_tx_compl_event {
|
|
|
- uint32_t desc_id;
|
|
|
- uint32_t status;
|
|
|
- uint32_t pdev_id;
|
|
|
-};
|
|
|
-
|
|
|
#define WMI_HOST_TIM_BITMAP_ARRAY_SIZE 17
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_tim_info - TIM info in SWBA event
|
|
|
- * @tim_len: TIM length
|
|
|
- * @tim_mcast:
|
|
|
- * @tim_bitmap: TIM bitmap
|
|
|
- * @tim_changed: TIM changed
|
|
|
- * @tim_num_ps_pending: TIM num PS sta pending
|
|
|
- * @vdev_id: Vdev id
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t tim_len;
|
|
|
- uint32_t tim_mcast;
|
|
|
- uint32_t tim_bitmap[WMI_HOST_TIM_BITMAP_ARRAY_SIZE];
|
|
|
- uint32_t tim_changed;
|
|
|
- uint32_t tim_num_ps_pending;
|
|
|
- uint32_t vdev_id;
|
|
|
-} wmi_host_tim_info;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_quiet_info - Quiet info in SWBA event
|
|
|
- * @vdev_id: vdev_id for quiet info structure
|
|
|
- * @tbttcount: quiet start tbtt count
|
|
|
- * @period: Beacon interval between quiets
|
|
|
- * @duration: TUs of each quiet
|
|
|
- * @offset: TUs from TBTT to quiet start
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t vdev_id;
|
|
|
- uint32_t tbttcount;
|
|
|
- uint32_t period;
|
|
|
- uint32_t duration;
|
|
|
- uint32_t offset;
|
|
|
-} wmi_host_quiet_info;
|
|
|
-
|
|
|
/**
|
|
|
* struct wmi_host_p2p_noa_descriptor - NoA desc in SWBA event
|
|
|
* @type_count: Absence count
|
|
@@ -5938,52 +5536,6 @@ typedef struct {
|
|
|
uint32_t interval;
|
|
|
uint32_t start_time;
|
|
|
} wmi_host_p2p_noa_descriptor;
|
|
|
-/* Maximum number of NOA Descriptors supported */
|
|
|
-#define WMI_HOST_P2P_MAX_NOA_DESCRIPTORS 4
|
|
|
-/**
|
|
|
- * struct wmi_host_p2p_noa_info - p2p noa information
|
|
|
- * @modified: NoA modified
|
|
|
- * @index: Index
|
|
|
- * @oppPS: Oppurtunstic ps
|
|
|
- * @ctwindow: CT window
|
|
|
- * @num_descriptors: number of descriptors
|
|
|
- * @noa_descriptors: noa descriptors
|
|
|
- * @vdev_id: Vdev id
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint8_t modified;
|
|
|
- uint8_t index;
|
|
|
- uint8_t oppPS;
|
|
|
- uint8_t ctwindow;
|
|
|
- uint8_t num_descriptors;
|
|
|
- wmi_host_p2p_noa_descriptor
|
|
|
- noa_descriptors[WMI_HOST_P2P_MAX_NOA_DESCRIPTORS];
|
|
|
- uint32_t vdev_id;
|
|
|
-} wmi_host_p2p_noa_info;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_peer_sta_kickout_event
|
|
|
- * @peer_macaddr: peer mac address
|
|
|
- * @reason: kickout reason
|
|
|
- * @rssi: rssi
|
|
|
- * @pdev_id: pdev_id
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint8_t peer_macaddr[QDF_MAC_ADDR_SIZE];
|
|
|
- uint32_t reason;
|
|
|
- uint32_t rssi;
|
|
|
-} wmi_host_peer_sta_kickout_event;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_peer_sta_ps_statechange_event - ST ps state change event
|
|
|
- * @peer_macaddr: peer mac address
|
|
|
- * @peer_ps_stats: peer PS state
|
|
|
- * @pdev_id: pdev_id
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint8_t peer_macaddr[QDF_MAC_ADDR_SIZE];
|
|
|
- uint32_t peer_ps_state;
|
|
|
-} wmi_host_peer_sta_ps_statechange_event;
|
|
|
|
|
|
/* Maximum CCK, OFDM rates supported */
|
|
|
#define WMI_SA_MAX_CCK_OFDM_RATES 12
|
|
@@ -6771,64 +6323,6 @@ typedef struct {
|
|
|
uint32_t bin_count;
|
|
|
} wmi_host_wlan_profile_ctx_t;
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_chan_info_event - Channel info WMI event
|
|
|
- * @pdev_id: pdev_id
|
|
|
- * @err_code: Error code
|
|
|
- * @freq: Channel freq
|
|
|
- * @cmd_flags: Read flags
|
|
|
- * @noise_floor: Noise Floor value
|
|
|
- * @rx_clear_count: rx clear count
|
|
|
- * @cycle_count: cycle count
|
|
|
- * @chan_tx_pwr_range: channel tx power per range
|
|
|
- * @chan_tx_pwr_tp: channel tx power per throughput
|
|
|
- * @rx_frame_count: rx frame count
|
|
|
- * @rx_11b_mode_data_duration: 11b mode data duration
|
|
|
- * @my_bss_rx_cycle_count: self BSS rx cycle count
|
|
|
- * @tx_frame_cnt: tx frame count
|
|
|
- * @mac_clk_mhz: mac clock
|
|
|
- * @vdev_id: unique id identifying the VDEV
|
|
|
- * @tx_frame_count: tx frame count
|
|
|
- * @rx_clear_ext20_count: ext20 frame count
|
|
|
- * @rx_clear_ext40_count: ext40 frame count
|
|
|
- * @rx_clear_ext80_count: ext80 frame count
|
|
|
- * @per_chain_noise_floor: Per chain NF value in dBm
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t pdev_id;
|
|
|
- uint32_t err_code;
|
|
|
- uint32_t freq;
|
|
|
- uint32_t cmd_flags;
|
|
|
- uint32_t noise_floor;
|
|
|
- uint32_t rx_clear_count;
|
|
|
- uint32_t cycle_count;
|
|
|
- uint32_t chan_tx_pwr_range;
|
|
|
- uint32_t chan_tx_pwr_tp;
|
|
|
- uint32_t rx_frame_count;
|
|
|
- uint32_t rx_11b_mode_data_duration;
|
|
|
- uint32_t my_bss_rx_cycle_count;
|
|
|
- uint32_t tx_frame_cnt;
|
|
|
- uint32_t mac_clk_mhz;
|
|
|
- uint32_t vdev_id;
|
|
|
- uint32_t tx_frame_count;
|
|
|
- uint32_t rx_clear_ext20_count;
|
|
|
- uint32_t rx_clear_ext40_count;
|
|
|
- uint32_t rx_clear_ext80_count;
|
|
|
- uint32_t per_chain_noise_floor[WMI_HOST_MAX_CHAINS];
|
|
|
-} wmi_host_chan_info_event;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_pdev_channel_hopping_event
|
|
|
- * @pdev_id: pdev_id
|
|
|
- * @noise_floor_report_iter: Noise threshold iterations with high values
|
|
|
- * @noise_floor_total_iter: Total noise threshold iterations
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t pdev_id;
|
|
|
- uint32_t noise_floor_report_iter;
|
|
|
- uint32_t noise_floor_total_iter;
|
|
|
-} wmi_host_pdev_channel_hopping_event;
|
|
|
-
|
|
|
/**
|
|
|
* struct wmi_host_pdev_bss_chan_info_event
|
|
|
* @pdev_id: pdev_id
|
|
@@ -6872,17 +6366,6 @@ struct wmi_host_pdev_ctl_failsafe_event {
|
|
|
};
|
|
|
|
|
|
#define WMI_HOST_INST_STATS_INVALID_RSSI 0
|
|
|
-/**
|
|
|
- * struct wmi_host_inst_stats_resp
|
|
|
- * @iRSSI: Instantaneous RSSI
|
|
|
- * @peer_macaddr: peer mac address
|
|
|
- * @pdev_id: pdev_id
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint32_t iRSSI;
|
|
|
- wmi_host_mac_addr peer_macaddr;
|
|
|
- uint32_t pdev_id;
|
|
|
-} wmi_host_inst_stats_resp;
|
|
|
|
|
|
/* Event definition and new structure addition to send event
|
|
|
* to host to block/unblock tx data traffic based on peer_ast_idx or vdev id
|
|
@@ -7099,23 +6582,6 @@ struct rcpi_res {
|
|
|
#define WMI_HOST_BOARD_MCN_STRING_BUF_SIZE \
|
|
|
(WMI_HOST_BOARD_MCN_STRING_MAX_SIZE+1) /* null-terminator */
|
|
|
|
|
|
-typedef struct {
|
|
|
- uint32_t software_cal_version;
|
|
|
- uint32_t board_cal_version;
|
|
|
- /* board_mcn_detail:
|
|
|
- * Provide a calibration message string for the host to display.
|
|
|
- * Note: on a big-endian host, the 4 bytes within each uint32_t portion
|
|
|
- * of a WMI message will be automatically byteswapped by the copy engine
|
|
|
- * as the messages are transferred between host and target, to convert
|
|
|
- * between the target's little-endianness and the host's big-endianness.
|
|
|
- * Consequently, a big-endian host should manually unswap the bytes
|
|
|
- * within the board_mcn_detail string buffer to get the bytes back into
|
|
|
- * the desired natural order.
|
|
|
- */
|
|
|
- uint8_t board_mcn_detail[WMI_HOST_BOARD_MCN_STRING_BUF_SIZE];
|
|
|
- uint32_t cal_ok; /* filled with CALIBRATION_STATUS enum value */
|
|
|
-} wmi_host_pdev_check_cal_version_event;
|
|
|
-
|
|
|
/**
|
|
|
* enum WMI_HOST_CALIBRATION_STATUS - Host defined Enums for cal status
|
|
|
* @WMI_HOST_NO_FEATURE: The board was calibrated with a meta
|
|
@@ -7182,30 +6648,6 @@ enum wmi_peer_create_status {
|
|
|
WMI_PEER_CREATE_FAILED = 2,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct wmi_host_peer_create_response_event - Peer Create response event param
|
|
|
- * @vdev_id: vdev id
|
|
|
- * @mac_address: Peer Mac Address
|
|
|
- * @status: Peer create status
|
|
|
- *
|
|
|
- */
|
|
|
-struct wmi_host_peer_create_response_event {
|
|
|
- uint32_t vdev_id;
|
|
|
- struct qdf_mac_addr mac_address;
|
|
|
- uint32_t status;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_host_peer_delete_response_event - Peer Delete response event param
|
|
|
- * @vdev_id: vdev id
|
|
|
- * @mac_address: Peer Mac Address
|
|
|
- *
|
|
|
- */
|
|
|
-struct wmi_host_peer_delete_response_event {
|
|
|
- uint32_t vdev_id;
|
|
|
- struct qdf_mac_addr mac_address;
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* @struct wmi_host_dcs_interference_param
|
|
|
* @interference_type: Type of DCS Interference
|
|
@@ -7552,16 +6994,6 @@ enum bcn_offload_control_param {
|
|
|
BCN_OFFLD_CTRL_SWBA_ENABLE,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct bcn_offload_control - Beacon offload control params
|
|
|
- * @vdev_id: vdev identifer of VAP to control beacon tx
|
|
|
- * @bcn_ctrl_op: values from enum bcn_offload_control_param
|
|
|
- */
|
|
|
-struct bcn_offload_control {
|
|
|
- uint32_t vdev_id;
|
|
|
- enum bcn_offload_control_param bcn_ctrl_op;
|
|
|
-};
|
|
|
-
|
|
|
#ifdef OBSS_PD
|
|
|
/**
|
|
|
* struct wmi_host_obss_spatial_reuse_set_param - OBSS_PD_SPATIAL Reuse
|
|
@@ -8093,37 +7525,6 @@ struct vap_tidmap_prec_params {
|
|
|
uint32_t map_precedence;
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct peer_vlan_config_param - peer vlan config command
|
|
|
- * @tx_cmd: Tx command
|
|
|
- * @rx_cmd: Rx command
|
|
|
- * @tx_strip_insert: Strip or Insert vlan in Tx[0:Strip, 1: Insert]
|
|
|
- * @tx_strip_insert_inner: Enable tx_strip_insert operation for inner vlan tag.
|
|
|
- * @tx_strip_insert_outer: Enable tx_strip_insert operation for outer vlan tag.
|
|
|
- * @rx_strip_c_tag: Strip c_tag
|
|
|
- * @rx_strip_s_tag: Strip s_tag
|
|
|
- * @rx_insert_c_tag: Insert c_tag
|
|
|
- * @rx_insert_s_tag: Insert s_tag
|
|
|
- *
|
|
|
- * @insert_vlan_inner_tci: Vlan inner tci
|
|
|
- * @insert_vlan_inner_tci: Vlan outer tci
|
|
|
- *
|
|
|
- * @vdev_id: vdev id corresponding to peer.
|
|
|
- */
|
|
|
-struct peer_vlan_config_param {
|
|
|
- uint16_t tx_cmd:1,
|
|
|
- rx_cmd:1,
|
|
|
- tx_strip_insert:1,
|
|
|
- tx_strip_insert_inner:1,
|
|
|
- tx_strip_insert_outer:1,
|
|
|
- rx_strip_c_tag:1,
|
|
|
- rx_strip_s_tag:1,
|
|
|
- rx_insert_c_tag:1,
|
|
|
- rx_insert_s_tag:1;
|
|
|
- uint16_t insert_vlan_inner_tci;
|
|
|
- uint16_t insert_vlan_outer_tci;
|
|
|
- uint8_t vdev_id;
|
|
|
-};
|
|
|
#endif
|
|
|
|
|
|
/**
|
|
@@ -8352,106 +7753,6 @@ struct mws_antenna_sharing_info {
|
|
|
uint32_t grant_duration;
|
|
|
};
|
|
|
|
|
|
-#ifdef WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG
|
|
|
-/**
|
|
|
- * enum wmi_pdev_pkt_routing_op_code_type - packet routing supported opcodes
|
|
|
- * @ADD_PKT_ROUTING: Add packet routing command
|
|
|
- * @DEL_PKT_ROUTING: Delete packet routing command
|
|
|
- *
|
|
|
- * Defines supported opcodes for packet routing/tagging
|
|
|
- */
|
|
|
-enum wmi_pdev_pkt_routing_op_code_type {
|
|
|
- ADD_PKT_ROUTING,
|
|
|
- DEL_PKT_ROUTING,
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * enum wmi_pdev_pkt_routing_pkt_type - supported packet types for
|
|
|
- * routing & tagging
|
|
|
- * @PDEV_PKT_TYPE_ARP_IPV4: Route/Tag for packet type ARP IPv4 (L3)
|
|
|
- * @PDEV_PKT_TYPE_NS_IPV6: Route/Tag for packet type NS IPv6 (L3)
|
|
|
- * @PDEV_PKT_TYPE_IGMP_IPV4: Route/Tag for packet type IGMP IPv4 (L3)
|
|
|
- * @PDEV_PKT_TYPE_MLD_IPV6: Route/Tag for packet type MLD IPv6 (L3)
|
|
|
- * @PDEV_PKT_TYPE_DHCP_IPV4: Route/Tag for packet type DHCP IPv4 (APP)
|
|
|
- * @PDEV_PKT_TYPE_DHCP_IPV6: Route/Tag for packet type DHCP IPv6 (APP)
|
|
|
- * @PDEV_PKT_TYPE_DNS_TCP_IPV4: Route/Tag for packet type TCP DNS IPv4 (APP)
|
|
|
- * @PDEV_PKT_TYPE_DNS_TCP_IPV6: Route/Tag for packet type TCP DNS IPv6 (APP)
|
|
|
- * @PDEV_PKT_TYPE_DNS_UDP_IPV4: Route/Tag for packet type UDP DNS IPv4 (APP)
|
|
|
- * @PDEV_PKT_TYPE_DNS_UDP_IPV6: Route/Tag for packet type UDP DNS IPv6 (APP)
|
|
|
- * @PDEV_PKT_TYPE_ICMP_IPV4: Route/Tag for packet type ICMP IPv4 (L3)
|
|
|
- * @PDEV_PKT_TYPE_ICMP_IPV6: Route/Tag for packet type ICMP IPv6 (L3)
|
|
|
- * @PDEV_PKT_TYPE_TCP_IPV4: Route/Tag for packet type TCP IPv4 (L4)
|
|
|
- * @PDEV_PKT_TYPE_TCP_IPV6: Route/Tag for packet type TCP IPv6 (L4)
|
|
|
- * @PDEV_PKT_TYPE_UDP_IPV4: Route/Tag for packet type UDP IPv4 (L4)
|
|
|
- * @PDEV_PKT_TYPE_UDP_IPV6: Route/Tag for packet type UDP IPv6 (L4)
|
|
|
- * @PDEV_PKT_TYPE_IPV4: Route/Tag for packet type IPv4 (L3)
|
|
|
- * @PDEV_PKT_TYPE_IPV6: Route/Tag for packet type IPv6 (L3)
|
|
|
- * @PDEV_PKT_TYPE_EAP: Route/Tag for packet type EAP (L2)
|
|
|
- *
|
|
|
- * Defines supported protocol types for routing/tagging
|
|
|
- */
|
|
|
-enum wmi_pdev_pkt_routing_pkt_type {
|
|
|
- PDEV_PKT_TYPE_ARP_IPV4,
|
|
|
- PDEV_PKT_TYPE_NS_IPV6,
|
|
|
- PDEV_PKT_TYPE_IGMP_IPV4,
|
|
|
- PDEV_PKT_TYPE_MLD_IPV6,
|
|
|
- PDEV_PKT_TYPE_DHCP_IPV4,
|
|
|
- PDEV_PKT_TYPE_DHCP_IPV6,
|
|
|
- PDEV_PKT_TYPE_DNS_TCP_IPV4,
|
|
|
- PDEV_PKT_TYPE_DNS_TCP_IPV6,
|
|
|
- PDEV_PKT_TYPE_DNS_UDP_IPV4,
|
|
|
- PDEV_PKT_TYPE_DNS_UDP_IPV6,
|
|
|
- PDEV_PKT_TYPE_ICMP_IPV4,
|
|
|
- PDEV_PKT_TYPE_ICMP_IPV6,
|
|
|
- PDEV_PKT_TYPE_TCP_IPV4,
|
|
|
- PDEV_PKT_TYPE_TCP_IPV6,
|
|
|
- PDEV_PKT_TYPE_UDP_IPV4,
|
|
|
- PDEV_PKT_TYPE_UDP_IPV6,
|
|
|
- PDEV_PKT_TYPE_IPV4,
|
|
|
- PDEV_PKT_TYPE_IPV6,
|
|
|
- PDEV_PKT_TYPE_EAP,
|
|
|
- PDEV_PKT_TYPE_MAX
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * enum wmi_pdev_dest_ring_handler_type - packet routing options post CCE
|
|
|
- * tagging
|
|
|
- * @PDEV_WIFIRXCCE_USE_CCE_E: Use REO destination ring from CCE
|
|
|
- * @PDEV_WIFIRXCCE_USE_ASPT_E: Use REO destination ring from ASPT
|
|
|
- * @PDEV_WIFIRXCCE_USE_FT_E: Use REO destination ring from FSE
|
|
|
- * @PDEV_WIFIRXCCE_USE_CCE2_E: Use REO destination ring from CCE2
|
|
|
- *
|
|
|
- * Defines various options for routing policy
|
|
|
- */
|
|
|
-enum wmi_pdev_dest_ring_handler_type {
|
|
|
- PDEV_WIFIRXCCE_USE_CCE_E = 0,
|
|
|
- PDEV_WIFIRXCCE_USE_ASPT_E = 1,
|
|
|
- PDEV_WIFIRXCCE_USE_FT_E = 2,
|
|
|
- PDEV_WIFIRXCCE_USE_CCE2_E = 3,
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_rx_pkt_protocol_routing_info - RX packet routing/tagging params
|
|
|
- * @pdev_id: pdev id
|
|
|
- * @op_code: Opcode option from wmi_pdev_pkt_routing_op_code_type enum
|
|
|
- * @routing_type_bitmap: Bitmap of protocol that is being configured. Only
|
|
|
- * one protocol can be configured in one command. Supported protocol list
|
|
|
- * from enum wmi_pdev_pkt_routing_pkt_type
|
|
|
- * @dest_ring_handler: Destination ring selection from enum
|
|
|
- * wmi_pdev_dest_ring_handler_type
|
|
|
- * @dest_ring: Destination ring number to use if dest ring handler is CCE
|
|
|
- * @meta_data: Metadata to tag with for given protocol
|
|
|
- */
|
|
|
-struct wmi_rx_pkt_protocol_routing_info {
|
|
|
- uint32_t pdev_id;
|
|
|
- enum wmi_pdev_pkt_routing_op_code_type op_code;
|
|
|
- uint32_t routing_type_bitmap;
|
|
|
- uint32_t dest_ring_handler;
|
|
|
- uint32_t dest_ring;
|
|
|
- uint32_t meta_data;
|
|
|
-};
|
|
|
-#endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */
|
|
|
-
|
|
|
#ifdef FEATURE_ANI_LEVEL_REQUEST
|
|
|
/* Maximum number of freqs for which ANI level can be requested */
|
|
|
#define MAX_NUM_FREQS_FOR_ANI_LEVEL 20
|
|
@@ -8483,15 +7784,4 @@ struct wmi_raw_event_buffer {
|
|
|
void *evt_raw_buf;
|
|
|
void *evt_processed_buf;
|
|
|
};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct wmi_pdev_enable_tx_mode_selection - fw tx mode selection
|
|
|
- * @pdev_id: radio id
|
|
|
- * @enable_tx_mode_selection: flag to enable tx mode selection
|
|
|
- */
|
|
|
-struct wmi_pdev_enable_tx_mode_selection {
|
|
|
- uint32_t pdev_id;
|
|
|
- uint32_t enable_tx_mode_selection;
|
|
|
-};
|
|
|
-
|
|
|
#endif /* _WMI_UNIFIED_PARAM_H_ */
|