Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ed270bc authored by Srikanth Marepalli's avatar Srikanth Marepalli
Browse files

qcacmn: Add roam set param command for roam params

This change introduces the new roam set param WMI command to set
the roam params from host to FW.
Also added a fail_bssid param in wmi_roam_result TLV to know the
roam failed AP BSSID from the FW.

Added a new vendor command event for sending roam events stats
attributes to userspace.

Change-Id: I7a08635a7912cbd940d90a2d62433296740ad913
CRs-Fixed: 3050799
parent cd924b91
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -238,6 +238,9 @@ enum qca_nl80211_vendor_subcmds_index {
#ifdef WLAN_CFR_ENABLE
	QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG_INDEX,
#endif
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
	QCA_NL80211_VENDOR_SUBCMD_ROAM_EVENTS_INDEX,
#endif
};

#if !defined(SUPPORT_WDEV_CFG80211_VENDOR_EVENT_ALLOC) && \
+20 −0
Original line number Diff line number Diff line
@@ -859,6 +859,26 @@ QDF_STATUS
wmi_unified_vdev_set_param_send(wmi_unified_t wmi_handle,
				struct vdev_set_params *param);

#ifdef WLAN_FEATURE_ROAM_OFFLOAD
/**
 * wmi_unified_roam_set_param_send() - WMI roam set parameter function
 * @wmi_handle: handle to WMI.
 * @roam_param: pointer to hold roam set parameter
 *
 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
 */
QDF_STATUS
wmi_unified_roam_set_param_send(wmi_unified_t wmi_handle,
				struct vdev_set_params *roam_param);
#else
static inline QDF_STATUS
wmi_unified_roam_set_param_send(wmi_unified_t wmi_handle,
				struct vdev_set_params *roam_param)
{
	return QDF_STATUS_SUCCESS;
}
#endif

/**
 * wmi_unified_sifs_trigger_send() - WMI vdev sifs trigger parameter function
 * @wmi_handle: handle to WMI.
+2 −0
Original line number Diff line number Diff line
@@ -7887,12 +7887,14 @@ struct wmi_roam_scan_data {
 * @status:             0 - Roaming is success ; 1 - Roaming failed ;
 * 2 - No roam
 * @fail_reason:        One of WMI_ROAM_FAIL_REASON_ID
 * @fail_bssid:         BSSID of the last attempted roam failed AP
 */
struct wmi_roam_result {
	bool present;
	uint32_t timestamp;
	uint32_t status;
	uint32_t fail_reason;
	struct qdf_mac_addr fail_bssid;
};

/**
+3 −0
Original line number Diff line number Diff line
@@ -1015,6 +1015,9 @@ QDF_STATUS (*send_pdev_set_pcl_cmd)(wmi_unified_t wmi_handle,
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
QDF_STATUS (*send_vdev_set_pcl_cmd)(wmi_unified_t wmi_handle,
				    struct set_pcl_cmd_params *params);

QDF_STATUS (*send_roam_set_param_cmd)(wmi_unified_t wmi_handle,
				      struct vdev_set_params *roam_param);
#endif

#ifdef WLAN_POLICY_MGR_ENABLE
+13 −0
Original line number Diff line number Diff line
@@ -399,6 +399,19 @@ wmi_unified_vdev_set_param_send(wmi_unified_t wmi_handle,
	return QDF_STATUS_E_FAILURE;
}

#ifdef WLAN_FEATURE_ROAM_OFFLOAD
QDF_STATUS
wmi_unified_roam_set_param_send(wmi_unified_t wmi_handle,
				struct vdev_set_params *roam_param)
{
	if (wmi_handle->ops->send_roam_set_param_cmd)
		return wmi_handle->ops->send_roam_set_param_cmd(wmi_handle,
								roam_param);

	return QDF_STATUS_E_FAILURE;
}
#endif

QDF_STATUS wmi_unified_sifs_trigger_send(wmi_unified_t wmi_handle,
					 struct sifs_trigger_param *param)
{
Loading