• Mugunthan V N's avatar
    drivers: net: cpsw: add am335x errata workarround for interrutps · 7da11600
    Mugunthan V N authored
    As per Am335x Errata [1] Advisory 1.0.9, The CPSW C0_TX_PEND and
    C0_RX_PEND interrupt outputs provide a single transmit interrupt
    that combines transmit channel interrupts TXPEND[7:0] and a
    single receive interrupt that combines receive channel interrupts
    RXPEND[7:0]. The TXPEND[0] and RXPEND[0] interrupt outputs are
    connected to the ARM Cortex-A8 interrupt controller (INTC) rather
    than the C0_TX_PEND and C0_RX_PEND interrupt outputs. So even
    though CPSW interrupt is cleared by writing appropriate values to
    EOI register the interrupt is not cleared in IRQ controller. So
    interrupt is still pending and CPU is struck in ISR, the
    workaround is to disable the interrupts in ARM irq controller.
    
    [1] http://www.ti.com/lit/er/sprz360f/sprz360f.pdfSigned-off-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7da11600
cpsw.c 70 KB