sunxi: improve A20 Lime2 upload speed
[openwrt/staging/lynxis.git] / package / kernel / mac80211 / patches / 020-05-rt2x00-call-entry-directly-in-rt2x00_dump_frame.patch
1 From 2ceb813798e1fd33e71a574771828c0f298e077b Mon Sep 17 00:00:00 2001
2 From: Stanislaw Gruszka <sgruszka@redhat.com>
3 Date: Wed, 8 Feb 2017 13:51:30 +0100
4 Subject: [PATCH 05/19] rt2x00: call entry directly in rt2x00_dump_frame
5
6 Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
7 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
8 ---
9 drivers/net/wireless/ralink/rt2x00/rt2400pci.c | 2 +-
10 drivers/net/wireless/ralink/rt2x00/rt2500pci.c | 2 +-
11 drivers/net/wireless/ralink/rt2x00/rt2500usb.c | 2 +-
12 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 2 +-
13 drivers/net/wireless/ralink/rt2x00/rt2x00.h | 4 ++--
14 drivers/net/wireless/ralink/rt2x00/rt2x00debug.c | 7 ++++---
15 drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 4 ++--
16 drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 2 +-
17 drivers/net/wireless/ralink/rt2x00/rt61pci.c | 2 +-
18 drivers/net/wireless/ralink/rt2x00/rt73usb.c | 2 +-
19 10 files changed, 15 insertions(+), 14 deletions(-)
20
21 --- a/drivers/net/wireless/ralink/rt2x00/rt2400pci.c
22 +++ b/drivers/net/wireless/ralink/rt2x00/rt2400pci.c
23 @@ -1200,7 +1200,7 @@ static void rt2400pci_write_beacon(struc
24 /*
25 * Dump beacon to userspace through debugfs.
26 */
27 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry->skb);
28 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry);
29 out:
30 /*
31 * Enable beaconing again.
32 --- a/drivers/net/wireless/ralink/rt2x00/rt2500pci.c
33 +++ b/drivers/net/wireless/ralink/rt2x00/rt2500pci.c
34 @@ -1349,7 +1349,7 @@ static void rt2500pci_write_beacon(struc
35 /*
36 * Dump beacon to userspace through debugfs.
37 */
38 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry->skb);
39 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry);
40 out:
41 /*
42 * Enable beaconing again.
43 --- a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c
44 +++ b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c
45 @@ -1170,7 +1170,7 @@ static void rt2500usb_write_beacon(struc
46 /*
47 * Dump beacon to userspace through debugfs.
48 */
49 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry->skb);
50 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry);
51
52 /*
53 * USB devices cannot blindly pass the skb->len as the
54 --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
55 +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
56 @@ -1014,7 +1014,7 @@ void rt2800_write_beacon(struct queue_en
57 /*
58 * Dump beacon to userspace through debugfs.
59 */
60 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry->skb);
61 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry);
62
63 /*
64 * Write entire beacon with TXWI and padding to register.
65 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h
66 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h
67 @@ -1400,11 +1400,11 @@ void rt2x00queue_flush_queues(struct rt2
68 */
69 #ifdef CPTCFG_RT2X00_LIB_DEBUGFS
70 void rt2x00debug_dump_frame(struct rt2x00_dev *rt2x00dev,
71 - enum rt2x00_dump_type type, struct sk_buff *skb);
72 + enum rt2x00_dump_type type, struct queue_entry *entry);
73 #else
74 static inline void rt2x00debug_dump_frame(struct rt2x00_dev *rt2x00dev,
75 enum rt2x00_dump_type type,
76 - struct sk_buff *skb)
77 + struct queue_entry *entry)
78 {
79 }
80 #endif /* CPTCFG_RT2X00_LIB_DEBUGFS */
81 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00debug.c
82 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00debug.c
83 @@ -157,9 +157,10 @@ void rt2x00debug_update_crypto(struct rt
84 }
85
86 void rt2x00debug_dump_frame(struct rt2x00_dev *rt2x00dev,
87 - enum rt2x00_dump_type type, struct sk_buff *skb)
88 + enum rt2x00_dump_type type, struct queue_entry *entry)
89 {
90 struct rt2x00debug_intf *intf = rt2x00dev->debugfs_intf;
91 + struct sk_buff *skb = entry->skb;
92 struct skb_frame_desc *skbdesc = get_skb_frame_desc(skb);
93 struct sk_buff *skbcopy;
94 struct rt2x00dump_hdr *dump_hdr;
95 @@ -196,8 +197,8 @@ void rt2x00debug_dump_frame(struct rt2x0
96 dump_hdr->chip_rf = cpu_to_le16(rt2x00dev->chip.rf);
97 dump_hdr->chip_rev = cpu_to_le16(rt2x00dev->chip.rev);
98 dump_hdr->type = cpu_to_le16(type);
99 - dump_hdr->queue_index = skbdesc->entry->queue->qid;
100 - dump_hdr->entry_index = skbdesc->entry->entry_idx;
101 + dump_hdr->queue_index = entry->queue->qid;
102 + dump_hdr->entry_index = entry->entry_idx;
103 dump_hdr->timestamp_sec = cpu_to_le32(timestamp.tv_sec);
104 dump_hdr->timestamp_usec = cpu_to_le32(timestamp.tv_usec);
105
106 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
107 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
108 @@ -363,7 +363,7 @@ void rt2x00lib_txdone(struct queue_entry
109 * Send frame to debugfs immediately, after this call is completed
110 * we are going to overwrite the skb->cb array.
111 */
112 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_TXDONE, entry->skb);
113 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_TXDONE, entry);
114
115 /*
116 * Determine if the frame has been successfully transmitted and
117 @@ -772,7 +772,7 @@ void rt2x00lib_rxdone(struct queue_entry
118 */
119 rt2x00link_update_stats(rt2x00dev, entry->skb, &rxdesc);
120 rt2x00debug_update_crypto(rt2x00dev, &rxdesc);
121 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_RXDONE, entry->skb);
122 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_RXDONE, entry);
123
124 /*
125 * Initialize RX status information, and send frame
126 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
127 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
128 @@ -544,7 +544,7 @@ static void rt2x00queue_write_tx_descrip
129 * All processing on the frame has been completed, this means
130 * it is now ready to be dumped to userspace through debugfs.
131 */
132 - rt2x00debug_dump_frame(queue->rt2x00dev, DUMP_FRAME_TX, entry->skb);
133 + rt2x00debug_dump_frame(queue->rt2x00dev, DUMP_FRAME_TX, entry);
134 }
135
136 static void rt2x00queue_kick_tx_queue(struct data_queue *queue,
137 --- a/drivers/net/wireless/ralink/rt2x00/rt61pci.c
138 +++ b/drivers/net/wireless/ralink/rt2x00/rt61pci.c
139 @@ -1988,7 +1988,7 @@ static void rt61pci_write_beacon(struct
140 /*
141 * Dump beacon to userspace through debugfs.
142 */
143 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry->skb);
144 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry);
145
146 /*
147 * Write entire beacon with descriptor and padding to register.
148 --- a/drivers/net/wireless/ralink/rt2x00/rt73usb.c
149 +++ b/drivers/net/wireless/ralink/rt2x00/rt73usb.c
150 @@ -1557,7 +1557,7 @@ static void rt73usb_write_beacon(struct
151 /*
152 * Dump beacon to userspace through debugfs.
153 */
154 - rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry->skb);
155 + rt2x00debug_dump_frame(rt2x00dev, DUMP_FRAME_BEACON, entry);
156
157 /*
158 * Write entire beacon with descriptor and padding to register.