linux/drivers/net/ethernet/amd
Maciej W. Rozycki 5359b938c0 MIPS: DECstation I/O ASIC DMA interrupt handling fix
This change complements commit d0da7c002f7b2a93582187a9e3f73891a01d8ee4
and brings clear_ioasic_irq back, renaming it to clear_ioasic_dma_irq at
the same time, to make I/O ASIC DMA interrupts functional.

Unlike ordinary I/O ASIC interrupts DMA interrupts need to be deasserted
by software by writing 0 to the respective bit in I/O ASIC's System
Interrupt Register (SIR), similarly to how CP0.Cause.IP0 and CP0.Cause.IP1
bits are handled in the CPU (the difference is SIR DMA interrupt bits are
R/W0C so there's no need for an RMW cycle).  Otherwise the handler is
reentered over and over again.

The only current user is the DEC LANCE Ethernet driver and its extremely
uncommon DMA memory error handler that does not care when exactly the
interrupt is cleared.  Anticipating the use of DMA interrupts by the Zilog
SCC driver this change however exports clear_ioasic_dma_irq for device
drivers to choose the right application-specific sequence to clear the
request explicitly rather than calling it implicitly in the .irq_eoi
handler of `struct irq_chip'.  Previously these interrupts were cleared in
the .end handler of the said structure, before it was removed.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/5826/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2013-09-13 11:57:40 +02:00
..
7990.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
7990.h
Kconfig net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
Makefile drivers/net: delete old DEC depca ISA drivers support. 2013-01-22 10:39:55 -05:00
a2065.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
a2065.h
am79c961a.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
am79c961a.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
amd8111e.c amd8111e: use pdev->pm_cap instead of pci_find_capability(.., PCI_CAP_ID_PM) 2013-06-19 22:22:56 -07:00
amd8111e.h module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00
ariadne.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
ariadne.h
atarilance.c PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30
au1000_eth.c net: au1000_eth: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
au1000_eth.h
declance.c MIPS: DECstation I/O ASIC DMA interrupt handling fix 2013-09-13 11:57:40 +02:00
hplance.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
hplance.h
lance.c lance: remove unnecessary setting of skb->dev 2012-07-10 23:24:56 -07:00
mvme147.c PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30
ni65.c PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30
ni65.h
nmclan_cs.c drivers/net: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:27:33 -07:00
pcnet32.c ethernet: Convert mac address uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
sun3lance.c PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30
sunlance.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00