summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-09-12 20:24:22 -0700
committerDavid S. Miller <davem@davemloft.net>2018-09-12 20:24:22 -0700
commit15665342d48ba7fc7c2284663332381bc3083d33 (patch)
tree6b25af156504351518b1e7bbab8e39ff1fe3de00 /include
parenteca09be82eb80e2daf2111beae8b255a12809025 (diff)
parent22b7d29926b577ff4f480611380d03268545b787 (diff)
downloadtalos-obmc-linux-15665342d48ba7fc7c2284663332381bc3083d33.tar.gz
talos-obmc-linux-15665342d48ba7fc7c2284663332381bc3083d33.zip
Merge branch 'Preparing-for-phylib-linkmodes'
Andrew Lunn says: ==================== Preparing for phylib linkmodes phylib currently makes us of a u32 bitmap for advertising, supported, and link partner capabilities. For a long time, this has been sufficient, for devices up to 1Gbps. With more MAC/PHY combinations now supporting speeds greater than 1Gbps, we have run out of bits. There is the need to replace this u32 with an __ETHTOOL_DECLARE_LINK_MODE_MASK, which makes use of linux's generic bitmaps. This patchset does some of the work preparing for this change. A few cleanups are applied to PHY drivers. Some MAC drivers directly access members of phydev which are going to change type. These patches adds some helpers and swaps MAC drivers to use them, mostly dealing with Pause configuration. v3: Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Add missing at in commit message Change Subject of patch 5 Fix return in from phy_set_asym_pause Fix kerneldoc in phy_set_pause v2: Fixup bad indentation in tg3.c Rename phy_support_pause() to phy_support_sym_pause() Also trigger autoneg if the advertising settings have changed. Rename phy_set_pause() to phy_set_sym_pause() Use the bcm63xx_enet.c logic, not fec_main.c for validating pause ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/phy.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h
index cd6f637cbbfb..192a1fa0c73b 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -1049,6 +1049,14 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd);
int phy_start_interrupts(struct phy_device *phydev);
void phy_print_status(struct phy_device *phydev);
int phy_set_max_speed(struct phy_device *phydev, u32 max_speed);
+void phy_remove_link_mode(struct phy_device *phydev, u32 link_mode);
+void phy_support_sym_pause(struct phy_device *phydev);
+void phy_support_asym_pause(struct phy_device *phydev);
+void phy_set_sym_pause(struct phy_device *phydev, bool rx, bool tx,
+ bool autoneg);
+void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx);
+bool phy_validate_pause(struct phy_device *phydev,
+ struct ethtool_pauseparam *pp);
int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask,
int (*run)(struct phy_device *));
OpenPOWER on IntegriCloud