summaryrefslogtreecommitdiff
path: root/sys/dev/ic/rt2661var.h
AgeCommit message (Collapse)Author
2013-12-06Add a DVACT_WAKEUP op to the *_activate() API. This is called after theTheo de Raadt
kernel resumes normal (non-cold, able to run processes, etc) operation. Previously we were relying on specific DVACT_RESUME op's in drivers creating callback/threads themselves, but that has become too common, indicating the need for a built-in mechanism. ok dlg kettenis, tested by a sufficient amount of people
2012-08-23Fix a race in rt2661 Tx interrupt processing which can cause Tx processingStefan Sperling
to get stuck with OACTIVE set, requiring 'ifconfig ral0 down up' to unwedge. Make space in the Tx queue from the rt2661_tx_dma_intr() handler, rather than waiting until rt2661_tx_intr() is run. The latter function now collects AMRR statistics only. AMRR node allocation is now separated from ieee80211_node allocation to make this possible. This commit also brings back the separation of OACTIVE flags for management and data Tx queues which I reverted in the previous commit. Inspired by ral commits by sephe@dragonflybsd and patch submission to misc@ by Roland Dreier http://marc.info/?l=openbsd-misc&m=125895269930106&w=2 Tested by myself, edd, jsg, Tobias Ulmer, Pieter Verberne, Tim van der Molen.
2012-07-17Revert my previous change for rt2661. It is causing excessive "ral0: deviceStefan Sperling
timeout" messages on my soekris and doesn't fix the real problem.
2012-07-13Keep separate OACTIVE flags to mark full management/data tx queues,Stefan Sperling
and set the interface's IFF_OACTIVE flag if either queue is full and clear it only if both queues have free slots. Before this change both queues were setting/clearing the same flag with no regard for the other queue's state. Also, don't reset the tx watchdog counter if either queue still has frames queued when we exit the frame-processing loop in the per-queue interrupt handlers. Both changes originally from sephe@dragonfly. Tested by myself and edd on a slow busy soekris which before this change required occasional 'ifconfig ral0 down up' to recover.
2011-03-18Fix firmware loading at startup (and resume); from Tim van der MolenTheo de Raadt
based on discussion with damien; tested by others on the lists
2010-09-07remove the powerhook code. All architectures now use the ca_activate treeTheo de Raadt
traversal code to suspend/resume ok oga kettenis blambert
2010-08-27Stop calling xxx_power() from xxx_resume(); instead do it the other way around.Mark Kettenis
Get rid of the sc_power() callback, which isn't used anymore. ok deraadt@
2010-08-04add suspend/resume support for PCI ral(4) devices.Damien Bergamini
ok deraadt@, sthen@ tested by matthew@ (RT2560), dcoppa@ (RT2790), okan@ (RT2860), todd@ (RT2560)
2009-08-10three more shutdown hooks bite the dust.Damien Bergamini
2006-10-22replace rssadapt(9) with amrr for automatic rate control.Damien Bergamini
as a side-effect, this should fix all the "bogus xmit rate" panics users have been complaining about for some time when operating in HostAP mode.
2006-08-03802.11a uses a 16 microseconds short interframe space.Damien Bergamini
With this change, I now have a working 802.11a ral-based AP. Fix rt2661_set_macaddr() so that we don't override the "unicast to me" flag in RT2661_MAC_CSR3 when setting the MAC address. Thanks to wim@ for donating a RT2561 a/b/g adapter.
2006-06-18- implement new ic_updateslot() callback.Damien Bergamini
- in hostap mode, we defer update of the slot time until all associated STAs are notified with updated beacons.
2006-06-08Keep track of the average RSSI using an Exponential Moving Average (EMA).Damien Bergamini
Use it to dynamically tune radio receive sensitivity. The idea is simple: - increase sensitivity when the RSSI is bad to optimize throughput on long distance to the AP, and - decrease sensitivity when the RSSI is good to reduce noise level and optimize throughput on short distance to the AP The EMA allows to smooth RSSI variations so we don't end up changing the sensitivity too frequently. We check if it would be worth updating the sensitivity every one second. RSSI thresholds were taken from the Ralink Tech. Linux driver. Also, clean a few things while I'm here: - account for FCS when determining if RTS protection must be used - fix check for whether WEP encryption is needed or not - encrypt mgmt frames if we need to (shared authmode) - cosmetic tweaks
2006-06-01Add powerhooks for ral(4) cards with RT2561 chipset, and also fixRobert Nagy
builds with RAL_DEBUG, so we have debug information now. ok damien@
2006-02-25load the firmware only when necessary (first call to rt2661_init or if theDamien Bergamini
cardbus socket has been powered off). restore the call to rt2661_init() in the watchdog since the firmware is not reloaded in this case. fixes "timeout waiting for BBP" errors seen on some PCI adapters.
2006-01-14- give rate to rx radiotapDamien Bergamini
- read TSF high 32bit word before low 32bit word to avoid wraparounds
2006-01-10- use rssadapt(9) as rate control algorithmDamien Bergamini
- add 802.11 radiotap support - read 802.11a channels tx power from EEPROM - read vendor-specific BBP settings from EEPROM - fix setting of beacons (xflags) - fix DMA sync in rt2661_rx_intr - indicate whether RF supports MIMO in dmesg - add short slot time support - many cleanups while i'm here
2006-01-09- add preliminary support for Ralink Technology RT2561, RT2561S and RT2661Damien Bergamini
chipsets in ral(4). - restructure the code a bit; split ic/ral.c into ic/rt2560.c and ic/rt2661.c - import the 8051 microcode files required by these chipsets. - more to come; there is currently no automatic rate control and some features are untested (hostap and ibss modes for instance). most of the pre-802.11n capabilities of the RT2661 chipset are not supported (like frame aggregation, piggy-back). MIMO should work though the performance/range gain has not been measured.