summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2019-02-22 11:31:41 +0000
committerDavid S. Miller <davem@davemloft.net>2019-02-24 12:39:45 -0800
commit0e29ae0303224535017c0c01aa8b078dd619ebab (patch)
treefe64841482ca8e5abd8482433483f9f7022696b8 /include
parentc2f26e8f8788dbd911692d983a3ece83d7d66fbb (diff)
net: phylink: update mac_config() documentation
A detail for mac_config() had been missed in the documentation for the method - it is expected that the method will update the MAC to the settings, rather than completely reprogram the MAC on each call. Update the documentation for this method for this detail. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/phylink.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/phylink.h b/include/linux/phylink.h
index f57059e4353f..6411c624f63a 100644
--- a/include/linux/phylink.h
+++ b/include/linux/phylink.h
@@ -149,6 +149,13 @@ int mac_link_state(struct net_device *ndev,
* configuration word. Nothing is advertised by the MAC. The MAC is
* responsible for reading the configuration word and configuring
* itself accordingly.
+ *
+ * Implementations are expected to update the MAC to reflect the
+ * requested settings - i.o.w., if nothing has changed between two
+ * calls, no action is expected. If only flow control settings have
+ * changed, flow control should be updated *without* taking the link
+ * down. This "update" behaviour is critical to avoid bouncing the
+ * link up status.
*/
void mac_config(struct net_device *ndev, unsigned int mode,
const struct phylink_link_state *state);