qcacmn: Add pdev_id in pdev commands and events
pdev_id is used to get the pdev for which the event is recieved. Add this in extract APIs to fetch the pdev from pdev_ids and use it for further processing. This is change is part of changes required to support multi-radio. Change-Id: Iadda098ccb31be5e8e43083158802abe49ac01b4 CRs-Fixed: 2003898
This commit is contained in:

committed by
qcabuildsw

parent
95db437634
commit
c7d68db191
@@ -456,6 +456,9 @@ enum wmi_dwelltime_adaptive_mode {
|
||||
* @if_id: interface id
|
||||
* @type: interface type
|
||||
* @subtype: interface subtype
|
||||
* @nss_2g: NSS for 2G
|
||||
* @nss_5g: NSS for 5G
|
||||
* @pdev_id: pdev id on pdev for this vdev
|
||||
*/
|
||||
struct vdev_create_params {
|
||||
uint8_t if_id;
|
||||
@@ -463,6 +466,7 @@ struct vdev_create_params {
|
||||
uint32_t subtype;
|
||||
uint8_t nss_2g;
|
||||
uint8_t nss_5g;
|
||||
uint32_t pdev_id;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1159,6 +1163,7 @@ struct scan_start_params {
|
||||
* @scan_id: scan id
|
||||
* @req_type: scan request type
|
||||
* @vdev_id: vdev id
|
||||
* @pdev_id: pdev_id
|
||||
* @all_scans: Stop all scans
|
||||
* @vap_scans: stop vap scans
|
||||
* @specific_scan: specific scan
|
||||
@@ -1170,6 +1175,7 @@ struct scan_stop_params {
|
||||
uint32_t scan_id;
|
||||
uint32_t req_type;
|
||||
uint32_t vdev_id;
|
||||
uint32_t pdev_id;
|
||||
#ifndef CONFIG_MCL
|
||||
bool all_scans;
|
||||
bool vap_scans;
|
||||
@@ -1210,11 +1216,13 @@ struct scan_chan_list_params {
|
||||
#else
|
||||
/**
|
||||
* struct scan_chan_list_params - scan channel list cmd parameter
|
||||
* @pdev_id: pdev_id
|
||||
* @num_chan: no of scan channels
|
||||
* @nallchans: nall chans
|
||||
* @ch_param: pointer to channel_paramw
|
||||
*/
|
||||
struct scan_chan_list_params {
|
||||
uint32_t pdev_id;
|
||||
uint16_t nallchans;
|
||||
struct channel_param ch_param[1];
|
||||
};
|
||||
@@ -3747,6 +3755,7 @@ struct vdev_spectral_enable_params {
|
||||
* @ctl_2G: CTL 2G
|
||||
* @ctl_5G: CTL 5G
|
||||
* @dfsDomain: DFS domain
|
||||
* @pdev_id: pdev_id
|
||||
*/
|
||||
struct pdev_set_regdomain_params {
|
||||
uint16_t currentRDinuse;
|
||||
@@ -3755,6 +3764,7 @@ struct pdev_set_regdomain_params {
|
||||
uint32_t ctl_2G;
|
||||
uint32_t ctl_5G;
|
||||
uint8_t dfsDomain;
|
||||
uint32_t pdev_id;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -4502,6 +4512,7 @@ struct rx_reorder_queue_remove_params {
|
||||
* @num_peer_stats: number of peer stats event structures 0 or max peers
|
||||
* @num_bcnflt_stats: number of beacon filter stats
|
||||
* @num_chan_stats: number of channel stats
|
||||
* @pdev_id: pdev_id
|
||||
*/
|
||||
typedef struct {
|
||||
wmi_host_stats_id stats_id;
|
||||
@@ -4511,6 +4522,7 @@ typedef struct {
|
||||
uint32_t num_peer_stats;
|
||||
uint32_t num_bcnflt_stats;
|
||||
uint32_t num_chan_stats;
|
||||
uint32_t pdev_id;
|
||||
} wmi_host_stats_event;
|
||||
|
||||
/**
|
||||
@@ -5548,6 +5560,10 @@ struct wmi_host_fw_abi_ver {
|
||||
* @num_ocb_vdevs:
|
||||
* @num_ocb_channels:
|
||||
* @num_ocb_schedules:
|
||||
* @num_ns_ext_tuples_cfg:
|
||||
* @bpf_instruction_size:
|
||||
* @max_bssid_rx_filters:
|
||||
* @use_pdev_id:
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t num_vdevs;
|
||||
@@ -5609,6 +5625,10 @@ typedef struct {
|
||||
uint32_t num_ocb_vdevs;
|
||||
uint32_t num_ocb_channels;
|
||||
uint32_t num_ocb_schedules;
|
||||
uint32_t num_ns_ext_tuples_cfg;
|
||||
uint32_t bpf_instruction_size;
|
||||
uint32_t max_bssid_rx_filters;
|
||||
uint32_t use_pdev_id;
|
||||
} target_resource_config;
|
||||
|
||||
/**
|
||||
@@ -5616,11 +5636,13 @@ typedef struct {
|
||||
* @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[IEEE80211_ADDR_LEN];
|
||||
u_int8_t dest_mac[IEEE80211_ADDR_LEN];
|
||||
uint32_t vdev_id;
|
||||
} wds_addr_event_t;
|
||||
/**
|
||||
* Enum replicated for host abstraction with FW
|
||||
@@ -5671,6 +5693,7 @@ typedef struct {
|
||||
* scan source for a scan result mgmt frame
|
||||
* @rssi: combined RSSI, i.e. the sum of the snr + noise floor (dBm units)
|
||||
* @tsf_delta:
|
||||
* @pdev_id: pdev_id
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t channel;
|
||||
@@ -5683,6 +5706,7 @@ typedef struct {
|
||||
uint32_t flags;
|
||||
int32_t rssi;
|
||||
uint32_t tsf_delta;
|
||||
uint32_t pdev_id;
|
||||
} wmi_host_mgmt_rx_hdr;
|
||||
|
||||
/**
|
||||
@@ -5796,18 +5820,22 @@ typedef struct {
|
||||
* chan3: {NFCalPower_chain0, NFCalPower_chain1,
|
||||
* NFCalPower_chain2, NFCalPower_chain3},
|
||||
* @freqNum: frequency number
|
||||
* @pdev_id: pdev_id
|
||||
*/
|
||||
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;
|
||||
} wmi_host_pdev_nfcal_power_all_channels_event;
|
||||
|
||||
/**
|
||||
* struct wmi_host_pdev_tpc_event - WMI host pdev TPC event
|
||||
* @pdev_id: pdev_id
|
||||
* @tpc:
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t pdev_id;
|
||||
uint32_t tpc[1];
|
||||
} wmi_host_pdev_tpc_event;
|
||||
|
||||
@@ -5836,6 +5864,7 @@ enum {
|
||||
|
||||
/**
|
||||
* struct wmi_host_pdev_tpc_config_event - host pdev tpc config event
|
||||
* @pdev_id: pdev_id
|
||||
* @regDomain:
|
||||
* @chanFreq:
|
||||
* @phyMode:
|
||||
@@ -5854,6 +5883,7 @@ enum {
|
||||
* @ratesArray:
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t pdev_id;
|
||||
uint32_t regDomain;
|
||||
uint32_t chanFreq;
|
||||
uint32_t phyMode;
|
||||
@@ -5932,10 +5962,12 @@ typedef struct {
|
||||
* 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
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t desc_id;
|
||||
uint32_t status;
|
||||
uint32_t pdev_id;
|
||||
} wmi_host_mgmt_tx_compl_event;
|
||||
|
||||
#define WMI_HOST_TIM_BITMAP_ARRAY_SIZE 17
|
||||
@@ -5995,6 +6027,7 @@ typedef struct {
|
||||
* @peer_macaddr: peer mac address
|
||||
* @reason: kickout reason
|
||||
* @rssi: rssi
|
||||
* @pdev_id: pdev_id
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t peer_macaddr[IEEE80211_ADDR_LEN];
|
||||
@@ -6006,6 +6039,7 @@ typedef struct {
|
||||
* 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[IEEE80211_ADDR_LEN];
|
||||
@@ -6027,6 +6061,7 @@ typedef struct {
|
||||
/* TODO: ratecode_160 needs to add for future chips */
|
||||
/**
|
||||
* struct wmi_sa_rate_cap - smart antenna rat capabilities
|
||||
* @pdev_id: pdev_id
|
||||
* @ratecode_legacy: Rate code array for CCK OFDM
|
||||
* @ratecode_20: Rate code array for 20MHz BW
|
||||
* @ratecode_40: Rate code array for 40MHz BW
|
||||
@@ -6554,6 +6589,7 @@ typedef struct _wmi_host_chan_info {
|
||||
* @buf_len:
|
||||
* @phy_err_mask0:
|
||||
* @phy_err_mask1:
|
||||
* @pdev_id: pdev_id
|
||||
*/
|
||||
typedef struct _wmi_host_phyerr {
|
||||
wmi_host_rf_info_t rf_info;
|
||||
@@ -6565,6 +6601,7 @@ typedef struct _wmi_host_phyerr {
|
||||
uint32_t buf_len;
|
||||
uint32_t phy_err_mask0;
|
||||
uint32_t phy_err_mask1;
|
||||
uint32_t pdev_id;
|
||||
} wmi_host_phyerr_t;
|
||||
|
||||
/**
|
||||
@@ -6740,6 +6777,7 @@ typedef struct {
|
||||
|
||||
/**
|
||||
* 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
|
||||
@@ -6752,6 +6790,7 @@ typedef struct {
|
||||
* @rx_11b_mode_data_duration: 11b mode data duration
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t pdev_id;
|
||||
uint32_t err_code;
|
||||
uint32_t freq;
|
||||
uint32_t cmd_flags;
|
||||
@@ -6766,16 +6805,19 @@ typedef struct {
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @freq: Units in MHz
|
||||
* @noise_floor: units are dBm
|
||||
* @rx_clear_count_low:
|
||||
@@ -6791,6 +6833,7 @@ typedef struct {
|
||||
* @reserved:
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t pdev_id;
|
||||
uint32_t freq;
|
||||
uint32_t noise_floor;
|
||||
uint32_t rx_clear_count_low;
|
||||
@@ -6811,10 +6854,12 @@ typedef struct {
|
||||
* 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
|
||||
@@ -6869,31 +6914,34 @@ enum {
|
||||
token_info.field2 |= ((unused_token) & 0xffff); \
|
||||
} while (0)
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* field1 contains:
|
||||
* bits 15:0 peer_ast_index WMI_ATF_PEER_STATS_GET_PEER_AST_IDX
|
||||
* WMI_ATF_PEER_STATS_SET_PEER_AST_IDX
|
||||
* struct wmi_host_atf_peer_stats_info
|
||||
* @field1: bits 15:0 peer_ast_index WMI_ATF_PEER_STATS_GET_PEER_AST_IDX
|
||||
* bits 31:16 reserved
|
||||
*
|
||||
* field2 contains:
|
||||
* bits 15:0 used tokens WMI_ATF_PEER_STATS_GET_USED_TOKENS
|
||||
* WMI_ATF_PEER_STATS_SET_USED_TOKENS
|
||||
* @field2: bits 15:0 used tokens WMI_ATF_PEER_STATS_GET_USED_TOKENS
|
||||
* bits 31:16 unused tokens WMI_ATF_PEER_STATS_GET_UNUSED_TOKENS
|
||||
* WMI_ATF_PEER_STATS_SET_UNUSED_TOKENS
|
||||
*
|
||||
* field3 for future use
|
||||
* @field3: for future use
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t field1;
|
||||
uint32_t field2;
|
||||
uint32_t field3;
|
||||
} wmi_host_atf_peer_stats_info;
|
||||
|
||||
/**
|
||||
* struct wmi_host_atf_peer_stats_event
|
||||
* @pdev_id: pdev_id
|
||||
* @num_atf_peers: number of peers in token_info_list
|
||||
* @comp_usable_airtime: computed usable airtime in tokens
|
||||
* @reserved[4]: reserved for future use
|
||||
* @wmi_host_atf_peer_stats_info token_info_list: list of num_atf_peers
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t num_atf_peers; /** number of peers in token_info_list */
|
||||
uint32_t comp_usable_airtime; /** computed usable airtime in tokens */
|
||||
uint32_t reserved[4]; /** reserved for future use */
|
||||
wmi_host_atf_peer_stats_info token_info_list[1/*num_atf_peers*/];
|
||||
uint32_t pdev_id;
|
||||
uint32_t num_atf_peers;
|
||||
uint32_t comp_usable_airtime;
|
||||
uint32_t reserved[4];
|
||||
wmi_host_atf_peer_stats_info token_info_list[1];
|
||||
} wmi_host_atf_peer_stats_event;
|
||||
|
||||
/**
|
||||
@@ -7335,5 +7383,4 @@ struct wmi_host_fips_event_param {
|
||||
uint32_t data_len;
|
||||
uint32_t *data;
|
||||
};
|
||||
|
||||
#endif /* _WMI_UNIFIED_PARAM_H_ */
|
||||
|
@@ -38,6 +38,14 @@
|
||||
#if defined(WMI_NON_TLV_SUPPORT) || defined(WMI_TLV_AND_NON_TLV_SUPPORT)
|
||||
#include "wmi.h"
|
||||
#include "wmi_unified.h"
|
||||
|
||||
/* Pdev_id starts from 1. For backward compatability value zero is used
|
||||
* for broadcast ID. pdev_id is used to distinguish the radio for which event
|
||||
* is recieved. Since non-tlv target has only one radio, setting
|
||||
* default pdev_id to one to keep rest of the code using WMI APIs unfiorm.
|
||||
*/
|
||||
#define WMI_NON_TLV_DEFAULT_PDEV_ID 1
|
||||
|
||||
/**
|
||||
* send_vdev_create_cmd_non_tlv() - send VDEV create command to fw
|
||||
* @wmi_handle: wmi handle
|
||||
@@ -5759,6 +5767,11 @@ static QDF_STATUS extract_wds_addr_event_non_tlv(wmi_unified_t wmi_handle,
|
||||
wds_ev->dest_mac[4+i] =
|
||||
((u_int8_t *)&(ev->dest_mac.mac_addr47to32))[i];
|
||||
}
|
||||
/* vdev_id is not available in legacy. It is required only to get
|
||||
* pdev, hence setting it to zero as legacy as only one pdev.
|
||||
*/
|
||||
wds_ev->vdev_id = 0;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -5779,7 +5792,7 @@ static QDF_STATUS extract_dcs_interference_type_non_tlv(
|
||||
(wmi_dcs_interference_event_t *) evt_buf;
|
||||
|
||||
param->interference_type = ev->interference_type;
|
||||
param->pdev_id = 1;
|
||||
param->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -5836,6 +5849,8 @@ static QDF_STATUS extract_fips_event_data_non_tlv(wmi_unified_t wmi_handle,
|
||||
struct wmi_host_fips_event_param *param)
|
||||
{
|
||||
wmi_pdev_fips_event *event = (wmi_pdev_fips_event *)evt_buf;
|
||||
|
||||
param->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
#ifdef BIG_ENDIAN_HOST
|
||||
{
|
||||
/*****************LE to BE conversion*************************/
|
||||
@@ -5955,6 +5970,7 @@ static QDF_STATUS extract_mgmt_rx_params_non_tlv(wmi_unified_t wmi_handle,
|
||||
hdr->phy_mode = ev->hdr.phy_mode;
|
||||
hdr->buf_len = ev->hdr.buf_len;
|
||||
hdr->status = ev->hdr.status;
|
||||
hdr->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
*bufp = ev->bufp;
|
||||
|
||||
@@ -6216,6 +6232,7 @@ static QDF_STATUS extract_pdev_tpc_config_ev_param_non_tlv(wmi_unified_t wmi_han
|
||||
{
|
||||
wmi_pdev_tpc_config_event *event = (wmi_pdev_tpc_config_event *)evt_buf;
|
||||
|
||||
param->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
param->regDomain = event->regDomain;
|
||||
param->chanFreq = event->chanFreq;
|
||||
param->phyMode = event->phyMode;
|
||||
@@ -6264,6 +6281,8 @@ static QDF_STATUS extract_nfcal_power_ev_param_non_tlv(wmi_unified_t wmi_handle,
|
||||
qdf_mem_copy(param->nfdBm, event->nfdBm, sizeof(param->nfdBm));
|
||||
qdf_mem_copy(param->freqNum, event->freqNum, sizeof(param->freqNum));
|
||||
|
||||
param->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -6282,6 +6301,7 @@ static QDF_STATUS extract_pdev_tpc_ev_param_non_tlv(wmi_unified_t wmi_handle,
|
||||
wmi_pdev_tpc_event *event = (wmi_pdev_tpc_event *)evt_buf;
|
||||
|
||||
qdf_mem_copy(param->tpc, event->tpc, sizeof(param->tpc));
|
||||
param->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -6346,6 +6366,7 @@ static QDF_STATUS extract_pdev_reserve_ast_ev_param_non_tlv(
|
||||
(wmi_pdev_reserve_ast_entry_event *) evt_buf;
|
||||
|
||||
*result = ev->result;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -6488,6 +6509,7 @@ static QDF_STATUS extract_peer_sta_kickout_ev_non_tlv(wmi_unified_t wmi_handle,
|
||||
/**Following not available in legacy wmi*/
|
||||
ev->reason = 0;
|
||||
ev->rssi = 0;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -6853,6 +6875,8 @@ static QDF_STATUS extract_comb_phyerr_non_tlv(wmi_unified_t wmi_handle, void *ev
|
||||
phyerr->tsf64 |= (((uint64_t) pe->hdr.tsf_u32) << 32);
|
||||
|
||||
*buf_offset = sizeof(pe->hdr);
|
||||
phyerr->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -6879,6 +6903,8 @@ static QDF_STATUS extract_single_phyerr_non_tlv(wmi_unified_t wmi_handle,
|
||||
int n = 0;
|
||||
uint8_t *data;
|
||||
|
||||
phyerr->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
n = (int) *buf_offset;
|
||||
data = (uint8_t *) evt_buf;
|
||||
|
||||
@@ -6892,7 +6918,7 @@ static QDF_STATUS extract_single_phyerr_non_tlv(wmi_unified_t wmi_handle,
|
||||
/* ensure there's at least space for the header */
|
||||
if ((datalen - n) < sizeof(ev->hdr)) {
|
||||
qdf_print(
|
||||
"%s: not enough space? (datalen=%d, n=%d, hdr=%d bytes\n",
|
||||
"%s: not enough space? (datalen=%d, n=%d, hdr=%zd bytes\n",
|
||||
__func__,
|
||||
datalen,
|
||||
n,
|
||||
@@ -7134,6 +7160,8 @@ static QDF_STATUS extract_composite_phyerr_non_tlv(wmi_unified_t wmi_handle,
|
||||
/* XXX what should errors be? */
|
||||
}
|
||||
|
||||
phyerr->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
pe = (wmi_composite_phyerr_rx_event *) evt_buf;
|
||||
ph = &pe->hdr;
|
||||
|
||||
@@ -7270,6 +7298,7 @@ static QDF_STATUS extract_all_stats_counts_non_tlv(wmi_unified_t wmi_handle,
|
||||
stats_param->num_peer_stats = ev->num_peer_stats;
|
||||
stats_param->num_bcnflt_stats = ev->num_bcnflt_stats;
|
||||
stats_param->num_chan_stats = 0;
|
||||
stats_param->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -7666,6 +7695,7 @@ static QDF_STATUS extract_chan_info_event_non_tlv(wmi_unified_t wmi_handle,
|
||||
{
|
||||
wmi_chan_info_event *chan_info_ev = (wmi_chan_info_event *)evt_buf;
|
||||
|
||||
chan_info->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
chan_info->err_code = chan_info_ev->err_code;
|
||||
chan_info->freq = chan_info_ev->freq;
|
||||
chan_info->cmd_flags = chan_info_ev->cmd_flags;
|
||||
@@ -7698,6 +7728,7 @@ static QDF_STATUS extract_channel_hopping_event_non_tlv(
|
||||
wmi_pdev_channel_hopping_event *event =
|
||||
(wmi_pdev_channel_hopping_event *)evt_buf;
|
||||
|
||||
ch_hopping->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
ch_hopping->noise_floor_report_iter = event->noise_floor_report_iter;
|
||||
ch_hopping->noise_floor_total_iter = event->noise_floor_total_iter;
|
||||
|
||||
@@ -7719,8 +7750,20 @@ static QDF_STATUS extract_bss_chan_info_event_non_tlv(wmi_unified_t wmi_handle,
|
||||
wmi_pdev_bss_chan_info_event *event =
|
||||
(wmi_pdev_bss_chan_info_event *)evt_buf;
|
||||
|
||||
qdf_mem_copy(bss_chan_info, event,
|
||||
sizeof(wmi_pdev_bss_chan_info_event));
|
||||
bss_chan_info->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
bss_chan_info->freq = event->freq;
|
||||
bss_chan_info->noise_floor = event->noise_floor;
|
||||
bss_chan_info->rx_clear_count_low = event->rx_clear_count_low;
|
||||
bss_chan_info->rx_clear_count_high = event->rx_clear_count_high;
|
||||
bss_chan_info->cycle_count_low = event->cycle_count_low;
|
||||
bss_chan_info->cycle_count_high = event->cycle_count_high;
|
||||
bss_chan_info->tx_cycle_count_low = event->tx_cycle_count_low;
|
||||
bss_chan_info->tx_cycle_count_high = event->tx_cycle_count_high;
|
||||
bss_chan_info->rx_cycle_count_low = event->rx_cycle_count_low;
|
||||
bss_chan_info->rx_cycle_count_high = event->rx_cycle_count_high;
|
||||
bss_chan_info->rx_bss_cycle_count_low = event->rx_bss_cycle_count_low;
|
||||
bss_chan_info->rx_bss_cycle_count_high = event->rx_bss_cycle_count_high;
|
||||
bss_chan_info->reserved = event->reserved;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -7739,6 +7782,7 @@ static QDF_STATUS extract_inst_rssi_stats_event_non_tlv(
|
||||
{
|
||||
wmi_inst_stats_resp *event = (wmi_inst_stats_resp *)evt_buf;
|
||||
|
||||
inst_rssi_resp->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
qdf_mem_copy(inst_rssi_resp, event, sizeof(wmi_inst_stats_resp));
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
@@ -7783,6 +7827,7 @@ static QDF_STATUS extract_atf_peer_stats_ev_non_tlv(
|
||||
wmi_atf_peer_stats_event *evt =
|
||||
(wmi_atf_peer_stats_event *)evt_buf;
|
||||
|
||||
ev->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
|
||||
ev->num_atf_peers = evt->num_atf_peers;
|
||||
ev->comp_usable_airtime = evt->comp_usable_airtime;
|
||||
qdf_mem_copy(&ev->reserved[0], &evt->reserved[0],
|
||||
|
@@ -31,6 +31,30 @@
|
||||
#include "wmi_unified_priv.h"
|
||||
#include "wmi_version_whitelist.h"
|
||||
|
||||
|
||||
/* copy_vdev_create_pdev_id() - copy pdev from host params to target command
|
||||
* buffer.
|
||||
* @cmd: pointer target vdev create command buffer
|
||||
* @param: pointer host params for vdev create
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
#ifdef CONFIG_MCL
|
||||
static inline void copy_vdev_create_pdev_id(
|
||||
wmi_vdev_create_cmd_fixed_param * cmd,
|
||||
struct vdev_create_params *param)
|
||||
{
|
||||
cmd->pdev_id = WMI_PDEV_ID_SOC;
|
||||
}
|
||||
#else
|
||||
static inline void copy_vdev_create_pdev_id(
|
||||
wmi_vdev_create_cmd_fixed_param * cmd,
|
||||
struct vdev_create_params *param)
|
||||
{
|
||||
cmd->pdev_id = param->pdev_id;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* send_vdev_create_cmd_tlv() - send VDEV create command to fw
|
||||
* @wmi_handle: wmi handle
|
||||
@@ -66,7 +90,7 @@ static QDF_STATUS send_vdev_create_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
cmd->vdev_type = param->type;
|
||||
cmd->vdev_subtype = param->subtype;
|
||||
cmd->num_cfg_txrx_streams = num_bands;
|
||||
cmd->pdev_id = WMI_PDEV_ID_SOC;
|
||||
copy_vdev_create_pdev_id(cmd, param);
|
||||
WMI_CHAR_ARRAY_TO_MAC_ADDR(macaddr, &cmd->vdev_macaddr);
|
||||
WMI_LOGD("%s: ID = %d VAP Addr = %02x:%02x:%02x:%02x:%02x:%02x",
|
||||
__func__, param->if_id,
|
||||
@@ -2023,6 +2047,7 @@ static QDF_STATUS send_scan_stop_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
cmd->vdev_id = param->vdev_id;
|
||||
cmd->requestor = param->requestor;
|
||||
cmd->scan_id = param->scan_id;
|
||||
cmd->pdev_id = param->pdev_id;
|
||||
/* stop the scan with the corresponding scan_id */
|
||||
cmd->req_type = param->req_type;
|
||||
ret = wmi_unified_cmd_send(wmi_handle, wmi_buf,
|
||||
@@ -2142,6 +2167,7 @@ static QDF_STATUS send_scan_chan_list_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
|
||||
WMI_LOGD("no of channels = %d, len = %d", chan_list->nallchans, len);
|
||||
|
||||
cmd->pdev_id = chan_list->pdev_id;
|
||||
cmd->num_scan_chans = chan_list->nallchans;
|
||||
WMITLV_SET_HDR((buf_ptr + sizeof(wmi_scan_chan_list_cmd_fixed_param)),
|
||||
WMITLV_TAG_ARRAY_STRUC,
|
||||
@@ -9769,7 +9795,9 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
|
||||
tgt_res_cfg->num_ocb_channels;
|
||||
resource_cfg->num_ocb_schedules =
|
||||
tgt_res_cfg->num_ocb_schedules;
|
||||
|
||||
resource_cfg->bpf_instruction_size = tgt_res_cfg->bpf_instruction_size;
|
||||
resource_cfg->max_bssid_rx_filters = tgt_res_cfg->max_bssid_rx_filters;
|
||||
resource_cfg->use_pdev_id = tgt_res_cfg->use_pdev_id;
|
||||
}
|
||||
#ifdef CONFIG_MCL
|
||||
/**
|
||||
@@ -12345,6 +12373,7 @@ static QDF_STATUS extract_mgmt_rx_params_tlv(wmi_unified_t wmi_handle,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
hdr->pdev_id = ev_hdr->pdev_id;
|
||||
|
||||
hdr->channel = ev_hdr->channel;
|
||||
hdr->snr = ev_hdr->snr;
|
||||
@@ -12524,6 +12553,7 @@ static QDF_STATUS extract_mgmt_tx_compl_param_tlv(wmi_unified_t wmi_handle,
|
||||
}
|
||||
cmpl_params = param_buf->fixed_param;
|
||||
|
||||
param->pdev_id = cmpl_params->pdev_id;
|
||||
param->desc_id = cmpl_params->desc_id;
|
||||
param->status = cmpl_params->status;
|
||||
|
||||
|
Reference in New Issue
Block a user