Add a new option to limit the maximum size of aggregates.
The default is to limit them to what the hardware is capable of.

Add sysctl twiddles for both the non-RTS and RTS protected aggregate
generation.

Whilst here, add some comments about stuff that I've discovered during
my exploration of the TX aggregate / delimiter setup path from the
reference driver.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247085 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Correct comment about use of pmtimer, and the real reason it isn't
used or desirable for amd64.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247086 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add an option to allow the minimum number of delimiters to be tweaked.

This is primarily for debugging purposes.

Tested:

* AR5416, STA mode


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247087 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Locking for todr got pushed down into inittodr and the client
libraries it calls (although some might not be doing it right). We are
serialized right now by giant as well. This means the splsoftclock are
now an anachronism that has no benefit, even marking where locking
needs to happen. Remove them.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247088 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove incorrect comment about splsoftclock.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247089 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f