diff --git a/target_if/dfs/inc/target_if_dfs_full_offload.h b/target_if/dfs/inc/target_if_dfs_full_offload.h index bc1dc5808f74..af9f77687cd7 100644 --- a/target_if/dfs/inc/target_if_dfs_full_offload.h +++ b/target_if/dfs/inc/target_if_dfs_full_offload.h @@ -60,5 +60,23 @@ static QDF_STATUS target_process_bang_radar_cmd(struct wlan_objmgr_pdev *pdev, } #endif +/** + * target_send_usenol_pdev_param - send usenol pdev param to FW. + * @pdev: Pointer to pdev object. + * @usenol: Value of user configured usenol. + * + * Return: QDF_STATUS + */ +#if defined(WLAN_DFS_FULL_OFFLOAD) && defined(QCA_DFS_NOL_OFFLOAD) +QDF_STATUS target_send_usenol_pdev_param(struct wlan_objmgr_pdev *pdev, + bool usenol); +#else +static inline QDF_STATUS +target_send_usenol_pdev_param(struct wlan_objmgr_pdev *pdev, + bool usenol) +{ + return QDF_STATUS_SUCCESS; +} +#endif #endif /* _TARGET_IF_DFS_FULL_OFFLOAD_H_ */ diff --git a/target_if/dfs/src/target_if_dfs.c b/target_if/dfs/src/target_if_dfs.c index 311875bbd72a..8bc77f4a6e39 100644 --- a/target_if/dfs/src/target_if_dfs.c +++ b/target_if/dfs/src/target_if_dfs.c @@ -378,5 +378,7 @@ QDF_STATUS target_if_register_dfs_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) &target_if_dfs_send_avg_params_to_fw; dfs_tx_ops->dfs_is_tgt_offload = &target_if_dfs_offload; + dfs_tx_ops->dfs_send_usenol_pdev_param = + &target_send_usenol_pdev_param; return QDF_STATUS_SUCCESS; } diff --git a/target_if/dfs/src/target_if_dfs_full_offload.c b/target_if/dfs/src/target_if_dfs_full_offload.c index 12f2e334d46c..fa19e752659c 100644 --- a/target_if/dfs/src/target_if_dfs_full_offload.c +++ b/target_if/dfs/src/target_if_dfs_full_offload.c @@ -243,3 +243,28 @@ static QDF_STATUS target_process_bang_radar_cmd( return QDF_STATUS_SUCCESS; } #endif + +#if defined(WLAN_DFS_FULL_OFFLOAD) && defined(QCA_DFS_NOL_OFFLOAD) +QDF_STATUS target_send_usenol_pdev_param(struct wlan_objmgr_pdev *pdev, + bool usenol) +{ + QDF_STATUS status; + wmi_unified_t wmi_handle; + + if (!pdev) { + target_if_err("null pdev"); + return QDF_STATUS_E_FAILURE; + } + + wmi_handle = get_wmi_unified_hdl_from_pdev(pdev); + if (!wmi_handle) { + target_if_err("null wmi_handle"); + return QDF_STATUS_E_FAILURE; + } + status = wmi_send_usenol_pdev_param(wmi_handle, usenol, pdev); + + if (QDF_IS_STATUS_ERROR(status)) + target_if_err("dfs: usenol_pdev_param send failed %d", status); + return status; +} +#endif