freebsd-skq/sys/contrib/dev/ath/ath_hal/ar9300
Adrian Chadd bed90bf8ed [ath_hal] Add get/set NAV functions
The NAV (network allocation vector) register reflects the current MAC
tracking of NAV - when it will stay quiet before transmitting.

Other devices transmit their frame durations in their 802.11 PHY headers
and all devices that hear a frame - even if it's one in an encoding
they don't understand - will understand the low bitrate PHY header that
includes the frame duration.  So, they'll set NAV to this value so
they'll stay quiet until the transmit completes.

Anyway, sometimes the PHY NAV header is garbled and sometimes, notably
older broadcom devices, will fake a long NAV so they can get "cleaner" air
for local calibration.  When this happens, the hardware will stay quiet
for quite some time and this can lead to missed/stuck beacons, or
(for Very Large Values) a MAC hang.

This code just adds the ability to get/set the NAV; the driver will
need to take care of using it during transmit hangs and beacon misses
to see if it's due to a trash looking NAV.
2021-04-18 22:52:31 -07: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
ar9300_beacon.c
ar9300_devid.h
ar9300_eeprom.c [ar9300] Disable unconditionally reducing transmit power in the case of FCC. 2020-05-11 05:53:12 +00:00
ar9300_freebsd_inc.h
ar9300_freebsd.c [ath_hal] Add get/set NAV functions 2021-04-18 22:52:31 -07:00
ar9300_freebsd.h
ar9300_gpio.c
ar9300_interrupts.c
ar9300_jupiter10.ini
ar9300_jupiter20.ini
ar9300_keycache.c
ar9300_mci.c
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] Disable unconditionally reducing transmit power in the case of FCC. 2020-05-11 05:53:12 +00:00
ar9300_power.c
ar9300_radar.c
ar9300_radio.c
ar9300_raw_adc_capture.c
ar9300_recv_ds.c
ar9300_recv.c
ar9300_reset.c [ath_hal] ar9300: save TSF across full chip reset 2021-04-18 22:49:54 -07:00
ar9300_rtt.c
ar9300_sim.c
ar9300_sim.h
ar9300_spectral.c
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 athhal: disable unused function (big endian only) 2019-08-21 10:42:31 +00:00
ar9300_xmit.c
ar9300.h [ath] [ath_hal] Propagate the HAL_RESET_TYPE through to the chip reset; set it during ath_reset() 2020-05-25 22:31:45 +00:00
ar9300desc.h
ar9300eep.h [ath_hal] [ath_hal_ar9300] Fix endian macros to work in and out of kernel tree. 2020-05-12 02:20:27 +00:00
ar9300paprd.h
ar9300phy.h
ar9300radar.h
ar9300reg.h
ar9300template_ap121.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_aphrodite.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_cus157.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_generic.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_hb112.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_hb116.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_osprey_k31.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_wasp_2.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_wasp_k31.h
ar9300template_xb112.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9300template_xb113.h [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used. 2020-05-12 02:23:11 +00:00
ar9330_11.ini
ar9330_12.ini
ar9340.ini
ar9462_2p0_initvals.h
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