summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath10k/wmi.h
diff options
context:
space:
mode:
authorManikanta Pubbisetty <mpubbise@codeaurora.org>2019-02-11 18:47:59 +0200
committerKalle Valo <kvalo@codeaurora.org>2019-02-12 20:48:12 +0200
commitbb31b7cb106c0447c5cd77ed23dda5a70cce0881 (patch)
treea400a3e0c0b591176070cd49f42cac71eba4892f /drivers/net/wireless/ath/ath10k/wmi.h
parent4920ce3bf7e0d533441b3c8e50b40a6f1897492b (diff)
ath10k: report tx airtime provided by fw
If supported, update transmit airtime in mac80211 with the airtime values reported by the firmware. TX airtime of the PPDU is reported via HTT data TX completion indication message. A new service flag 'WMI_SERVICE_REPORT_AIRTIME' is added to advertise the firmware support. For firmwares which do not support this feature, TX airtime is calculated in the driver using TX bitrate. Hardwares tested : QCA9984 Firmwares tested : 10.4-3.6.1-00841 Signed-off-by: Manikanta Pubbisetty <mpubbise@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 5886b4c1b16b..f26dc801e3b8 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -210,6 +210,7 @@ enum wmi_service {
WMI_SERVICE_THERM_THROT,
WMI_SERVICE_RTT_RESPONDER_ROLE,
WMI_SERVICE_PER_PACKET_SW_ENCRYPT,
+ WMI_SERVICE_REPORT_AIRTIME,
/* keep last */
WMI_SERVICE_MAX,
@@ -374,6 +375,7 @@ enum wmi_10_4_service {
WMI_10_4_SERVICE_RX_FILTER_OUT_COUNT,
WMI_10_4_SERVICE_RTT_RESPONDER_ROLE,
WMI_10_4_SERVICE_EXT_PEER_TID_CONFIGS_SUPPORT,
+ WMI_10_4_SERVICE_REPORT_AIRTIME,
};
static inline char *wmi_service_name(int service_id)
@@ -491,6 +493,7 @@ static inline char *wmi_service_name(int service_id)
SVCSTR(WMI_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT);
SVCSTR(WMI_SERVICE_RTT_RESPONDER_ROLE);
SVCSTR(WMI_SERVICE_PER_PACKET_SW_ENCRYPT);
+ SVCSTR(WMI_SERVICE_REPORT_AIRTIME);
default:
return NULL;
@@ -814,6 +817,8 @@ static inline void wmi_10_4_svc_map(const __le32 *in, unsigned long *out,
WMI_SERVICE_RTT_RESPONDER_ROLE, len);
SVCMAP(WMI_10_4_SERVICE_PER_PACKET_SW_ENCRYPT,
WMI_SERVICE_PER_PACKET_SW_ENCRYPT, len);
+ SVCMAP(WMI_10_4_SERVICE_REPORT_AIRTIME,
+ WMI_SERVICE_REPORT_AIRTIME, len);
}
#undef SVCMAP
@@ -2989,6 +2994,8 @@ enum wmi_10_4_feature_mask {
WMI_10_4_TDLS_CONN_TRACKER_IN_HOST_MODE = BIT(11),
WMI_10_4_TDLS_EXPLICIT_MODE_ONLY = BIT(12),
WMI_10_4_TX_DATA_ACK_RSSI = BIT(16),
+ WMI_10_4_EXT_PEER_TID_CONFIGS_SUPPORT = BIT(17),
+ WMI_10_4_REPORT_AIRTIME = BIT(18),
};