Re: [U-Boot] [PATCH v3 2/2] net: Add mii_resolve_flowctrl_fdx()

2017-08-09 Thread Joe Hershberger
On Wed, Aug 9, 2017 at 11:25 AM,   wrote:
> From: Yuiko Oshino 
>
> Signed-off-by: Yuiko Oshino 

Acked-by: Joe Hershberger 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v3 2/2] net: Add mii_resolve_flowctrl_fdx()

2017-08-09 Thread yuiko.oshino
From: Yuiko Oshino 

Signed-off-by: Yuiko Oshino 

---

Changes in v3:
   - This patch is added to a series.

Changes in v2:
   - The patch's tag is changed to net:.

 include/linux/mii.h | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/include/linux/mii.h b/include/linux/mii.h
index 66b83d8..19afb74 100644
--- a/include/linux/mii.h
+++ b/include/linux/mii.h
@@ -190,4 +190,27 @@ static inline unsigned int mii_duplex (unsigned int 
duplex_lock,
return 0;
 }
 
+/**
+ * mii_resolve_flowctrl_fdx
+ * @lcladv: value of MII ADVERTISE register
+ * @rmtadv: value of MII LPA register
+ *
+ * Resolve full duplex flow control as per IEEE 802.3-2005 table 28B-3
+ */
+static inline u8 mii_resolve_flowctrl_fdx(u16 lcladv, u16 rmtadv)
+{
+   u8 cap = 0;
+
+   if (lcladv & rmtadv & ADVERTISE_PAUSE_CAP) {
+   cap = FLOW_CTRL_TX | FLOW_CTRL_RX;
+   } else if (lcladv & rmtadv & ADVERTISE_PAUSE_ASYM) {
+   if (lcladv & ADVERTISE_PAUSE_CAP)
+   cap = FLOW_CTRL_RX;
+   else if (rmtadv & ADVERTISE_PAUSE_CAP)
+   cap = FLOW_CTRL_TX;
+   }
+
+   return cap;
+}
+
 #endif /* __LINUX_MII_H__ */
-- 
2.7.4


___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot