Commit 14bf9217 authored by Maharaja Kennadyrajan's avatar Maharaja Kennadyrajan Committed by Kalle Valo

ath10k: Extended the HTT stats support to retrieve Mu-MIMO related stats

Extended the bit mask value of the HTT stats to get the Mu-MIMO
related stats via tracing.
Signed-off-by: default avatarMaharaja Kennadyrajan <mkenna@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 3d0aa919
...@@ -922,8 +922,8 @@ static ssize_t ath10k_write_htt_stats_mask(struct file *file, ...@@ -922,8 +922,8 @@ static ssize_t ath10k_write_htt_stats_mask(struct file *file,
if (ret) if (ret)
return ret; return ret;
/* max 8 bit masks (for now) */ /* max 17 bit masks (for now) */
if (mask > 0xff) if (mask > HTT_STATS_BIT_MASK)
return -E2BIG; return -E2BIG;
mutex_lock(&ar->conf_mutex); mutex_lock(&ar->conf_mutex);
......
...@@ -315,6 +315,7 @@ struct htt_stats_req { ...@@ -315,6 +315,7 @@ struct htt_stats_req {
} __packed; } __packed;
#define HTT_STATS_REQ_CFG_STAT_TYPE_INVALID 0xff #define HTT_STATS_REQ_CFG_STAT_TYPE_INVALID 0xff
#define HTT_STATS_BIT_MASK GENMASK(16, 0)
/* /*
* htt_oob_sync_req - request out-of-band sync * htt_oob_sync_req - request out-of-band sync
...@@ -2243,7 +2244,7 @@ void ath10k_htt_htc_tx_complete(struct ath10k *ar, struct sk_buff *skb); ...@@ -2243,7 +2244,7 @@ void ath10k_htt_htc_tx_complete(struct ath10k *ar, struct sk_buff *skb);
void ath10k_htt_htc_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb); void ath10k_htt_htc_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb);
bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb); bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb);
int ath10k_htt_h2t_ver_req_msg(struct ath10k_htt *htt); int ath10k_htt_h2t_ver_req_msg(struct ath10k_htt *htt);
int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u8 mask, u64 cookie); int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u32 mask, u64 cookie);
int ath10k_htt_h2t_aggr_cfg_msg(struct ath10k_htt *htt, int ath10k_htt_h2t_aggr_cfg_msg(struct ath10k_htt *htt,
u8 max_subfrms_ampdu, u8 max_subfrms_ampdu,
u8 max_subfrms_amsdu); u8 max_subfrms_amsdu);
......
...@@ -580,7 +580,7 @@ int ath10k_htt_h2t_ver_req_msg(struct ath10k_htt *htt) ...@@ -580,7 +580,7 @@ int ath10k_htt_h2t_ver_req_msg(struct ath10k_htt *htt)
return 0; return 0;
} }
int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u8 mask, u64 cookie) int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u32 mask, u64 cookie)
{ {
struct ath10k *ar = htt->ar; struct ath10k *ar = htt->ar;
struct htt_stats_req *req; struct htt_stats_req *req;
...@@ -603,11 +603,11 @@ int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u8 mask, u64 cookie) ...@@ -603,11 +603,11 @@ int ath10k_htt_h2t_stats_req(struct ath10k_htt *htt, u8 mask, u64 cookie)
memset(req, 0, sizeof(*req)); memset(req, 0, sizeof(*req));
/* currently we support only max 8 bit masks so no need to worry /* currently we support only max 24 bit masks so no need to worry
* about endian support * about endian support
*/ */
req->upload_types[0] = mask; memcpy(req->upload_types, &mask, 3);
req->reset_types[0] = mask; memcpy(req->reset_types, &mask, 3);
req->stat_type = HTT_STATS_REQ_CFG_STAT_TYPE_INVALID; req->stat_type = HTT_STATS_REQ_CFG_STAT_TYPE_INVALID;
req->cookie_lsb = cpu_to_le32(cookie & 0xffffffff); req->cookie_lsb = cpu_to_le32(cookie & 0xffffffff);
req->cookie_msb = cpu_to_le32((cookie & 0xffffffff00000000ULL) >> 32); req->cookie_msb = cpu_to_le32((cookie & 0xffffffff00000000ULL) >> 32);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment