qcacmn: Add regulatory support to send AFC cmd to the FW

Add core regulatory APIs to send the WMI_AFC_CMDID to the FW.

Change-Id: I1e2b7d936583a199d1be032895802740ee9f19a1
CRs-Fixed: 2975227
This commit is contained in:
Hariharan Basuthkar
2021-06-21 09:30:35 +05:30
committed by Madan Koyyalamudi
parent 8f056fe40e
commit 82ee5ef227
7 changed files with 130 additions and 0 deletions

View File

@@ -1496,4 +1496,32 @@ struct chan_5g_center_freq {
#endif
#ifdef CONFIG_AFC_SUPPORT
/* enum reg_afc_cmd_type - Type of AFC command sent to FW
* @REG_AFC_CMD_SERV_RESP_READY : Server response is ready
*/
enum reg_afc_cmd_type {
REG_AFC_CMD_SERV_RESP_READY = 1,
};
/* enum reg_afc_serv_resp_format - Indicate the format in which afc_serv_format
* is written in FW memory
* @REG_AFC_SERV_RESP_FORMAT_JSON - Server response in JSON format
* @REG_AFC_SERV_RESP_FORMAT_BINARY - Server response in BINARY format
*/
enum reg_afc_serv_resp_format {
REG_AFC_SERV_RESP_FORMAT_JSON = 0,
REG_AFC_SERV_RESP_FORMAT_BINARY = 1,
};
/**
* struct reg_afc_resp_rx_ind_info - regulatory AFC indication info
* @cmd_type: Type of AFC command send to FW
* @serv_resp_format: AFC server response format
*/
struct reg_afc_resp_rx_ind_info {
enum reg_afc_cmd_type cmd_type;
enum reg_afc_serv_resp_format serv_resp_format;
};
#endif
#endif

View File

@@ -463,4 +463,19 @@ ucfg_reg_set_cur_6g_ap_pwr_type(struct wlan_objmgr_pdev *pdev,
return QDF_STATUS_E_NOSUPPORT;
}
#endif
#ifdef CONFIG_AFC_SUPPORT
/**
* ucfg_reg_send_afc_resp_rx_ind() - Send AFC response received indication to
* the FW.
* @pdev: pdev ptr
* @afc_ind_obj: Pointer to hold AFC indication
*
* Return: QDF_STATUS_SUCCESS if the WMI command is sent or QDF_STATUS_E_FAILURE
* otherwise
*/
QDF_STATUS
ucfg_reg_send_afc_resp_rx_ind(struct wlan_objmgr_pdev *pdev,
struct reg_afc_resp_rx_ind_info *afc_ind_obj);
#endif
#endif

View File

@@ -361,3 +361,12 @@ ucfg_reg_get_cur_6g_ap_pwr_type(struct wlan_objmgr_pdev *pdev,
qdf_export_symbol(ucfg_reg_get_cur_6g_ap_pwr_type);
#endif
#ifdef CONFIG_AFC_SUPPORT
QDF_STATUS
ucfg_reg_send_afc_resp_rx_ind(struct wlan_objmgr_pdev *pdev,
struct reg_afc_resp_rx_ind_info *afc_ind_obj)
{
return reg_send_afc_cmd(pdev, afc_ind_obj);
}
#endif