diff --git a/wmi_unified_api.h b/wmi_unified_api.h index 3a1a485545..e4f5cb2b64 100644 --- a/wmi_unified_api.h +++ b/wmi_unified_api.h @@ -1830,6 +1830,22 @@ QDF_STATUS wmi_extract_dbr_buf_release_entry( void *wmi_hdl, uint8_t *evt_buf, uint8_t idx, struct direct_buf_rx_entry *param); + +/** + * wmi_extract_dbr_buf_metadata: Extract direct buffer metadata + * + * @wmi_hdl: WMI handle + * @evt_buf: Event buffer + * @idx: Index of the module for which capability is received + * @param: Pointer to direct buffer metadata + * + * Return: QDF status of operation + */ +QDF_STATUS wmi_extract_dbr_buf_metadata( + void *wmi_hdl, + uint8_t *evt_buf, uint8_t idx, + struct direct_buf_rx_metadata *param); + QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl, uint8_t *evt_buf, struct wmi_host_pdev_utf_event *param); diff --git a/wmi_unified_param.h b/wmi_unified_param.h index 9dfcbdd445..c725b405dd 100644 --- a/wmi_unified_param.h +++ b/wmi_unified_param.h @@ -8160,6 +8160,15 @@ struct wdsentry { #define WMI_HOST_DBR_DATA_ADDR_HI_HOST_DATA_SET(dword, val) \ WMI_HOST_F_RMW(dword, val, WMI_HOST_DBR_DATA_ADDR_HI_HOST_DATA) +/** + * struct direct_buf_rx_metadata: direct buffer metadata + * + * @noisefloor: noisefloor + */ +struct direct_buf_rx_metadata { + int32_t noisefloor[WMI_HOST_MAX_NUM_CHAINS]; +}; + /** * struct direct_buf_rx_entry: direct buffer rx release entry structure * @@ -8185,6 +8194,7 @@ struct direct_buf_rx_rsp { uint32_t pdev_id; uint32_t mod_id; uint32_t num_buf_release_entry; + uint32_t num_meta_data_entry; struct direct_buf_rx_entry *dbr_entries; }; diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h index 641da9a81b..fce32ad6c6 100644 --- a/wmi_unified_priv.h +++ b/wmi_unified_priv.h @@ -1425,6 +1425,11 @@ QDF_STATUS (*extract_dbr_buf_release_entry)( uint8_t *evt_buf, uint8_t idx, struct direct_buf_rx_entry *param); +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_pdev_utf_event)(wmi_unified_t wmi_hdl, uint8_t *evt_buf, struct wmi_host_pdev_utf_event *param);