From: Ben Hutchings <ben@decadent.org.uk>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: [PATCH net-next 07/14] ethtool: Update documentation of struct ethtool_pauseparam
Date: Wed, 12 Feb 2014 22:14:28 +0000 [thread overview]
Message-ID: <1392243268.15615.11.camel@deadeye.wl.decadent.org.uk> (raw)
In-Reply-To: <1392243184.15615.4.camel@deadeye.wl.decadent.org.uk>
[-- Attachment #1: Type: text/plain, Size: 2746 bytes --]
Convert the inline comments to kernel-doc format.
Explicitly specify that non-zero autoneg is an error if link
autonegotiation is disabled.
Specify that pause capabilities should be advertised dependent on link
autonegotiation, not the autoneg flag here. There is no way to
opt-out of pause frame autonegotiation, and this improves behaviour
when the link partner is configured to follow pause frame
autonegotiation and our interface is not.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/uapi/linux/ethtool.h | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index e602cd0..8ca2924 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -466,20 +466,30 @@ struct ethtool_channels {
__u32 combined_count;
};
-/* for configuring link flow control parameters */
+/**
+ * struct ethtool_pauseparam - Ethernet pause (flow control) parameters
+ * @cmd: Command number = %ETHTOOL_GPAUSEPARAM or %ETHTOOL_SPAUSEPARAM
+ * @autoneg: Flag to enable autonegotiation of pause frame use
+ * @rx_pause: Flag to enable reception of pause frames
+ * @tx_pause: Flag to enable transmission of pause frames
+ *
+ * Drivers should reject a non-zero setting of @autoneg when
+ * autoneogotiation is disabled (or not supported) for the link.
+ *
+ * If the link is autonegotiated, drivers should use
+ * mii_advertise_flowctrl() or similar code to set the advertised
+ * pause frame capabilities based on the @rx_pause and @tx_pause flags,
+ * even if @autoneg is zero. They should also allow the advertised
+ * pause frame capabilities to be controlled directly through the
+ * advertising field of &struct ethtool_cmd.
+ *
+ * If @autoneg is non-zero, the MAC is configured to send and/or
+ * receive pause frames according to the result of autonegotiation.
+ * Otherwise, it is configured directly based on the @rx_pause and
+ * @tx_pause flags.
+ */
struct ethtool_pauseparam {
- __u32 cmd; /* ETHTOOL_{G,S}PAUSEPARAM */
-
- /* If the link is being auto-negotiated (via ethtool_cmd.autoneg
- * being true) the user may set 'autoneg' here non-zero to have the
- * pause parameters be auto-negotiated too. In such a case, the
- * {rx,tx}_pause values below determine what capabilities are
- * advertised.
- *
- * If 'autoneg' is zero or the link is not being auto-negotiated,
- * then {rx,tx}_pause force the driver to use/not-use pause
- * flow control.
- */
+ __u32 cmd;
__u32 autoneg;
__u32 rx_pause;
__u32 tx_pause;
--
Ben Hutchings
If more than one person is responsible for a bug, no one is at fault.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 811 bytes --]
next prev parent reply other threads:[~2014-02-12 22:14 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-12 22:13 [PATCH net-next 00/14] ethtool: Improve documentation Ben Hutchings
2014-02-12 22:13 ` [PATCH net-next 01/14] ethtool: Expand documentation of struct ethtool_cmd Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 02/14] ethtool: Expand documentation of struct ethtool_drvinfo Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 03/14] ethtool: Expand documentation of struct ethtool_wol Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 04/14] ethtool: Expand documentation of struct ethtool_regs Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 05/14] ethtool: Expand documentation of struct ethtool_eeprom Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 06/14] ethtool: Expand documentation of struct ethtool_ringparam Ben Hutchings
2014-02-12 22:14 ` Ben Hutchings [this message]
2014-02-12 22:14 ` [PATCH net-next 08/14] ethtool: Expand documentation of string set types Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 09/14] ethtool: Expand documentation of struct ethtool_test Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 10/14] ethtool: Expand documentation of struct ethtool_stats Ben Hutchings
2014-02-13 9:17 ` David Laight
2014-02-13 22:56 ` Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 11/14] ethtool: Expand documentation of struct ethtool_perm_addr Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 12/14] ethtool: Document the general convention for VLAs in kernel space Ben Hutchings
2014-02-12 22:14 ` [PATCH net-next 13/14] ethtool: Move kernel-doc comment next to struct ethtool_dump definition Ben Hutchings
2014-02-12 22:15 ` [PATCH net-next 14/14] ethtool: Fix unwanted section breaks in kernel-doc Ben Hutchings
2014-02-12 22:36 ` [PATCH net-next 00/14] ethtool: Improve documentation David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1392243268.15615.11.camel@deadeye.wl.decadent.org.uk \
--to=ben@decadent.org.uk \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox