mirror of
https://github.com/opnsense/src.git
synced 2026-03-19 01:02:28 -04:00
and start teaching subsystems about it. The Atheros MIPS platforms don't guarantee any kind of FIFO consistency with interrupts in hardware. So software needs to do a flush when it receives an interrupt and before it calls the interrupt handler. There are new ones for the QCA934x and QCA955x, so do a few things: * Get rid of the individual ones (for ethernet and IP2); * Create a mux and enum listing all the variations on DDR flushes; * replace the uses of IP2 with the relevant one (which will typically be "PCI" here); * call the USB DDR flush before calling the real USB interrupt handlers; * call the ethernet one upon receiving an interrupt that's for us, rather than never calling it during operation. Tested: * QCA9558 (TP-Link archer c7 v2) * AR9331 (Carambola 2) TODO: * PCI, USB, ethernet, etc need to do a double-check to see if the interrupt was truely for them before doing the DDR. For now I prefer "correct" over "fast". |
||
|---|---|---|
| .. | ||
| adm5120 | ||
| alchemy | ||
| atheros | ||
| beri | ||
| cavium | ||
| conf | ||
| gxemul | ||
| idt | ||
| include | ||
| malta | ||
| mips | ||
| nlm | ||
| rmi | ||
| rt305x | ||
| sentry5 | ||
| sibyte | ||