freebsd-skq/sys
adrian f49d5f6f34 [ath] [ath_hal] break out the duration calculation to optionally include SIFS.
The pre-11n calculations include SIFS, but the 11n ones don't.

The reason is that (mostly) the 11n hardware is doing the SIFS calculation
for us but the pre-11n hardware isn't.  This means that we're over-shooting
the times in the duration field for non-11n frames on 11n hardware, which
is OK, if not a little inefficient.

Now, this is all fine for what the hardware needs for doing duration math
for ACK, RTS/CTS, frame length, etc, but it isn't useful for doing PHY
duration calculations.  Ie, given a frame to TX and its timestamp, what
would the end of the actual transmission time be; and similar for an
RX timestamp and figuring out its original length.

So, this adds a new field to the duration routines which requests
SIFS or no SIFS to be included.  All the callers currently will call
it requesting SIFS, so this /should/ be a glorious no-op.  I'm however
planning some future work around airtime fairness and positioning which
requires these routines to have SIFS be optional.

Notably though, the 11n version doesn't do any SIFS addition at the moment.
I'll go and tweak and verify all of the packet durations before I go and
flip that part on.

Tested:

* AR9330, STA mode
* AR9330, AP mode
* AR9380, STA mode
2016-07-15 06:39:35 +00:00
..
amd64 Increase number of I/O APIC pins from 24 to 32 to give PCI up to 16 IRQs. 2016-07-14 14:35:25 +00:00
arm Allwinner Gigabit EMAC performance improvements. 2016-07-13 20:46:54 +00:00
arm64 Finish removing the non-INTRNG support from sys/arm64. 2016-07-14 17:31:29 +00:00
boot Remove extra 0x before %p format strings introduced by r296182 2016-07-08 22:32:03 +00:00
bsm
cam Tidy up loose ends from Netflix I/O sched rename to dynamic I/O sched. 2016-07-07 20:31:35 +00:00
cddl MFV r302645: 6878 Add scrub completion info to "zpool history" 2016-07-14 11:53:39 +00:00
compat Fix a copy/paste bug introduced during X86_64 Linuxulator work. 2016-07-10 08:22:04 +00:00
conf hyperv/vmbus: Merge hv_channel_mgmt.c into hv_channel.c 2016-07-15 04:42:08 +00:00
contrib [ath_hal] add in locationing timer support and capabilities. 2016-07-08 22:59:15 +00:00
crypto Connect the SHA-512t256 and Skein hashing algorithms to ZFS 2016-05-31 04:12:14 +00:00
ddb Add a small set of logical operators to DDB command language. 2016-05-16 19:42:38 +00:00
dev [ath] [ath_hal] break out the duration calculation to optionally include SIFS. 2016-07-15 06:39:35 +00:00
fs Handle IOC_VOID special case of passing an integer IOCTL argument through CUSE. 2016-07-06 22:21:22 +00:00
gdb
geom Move some gmirror metadata update messages to a higher debug level. 2016-07-14 00:40:24 +00:00
gnu Revert changes for local testing, inadvertantly commited in r300811. 2016-05-26 23:59:42 +00:00
i386 Add explicit detection of KVM hypervisor 2016-07-13 19:19:18 +00:00
isa sys/isa: minor spelling fixes. 2016-05-03 21:51:52 +00:00
kern Include command line arguments in core dump process info. 2016-07-14 23:20:05 +00:00
kgssapi kgssapi: insignificant spelling fix. 2016-05-03 22:05:03 +00:00
libkern sys: Make use of our rounddown() macro when sys/param.h is available. 2016-04-30 14:41:18 +00:00
mips mips/ddb: fix MIPS backtrace truncation and MIPS32 register printing. 2016-07-12 02:12:31 +00:00
modules hyperv/vmbus: Merge hv_channel_mgmt.c into hv_channel.c 2016-07-15 04:42:08 +00:00
net Remove assumptions in MI code that the BSP is CPU 0. 2016-07-11 21:25:28 +00:00
net80211 [net80211] teach AMRR to log the initial MCS rate as "MCS X" 2016-07-01 19:58:13 +00:00
netgraph Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
netinet The TCPPCAP debugging feature caches recently-used mbufs for use in 2016-07-06 16:17:13 +00:00
netinet6 Fix a page fault in ip6_setpktopt(), occurring when the pflog module is 2016-07-13 19:41:19 +00:00
netipsec Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
netnatm kernel: use our nitems() macro when it is available through param.h. 2016-04-19 23:48:27 +00:00
netpfil Fix problems in the FQ-PIE AQM cleanup code that could leak memory or 2016-07-12 17:32:40 +00:00
netsmb sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
nfs NFS: spelling fixes on comments. 2016-04-29 16:07:25 +00:00
nfsclient
nfsserver
nlm When sleeping waiting for either local or remote advisory lock, 2016-06-26 20:08:42 +00:00
ofed Fix bug in iwcm that caused a panic in iw_cm_wq when krping is run 2016-06-14 20:58:05 +00:00
opencrypto sys/opencrypto: minor spelling fixes. 2016-05-06 23:37:19 +00:00
pc98 Move 'device pci' for the PCI bus driver to the MI NOTES file. 2016-04-29 23:53:55 +00:00
powerpc Remove dead code. This should have been removed in r297392, when these 2016-07-11 17:02:17 +00:00
riscv Update comments for the MD functions managing contexts for new 2016-06-16 12:05:44 +00:00
rpc Don't test for xpt not being NULL before calling svc_xprt_free(..) 2016-07-11 07:24:56 +00:00
security Add AUE_WAIT6 handling to the BSM conversion switch statement, reusing 2016-07-11 13:06:17 +00:00
sparc64 Update comments for the MD functions managing contexts for new 2016-06-16 12:05:44 +00:00
sys Move nested include of <sys/queue.h> inside _KERNEL. 2016-07-14 23:14:10 +00:00
teken
tests
tools
ufs arc4random() returns 0 to (2**32)−1, use an alternative to initialize 2016-05-22 14:31:20 +00:00
vm In vgonel(), postpone setting BO_DEAD until VOP_RECLAIM() is called, 2016-07-11 14:19:09 +00:00
x86 Allow ACPI wakeup code and page tables to be stored in non-contiguous pages. 2016-07-14 00:38:04 +00:00
xdr RPC: for pointers replace 0 with NULL. 2016-04-14 17:06:37 +00:00
xen xen: Correct typo in #undef for symbol NBPL 2016-06-06 14:55:46 +00:00
Makefile