diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index 31fbe75085..44b03399ad 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -1868,6 +1868,8 @@ enum _ol_ath_param_t { OL_ATH_PARAM_MBSS_EN = 426, /* UNII-1 and UNII-2A channel coexistance */ OL_ATH_PARAM_CHAN_COEX = 427, + /* Out of Band Advertisement feature */ + OL_ATH_PARAM_OOB_ENABLE = 428, }; #endif /* Bitmasks for stats that can block */ diff --git a/umac/mlme/include/wlan_psoc_mlme.h b/umac/mlme/include/wlan_psoc_mlme.h index 963cdbbfb3..e145ffb99f 100644 --- a/umac/mlme/include/wlan_psoc_mlme.h +++ b/umac/mlme/include/wlan_psoc_mlme.h @@ -24,12 +24,28 @@ #include #include +/* Max RNR size given max vaps are 16 */ +#define MAX_RNR_SIZE 256 + +/** + * struct wlan_rnr_global_cache - RNR cache buffer per soc + * @rnr_buf: RNR cache buffer + * @rnr_cnt: Count of APs in cache + * @rnr_size: Size of RNR cache (RNR IE) + */ +struct wlan_6ghz_rnr_global_cache { + char rnr_buf[MAX_RNR_SIZE]; + int rnr_cnt; + uint16_t rnr_size; +}; + /** * struct psoc_mlme_obj - PSoC MLME component object * @psoc: PSoC object * @ext_psoc_ptr: PSoC legacy pointer * @psoc_vdev_rt: PSoC Vdev response timer * @psoc_mlme_wakelock: Wakelock to prevent system going to suspend + * @rnr_6ghz_cache: Cache of 6Ghz vap in RNR ie format */ struct psoc_mlme_obj { struct wlan_objmgr_psoc *psoc; @@ -38,6 +54,7 @@ struct psoc_mlme_obj { #ifdef FEATURE_VDEV_RSP_WAKELOCK struct psoc_mlme_wakelock psoc_mlme_wakelock; #endif + struct wlan_6ghz_rnr_global_cache rnr_6ghz_cache; }; #endif diff --git a/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h b/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h index abc84f9880..dd8c4a0253 100644 --- a/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h +++ b/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h @@ -123,10 +123,14 @@ struct sta_ps_params { * struct tbttoffset_params - Tbttoffset event params * @vdev_id: Virtual AP device identifier * @tbttoffset : Tbttoffset for the virtual AP device + * @vdev_tbtt_qtime_lo: Tbtt qtime low value + * @vdev_tbtt_qtime_hi: Tbtt qtime high value */ struct tbttoffset_params { uint32_t vdev_id; uint32_t tbttoffset; + uint32_t vdev_tbtt_qtime_lo; + uint32_t vdev_tbtt_qtime_hi; }; /** diff --git a/wmi/src/wmi_unified_vdev_tlv.c b/wmi/src/wmi_unified_vdev_tlv.c index 4cb09f5b19..c9899ef6a2 100644 --- a/wmi/src/wmi_unified_vdev_tlv.c +++ b/wmi/src/wmi_unified_vdev_tlv.c @@ -317,6 +317,10 @@ static QDF_STATUS extract_tbttoffset_update_params_tlv( return QDF_STATUS_E_INVAL; tbtt_param->tbttoffset = param_buf->tbttoffset_list[tbtt_param->vdev_id]; + tbtt_param->vdev_tbtt_qtime_lo = + param_buf->tbtt_qtime_low_us_list[tbtt_param->vdev_id]; + tbtt_param->vdev_tbtt_qtime_hi = + param_buf->tbtt_qtime_high_us_list[tbtt_param->vdev_id]; return QDF_STATUS_SUCCESS; } @@ -338,6 +342,8 @@ static QDF_STATUS extract_ext_tbttoffset_update_params_tlv( tbtt_param->vdev_id = tbtt_offset_info->vdev_id; tbtt_param->tbttoffset = tbtt_offset_info->tbttoffset; + tbtt_param->vdev_tbtt_qtime_lo = tbtt_offset_info->tbtt_qtime_low_us; + tbtt_param->vdev_tbtt_qtime_hi = tbtt_offset_info->tbtt_qtime_high_us; return QDF_STATUS_SUCCESS; }