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 switchdev; add VLAN support for port's bridge_getlink
ezchip NET: Add ezchip ethernet driver
faraday drivers/net: remove all references to obsolete Ethernet-HOWTO
freescale net: fec: Ensure clocks are enabled while using mdio bus
fujitsu drivers/net: remove all references to obsolete Ethernet-HOWTO
hisilicon drivers/net: remove all references to obsolete Ethernet-HOWTO
hp drivers/net: remove all references to obsolete Ethernet-HOWTO
i825xx drivers/net: remove all references to obsolete Ethernet-HOWTO
ibm drivers/net: remove all references to obsolete Ethernet-HOWTO
icplus net: icplus: fix typo in constant name
intel i40evf: don't configure unused RSS queues
marvell net: mvneta: fix refilling for Rx DMA buffers
mellanox net/mlx4_en: Remove BUG_ON assert when checking if ring is full
micrel drivers/net: remove all references to obsolete Ethernet-HOWTO
microchip drivers/net: remove all references to obsolete Ethernet-HOWTO
moxa drivers/net: remove all references to obsolete Ethernet-HOWTO
myricom Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
natsemi drivers/net: remove all references to obsolete Ethernet-HOWTO
neterion drivers/net: remove all references to obsolete Ethernet-HOWTO
nuvoton drivers/net: remove all references to obsolete Ethernet-HOWTO
nvidia drivers/net: remove all references to obsolete Ethernet-HOWTO
nxp net: ethernet: Remove superfluous ether_setup after alloc_etherdev
octeon netdev: octeon_mgmt: constify of_device_id array
oki-semi drivers/net: remove all references to obsolete Ethernet-HOWTO
packetengines drivers/net: remove all references to obsolete Ethernet-HOWTO
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