zephyr/drivers/ethernet
Sebastien Griffoul 8237d0f882 eth: Fix spurious interrupt issues
The ethernet driver generates a lot of spurious interrupts.
These spurious interrupts have two sources:

1) The Mac Management Counter (MMC) module generates a lot of interrupts
   (GMI - bit 27 of the status register). Unfortunately the Interrupt
   enable register doesn't allow us to enable/disable it (bit 27 is
   reserved). Therefore the only way to mask this interrupt is to mask
   all the MMC interrupts (register REG_MMC_RX_INTR_MASK,
   REG_MMC_TX_INTR_MASK and REG_MMC_RX_IPC_INTR_MASK). By default
   these interrupts are not masked.

2) The RX interrupt is not correctly acknowledged. According to the
   datasheet, NIS is a sticky bit and must be cleared (by writing 1
   to this bit) each time a corresponding bit, which causes NIS to
   be set, is cleared.

Change-Id: I2033973849d87cddc328c65d0d4ad36b5a0c934e
Signed-off-by: Sebastien Griffoul <sebastien.griffoul@intel.com>
2016-05-26 15:12:25 +00:00
..
Kconfig Cleanup whitespace in Kconfig files 2016-05-25 13:28:07 -05:00
Makefile eth_dw: fix compilation issue in eth_dw.c driver 2016-02-05 20:25:31 -05:00
eth_dw.c eth: Fix spurious interrupt issues 2016-05-26 15:12:25 +00:00
eth_dw_priv.h eth: Fix spurious interrupt issues 2016-05-26 15:12:25 +00:00