mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
qcacld-3.0: Make the set HW mode & NSS update independent of each other
Typically set hw mode & Nss update happens at the same time. Since the order of these 2 actions may not be same always, make them independent of each other. Change-Id: I652ad08e16680991535e0f064c7b5996f4f58792 CRs-Fixed: 2145006
This commit is contained in:
parent
49e1f3dc53
commit
eab33ddd6f
3 changed files with 10 additions and 23 deletions
|
|
@ -8516,7 +8516,7 @@ static int iw_get_policy_manager_ut_ops(struct hdd_context *hdd_ctx,
|
|||
HW_MODE_DBS_NONE,
|
||||
HW_MODE_AGILE_DFS_NONE,
|
||||
HW_MODE_SBS_NONE,
|
||||
SIR_UPDATE_REASON_UT);
|
||||
SIR_UPDATE_REASON_UT, PM_NOP);
|
||||
} else if (apps_args[0] == 1) {
|
||||
hdd_err("set hw mode for dual mac");
|
||||
policy_mgr_pdev_set_hw_mode(hdd_ctx->hdd_psoc,
|
||||
|
|
@ -8527,7 +8527,7 @@ static int iw_get_policy_manager_ut_ops(struct hdd_context *hdd_ctx,
|
|||
HW_MODE_DBS,
|
||||
HW_MODE_AGILE_DFS_NONE,
|
||||
HW_MODE_SBS_NONE,
|
||||
SIR_UPDATE_REASON_UT);
|
||||
SIR_UPDATE_REASON_UT, PM_NOP);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -3415,16 +3415,6 @@ struct sir_hw_mode_params {
|
|||
uint8_t sbs_cap;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct sir_vdev_mac_map - vdev id-mac id map
|
||||
* @vdev_id: VDEV id
|
||||
* @mac_id: MAC id
|
||||
*/
|
||||
struct sir_vdev_mac_map {
|
||||
uint32_t vdev_id;
|
||||
uint32_t mac_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct sir_set_hw_mode_resp - HW mode response
|
||||
* @status: Status
|
||||
|
|
@ -3436,7 +3426,7 @@ struct sir_set_hw_mode_resp {
|
|||
uint32_t status;
|
||||
uint32_t cfgd_hw_mode_index;
|
||||
uint32_t num_vdev_mac_entries;
|
||||
struct sir_vdev_mac_map vdev_mac_map[MAX_VDEV_SUPPORTED];
|
||||
struct policy_mgr_vdev_mac_map vdev_mac_map[MAX_VDEV_SUPPORTED];
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -6154,14 +6144,10 @@ struct send_extcap_ie {
|
|||
uint8_t session_id;
|
||||
};
|
||||
|
||||
typedef void (*hw_mode_cb)(uint32_t status, uint32_t cfgd_hw_mode_index,
|
||||
uint32_t num_vdev_mac_entries,
|
||||
struct sir_vdev_mac_map *vdev_mac_map,
|
||||
struct wlan_objmgr_psoc *context);
|
||||
typedef void (*hw_mode_transition_cb)(uint32_t old_hw_mode_index,
|
||||
uint32_t new_hw_mode_index,
|
||||
uint32_t num_vdev_mac_entries,
|
||||
struct sir_vdev_mac_map *vdev_mac_map);
|
||||
struct policy_mgr_vdev_mac_map *vdev_mac_map);
|
||||
typedef void (*dual_mac_cb)(uint32_t status, uint32_t scan_config,
|
||||
uint32_t fw_mode_config);
|
||||
typedef void (*antenna_mode_cb)(uint32_t status);
|
||||
|
|
@ -6191,9 +6177,6 @@ struct sir_beacon_tx_complete_rsp {
|
|||
uint8_t tx_status;
|
||||
};
|
||||
|
||||
typedef void (*nss_update_cb)(void *context, uint8_t tx_status, uint8_t vdev_id,
|
||||
uint8_t next_action, enum sir_conn_update_reason reason);
|
||||
|
||||
/**
|
||||
* OCB structures
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ static QDF_STATUS sme_process_set_hw_mode_resp(tpAniSirGlobal mac, uint8_t *msg)
|
|||
tListElem *entry;
|
||||
tSmeCmd *command = NULL;
|
||||
bool found;
|
||||
hw_mode_cb callback = NULL;
|
||||
policy_mgr_pdev_set_hw_mode_cback callback = NULL;
|
||||
struct sir_set_hw_mode_resp *param;
|
||||
enum sir_conn_update_reason reason;
|
||||
struct csr_roam_session *session;
|
||||
|
|
@ -207,6 +207,9 @@ static QDF_STATUS sme_process_set_hw_mode_resp(tpAniSirGlobal mac, uint8_t *msg)
|
|||
param->cfgd_hw_mode_index,
|
||||
param->num_vdev_mac_entries,
|
||||
param->vdev_mac_map,
|
||||
command->u.set_hw_mode_cmd.next_action,
|
||||
command->u.set_hw_mode_cmd.reason,
|
||||
command->u.set_hw_mode_cmd.session_id,
|
||||
command->u.set_hw_mode_cmd.context);
|
||||
session = CSR_GET_SESSION(mac, session_id);
|
||||
if (reason == SIR_UPDATE_REASON_HIDDEN_STA) {
|
||||
|
|
@ -2470,7 +2473,7 @@ static QDF_STATUS sme_process_nss_update_resp(tpAniSirGlobal mac, uint8_t *msg)
|
|||
tListElem *entry = NULL;
|
||||
tSmeCmd *command = NULL;
|
||||
bool found;
|
||||
nss_update_cb callback = NULL;
|
||||
policy_mgr_nss_update_cback callback = NULL;
|
||||
struct sir_beacon_tx_complete_rsp *param;
|
||||
|
||||
param = (struct sir_beacon_tx_complete_rsp *)msg;
|
||||
|
|
@ -13426,6 +13429,7 @@ QDF_STATUS sme_pdev_set_hw_mode(struct policy_mgr_hw_mode msg)
|
|||
cmd->u.set_hw_mode_cmd.set_hw_mode_cb = msg.set_hw_mode_cb;
|
||||
cmd->u.set_hw_mode_cmd.reason = msg.reason;
|
||||
cmd->u.set_hw_mode_cmd.session_id = msg.session_id;
|
||||
cmd->u.set_hw_mode_cmd.next_action = msg.next_action;
|
||||
cmd->u.set_hw_mode_cmd.context = msg.context;
|
||||
|
||||
sme_debug("Queuing set hw mode to CSR, session: %d reason: %d",
|
||||
|
|
|
|||
Loading…
Reference in a new issue