aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-03-05 14:24:39 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-03-06 15:16:12 -0500
commit48a2d66f58d2bf1818acf5ff7ed9897a9977a96e (patch)
tree9154cf363233d28c97b584df19052e0f8e5ab577 /drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
parent65b94a4abfd55b3304be25ffed9832455d41e1dd (diff)
iwlwifi: don't pass iwl_rx_mem_buffer to upper layers
struct iwl_rx_mem_buffer implementation details (DMA address, list pointers) that the upper layers don't need. Introduce iwl_rx_cmd_buffer that is passed upstream and only contains the needed data (the page). Additionally, access this data only via accessor functions, allowing us to change the implementation in the future. These accessors are rxb_addr() (as before) and rxb_steal_page() to take ownership of the data. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
index b1029468ccbd..632d4099900e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
@@ -49,6 +49,12 @@ struct iwl_host_cmd;
49/*This file includes the declaration that are internal to the 49/*This file includes the declaration that are internal to the
50 * trans_pcie layer */ 50 * trans_pcie layer */
51 51
52struct iwl_rx_mem_buffer {
53 dma_addr_t page_dma;
54 struct page *page;
55 struct list_head list;
56};
57
52/** 58/**
53 * struct isr_statistics - interrupt statistics 59 * struct isr_statistics - interrupt statistics
54 * 60 *
@@ -287,7 +293,7 @@ int iwlagn_txq_attach_buf_to_tfd(struct iwl_trans *trans,
287int iwl_queue_init(struct iwl_queue *q, int count, int slots_num, u32 id); 293int iwl_queue_init(struct iwl_queue *q, int count, int slots_num, u32 id);
288int iwl_trans_pcie_send_cmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd); 294int iwl_trans_pcie_send_cmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd);
289void iwl_tx_cmd_complete(struct iwl_trans *trans, 295void iwl_tx_cmd_complete(struct iwl_trans *trans,
290 struct iwl_rx_mem_buffer *rxb, int handler_status); 296 struct iwl_rx_cmd_buffer *rxb, int handler_status);
291void iwl_trans_txq_update_byte_cnt_tbl(struct iwl_trans *trans, 297void iwl_trans_txq_update_byte_cnt_tbl(struct iwl_trans *trans,
292 struct iwl_tx_queue *txq, 298 struct iwl_tx_queue *txq,
293 u16 byte_cnt); 299 u16 byte_cnt);