qcacmn: Add DBR support for standalone sounding CBF CV data
Added change, 1. Define new DBR module DBR_MODULE_CBF to handle TxBF standalone sounding CV data and corresponding ring initialization. 2. API to extract new meta data TLV added for CV data. 3. API to handle standalone sounding complete. Change-Id: Id28c5561bb8b3bf08de7ddd9aa2365e2ae99f1c2 CRs-Fixed: 3415627
This commit is contained in:

کامیت شده توسط
Madan Koyyalamudi

والد
aecdfaa78a
کامیت
031d51614e
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 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
|
||||
@@ -78,4 +79,18 @@ QDF_STATUS wmi_extract_dbr_buf_metadata(
|
||||
uint8_t *evt_buf, uint8_t idx,
|
||||
struct direct_buf_rx_metadata *param);
|
||||
|
||||
/**
|
||||
* wmi_extract_dbr_buf_cv_metadata: Extract direct buffer TxBF cbf cv metadata
|
||||
*
|
||||
* @wmi_handle: WMI handle
|
||||
* @evt_buf: Event buffer
|
||||
* @idx: Index of the module for which capability is received
|
||||
* @param: Pointer to direct buffer cv metadata
|
||||
*
|
||||
* Return: QDF status of operation
|
||||
*/
|
||||
QDF_STATUS wmi_extract_dbr_buf_cv_metadata(
|
||||
wmi_unified_t wmi_handle,
|
||||
uint8_t *evt_buf, uint8_t idx,
|
||||
struct direct_buf_rx_cv_metadata *param);
|
||||
#endif /* _WMI_UNIFIED_DBR_API_H_ */
|
||||
|
@@ -79,7 +79,8 @@
|
||||
* @pdev_id: Index of the pdev for which response is received
|
||||
* @mod_id: Index of the module for which respone is received
|
||||
* @num_buf_release_entry: Number of buffers released through event
|
||||
* @num_meta_data_entry:
|
||||
* @num_meta_data_entry: Number of meta data released
|
||||
* @num_cv_meta_data_entry: Number of cv meta data released
|
||||
* @dbr_entries: Pointer to direct buffer rx entry struct
|
||||
*/
|
||||
struct direct_buf_rx_rsp {
|
||||
@@ -87,6 +88,7 @@ struct direct_buf_rx_rsp {
|
||||
uint32_t mod_id;
|
||||
uint32_t num_buf_release_entry;
|
||||
uint32_t num_meta_data_entry;
|
||||
uint32_t num_cv_meta_data_entry;
|
||||
struct direct_buf_rx_entry *dbr_entries;
|
||||
};
|
||||
|
||||
@@ -138,6 +140,30 @@ struct direct_buf_rx_metadata {
|
||||
uint32_t ch_width;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct direct_buf_rx_cv_metadata: direct buffer metadata for TxBF CV upload
|
||||
*
|
||||
* @is_valid: Set cv metadata is valid,
|
||||
* false if sw_peer_id is invalid or FCS error
|
||||
* @fb_type: Feedback type, 0 for SU 1 for MU
|
||||
* @asnr_len: Average SNR length
|
||||
* @asnr_offset: Average SNR offset
|
||||
* @dsnr_len: Delta SNR length
|
||||
* @dsnr_offset: Delta SNR offset
|
||||
* @peer_mac: Peer macaddr
|
||||
* @fb_params: Feedback params, [1:0] Nc [3:2] nss_num
|
||||
*/
|
||||
struct direct_buf_rx_cv_metadata {
|
||||
uint32_t is_valid;
|
||||
uint32_t fb_type;
|
||||
uint16_t asnr_len;
|
||||
uint16_t asnr_offset;
|
||||
uint16_t dsnr_len;
|
||||
uint16_t dsnr_offset;
|
||||
struct qdf_mac_addr peer_mac;
|
||||
uint32_t fb_params;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct direct_buf_rx_entry: direct buffer rx release entry structure
|
||||
*
|
||||
|
@@ -5264,6 +5264,9 @@ typedef enum {
|
||||
wmi_pdev_set_tgtr2p_table_eventid,
|
||||
#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
|
||||
wmi_manual_ul_ofdma_trig_feedback_eventid,
|
||||
#endif
|
||||
#ifdef QCA_STANDALONE_SOUNDING_TRIGGER
|
||||
wmi_vdev_standalone_sound_complete_eventid,
|
||||
#endif
|
||||
wmi_events_max,
|
||||
} wmi_conv_event_id;
|
||||
@@ -6307,6 +6310,9 @@ typedef enum {
|
||||
wmi_service_manual_ulofdma_trigger_support,
|
||||
#endif
|
||||
wmi_service_pre_rx_timeout,
|
||||
#ifdef QCA_STANDALONE_SOUNDING_TRIGGER
|
||||
wmi_service_standalone_sound,
|
||||
#endif
|
||||
wmi_services_max,
|
||||
} wmi_conv_service_ids;
|
||||
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
||||
|
@@ -2283,6 +2283,11 @@ QDF_STATUS (*extract_dbr_buf_metadata)(
|
||||
wmi_unified_t wmi_handle,
|
||||
uint8_t *evt_buf, uint8_t idx,
|
||||
struct direct_buf_rx_metadata *param);
|
||||
|
||||
QDF_STATUS (*extract_dbr_buf_cv_metadata)(
|
||||
wmi_unified_t wmi_handle,
|
||||
uint8_t *evt_buf, uint8_t idx,
|
||||
struct direct_buf_rx_cv_metadata *param);
|
||||
#endif
|
||||
|
||||
QDF_STATUS (*extract_pdev_utf_event)(wmi_unified_t wmi_hdl,
|
||||
@@ -2708,6 +2713,15 @@ QDF_STATUS(*extract_twt_session_stats_data)
|
||||
);
|
||||
#endif
|
||||
|
||||
#ifdef QCA_STANDALONE_SOUNDING_TRIGGER
|
||||
QDF_STATUS (*extract_standalone_sounding_evt_params)
|
||||
(
|
||||
wmi_unified_t wmi_handle,
|
||||
void *evt_buf,
|
||||
struct wmi_host_standalone_sounding_evt_params *ss_params
|
||||
);
|
||||
#endif
|
||||
|
||||
#ifdef QCA_SUPPORT_CP_STATS
|
||||
QDF_STATUS (*extract_cca_stats)(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
struct wmi_host_congestion_stats *stats);
|
||||
|
مرجع در شماره جدید
Block a user