diff mbox

[v4,1/2] ath10k: Add support for ath10k_sta_statistics support

Message ID 1465890866-2390-1-git-send-email-mohammed@qca.qualcomm.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

Mohammed Shafi Shajakhan June 14, 2016, 7:54 a.m. UTC
From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>

Enable support for 'drv_sta_statistics' callback.
Export rx_duration support if available to cfg80211/nl80211

This can also act as a placeholder for any new per STA stats support

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
---

[v4] rebased over 'pending' branch
[v3] removed conditions for ath10k state checks based on Michal's suggestion

Both the dependent changes are merged now in master tree

1. cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION
2. iw: Add support for NL80211_STA_INFO_RX_DURATION netlink
 attribute
---
 drivers/net/wireless/ath/ath10k/debug.h       |  3 +++
 drivers/net/wireless/ath/ath10k/debugfs_sta.c | 14 ++++++++++++++
 drivers/net/wireless/ath/ath10k/mac.c         |  1 +
 3 files changed, 18 insertions(+)

Comments

Kalle Valo June 14, 2016, 1:58 p.m. UTC | #1
Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> writes:

> From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
>
> Enable support for 'drv_sta_statistics' callback.
> Export rx_duration support if available to cfg80211/nl80211
>
> This can also act as a placeholder for any new per STA stats support
>
> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
> ---
>
> [v4] rebased over 'pending' branch
> [v3] removed conditions for ath10k state checks based on Michal's suggestion
>
> Both the dependent changes are merged now in master tree
>
> 1. cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION
> 2. iw: Add support for NL80211_STA_INFO_RX_DURATION netlink
>  attribute

But these are not in ath-next branch yet, so I can't take these until I
have updated ath-next.

Also please ping instead of resending patches. These are already waiting
in patchwork:

https://patchwork.kernel.org/patch/8993601/
https://patchwork.kernel.org/patch/8993621/
Mohammed Shafi Shajakhan June 14, 2016, 3:21 p.m. UTC | #2
Hi Kalle,

On Tue, Jun 14, 2016 at 01:58:25PM +0000, Valo, Kalle wrote:
> Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> writes:
> 
> > From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
> >
> > Enable support for 'drv_sta_statistics' callback.
> > Export rx_duration support if available to cfg80211/nl80211
> >
> > This can also act as a placeholder for any new per STA stats support
> >
> > Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
> > ---
> >
> > [v4] rebased over 'pending' branch
> > [v3] removed conditions for ath10k state checks based on Michal's suggestion
> >
> > Both the dependent changes are merged now in master tree
> >
> > 1. cfg80211/nl80211: Add support for NL80211_STA_INFO_RX_DURATION
> > 2. iw: Add support for NL80211_STA_INFO_RX_DURATION netlink
> >  attribute
> 
> But these are not in ath-next branch yet, so I can't take these until I
> have updated ath-next.

[shafi] oops ! sorry i thought they are finally in

> 
> Also please ping instead of resending patches. These are already waiting
> in patchwork:
> 
> https://patchwork.kernel.org/patch/8993601/
> https://patchwork.kernel.org/patch/8993621/
>

[shafi] oh ok thanks, sorry i thought this required a rebased over pending
branch next time i will do this

a) ping you first
b) if required send a rebased version

regards,
shafi
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kalle Valo June 16, 2016, 11:07 a.m. UTC | #3
Mohammed Shafi Shajakhan <mohammed@codeaurora.org> writes:

>> Also please ping instead of resending patches. These are already waiting
>> in patchwork:
>> 
>> https://patchwork.kernel.org/patch/8993601/
>> https://patchwork.kernel.org/patch/8993621/
>
> [shafi] oh ok thanks, sorry i thought this required a rebased over pending
> branch next time i will do this
>
> a) ping you first
> b) if required send a rebased version

Thanks, this way I have less patches to worry about :)
Kalle Valo July 8, 2016, 6:40 a.m. UTC | #4
Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> wrote:
> From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
> 
> Enable support for 'drv_sta_statistics' callback.
> Export rx_duration support if available to cfg80211/nl80211
> 
> This can also act as a placeholder for any new per STA stats support
> 
> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>

Thanks, 2 patches applied to ath-next branch of ath.git:

120a1f02a5c4 ath10k: add support for ath10k_sta_statistics support
2ba1f3709452 ath10k: remove debugfs support for Per STA total rx duration
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/debug.h b/drivers/net/wireless/ath/ath10k/debug.h
index dc549c4..c458fa9 100644
--- a/drivers/net/wireless/ath/ath10k/debug.h
+++ b/drivers/net/wireless/ath/ath10k/debug.h
@@ -156,6 +156,9 @@  void ath10k_sta_add_debugfs(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 			    struct ieee80211_sta *sta, struct dentry *dir);
 void ath10k_sta_update_rx_duration(struct ath10k *ar,
 				   struct ath10k_fw_stats *stats);
+void ath10k_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+			   struct ieee80211_sta *sta,
+			   struct station_info *sinfo);
 #else
 static inline
 void ath10k_sta_update_rx_duration(struct ath10k *ar,
diff --git a/drivers/net/wireless/ath/ath10k/debugfs_sta.c b/drivers/net/wireless/ath/ath10k/debugfs_sta.c
index 0da8a57..60e5da0 100644
--- a/drivers/net/wireless/ath/ath10k/debugfs_sta.c
+++ b/drivers/net/wireless/ath/ath10k/debugfs_sta.c
@@ -65,6 +65,20 @@  void ath10k_sta_update_rx_duration(struct ath10k *ar,
 		ath10k_sta_update_stats_rx_duration(ar, stats);
 }
 
+void ath10k_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+			   struct ieee80211_sta *sta,
+			   struct station_info *sinfo)
+{
+	struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv;
+	struct ath10k *ar = arsta->arvif->ar;
+
+	if (!ath10k_peer_stats_enabled(ar))
+		return;
+
+	sinfo->rx_duration = arsta->rx_duration;
+	sinfo->filled |= 1ULL << NL80211_STA_INFO_RX_DURATION;
+}
+
 static ssize_t ath10k_dbg_sta_read_aggr_mode(struct file *file,
 					     char __user *user_buf,
 					     size_t count, loff_t *ppos)
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 3a170b1..1fe33c36 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -7402,6 +7402,7 @@  static const struct ieee80211_ops ath10k_ops = {
 #endif
 #ifdef CONFIG_MAC80211_DEBUGFS
 	.sta_add_debugfs		= ath10k_sta_add_debugfs,
+	.sta_statistics			= ath10k_sta_statistics,
 #endif
 };