mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
Merge "qcacmn: Add original vdev info for NSS update API"
This commit is contained in:
commit
ea8c5466eb
4 changed files with 32 additions and 15 deletions
|
|
@ -1021,6 +1021,7 @@ typedef void (*policy_mgr_pdev_set_hw_mode_cback)(uint32_t status,
|
|||
* @next_action: next action to happen at policy mgr after
|
||||
* beacon update
|
||||
* @reason: Reason for nss update
|
||||
* @original_vdev_id: original request hwmode change vdev id
|
||||
*
|
||||
* This function is the callback registered with SME at nss
|
||||
* update request time
|
||||
|
|
@ -1031,7 +1032,8 @@ typedef void (*policy_mgr_nss_update_cback)(struct wlan_objmgr_psoc *psoc,
|
|||
uint8_t tx_status,
|
||||
uint8_t vdev_id,
|
||||
uint8_t next_action,
|
||||
enum policy_mgr_conn_update_reason reason);
|
||||
enum policy_mgr_conn_update_reason reason,
|
||||
uint32_t original_vdev_id);
|
||||
|
||||
/**
|
||||
* struct policy_mgr_sme_cbacks - SME Callbacks to be invoked
|
||||
|
|
@ -1055,9 +1057,10 @@ struct policy_mgr_sme_cbacks {
|
|||
QDF_STATUS (*sme_pdev_set_hw_mode)(struct policy_mgr_hw_mode msg);
|
||||
QDF_STATUS (*sme_pdev_set_pcl)(struct policy_mgr_pcl_list *msg);
|
||||
QDF_STATUS (*sme_nss_update_request)(uint32_t vdev_id,
|
||||
uint8_t new_nss, policy_mgr_nss_update_cback cback,
|
||||
uint8_t new_nss, policy_mgr_nss_update_cback cback,
|
||||
uint8_t next_action, struct wlan_objmgr_psoc *psoc,
|
||||
enum policy_mgr_conn_update_reason reason);
|
||||
enum policy_mgr_conn_update_reason reason,
|
||||
uint32_t original_vdev_id);
|
||||
QDF_STATUS (*sme_change_mcc_beacon_interval)(uint8_t session_id);
|
||||
QDF_STATUS (*sme_get_ap_channel_from_scan)(
|
||||
void *roam_profile,
|
||||
|
|
|
|||
|
|
@ -1066,7 +1066,8 @@ QDF_STATUS policy_mgr_next_actions(
|
|||
* intially. If yes, update the beacon template & notify FW.
|
||||
*/
|
||||
status = policy_mgr_nss_update(psoc, POLICY_MGR_RX_NSS_1,
|
||||
PM_NOP, POLICY_MGR_ANY, reason);
|
||||
PM_NOP, POLICY_MGR_ANY, reason,
|
||||
session_id);
|
||||
break;
|
||||
case PM_UPGRADE:
|
||||
/*
|
||||
|
|
@ -1074,7 +1075,8 @@ QDF_STATUS policy_mgr_next_actions(
|
|||
* intially. If yes, update the beacon template & notify FW.
|
||||
*/
|
||||
status = policy_mgr_nss_update(psoc, POLICY_MGR_RX_NSS_2,
|
||||
PM_NOP, POLICY_MGR_ANY, reason);
|
||||
PM_NOP, POLICY_MGR_ANY, reason,
|
||||
session_id);
|
||||
break;
|
||||
case PM_DBS1_DOWNGRADE:
|
||||
status = policy_mgr_complete_action(psoc, POLICY_MGR_RX_NSS_1,
|
||||
|
|
@ -1133,12 +1135,14 @@ QDF_STATUS policy_mgr_next_actions(
|
|||
case PM_UPGRADE_5G:
|
||||
status = policy_mgr_nss_update(
|
||||
psoc, POLICY_MGR_RX_NSS_2,
|
||||
PM_NOP, POLICY_MGR_BAND_5, reason);
|
||||
PM_NOP, POLICY_MGR_BAND_5, reason,
|
||||
session_id);
|
||||
break;
|
||||
case PM_UPGRADE_2G:
|
||||
status = policy_mgr_nss_update(
|
||||
psoc, POLICY_MGR_RX_NSS_2,
|
||||
PM_NOP, POLICY_MGR_BAND_24, reason);
|
||||
PM_NOP, POLICY_MGR_BAND_24, reason,
|
||||
session_id);
|
||||
break;
|
||||
default:
|
||||
policy_mgr_err("unexpected action value %d", action);
|
||||
|
|
|
|||
|
|
@ -2517,6 +2517,7 @@ bool policy_mgr_is_5g_channel_allowed(struct wlan_objmgr_psoc *psoc,
|
|||
* @next_action: next action to happen at policy mgr after
|
||||
* beacon update
|
||||
* @reason: Reason for nss update
|
||||
* @original_vdev_id: original request hwmode change vdev id
|
||||
*
|
||||
* This function is the callback registered with SME at nss
|
||||
* update request time
|
||||
|
|
@ -2527,7 +2528,8 @@ static void policy_mgr_nss_update_cb(struct wlan_objmgr_psoc *psoc,
|
|||
uint8_t tx_status,
|
||||
uint8_t vdev_id,
|
||||
uint8_t next_action,
|
||||
enum policy_mgr_conn_update_reason reason)
|
||||
enum policy_mgr_conn_update_reason reason,
|
||||
uint32_t original_vdev_id)
|
||||
{
|
||||
uint32_t conn_index = 0;
|
||||
QDF_STATUS ret;
|
||||
|
|
@ -2545,9 +2547,11 @@ static void policy_mgr_nss_update_cb(struct wlan_objmgr_psoc *psoc,
|
|||
return;
|
||||
}
|
||||
|
||||
policy_mgr_debug("nss update successful for vdev:%d", vdev_id);
|
||||
policy_mgr_debug("nss update successful for vdev:%d ori %d reason %d",
|
||||
vdev_id, original_vdev_id, reason);
|
||||
if (PM_NOP != next_action)
|
||||
policy_mgr_next_actions(psoc, vdev_id, next_action, reason);
|
||||
policy_mgr_next_actions(psoc, original_vdev_id, next_action,
|
||||
reason);
|
||||
else {
|
||||
policy_mgr_debug("No action needed right now");
|
||||
ret = policy_mgr_set_opportunistic_update(psoc);
|
||||
|
|
@ -2561,7 +2565,8 @@ static void policy_mgr_nss_update_cb(struct wlan_objmgr_psoc *psoc,
|
|||
QDF_STATUS policy_mgr_nss_update(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t new_nss, uint8_t next_action,
|
||||
enum policy_mgr_band band,
|
||||
enum policy_mgr_conn_update_reason reason)
|
||||
enum policy_mgr_conn_update_reason reason,
|
||||
uint32_t original_vdev_id)
|
||||
{
|
||||
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
||||
uint32_t index, count;
|
||||
|
|
@ -2604,7 +2609,8 @@ QDF_STATUS policy_mgr_nss_update(struct wlan_objmgr_psoc *psoc,
|
|||
status = pm_ctx->sme_cbacks.sme_nss_update_request(
|
||||
vdev_id, new_nss,
|
||||
policy_mgr_nss_update_cb,
|
||||
next_action, psoc, reason);
|
||||
next_action, psoc, reason,
|
||||
original_vdev_id);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
policy_mgr_err("sme_nss_update_request() failed for vdev %d",
|
||||
vdev_id);
|
||||
|
|
@ -2637,7 +2643,8 @@ QDF_STATUS policy_mgr_nss_update(struct wlan_objmgr_psoc *psoc,
|
|||
status = pm_ctx->sme_cbacks.sme_nss_update_request(
|
||||
vdev_id, new_nss,
|
||||
policy_mgr_nss_update_cb,
|
||||
next_action, psoc, reason);
|
||||
next_action, psoc, reason,
|
||||
original_vdev_id);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
policy_mgr_err("sme_nss_update_request() failed for vdev %d",
|
||||
vdev_id);
|
||||
|
|
@ -2690,7 +2697,8 @@ QDF_STATUS policy_mgr_complete_action(struct wlan_objmgr_psoc *psoc,
|
|||
downgrade_band = POLICY_MGR_ANY;
|
||||
|
||||
status = policy_mgr_nss_update(psoc, new_nss, next_action,
|
||||
downgrade_band, reason);
|
||||
downgrade_band, reason,
|
||||
session_id);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
status = policy_mgr_next_actions(psoc, session_id,
|
||||
next_action, reason);
|
||||
|
|
|
|||
|
|
@ -534,6 +534,7 @@ void policy_mgr_reg_chan_change_callback(struct wlan_objmgr_psoc *psoc,
|
|||
* @next_action: Next action after nss update
|
||||
* @band: update AP vdev on the Band.
|
||||
* @reason: action reason
|
||||
* @original_vdev_id: original request hwmode change vdev id
|
||||
*
|
||||
* The function will update AP vdevs on specific band.
|
||||
* eg. band = POLICY_MGR_ANY will request to update all band (2g and 5g)
|
||||
|
|
@ -543,7 +544,8 @@ void policy_mgr_reg_chan_change_callback(struct wlan_objmgr_psoc *psoc,
|
|||
QDF_STATUS policy_mgr_nss_update(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t new_nss, uint8_t next_action,
|
||||
enum policy_mgr_band band,
|
||||
enum policy_mgr_conn_update_reason reason);
|
||||
enum policy_mgr_conn_update_reason reason,
|
||||
uint32_t original_vdev_id);
|
||||
|
||||
/**
|
||||
* policy_mgr_is_concurrency_allowed() - Check for allowed
|
||||
|
|
|
|||
Loading…
Reference in a new issue