#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
301423 |
|
05-Jun-2016 |
adrian |
[ath_hal] add AR9462 (jupiter) RX gain / XLNA programming.
This seems to make 5G work better.
It doesn't fix powersave handling though, that still sees the PHY get stuck during initial calibration and everything goes pear shaped. I'll look into that later.
Tested:
* QCAFN222 NIC, STA mode, 5GHz
Obtained from: Linux ath9k
|
#
301420 |
|
05-Jun-2016 |
adrian |
[ath_hal] teach the reset path(s) about Jupiter 2.1.
This was just .. not programming in things, and thus large chunks of the radio wouldn't work. Notably, 5GHz didn't work.
|
#
301094 |
|
01-Jun-2016 |
adrian |
[ath_hal] add support for QCA9565 for configuring the bluetooth antenna LNA diversity.
Notably, this also sets AR_BTCOEX_WL_LNADIV to FORCE_ON, so LNA diversity is always enabled and under control of the wifi chip.
Tested:
* QCA9565, STA + bluetooth mode
Obtained from: Linux ath9k
|
#
291437 |
|
29-Nov-2015 |
adrian |
Add initial support for the QCA953x SoC (honeybee) wifi.
This is a 2x2 2GHz 802.11n part. It works enough at the moment to bring up, scan and associate. I haven't started using this as a day to day AP.
The specifics:
* add honeybee initvals * add in changes; a mix from the QCA HAL and ath9k; * fix a bug in AR_SREV_AR9580_10_OR_LATER(), which is only used for one capability check and we don't even implement it - so it's a big no-op.
Shady things:
* ath9k has the "platform data" define the 25/40MHz clock. This HAL .. doesn't. Honeybee gets hard-coded to 25MHz which it likely shouldn't be. I'll have to go and identify/fix those.
Tested:
* Qualcomm Atheros AP143 reference design board.
Obtained from: Qualcomm Atheros; Linux ath9k
|
#
285123 |
|
04-Jul-2015 |
adrian |
Quieten the scorpion SoC/WMAC reset path. Stuff the non-error stuff under HALDEBUG().
|
#
280829 |
|
29-Mar-2015 |
adrian |
Add initial support for the HAL channel survey support to the AR9300 HAL.
This is used by the 'athsurvey' command to print out channel survey statistics - % busy times transmit, receive and airtime.
It's as buggy and incomplete as the rest of the HAL survey support - notably, tying into the ANI code to read channel stats and occasionally getting garbage counters isn't very nice. It also doesn't (yet!) get channel survey information during a scan. But it's good enough for basic air-time debugging, which is why I'm committing it in this state.
Tested:
* AR9380, STA mode
|
#
278741 |
|
14-Feb-2015 |
adrian |
Update the AR9300 HAL to the latest public available HAL from QCA.
I've been sitting on this for a year or so now; I've finally tested it on enough devices to be reasonably sure it won't cause too much drama. But, if you see issues, please email me.
Tested (all STA mode):
PCIe:
* AR9380 * AR9390 * AR9580 * AR9462 * AR9485
SoC:
* QCA9550 * AR9331 * AR9342
|
#
272292 |
|
30-Sep-2014 |
adrian |
Add initial support for the AR9485 CUS198 / CUS230 variants.
These variants have a few differences from the default AR9485 NIC, namely:
* a non-default antenna switch config; * slightly different RX gain table setup; * an external XLNA hooked up to a GPIO pin; * (and not yet done) RSSI threshold differences when doing slow diversity.
To make this possible:
* Add the PCI device list from Linux ath9k, complete with vendor and sub-vendor IDs for various things to be enabled; * .. and until FreeBSD learns about a PCI device list like this, write a search function inspired by the USB device enumeration code; * add HAL_OPS_CONFIG to the HAL attach methods; the HAL can use this to initialise its local driver parameters upon attach; * copy these parameters over in the AR9300 HAL; * don't default to override the antenna switch - only do it for the chips that require it; * I brought over ar9300_attenuation_apply() from ath9k which is cleaner and easier to read for this particular NIC.
This is a work in progress. I'm worried that there's some post-AR9380 NIC out there which doesn't work without the antenna override set as I currently haven't implemented bluetooth coexistence for the AR9380 and later HAL. But I'd rather have this code in the tree and fix it up before 11.0-RELEASE happens versus having a set of newer NICs in laptops be effectively RX deaf.
Tested:
* AR9380 (STA) * AR9485 CUS198 (STA)
Obtained from: Qualcomm Atheros, Linux ath9k
|
#
269748 |
|
09-Aug-2014 |
adrian |
Work around some rather annoying chip hangs in the AR9331 chip.
If powersave is enabled and there are any transitions to network or full sleep - even if they're pretty damned brief - eventually something messes up somewhere and the bus glue between the AR9331 SoC and the AR9331 wifi stops working. It shows up as stuck DMA and LOCAL_TIMEOUT interrupts.
Both ath9k and the reference driver does a full chip reset if things get stuck.
So:
* teach the AR9330 HAL about the force_full_reset option I added a couple of years ago; * if the chip is currently in full-sleep, do a full-reset; * if TX DMA and/or RX DMA are still enabled (eg, they did get stuck during reset) then do a full-reset.
Tested:
* AR9331 SoC, STA mode
|
#
257855 |
|
08-Nov-2013 |
ian |
Remove 'inline' from ar9300_init_pll(), it's too big to inline.
Submitted by: adrian@
|
#
251735 |
|
14-Jun-2013 |
adrian |
If chan is NULL, don't derefrence it.
The bluetooth setup code actually does a channel lookup during setup, even though we haven't yet programmed in a channel. Sigh.
Tested:
* WB225 (AR9485) + bluetooth
|
#
251098 |
|
29-May-2013 |
adrian |
Fix a false -> AH_FALSE.
Now, why this hasn't tripped _any_ tinderbox builds yet, I dunno. It's been like this for a while.
|
#
250008 |
|
27-Apr-2013 |
adrian |
Bring over my FreeBSD modifications for the AR9300 HAL to make it work in FreeBSD.
This is still heavily a work in progress but I'd rather it start shipping in -HEAD sooner rather than later.
This doesn't (yet) link it into the build system either for a static kernel or as a module; that will come later (after many, many make universe tests.)
|
#
250007 |
|
27-Apr-2013 |
adrian |
Copy the vendor branch ar9300 code from qcamain_open_hal into this directory.
Only copy the ar9300 HAL, we don't want to grab everything.
|
#
250003 |
|
27-Apr-2013 |
adrian |
Initial import of the QCA qcamain_open_hal repository.
Source: https://github.com/qca/qcamain_open_hal_public Revision: 60390a9f9ac6a20db168fbbc01a4ad4e01c395ce
Thankyou to QCA for this release.
|