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 <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ben Hutchings 2009-04-29 08:19:03 +00:00 committed by David S. Miller
parent 44c22ee91b
commit a8c30832b5
1 changed files with 16 additions and 0 deletions

View File

@ -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