summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath9k/wmi.h
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2010-04-16 11:53:53 +0530
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 {
WMI_TXRATE_EVENTID,
};
+#define MAX_CMD_NUMBER 62
+
+struct register_write {
+ u32 reg;
+ u32 val;
+};
+
struct wmi {
struct ath9k_htc_priv *drv_priv;
struct htc_target *htc;
@@ -97,6 +104,11 @@ struct wmi {
struct sk_buff *wmi_skb;
spinlock_t wmi_lock;
+
+ atomic_t mwrite_cnt;
+ struct register_write multi_write[MAX_CMD_NUMBER];
+ u32 multi_write_idx;
+ struct mutex multi_write_mutex;
};
struct wmi *ath9k_init_wmi(struct ath9k_htc_priv *priv);