net: bcmgenet: Move wake-up event out of side band ISR
authorDoug Berger <opendmb@gmail.com>
Thu, 30 Apr 2020 23:26:51 +0000 (16:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 May 2020 22:54:33 +0000 (15:54 -0700)
commiteb236c2994b031f805be691fa9ea39cba4690166
treeccfec9cd9cf2e3835252bc4901c4b02a90faa326
parentdf8f348e76d556cc88445fd78e83235a910cb41e
net: bcmgenet: Move wake-up event out of side band ISR

The side band interrupt service routine is not available on chips
like 7211, or rather, it does not permit the signaling of wake-up
events due to the complex interrupt hierarchy.

Move the wake-up event accounting into a .resume_noirq function,
account for possible wake-up events and clear the MPD/HFB interrupts
from there, while leaving the hardware untouched until the resume
function proceeds with doing its usual business.

Because bcmgenet_wol_power_down_cfg() now enables the MPD and HFB
interrupts, it is invoked by a .suspend_noirq function to prevent
the servicing of interrupts after the clocks have been disabled.

Signed-off-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmgenet.c
drivers/net/ethernet/broadcom/genet/bcmgenet.h
drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c