Commit 5f308d19 authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller

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: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 19e2f6fe
...@@ -117,99 +117,92 @@ struct ethtool_eeprom { ...@@ -117,99 +117,92 @@ struct ethtool_eeprom {
__u8 data[0]; __u8 data[0];
}; };
/* for configuring coalescing parameters of chip */ /**
* struct ethtool_coalesce - coalescing parameters of chip
* @cmd: ETHTOOL_{G,S}COALESCE
* @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
* a packet arrives. If 0, only @rx_max_coalesced_frames is used.
* @rx_max_coalesced_frames: How many packets to delay an RX interrupt
* after a packet arrives. If 0, only @rx_coalesce_usecs is used.
* @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that
* this value applies while an IRQ is being serviced by the host.
* @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames,
* except that this value applies while an IRQ is being serviced
* by the host.
* @tx_coalesce_usecs: How many usecs to delay a TX interrupt after
* a packet is sent. If 0, only @tx_max_coalesced_frames
* is used.
* @tx_max_coalesced_frames: How many packets to delay a TX interrupt
* after a packet is sent. If 0, only @tx_coalesce_usecs is
* used.
* @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that
* this value applies while an IRQ is being serviced by the host.
* @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames,
* except that this value applies while an IRQ is being serviced
* by the host.
* @stats_block_coalesce_usecs: How many usecs to delay in-memory
* statistics block updates. Some drivers do not have an
* in-memory statistic block, and in such cases this value is
* ignored. This value must not be zero.
* @use_adaptive_rx_coalesce: Enable adaptive RX coalescing.
* @use_adaptive_tx_coalesce: Enable adaptive TX coalescing.
* @pkt_rate_low: Threshold for low packet rate (packets per second).
* @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after
* a packet arrives, when the packet rate is below @pkt_rate_low.
* @rx_max_coalesced_frames_low: How many packets to delay an RX interrupt
* after a packet arrives, when the packet rate is below @pkt_rate_low.
* @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after
* a packet is sent, when the packet rate is below @pkt_rate_low.
* @tx_max_coalesced_frames_low: How many packets to delay a TX interrupt
* after a packet is sent, when the packet rate is below @pkt_rate_low.
* @pkt_rate_high: Threshold for high packet rate (packets per second).
* @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after
* a packet arrives, when the packet rate is above @pkt_rate_high.
* @rx_max_coalesced_frames_high: How many packets to delay an RX interrupt
* after a packet arrives, when the packet rate is above @pkt_rate_high.
* @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after
* a packet is sent, when the packet rate is above @pkt_rate_high.
* @tx_max_coalesced_frames_high: How many packets to delay a TX interrupt
* after a packet is sent, when the packet rate is above @pkt_rate_high.
* @rate_sample_interval: How often to do adaptive coalescing packet rate
* sampling, measured in seconds. Must not be zero.
*
* It is illegal to set both usecs and max frames to zero as this
* would cause interrupts to never be generated.
*
* Adaptive RX/TX coalescing is an algorithm implemented by some
* drivers to improve latency under low packet rates and improve
* throughput under high packet rates. Some drivers only implement
* one of RX or TX adaptive coalescing. Anything not implemented by
* the driver causes these values to be silently ignored.
*
* When the packet rate is below @pkt_rate_high but above
* @pkt_rate_low (both measured in packets per second) the
* normal {rx,tx}_* coalescing parameters are used.
*/
struct ethtool_coalesce { struct ethtool_coalesce {
__u32 cmd; /* ETHTOOL_{G,S}COALESCE */ __u32 cmd;
/* How many usecs to delay an RX interrupt after
* a packet arrives. If 0, only rx_max_coalesced_frames
* is used.
*/
__u32 rx_coalesce_usecs; __u32 rx_coalesce_usecs;
/* How many packets to delay an RX interrupt after
* a packet arrives. If 0, only rx_coalesce_usecs is
* used. It is illegal to set both usecs and max frames
* to zero as this would cause RX interrupts to never be
* generated.
*/
__u32 rx_max_coalesced_frames; __u32 rx_max_coalesced_frames;
/* Same as above two parameters, except that these values
* apply while an IRQ is being serviced by the host. Not
* all cards support this feature and the values are ignored
* in that case.
*/
__u32 rx_coalesce_usecs_irq; __u32 rx_coalesce_usecs_irq;
__u32 rx_max_coalesced_frames_irq; __u32 rx_max_coalesced_frames_irq;
/* How many usecs to delay a TX interrupt after
* a packet is sent. If 0, only tx_max_coalesced_frames
* is used.
*/
__u32 tx_coalesce_usecs; __u32 tx_coalesce_usecs;
/* How many packets to delay a TX interrupt after
* a packet is sent. If 0, only tx_coalesce_usecs is
* used. It is illegal to set both usecs and max frames
* to zero as this would cause TX interrupts to never be
* generated.
*/
__u32 tx_max_coalesced_frames; __u32 tx_max_coalesced_frames;
/* Same as above two parameters, except that these values
* apply while an IRQ is being serviced by the host. Not
* all cards support this feature and the values are ignored
* in that case.
*/
__u32 tx_coalesce_usecs_irq; __u32 tx_coalesce_usecs_irq;
__u32 tx_max_coalesced_frames_irq; __u32 tx_max_coalesced_frames_irq;
/* How many usecs to delay in-memory statistics
* block updates. Some drivers do not have an in-memory
* statistic block, and in such cases this value is ignored.
* This value must not be zero.
*/
__u32 stats_block_coalesce_usecs; __u32 stats_block_coalesce_usecs;
/* Adaptive RX/TX coalescing is an algorithm implemented by
* some drivers to improve latency under low packet rates and
* improve throughput under high packet rates. Some drivers
* only implement one of RX or TX adaptive coalescing. Anything
* not implemented by the driver causes these values to be
* silently ignored.
*/
__u32 use_adaptive_rx_coalesce; __u32 use_adaptive_rx_coalesce;
__u32 use_adaptive_tx_coalesce; __u32 use_adaptive_tx_coalesce;
/* When the packet rate (measured in packets per second)
* is below pkt_rate_low, the {rx,tx}_*_low parameters are
* used.
*/
__u32 pkt_rate_low; __u32 pkt_rate_low;
__u32 rx_coalesce_usecs_low; __u32 rx_coalesce_usecs_low;
__u32 rx_max_coalesced_frames_low; __u32 rx_max_coalesced_frames_low;
__u32 tx_coalesce_usecs_low; __u32 tx_coalesce_usecs_low;
__u32 tx_max_coalesced_frames_low; __u32 tx_max_coalesced_frames_low;
/* When the packet rate is below pkt_rate_high but above
* pkt_rate_low (both measured in packets per second) the
* normal {rx,tx}_* coalescing parameters are used.
*/
/* When the packet rate is (measured in packets per second)
* is above pkt_rate_high, the {rx,tx}_*_high parameters are
* used.
*/
__u32 pkt_rate_high; __u32 pkt_rate_high;
__u32 rx_coalesce_usecs_high; __u32 rx_coalesce_usecs_high;
__u32 rx_max_coalesced_frames_high; __u32 rx_max_coalesced_frames_high;
__u32 tx_coalesce_usecs_high; __u32 tx_coalesce_usecs_high;
__u32 tx_max_coalesced_frames_high; __u32 tx_max_coalesced_frames_high;
/* How often to do adaptive coalescing packet rate sampling,
* measured in seconds. Must not be zero.
*/
__u32 rate_sample_interval; __u32 rate_sample_interval;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment