net: fec: Ensure clocks are enabled while using mdio bus
Andrew Lunn authored
When a switch is attached to the mdio bus, the mdio bus can be used
while the interface is not open. If the IPG clock is not enabled, MDIO
reads/writes will simply time out.

Add support for runtime PM to control this clock. Enable/disable this
clock using runtime PM, with open()/close() and mdio read()/write()
function triggering runtime PM operations. Since PM is optional, the
IPG clock is enabled at probe and is no longer modified by
fec_enet_clk_enable(), thus if PM is not enabled in the kernel, it is
guaranteed the clock is running when MDIO operations are performed.
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
Cc: tyler.baker@linaro.org
Cc: fabio.estevam@freescale.com
Cc: shawn.guo@linaro.org
Tested-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
Tested-by: default avatarTyler Baker <tyler.baker@linaro.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
8fff755e
Name Last commit Last update
..
3com 3c59x: Fix shared IRQ handling
8390 drivers/net: remove all references to obsolete Ethernet-HOWTO
adaptec drivers/net: remove all references to obsolete Ethernet-HOWTO
adi drivers/net: remove all references to obsolete Ethernet-HOWTO
aeroflex net: greth: constify of_device_id array
agere drivers/net: remove all references to obsolete Ethernet-HOWTO
allwinner drivers/net: remove all references to obsolete Ethernet-HOWTO
alteon drivers/net: remove all references to obsolete Ethernet-HOWTO
altera altera_tse: Correct rx packet length
amd amd-xgbe: Fix DMA API debug warning
apm drivers: net: xgene: Pre-initialize ret in xgene_enet_get_resources()
apple drivers/net: remove all references to obsolete Ethernet-HOWTO
arc drivers/net: remove all references to obsolete Ethernet-HOWTO
atheros drivers/net: remove all references to obsolete Ethernet-HOWTO
broadcom Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
brocade drivers/net: remove all references to obsolete Ethernet-HOWTO
cadence net/macb: replace macb_count_tx_descriptors() by DIV_ROUND_UP()
calxeda ethernet: codespell comment spelling fixes
cavium net-Liquidio: Delete unnecessary checks before the function call "vfree"
chelsio cxgb4: Fix incorrect sequence numbers shown in devlog
cirrus drivers/net: remove all references to obsolete Ethernet-HOWTO
cisco enic: fix issues in enic_poll
davicom dm9000: Add regulator and reset support to dm9000
dec drivers/net: remove all references to obsolete Ethernet-HOWTO
dlink drivers/net: remove all references to obsolete Ethernet-HOWTO
emulex
ezchip
faraday
freescale
fujitsu
hisilicon
hp
i825xx
ibm
icplus
intel
marvell
mellanox
micrel
microchip
moxa
myricom
natsemi
neterion
nuvoton
nvidia
nxp
octeon
oki-semi
packetengines
pasemi
qlogic
qualcomm
rdc
realtek
renesas
rocker
samsung
seeq
sfc
sgi
silan
sis
smsc
stmicro
sun
tehuti
ti
tile
toshiba
tundra
via
wiznet
xilinx
xircom
xscale
Kconfig
Makefile
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
korina.c
lantiq_etop.c
netx-eth.c