aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k/wmi.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 0087d699b85b..4b5e7d3d32b6 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3003,6 +3003,18 @@ struct wmi_vdev_install_key_arg {
3003 const void *key_data; 3003 const void *key_data;
3004}; 3004};
3005 3005
3006/*
3007 * vdev fixed rate format:
3008 * - preamble - b7:b6 - see WMI_RATE_PREMABLE_
3009 * - nss - b5:b4 - ss number (0 mean 1ss)
3010 * - rate_mcs - b3:b0 - as below
3011 * CCK: 0 - 11Mbps, 1 - 5,5Mbps, 2 - 2Mbps, 3 - 1Mbps,
3012 * 4 - 11Mbps (s), 5 - 5,5Mbps (s), 6 - 2Mbps (s)
3013 * OFDM: 0 - 48Mbps, 1 - 24Mbps, 2 - 12Mbps, 3 - 6Mbps,
3014 * 4 - 54Mbps, 5 - 36Mbps, 6 - 18Mbps, 7 - 9Mbps
3015 * HT/VHT: MCS index
3016 */
3017
3006/* Preamble types to be used with VDEV fixed rate configuration */ 3018/* Preamble types to be used with VDEV fixed rate configuration */
3007enum wmi_rate_preamble { 3019enum wmi_rate_preamble {
3008 WMI_RATE_PREAMBLE_OFDM, 3020 WMI_RATE_PREAMBLE_OFDM,
@@ -4090,6 +4102,54 @@ struct wmi_force_fw_hang_cmd {
4090 __le32 delay_ms; 4102 __le32 delay_ms;
4091} __packed; 4103} __packed;
4092 4104
4105enum ath10k_dbglog_level {
4106 ATH10K_DBGLOG_LEVEL_VERBOSE = 0,
4107 ATH10K_DBGLOG_LEVEL_INFO = 1,
4108 ATH10K_DBGLOG_LEVEL_WARN = 2,
4109 ATH10K_DBGLOG_LEVEL_ERR = 3,
4110};
4111
4112/* VAP ids to enable dbglog */
4113#define ATH10K_DBGLOG_CFG_VAP_LOG_LSB 0
4114#define ATH10K_DBGLOG_CFG_VAP_LOG_MASK 0x0000ffff
4115
4116/* to enable dbglog in the firmware */
4117#define ATH10K_DBGLOG_CFG_REPORTING_ENABLE_LSB 16
4118#define ATH10K_DBGLOG_CFG_REPORTING_ENABLE_MASK 0x00010000
4119
4120/* timestamp resolution */
4121#define ATH10K_DBGLOG_CFG_RESOLUTION_LSB 17
4122#define ATH10K_DBGLOG_CFG_RESOLUTION_MASK 0x000E0000
4123
4124/* number of queued messages before sending them to the host */
4125#define ATH10K_DBGLOG_CFG_REPORT_SIZE_LSB 20
4126#define ATH10K_DBGLOG_CFG_REPORT_SIZE_MASK 0x0ff00000
4127
4128/*
4129 * Log levels to enable. This defines the minimum level to enable, this is
4130 * not a bitmask. See enum ath10k_dbglog_level for the values.
4131 */
4132#define ATH10K_DBGLOG_CFG_LOG_LVL_LSB 28
4133#define ATH10K_DBGLOG_CFG_LOG_LVL_MASK 0x70000000
4134
4135/*
4136 * Note: this is a cleaned up version of a struct firmware uses. For
4137 * example, config_valid was hidden inside an array.
4138 */
4139struct wmi_dbglog_cfg_cmd {
4140 /* bitmask to hold mod id config*/
4141 __le32 module_enable;
4142
4143 /* see ATH10K_DBGLOG_CFG_ */
4144 __le32 config_enable;
4145
4146 /* mask of module id bits to be changed */
4147 __le32 module_valid;
4148
4149 /* mask of config bits to be changed, see ATH10K_DBGLOG_CFG_ */
4150 __le32 config_valid;
4151} __packed;
4152
4093#define ATH10K_RTS_MAX 2347 4153#define ATH10K_RTS_MAX 2347
4094#define ATH10K_FRAGMT_THRESHOLD_MIN 540 4154#define ATH10K_FRAGMT_THRESHOLD_MIN 540
4095#define ATH10K_FRAGMT_THRESHOLD_MAX 2346 4155#define ATH10K_FRAGMT_THRESHOLD_MAX 2346
@@ -4167,5 +4227,6 @@ int ath10k_wmi_request_stats(struct ath10k *ar, enum wmi_stats_id stats_id);
4167int ath10k_wmi_force_fw_hang(struct ath10k *ar, 4227int ath10k_wmi_force_fw_hang(struct ath10k *ar,
4168 enum wmi_force_fw_hang_type type, u32 delay_ms); 4228 enum wmi_force_fw_hang_type type, u32 delay_ms);
4169int ath10k_wmi_mgmt_tx(struct ath10k *ar, struct sk_buff *skb); 4229int ath10k_wmi_mgmt_tx(struct ath10k *ar, struct sk_buff *skb);
4230int ath10k_wmi_dbglog_cfg(struct ath10k *ar, u32 module_enable);
4170 4231
4171#endif /* _WMI_H_ */ 4232#endif /* _WMI_H_ */