aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ethtool.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2011-08-15 10:06:20 -0400
committerDavid S. Miller <davem@davemloft.net>2011-08-16 19:36:14 -0400
commit5f308d195ed2ae227bea569c7c8a4563e04e0110 (patch)
tree541666b150dae8f80f8c9c5058589993997d204a /include/linux/ethtool.h
parent19e2f6fe9601ca5c846b7163e6d6d00f87b34760 (diff)
ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format
This reorders and duplicates some wording, but should make no substantive changes. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ethtool.h')
-rw-r--r--include/linux/ethtool.h135
1 files changed, 64 insertions, 71 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index c6e427ab65fe..be32dd03e10c 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -117,99 +117,92 @@ struct ethtool_eeprom {
117 __u8 data[0]; 117 __u8 data[0];
118}; 118};
119 119
120/* for configuring coalescing parameters of chip */ 120/**
121 * struct ethtool_coalesce - coalescing parameters of chip
122 * @cmd: ETHTOOL_{G,S}COALESCE
123 * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
124 * a packet arrives. If 0, only @rx_max_coalesced_frames is used.
125 * @rx_max_coalesced_frames: How many packets to delay an RX interrupt
126 * after a packet arrives. If 0, only @rx_coalesce_usecs is used.
127 * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that
128 * this value applies while an IRQ is being serviced by the host.
129 * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames,
130 * except that this value applies while an IRQ is being serviced
131 * by the host.
132 * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after
133 * a packet is sent. If 0, only @tx_max_coalesced_frames
134 * is used.
135 * @tx_max_coalesced_frames: How many packets to delay a TX interrupt
136 * after a packet is sent. If 0, only @tx_coalesce_usecs is
137 * used.
138 * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that
139 * this value applies while an IRQ is being serviced by the host.
140 * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames,
141 * except that this value applies while an IRQ is being serviced
142 * by the host.
143 * @stats_block_coalesce_usecs: How many usecs to delay in-memory
144 * statistics block updates. Some drivers do not have an
145 * in-memory statistic block, and in such cases this value is
146 * ignored. This value must not be zero.
147 * @use_adaptive_rx_coalesce: Enable adaptive RX coalescing.
148 * @use_adaptive_tx_coalesce: Enable adaptive TX coalescing.
149 * @pkt_rate_low: Threshold for low packet rate (packets per second).
150 * @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after
151 * a packet arrives, when the packet rate is below @pkt_rate_low.
152 * @rx_max_coalesced_frames_low: How many packets to delay an RX interrupt
153 * after a packet arrives, when the packet rate is below @pkt_rate_low.
154 * @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after
155 * a packet is sent, when the packet rate is below @pkt_rate_low.
156 * @tx_max_coalesced_frames_low: How many packets to delay a TX interrupt
157 * after a packet is sent, when the packet rate is below @pkt_rate_low.
158 * @pkt_rate_high: Threshold for high packet rate (packets per second).
159 * @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after
160 * a packet arrives, when the packet rate is above @pkt_rate_high.
161 * @rx_max_coalesced_frames_high: How many packets to delay an RX interrupt
162 * after a packet arrives, when the packet rate is above @pkt_rate_high.
163 * @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after
164 * a packet is sent, when the packet rate is above @pkt_rate_high.
165 * @tx_max_coalesced_frames_high: How many packets to delay a TX interrupt
166 * after a packet is sent, when the packet rate is above @pkt_rate_high.
167 * @rate_sample_interval: How often to do adaptive coalescing packet rate
168 * sampling, measured in seconds. Must not be zero.
169 *
170 * It is illegal to set both usecs and max frames to zero as this
171 * would cause interrupts to never be generated.
172 *
173 * Adaptive RX/TX coalescing is an algorithm implemented by some
174 * drivers to improve latency under low packet rates and improve
175 * throughput under high packet rates. Some drivers only implement
176 * one of RX or TX adaptive coalescing. Anything not implemented by
177 * the driver causes these values to be silently ignored.
178 *
179 * When the packet rate is below @pkt_rate_high but above
180 * @pkt_rate_low (both measured in packets per second) the
181 * normal {rx,tx}_* coalescing parameters are used.
182 */
121struct ethtool_coalesce { 183struct ethtool_coalesce {
122 __u32 cmd; /* ETHTOOL_{G,S}COALESCE */ 184 __u32 cmd;
123
124 /* How many usecs to delay an RX interrupt after
125 * a packet arrives. If 0, only rx_max_coalesced_frames
126 * is used.
127 */
128 __u32 rx_coalesce_usecs; 185 __u32 rx_coalesce_usecs;
129
130 /* How many packets to delay an RX interrupt after
131 * a packet arrives. If 0, only rx_coalesce_usecs is
132 * used. It is illegal to set both usecs and max frames
133 * to zero as this would cause RX interrupts to never be
134 * generated.
135 */
136 __u32 rx_max_coalesced_frames; 186 __u32 rx_max_coalesced_frames;
137
138 /* Same as above two parameters, except that these values
139 * apply while an IRQ is being serviced by the host. Not
140 * all cards support this feature and the values are ignored
141 * in that case.
142 */
143 __u32 rx_coalesce_usecs_irq; 187 __u32 rx_coalesce_usecs_irq;
144 __u32 rx_max_coalesced_frames_irq; 188 __u32 rx_max_coalesced_frames_irq;
145
146 /* How many usecs to delay a TX interrupt after
147 * a packet is sent. If 0, only tx_max_coalesced_frames
148 * is used.
149 */
150 __u32 tx_coalesce_usecs; 189 __u32 tx_coalesce_usecs;
151
152 /* How many packets to delay a TX interrupt after
153 * a packet is sent. If 0, only tx_coalesce_usecs is
154 * used. It is illegal to set both usecs and max frames
155 * to zero as this would cause TX interrupts to never be
156 * generated.
157 */
158 __u32 tx_max_coalesced_frames; 190 __u32 tx_max_coalesced_frames;
159
160 /* Same as above two parameters, except that these values
161 * apply while an IRQ is being serviced by the host. Not
162 * all cards support this feature and the values are ignored
163 * in that case.
164 */
165 __u32 tx_coalesce_usecs_irq; 191 __u32 tx_coalesce_usecs_irq;
166 __u32 tx_max_coalesced_frames_irq; 192 __u32 tx_max_coalesced_frames_irq;
167
168 /* How many usecs to delay in-memory statistics
169 * block updates. Some drivers do not have an in-memory
170 * statistic block, and in such cases this value is ignored.
171 * This value must not be zero.
172 */
173 __u32 stats_block_coalesce_usecs; 193 __u32 stats_block_coalesce_usecs;
174
175 /* Adaptive RX/TX coalescing is an algorithm implemented by
176 * some drivers to improve latency under low packet rates and
177 * improve throughput under high packet rates. Some drivers
178 * only implement one of RX or TX adaptive coalescing. Anything
179 * not implemented by the driver causes these values to be
180 * silently ignored.
181 */
182 __u32 use_adaptive_rx_coalesce; 194 __u32 use_adaptive_rx_coalesce;
183 __u32 use_adaptive_tx_coalesce; 195 __u32 use_adaptive_tx_coalesce;
184
185 /* When the packet rate (measured in packets per second)
186 * is below pkt_rate_low, the {rx,tx}_*_low parameters are
187 * used.
188 */
189 __u32 pkt_rate_low; 196 __u32 pkt_rate_low;
190 __u32 rx_coalesce_usecs_low; 197 __u32 rx_coalesce_usecs_low;
191 __u32 rx_max_coalesced_frames_low; 198 __u32 rx_max_coalesced_frames_low;
192 __u32 tx_coalesce_usecs_low; 199 __u32 tx_coalesce_usecs_low;
193 __u32 tx_max_coalesced_frames_low; 200 __u32 tx_max_coalesced_frames_low;
194
195 /* When the packet rate is below pkt_rate_high but above
196 * pkt_rate_low (both measured in packets per second) the
197 * normal {rx,tx}_* coalescing parameters are used.
198 */
199
200 /* When the packet rate is (measured in packets per second)
201 * is above pkt_rate_high, the {rx,tx}_*_high parameters are
202 * used.
203 */
204 __u32 pkt_rate_high; 201 __u32 pkt_rate_high;
205 __u32 rx_coalesce_usecs_high; 202 __u32 rx_coalesce_usecs_high;
206 __u32 rx_max_coalesced_frames_high; 203 __u32 rx_max_coalesced_frames_high;
207 __u32 tx_coalesce_usecs_high; 204 __u32 tx_coalesce_usecs_high;
208 __u32 tx_max_coalesced_frames_high; 205 __u32 tx_max_coalesced_frames_high;
209
210 /* How often to do adaptive coalescing packet rate sampling,
211 * measured in seconds. Must not be zero.
212 */
213 __u32 rate_sample_interval; 206 __u32 rate_sample_interval;
214}; 207};
215 208