From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 29 Apr 2009 08:19:03 +0000 (+0000)
Subject: mii: Add mii_advertise_flowctrl()
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a8c30832b5b12e5d4e9d1c20cdac3cc2880e08b8;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.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 <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/include/linux/mii.h b/include/linux/mii.h
index 14ecb2e114f1..359fba880274 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