diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 451aa65b1a56..35d579455c3c 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -146,12 +146,13 @@ extern void iwl5000_temperature(struct iwl_priv *priv); | |||
146 | #define DEFAULT_LONG_RETRY_LIMIT 4U | 146 | #define DEFAULT_LONG_RETRY_LIMIT 4U |
147 | 147 | ||
148 | struct iwl_rx_mem_buffer { | 148 | struct iwl_rx_mem_buffer { |
149 | dma_addr_t real_dma_addr; | 149 | dma_addr_t page_dma; |
150 | dma_addr_t aligned_dma_addr; | 150 | struct page *page; |
151 | struct sk_buff *skb; | ||
152 | struct list_head list; | 151 | struct list_head list; |
153 | }; | 152 | }; |
154 | 153 | ||
154 | #define rxb_addr(r) page_address(r->page) | ||
155 | |||
155 | /* defined below */ | 156 | /* defined below */ |
156 | struct iwl_device_cmd; | 157 | struct iwl_device_cmd; |
157 | 158 | ||
@@ -167,7 +168,7 @@ struct iwl_cmd_meta { | |||
167 | */ | 168 | */ |
168 | void (*callback)(struct iwl_priv *priv, | 169 | void (*callback)(struct iwl_priv *priv, |
169 | struct iwl_device_cmd *cmd, | 170 | struct iwl_device_cmd *cmd, |
170 | struct sk_buff *skb); | 171 | struct iwl_rx_packet *pkt); |
171 | 172 | ||
172 | /* The CMD_SIZE_HUGE flag bit indicates that the command | 173 | /* The CMD_SIZE_HUGE flag bit indicates that the command |
173 | * structure is stored at the end of the shared queue memory. */ | 174 | * structure is stored at the end of the shared queue memory. */ |
@@ -366,6 +367,13 @@ enum { | |||
366 | 367 | ||
367 | #define IWL_CMD_MAX_PAYLOAD 320 | 368 | #define IWL_CMD_MAX_PAYLOAD 320 |
368 | 369 | ||
370 | /* | ||
371 | * IWL_LINK_HDR_MAX should include ieee80211_hdr, radiotap header, | ||
372 | * SNAP header and alignment. It should also be big enough for 802.11 | ||
373 | * control frames. | ||
374 | */ | ||
375 | #define IWL_LINK_HDR_MAX 64 | ||
376 | |||
369 | /** | 377 | /** |
370 | * struct iwl_device_cmd | 378 | * struct iwl_device_cmd |
371 | * | 379 | * |
@@ -390,10 +398,10 @@ struct iwl_device_cmd { | |||
390 | 398 | ||
391 | struct iwl_host_cmd { | 399 | struct iwl_host_cmd { |
392 | const void *data; | 400 | const void *data; |
393 | struct sk_buff *reply_skb; | 401 | unsigned long reply_page; |
394 | void (*callback)(struct iwl_priv *priv, | 402 | void (*callback)(struct iwl_priv *priv, |
395 | struct iwl_device_cmd *cmd, | 403 | struct iwl_device_cmd *cmd, |
396 | struct sk_buff *skb); | 404 | struct iwl_rx_packet *pkt); |
397 | u32 flags; | 405 | u32 flags; |
398 | u16 len; | 406 | u16 len; |
399 | u8 id; | 407 | u8 id; |
@@ -650,7 +658,7 @@ struct iwl_sensitivity_ranges { | |||
650 | * @valid_tx/rx_ant: usable antennas | 658 | * @valid_tx/rx_ant: usable antennas |
651 | * @max_rxq_size: Max # Rx frames in Rx queue (must be power-of-2) | 659 | * @max_rxq_size: Max # Rx frames in Rx queue (must be power-of-2) |
652 | * @max_rxq_log: Log-base-2 of max_rxq_size | 660 | * @max_rxq_log: Log-base-2 of max_rxq_size |
653 | * @rx_buf_size: Rx buffer size | 661 | * @rx_page_order: Rx buffer page order |
654 | * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR | 662 | * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR |
655 | * @max_stations: | 663 | * @max_stations: |
656 | * @bcast_sta_id: | 664 | * @bcast_sta_id: |
@@ -673,9 +681,8 @@ struct iwl_hw_params { | |||
673 | u8 valid_rx_ant; | 681 | u8 valid_rx_ant; |
674 | u16 max_rxq_size; | 682 | u16 max_rxq_size; |
675 | u16 max_rxq_log; | 683 | u16 max_rxq_log; |
676 | u32 rx_buf_size; | 684 | u32 rx_page_order; |
677 | u32 rx_wrt_ptr_reg; | 685 | u32 rx_wrt_ptr_reg; |
678 | u32 max_pkt_size; | ||
679 | u8 max_stations; | 686 | u8 max_stations; |
680 | u8 bcast_sta_id; | 687 | u8 bcast_sta_id; |
681 | u8 ht40_channel; | 688 | u8 ht40_channel; |
@@ -987,7 +994,7 @@ struct iwl_priv { | |||
987 | int frames_count; | 994 | int frames_count; |
988 | 995 | ||
989 | enum ieee80211_band band; | 996 | enum ieee80211_band band; |
990 | int alloc_rxb_skb; | 997 | int alloc_rxb_page; |
991 | 998 | ||
992 | void (*rx_handlers[REPLY_MAX])(struct iwl_priv *priv, | 999 | void (*rx_handlers[REPLY_MAX])(struct iwl_priv *priv, |
993 | struct iwl_rx_mem_buffer *rxb); | 1000 | struct iwl_rx_mem_buffer *rxb); |