freebsd-nq/sys/contrib/dev/ath/ath_hal/ar9300
Adrian Chadd a8083b9c0b [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI.
One of the fun issues with scanning has been how the existing
ANI values were programmed into the hardware when channels were
changed.  If you're on a really crappy channel and ANI has made
you deaf then when you scan you continue to be deaf on all channels.

This code passes in a flag to startpcureceive which in AR5416 and later
is also used to enable ANI.  This allows it to know if it's a normal
operation or a scan operation.

This fixes my situation at home where a temporary spot of a device
going deaf due to interference starts scanning and .. can't hear
anything until I restart.

Now, this isn't the full fix - ideally:

(a) all the ANI config and per-channel information would be migrated
     to the shared HAL stuff and enabled for all of the NICs;
(b) when a station reassociates and some other error conditions
    (like missed beacons, NF calibration failures, etc) a knob
    to reset ANI parameters would likely help recovery.

But hey, I'm committing bits of code again! woo!

Tested:

* AR9344 (2G), STA operation
2019-04-21 02:36:01 +00:00
..
ar953x.ini
ar955x.ini
ar9300_aic.c
ar9300_ani.c [ath_hal_ar9300] Add some comments around the AR9300 ANI code. 2019-03-19 00:07:12 +00:00
ar9300_aphrodite10.ini
ar9300_attach.c [ath_hal] quieten a bit of the boot messages - this stuff has been working for a while. 2016-09-12 04:58:59 +00:00
ar9300_beacon.c
ar9300_devid.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ar9300_eeprom.c Fix improper use of "its". 2016-11-08 23:59:41 +00:00
ar9300_freebsd_inc.h
ar9300_freebsd.c [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
ar9300_freebsd.h
ar9300_gpio.c
ar9300_interrupts.c [ath_hal] add extra debugging for MCI interrupts. 2016-06-01 03:17:36 +00:00
ar9300_jupiter10.ini
ar9300_jupiter20.ini
ar9300_keycache.c
ar9300_mci.c [ath_hal] convert the MCI code over to work on Jupiter 2.1. 2016-06-05 02:15:29 +00:00
ar9300_misc.c [ath_hal_ar9300] Add the missing bits from the previous HAL commit. 2019-03-06 08:52:02 +00:00
ar9300_osprey22_scoemu.ini
ar9300_osprey22.ini
ar9300_paprd.c
ar9300_phy.c
ar9300_power.c
ar9300_radar.c [ath_hal] [ar9300] initial radar detection glue. 2017-02-02 09:19:57 +00:00
ar9300_radio.c
ar9300_raw_adc_capture.c
ar9300_recv_ds.c [ath_hal] add locationing / tx-beamforming RX status descriptor decoding. 2016-07-08 22:39:37 +00:00
ar9300_recv.c
ar9300_reset.c [ath_hal] Return failure if noise floor calibration fails. 2018-06-08 18:21:57 +00:00
ar9300_rtt.c
ar9300_sim.c
ar9300_sim.h
ar9300_spectral.c [ath_hal] [ar9300] initial hacks to make spectral scan working on AR9380 and later NICs. 2017-02-02 05:29:22 +00:00
ar9300_stub_funcs.c [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
ar9300_stub_funcs.h [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle resetting ANI. 2019-04-21 02:36:01 +00:00
ar9300_stub.c
ar9300_stub.h
ar9300_timer.c
ar9300_tx99_tgt.c
ar9300_txbf_cal.c
ar9300_txbf.c
ar9300_txbf.h
ar9300_xmit_ds.c [ath_hal] Add setting positioning bit and clear sounding-disable bit. 2016-07-08 22:37:52 +00:00
ar9300_xmit.c [ar9300] don't program a negative readytime. 2016-08-09 01:05:29 +00:00
ar9300.h [ath_hal] migrate the shared HAL_RESET_* pieces out into ath_hal. 2018-05-25 01:27:39 +00:00
ar9300desc.h
ar9300eep.h Quiesce a couple pages of clang warnings with a cast. Duplicates 2018-05-18 17:23:23 +00:00
ar9300paprd.h
ar9300phy.h [ath_hal] [ar9300] initial radar detection glue. 2017-02-02 09:19:57 +00:00
ar9300radar.h
ar9300reg.h [ath_hal] add a _S so FSP (frame scheduling policy) can be set/read via SM/MS macros. 2016-06-08 16:21:38 +00:00
ar9300template_ap121.h
ar9300template_aphrodite.h
ar9300template_cus157.h
ar9300template_generic.h
ar9300template_hb112.h
ar9300template_hb116.h
ar9300template_osprey_k31.h
ar9300template_wasp_2.h
ar9300template_wasp_k31.h
ar9300template_xb112.h
ar9300template_xb113.h
ar9330_11.ini
ar9330_12.ini
ar9340.ini
ar9462_2p0_initvals.h [ath_hal] Make the AR9462 2.0 initvals from ath9k compile. 2016-06-05 01:42:37 +00:00
ar9462_2p1_initvals.h
ar9485_1_1.ini
ar9485.ini
ar9580.ini
eeprom.diff
osprey_reg_map_macro.h
osprey_reg_map.h
poseidon_reg_map_macro.h
scorpion_reg_map_macro.h
scorpion_reg_map.h
sources
wasp_reg_map.h