From: Ben Hutchings Date: Wed, 29 Apr 2009 08:19:03 +0000 (+0000) Subject: mii: Add mii_advertise_flowctrl() X-Git-Tag: v2.6.31-rc1~330^2~504 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=a8c30832b5b12e5d4e9d1c20cdac3cc2880e08b8;p=~shefty%2Frdma-dev.git mii: Add mii_advertise_flowctrl() This converts flow control capabilites to an advertising mask and can be useful in combination with mii_resolve_flowctrl_fdx(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller --- diff --git a/include/linux/mii.h b/include/linux/mii.h index 14ecb2e114f..359fba88027 100644 --- a/include/linux/mii.h +++ b/include/linux/mii.h @@ -239,6 +239,22 @@ static inline unsigned int mii_duplex (unsigned int duplex_lock, return 0; } +/** + * mii_advertise_flowctrl - get flow control advertisement flags + * @cap: Flow control capabilities (FLOW_CTRL_RX, FLOW_CTRL_TX or both) + */ +static inline u16 mii_advertise_flowctrl(int cap) +{ + u16 adv = 0; + + if (cap & FLOW_CTRL_RX) + adv = ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM; + if (cap & FLOW_CTRL_TX) + adv ^= ADVERTISE_PAUSE_ASYM; + + return adv; +} + /** * mii_resolve_flowctrl_fdx * @lcladv: value of MII ADVERTISE register