aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorWinkler, Tomas <tomas.winkler@intel.com>2008-11-07 12:58:39 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-11-21 11:07:22 -0500
commit8d86422a83d79e3d3241cf0f269fca0c2640bcee (patch)
treeb9791deaa104a7254891d962dceb551864235ee0 /drivers/net/wireless/iwlwifi/iwl-dev.h
parent5c5aa3f13a50881b8f6e529e321bbefb5faec37b (diff)
iwlwifi: move rx queue read pointer into rxq
This patch moves rx status/read registers into iwl_rx_queue structures. This solution is more memory hungry but is more structured and provides needed RX/TX separation Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index d509aed5567a..55590a55198d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -301,7 +301,6 @@ struct iwl_host_cmd {
301 301
302/** 302/**
303 * struct iwl_rx_queue - Rx queue 303 * struct iwl_rx_queue - Rx queue
304 * @processed: Internal index to last handled Rx packet
305 * @read: Shared index to newest available Rx buffer 304 * @read: Shared index to newest available Rx buffer
306 * @write: Shared index to oldest written Rx packet 305 * @write: Shared index to oldest written Rx packet
307 * @free_count: Number of pre-allocated buffers in rx_free 306 * @free_count: Number of pre-allocated buffers in rx_free
@@ -316,13 +315,14 @@ struct iwl_rx_queue {
316 dma_addr_t dma_addr; 315 dma_addr_t dma_addr;
317 struct iwl_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS]; 316 struct iwl_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS];
318 struct iwl_rx_mem_buffer *queue[RX_QUEUE_SIZE]; 317 struct iwl_rx_mem_buffer *queue[RX_QUEUE_SIZE];
319 u32 processed;
320 u32 read; 318 u32 read;
321 u32 write; 319 u32 write;
322 u32 free_count; 320 u32 free_count;
323 struct list_head rx_free; 321 struct list_head rx_free;
324 struct list_head rx_used; 322 struct list_head rx_used;
325 int need_update; 323 int need_update;
324 struct iwl_rb_status *rb_stts;
325 dma_addr_t rb_stts_dma;
326 spinlock_t lock; 326 spinlock_t lock;
327}; 327};
328 328
@@ -967,10 +967,9 @@ struct iwl_priv {
967 struct ieee80211_vif *vif; 967 struct ieee80211_vif *vif;
968 968
969 struct iwl_hw_params hw_params; 969 struct iwl_hw_params hw_params;
970 /* driver/uCode shared Tx Byte Counts and Rx status */ 970 /* driver/uCode shared Tx Byte Counts */
971 void *shared_virt; 971 void *shared_virt;
972 int rb_closed_offset; 972 /* Physical Pointer to Tx Byte Counts */
973 /* Physical Pointer to Tx Byte Counts and Rx status */
974 dma_addr_t shared_phys; 973 dma_addr_t shared_phys;
975 974
976 /* Current association information needed to configure the 975 /* Current association information needed to configure the