linux/drivers/net/ethernet/amd
Maciej W. Rozycki 0fabe1021f MIPS: DECstation I/O ASIC DMA interrupt classes
This change complements commits d0da7c002f7b2a93582187a9e3f73891a01d8ee4
[MIPS: DEC: Convert to new irq_chip functions] and
5359b938c0 [MIPS: DECstation I/O ASIC DMA
interrupt handling fix] and implements automatic handling of the two
classes of DMA interrupts the I/O ASIC implements, informational and
errors.

Informational DMA interrupts do not stop the transfer and use the
`handle_edge_irq' handler that clears the request right away so that
another request may be recorded while the previous is being handled.

DMA error interrupts stop the transfer and require a corrective action
before DMA can be reenabled.  Therefore they use the `handle_fasteoi_irq'
handler that only clears the request on the way out.  Because MIPS
processor interrupt inputs, one of which the I/O ASIC's interrupt
controller is cascaded to, are level-triggered it is recommended that
error DMA interrupt action handlers are registered with the IRQF_ONESHOT
flag set so that they are run with the interrupt line masked.

This change removes the export of clear_ioasic_dma_irq that now does not
have to be called by device drivers to clear interrupts explicitly
anymore.  Originally these interrupts were cleared in the .end handler of
the `irq_chip' 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/5874/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2013-10-29 21:24:42 +01:00
..
7990.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
7990.h
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 classes 2013-10-29 21:24:42 +01:00
hplance.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
hplance.h
Kconfig net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
lance.c lance: remove unnecessary setting of skb->dev 2012-07-10 23:24:56 -07:00
Makefile drivers/net: delete old DEC depca ISA drivers support. 2013-01-22 10:39:55 -05: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 ethernet: amd: remove deprecated IRQF_DISABLED 2013-09-12 23:27:09 -04:00
sunlance.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00