The AR9300 and later chipset support requires a new HAL and a bunch of infrastructure changes in the driver itself.
There's a few things from a programming perspective that have changed:
Everything above (that isn't tagged as “not yet implemented”!) is done in the driver layer. The TX and RX paths need to be further optimised to handle the higher packet rates but that can come later.
The HAL is now open source.
The QCA release is here:
https://github.com/qca/qcamain_open_hal_public
Adrian's fork for compiling in FreeBSD is here:
https://github.com/erikarn/qcamain_open_hal_public
Check out the 'local/freebsd' branch when you clone Adrian's fork.
If you are running FreeBSD 10.0 or newer, It should “just work”.
If you are running (a now unsupported) FreeBSD 9 you should know how to compile FreeBSD-HEAD's ath driver and wifi stack on -9. Please don't do this, and upgrade to a supported FreeBSD version.