qcacld-3.0: Enable/Disable SRD support for vdev

Currently the driver enables the SRD channels
support for both P2P_GO and SAP if the SRD master
mode is enabled.

Have individual ini values to enable/disable
the SRD channel for each op-mode as required.

Change-Id: If6e66996ed19dacbde7f71a6702f378a7e9a273c
CRs-Fixed: 2748446
This commit is contained in:
gaurank kathpalia
2020-08-02 13:34:51 +05:30
zatwierdzone przez snandini
rodzic b79fd0c6ec
commit f955b44a6d
13 zmienionych plików z 176 dodań i 59 usunięć

Wyświetl plik

@@ -3052,6 +3052,41 @@ wlan_mlme_get_vht20_mcs9(struct wlan_objmgr_psoc *psoc, bool *value)
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_srd_master_mode_for_vdev(struct wlan_objmgr_psoc *psoc,
enum QDF_OPMODE vdev_opmode,
bool *value)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
mlme_obj = mlme_get_psoc_ext_obj(psoc);
if (!mlme_obj) {
*value = false;
mlme_legacy_err("Failed to get MLME Obj");
return QDF_STATUS_E_INVAL;
}
switch (vdev_opmode) {
case QDF_SAP_MODE:
*value = mlme_obj->cfg.reg.etsi_srd_chan_in_master_mode &
MLME_SRD_MASTER_MODE_SAP;
break;
case QDF_P2P_GO_MODE:
*value = mlme_obj->cfg.reg.etsi_srd_chan_in_master_mode &
MLME_SRD_MASTER_MODE_P2P_GO;
break;
case QDF_NAN_DISC_MODE:
*value = mlme_obj->cfg.reg.etsi_srd_chan_in_master_mode &
MLME_SRD_MASTER_MODE_NAN;
break;
default:
mlme_legacy_err("Unexpected opmode %d", vdev_opmode);
*value = false;
}
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_enable_dynamic_nss_chains_cfg(struct wlan_objmgr_psoc *psoc,
bool *value)

Wyświetl plik

@@ -1475,19 +1475,19 @@ ucfg_mlme_get_mws_coex_scc_channel_avoid_delay(struct wlan_objmgr_psoc *psoc,
#endif
QDF_STATUS
ucfg_mlme_get_etsi13_srd_chan_in_master_mode(struct wlan_objmgr_psoc *psoc,
bool *value)
ucfg_mlme_get_etsi_srd_chan_in_master_mode(struct wlan_objmgr_psoc *psoc,
uint8_t *value)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
mlme_obj = mlme_get_psoc_ext_obj(psoc);
if (!mlme_obj) {
*value = cfg_default(CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE);
*value = cfg_default(CFG_ETSI_SRD_CHAN_IN_MASTER_MODE);
mlme_legacy_err("Failed to get MLME Obj");
return QDF_STATUS_E_INVAL;
}
*value = mlme_obj->cfg.reg.etsi13_srd_chan_in_master_mode;
*value = mlme_obj->cfg.reg.etsi_srd_chan_in_master_mode;
return QDF_STATUS_SUCCESS;
}
@@ -1510,6 +1510,14 @@ ucfg_mlme_get_5dot9_ghz_chan_in_master_mode(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
ucfg_mlme_get_srd_master_mode_for_vdev(struct wlan_objmgr_psoc *psoc,
enum QDF_OPMODE vdev_opmode,
bool *value)
{
return wlan_mlme_get_srd_master_mode_for_vdev(psoc, vdev_opmode, value);
}
#ifdef SAP_AVOID_ACS_FREQ_LIST
QDF_STATUS
ucfg_mlme_get_acs_avoid_freq_list(struct wlan_objmgr_psoc *psoc,