• Joel Stanley's avatar
    net/faraday: Mask out PHYSTS_CHG interrupt · edcd692f
    Joel Stanley authored
    The PHYSTS_CHG (the ftgmac100's PHY IRQ) is telling the system to go
    look at the PHY registers for a link status change.
    
    The interrupt was causing issues on Aspeed SoC where some board designs
    had an active high configuration, some active low, and in some cases
    repurposed for other functions. When misconfigured Linux would chew 100%
    of CPU cycles servicing interrupts:
    
     [   20.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
     [   20.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
     [   20.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
     [   20.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
    
    While in the ftgmac100 IP can be configured for high, low and edge
    sensitivity the current driver always polls the PHY, so we chose to mask
    out the interrupt.
    
    See https://patchwork.ozlabs.org/patch/672099/ for more discussion.
    Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    edcd692f
ftgmac100.h 8.78 KB