aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00pci.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00pci.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c
index f9d0d76f8706..adf2876ed8ab 100644
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
@@ -60,12 +60,8 @@ int rt2x00pci_write_tx_data(struct queue_entry *entry)
60 * Fill in skb descriptor 60 * Fill in skb descriptor
61 */ 61 */
62 skbdesc = get_skb_frame_desc(entry->skb); 62 skbdesc = get_skb_frame_desc(entry->skb);
63 memset(skbdesc, 0, sizeof(*skbdesc));
64 skbdesc->desc = entry_priv->desc; 63 skbdesc->desc = entry_priv->desc;
65 skbdesc->desc_len = entry->queue->desc_size; 64 skbdesc->desc_len = entry->queue->desc_size;
66 skbdesc->entry = entry;
67
68 rt2x00queue_map_txskb(entry->queue->rt2x00dev, entry->skb);
69 65
70 return 0; 66 return 0;
71} 67}
@@ -101,55 +97,10 @@ void rt2x00pci_rxdone(struct rt2x00_dev *rt2x00dev)
101 * Send the frame to rt2x00lib for further processing. 97 * Send the frame to rt2x00lib for further processing.
102 */ 98 */
103 rt2x00lib_rxdone(rt2x00dev, entry); 99 rt2x00lib_rxdone(rt2x00dev, entry);
104
105 /*
106 * Reset the RXD for this entry.
107 */
108 rt2x00dev->ops->lib->init_rxentry(rt2x00dev, entry);
109
110 rt2x00queue_index_inc(queue, Q_INDEX);
111 } 100 }
112} 101}
113EXPORT_SYMBOL_GPL(rt2x00pci_rxdone); 102EXPORT_SYMBOL_GPL(rt2x00pci_rxdone);
114 103
115void rt2x00pci_txdone(struct rt2x00_dev *rt2x00dev, struct queue_entry *entry,
116 struct txdone_entry_desc *txdesc)
117{
118 struct queue_entry_priv_pci *entry_priv = entry->priv_data;
119 enum data_queue_qid qid = skb_get_queue_mapping(entry->skb);
120 u32 word;
121
122 /*
123 * Unmap the skb.
124 */
125 rt2x00queue_unmap_skb(rt2x00dev, entry->skb);
126
127 rt2x00lib_txdone(entry, txdesc);
128
129 /*
130 * Make this entry available for reuse.
131 */
132 entry->flags = 0;
133
134 rt2x00_desc_read(entry_priv->desc, 0, &word);
135 rt2x00_set_field32(&word, TXD_ENTRY_OWNER_NIC, 0);
136 rt2x00_set_field32(&word, TXD_ENTRY_VALID, 0);
137 rt2x00_desc_write(entry_priv->desc, 0, word);
138
139 __clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags);
140 rt2x00queue_index_inc(entry->queue, Q_INDEX_DONE);
141
142 /*
143 * If the data queue was below the threshold before the txdone
144 * handler we must make sure the packet queue in the mac80211 stack
145 * is reenabled when the txdone handler has finished.
146 */
147 if (!rt2x00queue_threshold(entry->queue))
148 ieee80211_wake_queue(rt2x00dev->hw, qid);
149
150}
151EXPORT_SYMBOL_GPL(rt2x00pci_txdone);
152
153/* 104/*
154 * Device initialization handlers. 105 * Device initialization handlers.
155 */ 106 */