diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2010-04-16 02:23:53 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-16 15:47:05 -0400 |
commit | 4a22fe108e62367c10c3abeb469d6972ba3299f5 (patch) | |
tree | 074fb1e2c8114155a277476b4596ee85e51f6c6b /drivers/net/wireless/ath/ath9k/wmi.h | |
parent | 50f56316aed044e42c1bcd7572926e80aac9af46 (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.h | 12 |
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 | |||
89 | struct register_write { | ||
90 | u32 reg; | ||
91 | u32 val; | ||
92 | }; | ||
93 | |||
87 | struct wmi { | 94 | struct 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 | ||
102 | struct wmi *ath9k_init_wmi(struct ath9k_htc_priv *priv); | 114 | struct wmi *ath9k_init_wmi(struct ath9k_htc_priv *priv); |