ath10k: Add phyerr event changes for HL1.0
HL1.0 firmware sends phyerr_mask in the phyerr event, which needs to be used to determine the type of phyerr. Add the phyerr_mask parameters for HL1.0 in the phyerr wmi event. CRs-Fixed: 2150566 Change-Id: Ib2d5286fbf45d41229e68d817d65714d18811a4e Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
This commit is contained in:
parent
3d1779cb8d
commit
8be2a9ef5d
4 changed files with 25 additions and 9 deletions
|
@ -923,6 +923,11 @@ static int ath10k_wmi_tlv_op_pull_phyerr_ev_hdr(struct ath10k *ar,
|
|||
arg->buf_len = __le32_to_cpu(ev->buf_len);
|
||||
arg->phyerrs = phyerrs;
|
||||
|
||||
if (QCA_REV_WCN3990(ar)) {
|
||||
arg->phy_err_mask0 = __le32_to_cpu(ev->rs_phy_err_mask0);
|
||||
arg->phy_err_mask1 = __le32_to_cpu(ev->rs_phy_err_mask1);
|
||||
}
|
||||
|
||||
kfree(tb);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1399,6 +1399,10 @@ struct wmi_tlv_phyerr_ev {
|
|||
__le32 tsf_l32;
|
||||
__le32 tsf_u32;
|
||||
__le32 buf_len;
|
||||
__le32 pdev_id;
|
||||
__le32 rs_phy_err_mask0;
|
||||
__le32 rs_phy_err_mask1;
|
||||
__le32 rs_phy_err_mask2;
|
||||
} __packed;
|
||||
|
||||
enum wmi_tlv_dbglog_param {
|
||||
|
|
|
@ -4076,19 +4076,20 @@ void ath10k_wmi_event_phyerr(struct ath10k *ar, struct sk_buff *skb)
|
|||
|
||||
left_len -= buf_len;
|
||||
|
||||
switch (phy_err_code) {
|
||||
case PHY_ERROR_RADAR:
|
||||
if ((phy_err_code == PHY_ERROR_RADAR) ||
|
||||
(hdr_arg.phy_err_mask0 &
|
||||
WMI_PHY_ERROR_MASK0_RADAR)) {
|
||||
ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf);
|
||||
break;
|
||||
case PHY_ERROR_SPECTRAL_SCAN:
|
||||
} else if ((phy_err_code ==
|
||||
WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN) ||
|
||||
(hdr_arg.phy_err_mask0 &
|
||||
WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN)) {
|
||||
ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf);
|
||||
break;
|
||||
case PHY_ERROR_FALSE_RADAR_EXT:
|
||||
} else if ((phy_err_code == PHY_ERROR_FALSE_RADAR_EXT) ||
|
||||
(hdr_arg.phy_err_mask0 &
|
||||
WMI_PHY_ERROR_MASK0_FALSE_RADAR_EXT)) {
|
||||
ath10k_wmi_event_dfs(ar, &phyerr_arg, tsf);
|
||||
ath10k_wmi_event_spectral_scan(ar, &phyerr_arg, tsf);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
phyerr = phyerr + phyerr_arg.hdr_len + buf_len;
|
||||
|
|
|
@ -3116,6 +3116,10 @@ struct wmi_mgmt_rx_ext_info {
|
|||
#define PHY_ERROR_10_4_RADAR_MASK 0x4
|
||||
#define PHY_ERROR_10_4_SPECTRAL_SCAN_MASK 0x4000000
|
||||
|
||||
#define WMI_PHY_ERROR_MASK0_RADAR BIT(2)
|
||||
#define WMI_PHY_ERROR_MASK0_FALSE_RADAR_EXT BIT(24)
|
||||
#define WMI_PHY_ERROR_MASK0_SPECTRAL_SCAN BIT(26)
|
||||
|
||||
enum phy_err_type {
|
||||
PHY_ERROR_UNKNOWN,
|
||||
PHY_ERROR_SPECTRAL_SCAN,
|
||||
|
@ -6303,6 +6307,8 @@ struct wmi_phyerr_hdr_arg {
|
|||
u32 tsf_u32;
|
||||
u32 buf_len;
|
||||
const void *phyerrs;
|
||||
u32 phy_err_mask0;
|
||||
u32 phy_err_mask1;
|
||||
};
|
||||
|
||||
struct wmi_svc_rdy_ev_arg {
|
||||
|
|
Loading…
Add table
Reference in a new issue