qcacld-3.0: Add cfg to disable puncture in US LPI mode

Add cfg to disable puncture in US LPI mode per FCC requirement,
set to false by default.

Change-Id: Id01f952b2a74ad64216a66d2d292166211440c4b
CRs-Fixed: 3649640
Tento commit je obsažen v:
Jianmin Zhu
2023-10-27 08:42:07 +08:00
odevzdal Ravindra Konda
rodič 9b2e1dabd5
revize a68e8b7311
6 změnil soubory, kde provedl 94 přidání a 1 odebrání

Zobrazit soubor

@@ -718,6 +718,32 @@
#define CFG_MLO_SAME_LINK_MLD_ADDR_CFG
#endif
/*
* <ini>
* eht_disable_punct_in_us_lpi - Flag to Disable eht puncture in US LPI mode
* @Min: false
* @Max: true
* @Default: false
*
* Related: None
*
* Supported Feature: 802.11be protocol
*
* Usage: Internal
*
* </ini>
*/
#define CFG_EHT_DISABLE_PUNCT_IN_US_LPI \
CFG_BOOL("eht_disable_punct_in_us_lpi", \
false, \
"Disable eht puncture in US LPI mode")
#ifdef WLAN_FEATURE_11BE
#define CFG_EHT_DISABLE_PUNCT_IN_US_LPI_CFG CFG(CFG_EHT_DISABLE_PUNCT_IN_US_LPI)
#else
#define CFG_EHT_DISABLE_PUNCT_IN_US_LPI_CFG
#endif
#define CFG_STA_ALL \
CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
CFG(CFG_STA_BSS_MAX_IDLE_PERIOD) \
@@ -743,5 +769,6 @@
CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG \
CFG_MLO_SUPPORT_LINK_BAND_CFG \
CFG_MLO_PREFER_PERCENTAGE_CFG \
CFG_MLO_SAME_LINK_MLD_ADDR_CFG
CFG_MLO_SAME_LINK_MLD_ADDR_CFG \
CFG_EHT_DISABLE_PUNCT_IN_US_LPI_CFG
#endif /* CFG_MLME_STA_H__ */

Zobrazit soubor

@@ -1319,6 +1319,25 @@ bool wlan_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc);
void wlan_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
bool disable);
/**
* wlan_mlme_get_eht_disable_punct_in_us_lpi() - Get disable eht punct in us
* lpi mode flag.
* @psoc: psoc object
*
* Return: true if eht punct disabled in us lpi mode
*/
bool wlan_mlme_get_eht_disable_punct_in_us_lpi(struct wlan_objmgr_psoc *psoc);
/**
* wlan_mlme_set_eht_disable_punct_in_us_lpi() - Set disable eht punct in us
* lpi mode flag.
* @psoc: psoc object
* @flag: true if eht punct disabled in us lpi mode
*
* Return: void
*/
void wlan_mlme_set_eht_disable_punct_in_us_lpi(struct wlan_objmgr_psoc *psoc,
bool flag);
/**
* wlan_mlme_update_bw_no_punct() - update connected VDEV
* channel bandwidth without puncture bitmap for FCC requirement
@@ -1369,6 +1388,18 @@ void wlan_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
{
}
static inline
bool wlan_mlme_get_eht_disable_punct_in_us_lpi(struct wlan_objmgr_psoc *psoc)
{
return false;
}
static inline
void wlan_mlme_set_eht_disable_punct_in_us_lpi(struct wlan_objmgr_psoc *psoc,
bool flag)
{
}
static inline QDF_STATUS
wlan_mlme_update_bw_no_punct(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id)

Zobrazit soubor

@@ -1818,6 +1818,7 @@ enum station_prefer_bw {
* @mlo_prefer_percentage: percentage to boost/reduce mlo scoring
* @epcs_capability: epcs capability enable or disable flag
* @usr_disable_eht: user disable the eht for STA
* @eht_disable_punct_in_us_lpi: Disable eht puncture in us lpi mode
*/
struct wlan_mlme_sta_cfg {
uint32_t sta_keep_alive_period;
@@ -1856,6 +1857,7 @@ struct wlan_mlme_sta_cfg {
#ifdef WLAN_FEATURE_11BE
bool epcs_capability;
bool usr_disable_eht;
bool eht_disable_punct_in_us_lpi;
#endif
};