qcacmn: WMI changes for NOL violation
This commit contains the following changes related to FR49350: usenol pdev param declaration and implementation of wmi cmd to send the param to FW. Failure status code declaration for scan and vdev start. CRs-Fixed: 2328894 Change-Id: I5d3bfe758aeb9907193b6f626582b70413f5381c
This commit is contained in:

committed by
nshrivas

parent
d3173ca81c
commit
bbdd2dcc99
@@ -69,4 +69,24 @@ QDF_STATUS wmi_extract_wlan_radar_event_info(void *wmi_hdl,
|
|||||||
struct radar_event_info *wlan_radar_event,
|
struct radar_event_info *wlan_radar_event,
|
||||||
uint32_t len);
|
uint32_t len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_send_usenol_pdev_param() - function to send usenol pdev param.
|
||||||
|
* @wmi_hdl: wmi handle
|
||||||
|
* @usenol: value of usenol
|
||||||
|
* @pdev: pointer to objmgr_pdev structure
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
#if defined(WLAN_DFS_FULL_OFFLOAD) && defined(QCA_DFS_NOL_OFFLOAD)
|
||||||
|
QDF_STATUS wmi_send_usenol_pdev_param(void *wmi_hdl, bool usenol,
|
||||||
|
struct wlan_objmgr_pdev *pdev);
|
||||||
|
#else
|
||||||
|
static inline QDF_STATUS
|
||||||
|
wmi_send_usenol_pdev_param(void *wmi_hdl, bool usenol,
|
||||||
|
struct wlan_objmgr_pdev *pdev)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif /* _WMI_UNIFIED_DFS_API_H_ */
|
#endif /* _WMI_UNIFIED_DFS_API_H_ */
|
||||||
|
@@ -467,6 +467,7 @@ typedef enum {
|
|||||||
WMI_HOST_VDEV_START_OK = 0,
|
WMI_HOST_VDEV_START_OK = 0,
|
||||||
WMI_HOST_VDEV_START_CHAN_INVALID,
|
WMI_HOST_VDEV_START_CHAN_INVALID,
|
||||||
WMI_HOST_VDEV_START_CHAN_BLOCKED,
|
WMI_HOST_VDEV_START_CHAN_BLOCKED,
|
||||||
|
WMI_HOST_VDEV_START_CHAN_DFS_VIOLATION,
|
||||||
} WMI_HOST_VDEV_START_STATUS;
|
} WMI_HOST_VDEV_START_STATUS;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -4863,6 +4864,7 @@ typedef enum {
|
|||||||
wmi_pdev_param_esp_ba_window,
|
wmi_pdev_param_esp_ba_window,
|
||||||
wmi_pdev_param_esp_airtime_fraction,
|
wmi_pdev_param_esp_airtime_fraction,
|
||||||
wmi_pdev_param_esp_ppdu_duration,
|
wmi_pdev_param_esp_ppdu_duration,
|
||||||
|
wmi_pdev_param_use_nol,
|
||||||
wmi_pdev_param_max,
|
wmi_pdev_param_max,
|
||||||
} wmi_conv_pdev_params_id;
|
} wmi_conv_pdev_params_id;
|
||||||
|
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
#include <wmi_unified_priv.h>
|
#include <wmi_unified_priv.h>
|
||||||
#include <wlan_dfs_utils_api.h>
|
#include <wlan_dfs_utils_api.h>
|
||||||
#include <wmi_unified_dfs_api.h>
|
#include <wmi_unified_dfs_api.h>
|
||||||
|
#include <init_deinit_lmac.h>
|
||||||
|
|
||||||
QDF_STATUS wmi_extract_dfs_cac_complete_event(void *wmi_hdl,
|
QDF_STATUS wmi_extract_dfs_cac_complete_event(void *wmi_hdl,
|
||||||
uint8_t *evt_buf,
|
uint8_t *evt_buf,
|
||||||
@@ -73,3 +74,23 @@ QDF_STATUS wmi_extract_wlan_radar_event_info(void *wmi_hdl,
|
|||||||
}
|
}
|
||||||
qdf_export_symbol(wmi_extract_dfs_radar_detection_event);
|
qdf_export_symbol(wmi_extract_dfs_radar_detection_event);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WLAN_DFS_FULL_OFFLOAD) && defined(QCA_DFS_NOL_OFFLOAD)
|
||||||
|
QDF_STATUS wmi_send_usenol_pdev_param(void *wmi_hdl, bool usenol,
|
||||||
|
struct wlan_objmgr_pdev *pdev)
|
||||||
|
{
|
||||||
|
struct pdev_params pparam;
|
||||||
|
int pdev_idx;
|
||||||
|
struct wmi_unified *wmi_handle = (struct wmi_unified *)wmi_hdl;
|
||||||
|
|
||||||
|
pdev_idx = lmac_get_pdev_idx(pdev);
|
||||||
|
if (pdev_idx < 0)
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
qdf_mem_set(&pparam, sizeof(pparam), 0);
|
||||||
|
pparam.param_id = wmi_pdev_param_use_nol;
|
||||||
|
pparam.param_value = usenol;
|
||||||
|
|
||||||
|
return wmi_unified_pdev_param_send(wmi_handle, &pparam, pdev_idx);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -8225,6 +8225,9 @@ static QDF_STATUS extract_vdev_scan_ev_param_tlv(wmi_unified_t wmi_handle,
|
|||||||
case WMI_SCAN_REASON_SUSPENDED:
|
case WMI_SCAN_REASON_SUSPENDED:
|
||||||
param->reason = SCAN_REASON_SUSPENDED;
|
param->reason = SCAN_REASON_SUSPENDED;
|
||||||
break;
|
break;
|
||||||
|
case WMI_SCAN_REASON_DFS_VIOLATION:
|
||||||
|
param->reason = SCAN_REASON_DFS_VIOLATION;
|
||||||
|
break;
|
||||||
case WMI_SCAN_REASON_MAX:
|
case WMI_SCAN_REASON_MAX:
|
||||||
param->reason = SCAN_REASON_MAX;
|
param->reason = SCAN_REASON_MAX;
|
||||||
break;
|
break;
|
||||||
@@ -11878,6 +11881,7 @@ static void populate_pdev_param_tlv(uint32_t *pdev_param)
|
|||||||
#ifdef WLAN_RU26_SUPPORT
|
#ifdef WLAN_RU26_SUPPORT
|
||||||
pdev_param[wmi_pdev_param_ru26_allowed] = WMI_PDEV_PARAM_RU26_ALLOWED;
|
pdev_param[wmi_pdev_param_ru26_allowed] = WMI_PDEV_PARAM_RU26_ALLOWED;
|
||||||
#endif
|
#endif
|
||||||
|
pdev_param[wmi_pdev_param_use_nol] = WMI_PDEV_PARAM_USE_NOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user