2015-01-18 10:26:57 +00:00
|
|
|
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
|
|
|
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
2016-12-13 11:52:16 +00:00
|
|
|
@@ -7812,6 +7812,21 @@ struct ath10k_vif *ath10k_get_arvif(stru
|
2015-01-18 10:26:57 +00:00
|
|
|
return arvif_iter.arvif;
|
|
|
|
}
|
|
|
|
|
|
|
|
+#ifdef CPTCFG_MAC80211_LEDS
|
|
|
|
+static const struct ieee80211_tpt_blink ath10k_tpt_blink[] = {
|
|
|
|
+ { .throughput = 0 * 1024, .blink_time = 334 },
|
|
|
|
+ { .throughput = 1 * 1024, .blink_time = 260 },
|
|
|
|
+ { .throughput = 2 * 1024, .blink_time = 220 },
|
|
|
|
+ { .throughput = 5 * 1024, .blink_time = 190 },
|
|
|
|
+ { .throughput = 10 * 1024, .blink_time = 170 },
|
|
|
|
+ { .throughput = 25 * 1024, .blink_time = 150 },
|
|
|
|
+ { .throughput = 54 * 1024, .blink_time = 130 },
|
|
|
|
+ { .throughput = 120 * 1024, .blink_time = 110 },
|
|
|
|
+ { .throughput = 265 * 1024, .blink_time = 80 },
|
|
|
|
+ { .throughput = 586 * 1024, .blink_time = 50 },
|
|
|
|
+};
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
int ath10k_mac_register(struct ath10k *ar)
|
|
|
|
{
|
2015-03-11 15:02:47 +00:00
|
|
|
static const u32 cipher_suites[] = {
|
2016-12-13 11:52:16 +00:00
|
|
|
@@ -8045,6 +8060,12 @@ int ath10k_mac_register(struct ath10k *a
|
2015-03-11 15:02:47 +00:00
|
|
|
ar->hw->wiphy->cipher_suites = cipher_suites;
|
|
|
|
ar->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
|
2015-01-18 10:26:57 +00:00
|
|
|
|
2016-07-08 16:51:37 +00:00
|
|
|
+#ifdef CPTCFG_MAC80211_LEDS
|
2015-01-18 10:26:57 +00:00
|
|
|
+ ieee80211_create_tpt_led_trigger(ar->hw,
|
|
|
|
+ IEEE80211_TPT_LEDTRIG_FL_RADIO, ath10k_tpt_blink,
|
|
|
|
+ ARRAY_SIZE(ath10k_tpt_blink));
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
ret = ieee80211_register_hw(ar->hw);
|
|
|
|
if (ret) {
|
|
|
|
ath10k_err(ar, "failed to register ieee80211: %d\n", ret);
|