qcacld-3.0: Add wow event and reason for roam event stats
This change sends the new wow event in the bitmap to FW only when the roam stats suspend mode attribute is enabled from the user space. Also, the new wow reason is added to wake up the host while sending the roam event stats. Change-Id: Iaefb229929e8791870f33bf787487f7c20daf218 CRs-Fixed: 3050830
This commit is contained in:
parent
6f83bfd812
commit
056bf5581d
@ -838,6 +838,9 @@ wlan_cm_update_roam_rt_stats(struct wlan_objmgr_psoc *psoc,
|
||||
case ROAM_RT_STATS_ENABLE:
|
||||
roam_rt_stats->roam_stats_enabled = value;
|
||||
break;
|
||||
case ROAM_RT_STATS_SUSPEND_MODE_ENABLE:
|
||||
roam_rt_stats->roam_stats_wow_sent = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -863,6 +866,9 @@ uint8_t wlan_cm_get_roam_rt_stats(struct wlan_objmgr_psoc *psoc,
|
||||
case ROAM_RT_STATS_ENABLE:
|
||||
rstats_value = roam_rt_stats->roam_stats_enabled;
|
||||
break;
|
||||
case ROAM_RT_STATS_SUSPEND_MODE_ENABLE:
|
||||
rstats_value = roam_rt_stats->roam_stats_wow_sent;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -15400,6 +15400,22 @@ static int __wlan_hdd_cfg80211_set_roam_events(struct wiphy *wiphy,
|
||||
ucfg_cm_update_roam_rt_stats(hdd_ctx->psoc,
|
||||
param, ROAM_RT_STATS_ENABLE);
|
||||
|
||||
if (param == (ROAM_RT_STATS_ENABLED |
|
||||
ROAM_RT_STATS_ENABLED_IN_SUSPEND_MODE)) {
|
||||
ucfg_pmo_enable_wakeup_event(hdd_ctx->psoc, adapter->vdev_id,
|
||||
WOW_ROAM_STATS_EVENT);
|
||||
ucfg_cm_update_roam_rt_stats(hdd_ctx->psoc,
|
||||
ROAM_RT_STATS_ENABLED,
|
||||
ROAM_RT_STATS_SUSPEND_MODE_ENABLE);
|
||||
} else if (ucfg_cm_get_roam_rt_stats(hdd_ctx->psoc,
|
||||
ROAM_RT_STATS_SUSPEND_MODE_ENABLE)) {
|
||||
ucfg_pmo_disable_wakeup_event(hdd_ctx->psoc, adapter->vdev_id,
|
||||
WOW_ROAM_STATS_EVENT);
|
||||
ucfg_cm_update_roam_rt_stats(hdd_ctx->psoc,
|
||||
ROAM_RT_STATS_DISABLED,
|
||||
ROAM_RT_STATS_SUSPEND_MODE_ENABLE);
|
||||
}
|
||||
|
||||
status = ucfg_cm_roam_send_rt_stats_config(hdd_ctx->pdev,
|
||||
adapter->vdev_id, param);
|
||||
|
||||
|
@ -1498,6 +1498,8 @@ static const uint8_t *wma_wow_wake_reason_str(A_INT32 wake_reason)
|
||||
return "GENERIC_WAKE";
|
||||
case WOW_REASON_TWT:
|
||||
return "TWT Event";
|
||||
case WOW_REASON_ROAM_STATS:
|
||||
return "ROAM_STATS";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
@ -2493,6 +2495,7 @@ static int wma_wake_event_no_payload(
|
||||
return wma_wake_reason_nlod(wma, wake_info->vdev_id);
|
||||
|
||||
case WOW_REASON_GENERIC_WAKE:
|
||||
case WOW_REASON_ROAM_STATS:
|
||||
wma_info("Wake reason %s",
|
||||
wma_wow_wake_reason_str(wake_info->wake_reason));
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user