linux/drivers/net
Niklas Söderlund 3e3d647715 ravb: add wake-on-lan support via magic packet
WoL is enabled in the suspend callback by setting MagicPacket detection
and disabling all interrupts expect MagicPacket. In the resume path the
driver needs to reset the hardware to rearm the WoL logic, this prevents
the driver from simply restoring the registers and to take advantage of
that ravb was not suspended to reduce resume time. To reset the
hardware the driver closes the device, sets it in reset mode and reopens
the device just like it would do in a normal suspend/resume scenario
without WoL enabled, but it both closes and opens the device in the
resume callback since the device needs to be reset for WoL to work.

One quirk needed for WoL is that the module clock needs to be prevented
from being switched off by Runtime PM. To keep the clock alive the
suspend callback need to call clk_enable() directly to increase the
usage count of the clock. Then when Runtime PM decreases the clock usage
count it won't reach 0 and be switched off.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-01 17:54:38 -07:00
..
appletalk drivers/net: Fix ptr_ret.cocci warnings. 2017-07-25 12:27:06 -07:00
arcnet arcnet: com20020-pci: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
caif Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-07-05 12:31:59 -07:00
can net: can: janz-ican3: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
cris
dsa net: dsa: lan9303: MDIO access phy registers directly 2017-07-30 19:23:29 -07:00
ethernet ravb: add wake-on-lan support via magic packet 2017-08-01 17:54:38 -07:00
fddi
fjes
hamradio hamradio: dmascc: avoid -Wformat-overflow warning 2017-07-26 09:32:44 -07:00
hippi
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
ieee802154 mrf24j40: Fix en error handling path in 'mrf24j40_probe()' 2017-07-25 13:17:31 +02:00
ipvlan ipvlan: Stop advertising NETIF_F_UFO support. 2017-07-17 09:52:57 -07:00
irda mcs7780: Fix initialization when CONFIG_VMAP_STACK is enabled 2017-07-24 16:24:05 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
plip
ppp ppp: Fix a scheduling-while-atomic bug in del_chan 2017-07-31 21:59:01 -07:00
slip
team team: use a larger struct for mac address 2017-07-29 11:25:05 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-07-21 03:38:43 +01:00
vmxnet3 vmxnet3: avoid format strint overflow warning 2017-07-14 09:03:11 -07:00
wan
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
xen-netback
dummy.c dummy: Remove references to NETIF_F_UFO. 2017-07-17 09:52:57 -07:00
eql.c
geneve.c geneve/vxlan: offload ports on register/unregister events 2017-07-24 13:52:59 -07:00
gtp.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
ifb.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
Kconfig
LICENSE.SRC
loopback.c
macsec.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
macvlan.c macvlan/macvtap: Remove NETIF_F_UFO advertisement. 2017-07-17 09:52:57 -07:00
macvtap.c macvlan/macvtap: Remove NETIF_F_UFO advertisement. 2017-07-17 09:52:57 -07:00
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
ntb_netdev.c ntb_netdev: set the net_device's parent 2017-07-06 11:30:08 -04:00
rionet.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sb1000.c
Space.c
sungem_phy.c
tap.c tun/tap: Remove references to NETIF_F_UFO. 2017-07-17 09:52:57 -07:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-30 12:43:08 -04:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
vrf.c vrf: fix bug_on triggered by rx when destroying a vrf 2017-07-06 16:46:07 +01:00
vsockmon.c
vxlan.c geneve/vxlan: offload ports on register/unregister events 2017-07-24 13:52:59 -07:00
xen-netfront.c