linux/drivers/net/ethernet/ti
Grygorii Strashko 8ea63bbaab drivers: net: davinci_mdio: implement pm runtime auto mode
Davinci MDIO is always used as slave device which services
read/write requests from MDIO/PHY core. It doesn't use IRQ also.

As result, It's possible to relax PM runtime constraints for Davinci
MDIO and enable it on demand, instead of powering it during probe
and powering off during removal.

Hence, implement PM runtime autosuspend for Davinci MDIO, but keep it
disabled by default, because Davinci MDIO is integrated in big set of
TI devices and not all of them expected to work corectly with RPM
 autosuspend enabled:
- expected to work on SoCs where MDIO is part of TI CPSW
(cpsw.c DRA7/am57x, am437x, am335x, dm814x)
- not verified on Keystone 2 and other SoCs where MDIO is used with TI EMAC IP
(davinci_emac.c:  dm6467-emac, am3517-emac, dm816-emac).

Davinci MDIO RPM autosuspend can be enabled through sysfs:
 echo 100 > /sys/devices/../48484000.ethernet/48485000.mdio/power/autosuspend_delay_ms

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-28 08:57:19 -04:00
..
cpmac.c net: ti: cpmac: Fix build error due to missed API change 2016-01-10 23:34:49 -05:00
cpsw_ale.c net: cpsw: remove two unused global functions 2015-05-25 18:19:09 -04:00
cpsw_ale.h net: cpsw: remove two unused global functions 2015-05-25 18:19:09 -04:00
cpsw-common.c net: cpsw: Fix ethernet regression for dm814x 2015-11-20 10:46:33 -05:00
cpsw-phy-sel.c drivers: net: cpsw-phy-sel: add dev_warn() for unsupported PHY mode 2016-02-17 10:50:15 -05:00
cpsw.c drivers: net: cpsw: ndev: fix accessing to suspended device 2016-06-28 08:57:18 -04:00
cpsw.h net: ethernet: ti: cpsw: remove rx_descs property 2016-06-17 21:27:57 -07:00
cpts.c ptp: cpts: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
cpts.h time: move the timecounter/cyclecounter code into its own file. 2014-12-30 18:29:25 -05:00
davinci_cpdma.c net: ethernet: ti: cpsw: remove rx_descs property 2016-06-17 21:27:57 -07:00
davinci_cpdma.h net: ethernet: ti: cpsw: remove rx_descs property 2016-06-17 21:27:57 -07:00
davinci_emac.c net: ethernet: davinci_emac: Fix devioctl while in fixed link 2016-04-28 15:51:25 -04:00
davinci_mdio.c drivers: net: davinci_mdio: implement pm runtime auto mode 2016-06-28 08:57:19 -04:00
Kconfig drivers/net: remove all references to obsolete Ethernet-HOWTO 2015-06-23 06:50:35 -07:00
Makefile drivers: net: cpsw: make cpsw_ale.c a module to allow re-use on Keystone 2015-01-31 17:33:07 -08:00
netcp_core.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
netcp_ethss.c phy: add phydev_name() wrapper 2016-01-07 14:31:25 -05:00
netcp_sgmii.c net: netcp: Fixes SGMII reset on network interface shutdown 2015-07-27 01:14:26 -07:00
netcp_xgbepcsr.c net: netcp: Enhance GBE driver to support 10G Ethernet 2015-01-19 15:07:39 -05:00
netcp.h netcp: add more __le32 annotations 2015-12-11 19:34:39 -05:00
tlan.c net: tlan: don't set unused function argument 2016-06-16 17:33:12 -07:00
tlan.h tlan: Don't scream if no link 2014-07-07 17:06:52 -07:00