aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/wmi.h
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2010-04-16 02:23:53 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-04-16 15:47:05 -0400
commit4a22fe108e62367c10c3abeb469d6972ba3299f5 (patch)
tree074fb1e2c8114155a277476b4596ee85e51f6c6b /drivers/net/wireless/ath/ath9k/wmi.h
parent50f56316aed044e42c1bcd7572926e80aac9af46 (diff)
ath9k_htc: Implement multiple register write support
This patch adds support for writing multiple registers in a single USB command. Specific calls from the HW code that performs multiple register writes would be modified to make use of this in subsequent patches. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath9k/wmi.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/wmi.h b/drivers/net/wireless/ath/ath9k/wmi.h
index 39ef926f27c2..fd8c9c5f4a05 100644
--- a/drivers/net/wireless/ath/ath9k/wmi.h
+++ b/drivers/net/wireless/ath/ath9k/wmi.h
@@ -84,6 +84,13 @@ enum wmi_event_id {
84 WMI_TXRATE_EVENTID, 84 WMI_TXRATE_EVENTID,
85}; 85};
86 86
87#define MAX_CMD_NUMBER 62
88
89struct register_write {
90 u32 reg;
91 u32 val;
92};
93
87struct wmi { 94struct wmi {
88 struct ath9k_htc_priv *drv_priv; 95 struct ath9k_htc_priv *drv_priv;
89 struct htc_target *htc; 96 struct htc_target *htc;
@@ -97,6 +104,11 @@ struct wmi {
97 104
98 struct sk_buff *wmi_skb; 105 struct sk_buff *wmi_skb;
99 spinlock_t wmi_lock; 106 spinlock_t wmi_lock;
107
108 atomic_t mwrite_cnt;
109 struct register_write multi_write[MAX_CMD_NUMBER];
110 u32 multi_write_idx;
111 struct mutex multi_write_mutex;
100}; 112};
101 113
102struct wmi *ath9k_init_wmi(struct ath9k_htc_priv *priv); 114struct wmi *ath9k_init_wmi(struct ath9k_htc_priv *priv);