ath10k: DFS Host Confirmation
In the 10.4-3.6 firmware branch there's a new DFS Host confirmation feature which is advertised using WMI_SERVICE_HOST_DFS_CHECK_SUPPORT flag. This new features enables the ath10k host to send information to the firmware on the specifications of detected radar type. This allows the firmware to validate if the host's radar pattern detector unit is operational and check if the radar information shared by host matches the radar pulses sent as phy error events from firmware. If the check fails the firmware won't allow use of DFS channels on AP mode when using FCC regulatory region. Hence this patch is mandatory when using a firmware from 10.4-3.6 branch. Else, DFS channels on FCC regions cannot be used. Supported Chipsets : QCA9984/QCA9888/QCA4019 Firmware Version : 10.4-3.6-00104 Signed-off-by: Sriram R <srirrama@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
@@ -969,6 +969,7 @@ struct wmi_cmd_map {
|
||||
u32 vdev_sifs_trigger_time_cmdid;
|
||||
u32 pdev_wds_entry_list_cmdid;
|
||||
u32 tdls_set_offchan_mode_cmdid;
|
||||
u32 radar_found_cmdid;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -1803,6 +1804,11 @@ enum wmi_10_4_cmd_id {
|
||||
WMI_10_4_TDLS_SET_STATE_CMDID,
|
||||
WMI_10_4_TDLS_PEER_UPDATE_CMDID,
|
||||
WMI_10_4_TDLS_SET_OFFCHAN_MODE_CMDID,
|
||||
WMI_10_4_PDEV_SEND_FD_CMDID,
|
||||
WMI_10_4_ENABLE_FILS_CMDID,
|
||||
WMI_10_4_PDEV_SET_BRIDGE_MACADDR_CMDID,
|
||||
WMI_10_4_ATF_GROUP_WMM_AC_CONFIG_REQUEST_CMDID,
|
||||
WMI_10_4_RADAR_FOUND_CMDID,
|
||||
WMI_10_4_PDEV_UTF_CMDID = WMI_10_4_END_CMDID - 1,
|
||||
};
|
||||
|
||||
@@ -1878,6 +1884,9 @@ enum wmi_10_4_event_id {
|
||||
WMI_10_4_PDEV_TPC_TABLE_EVENTID,
|
||||
WMI_10_4_PDEV_WDS_ENTRY_LIST_EVENTID,
|
||||
WMI_10_4_TDLS_PEER_EVENTID,
|
||||
WMI_10_4_HOST_SWFDA_EVENTID,
|
||||
WMI_10_4_ESP_ESTIMATE_EVENTID,
|
||||
WMI_10_4_DFS_STATUS_CHECK_EVENTID,
|
||||
WMI_10_4_PDEV_UTF_EVENTID = WMI_10_4_END_EVENTID - 1,
|
||||
};
|
||||
|
||||
@@ -3398,6 +3407,25 @@ struct wmi_10_4_phyerr_event {
|
||||
u8 buf[0];
|
||||
} __packed;
|
||||
|
||||
struct wmi_radar_found_info {
|
||||
__le32 pri_min;
|
||||
__le32 pri_max;
|
||||
__le32 width_min;
|
||||
__le32 width_max;
|
||||
__le32 sidx_min;
|
||||
__le32 sidx_max;
|
||||
} __packed;
|
||||
|
||||
enum wmi_radar_confirmation_status {
|
||||
/* Detected radar was due to SW pulses */
|
||||
WMI_SW_RADAR_DETECTED = 0,
|
||||
|
||||
WMI_RADAR_DETECTION_FAIL = 1,
|
||||
|
||||
/* Real radar detected */
|
||||
WMI_HW_RADAR_DETECTED = 2,
|
||||
};
|
||||
|
||||
#define PHYERR_TLV_SIG 0xBB
|
||||
#define PHYERR_TLV_TAG_SEARCH_FFT_REPORT 0xFB
|
||||
#define PHYERR_TLV_TAG_RADAR_PULSE_SUMMARY 0xF8
|
||||
@@ -6631,6 +6659,10 @@ struct wmi_phyerr_hdr_arg {
|
||||
const void *phyerrs;
|
||||
};
|
||||
|
||||
struct wmi_dfs_status_ev_arg {
|
||||
u32 status;
|
||||
};
|
||||
|
||||
struct wmi_svc_rdy_ev_arg {
|
||||
__le32 min_tx_power;
|
||||
__le32 max_tx_power;
|
||||
|
Reference in New Issue
Block a user