freebsd-skq/sys
adrian e44e1c10f7 Reshuffle all of the DDR flush operations into a single switch/mux,
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".
2015-07-04 03:05:57 +00:00
..
amd64 Use single instance of the identical INKERNEL() and PMC_IN_KERNEL() 2015-07-02 14:37:21 +00:00
arm Add the routines to activate the GMAC clock and setup the GMAC mode. 2015-07-03 18:39:25 +00:00
arm64 Remove an unneeded define and old comment referencing amd64. 2015-07-02 16:13:29 +00:00
boot o Add a description for virtio block device implemented 2015-07-03 14:46:57 +00:00
bsm
cam Fix couple panics on forced unmount of backing file. 2015-07-02 12:53:22 +00:00
cddl Use single instance of the identical INKERNEL() and PMC_IN_KERNEL() 2015-07-02 14:37:21 +00:00
compat svr4 emulator has custom sendsig() implementation, it does not use 2015-06-29 10:33:04 +00:00
conf Remove commented-out and non-existent cbus(4) attachment for uart(4). 2015-07-03 16:02:06 +00:00
contrib Merge ACPICA 20150619. 2015-06-18 23:14:45 +00:00
crypto
ddb Correct the function name in catch-all error handling case. 2015-06-17 10:20:59 +00:00
dev Wake up the hardware before doing anything in sysctl. 2015-07-04 02:59:30 +00:00
fs If a "principal" argument isn't provided for a Kerberized NFS mount, 2015-07-03 22:11:07 +00:00
gdb
geom Properly propagate errors in metadata reading. 2015-07-02 10:57:34 +00:00
gnu
i386 Use single instance of the identical INKERNEL() and PMC_IN_KERNEL() 2015-07-02 14:37:21 +00:00
isa
kern sysvshm: fix up some whitespace issues and spurious initialisation 2015-07-02 19:14:30 +00:00
kgssapi
libkern Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
mips Reshuffle all of the DDR flush operations into a single switch/mux, 2015-07-04 03:05:57 +00:00
modules Updated depends 2015-07-03 06:11:54 +00:00
net New AES modes for IPSec, user space components. 2015-07-03 20:09:14 +00:00
net80211
netgraph Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
netinet Avoid doing multiple route lookups for the same destination IP during forwarding 2015-07-02 18:10:41 +00:00
netinet6 Keep IPv6 address specified by IPV6_PKTINFO socket option in kernel 2015-07-03 19:01:38 +00:00
netipsec Reduce overhead of IPSEC for traffic generated from host 2015-07-03 15:31:56 +00:00
netnatm
netpfil ALTQ FAIRQ discipline import from DragonFLY 2015-06-24 19:16:41 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Fix broken implementation of "kvasprintf()" function by adding missing 2015-07-03 11:16:20 +00:00
opencrypto change the KASSERT so it is meaningful, var is unsigned, so even 2015-06-19 22:42:26 +00:00
pc98
powerpc
rpc
security Replace struct filedesc argument in getvnode with struct thread 2015-06-16 13:09:18 +00:00
sparc64
sys Add stddef.h for size_t typedef. 2015-07-02 21:46:07 +00:00
teken
tools
ufs Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
vm vm: don't lock proc around accesses to vm_{t,d}addr and RLIMIT_DATA in sys_mmap 2015-07-02 18:30:12 +00:00
x86 Set the initial system time to a sane (as in: not end of 21st century) value when 2015-06-29 17:02:09 +00:00
xdr
xen Garbage collect comments which related to the pre-r284296 support for a 2015-06-21 06:05:33 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00