summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
Commit message (Collapse)AuthorAgeFilesLines
* Change the remainder of the drivers for DMA'ing devices enabled in themarius2007-01-212-2/+2
| | | | | | | | sparc64 GENERIC and the sound device drivers known working on sparc64 to use bus_get_dma_tag() to obtain the parent DMA tag so we can get rid of the sparc64_root_dma_tag kludge eventually. Except for ath(4), sk(4), stge(4) and ti(4) these changes are runtime tested (unless I booted up the wrong kernels again...).
* add compat shim for ath_hal_isgsmsku until the new hal gets committedsam2007-01-151-0/+5
|
* save changes for handling 5416/5418 partssam2007-01-152-28/+30
|
* Add initial support for 900MHz cards like the Ubiquiti SR9:sam2007-01-152-36/+55
| | | | | | | | o eliminate assumptions that half/quarter rate channels on exist in 11a o handle frequency mapping between hal and net80211; hal gives us freq's in the range 2422..2437 that we remap MFC after: 1 month
* Add half/quarter rate 11a channel support:sam2006-12-272-63/+112
| | | | | | | | | | | | | | | | | o change handling of regdomain-related mib knobs so they can be set post-attach: regdomain, countrycode, outdoor, and xchanmode; the hal will not permit changing the regdomain but we expose it for now o on regdomain/countrycode change recalculate the channel list and push it to the net80211 layer (NB: looks to need more tweaking) o setup rate tables for half/quarter rate channels o honor half/quarter rate channel configs when changing channels o honor half/quarter rate channel configs when setting the slot time o use hack/nonstandard channel numbering scheme for the public safety band to avoid overlapping 2.4G channels on dual-band cards o remove setup of ic_sup_rates; the net80211 layer can do this for us and it simplifies handling of half/quarter rate channels Tested only in Public Safety Band with cards that have RF5112.
* Track v0.9.20.3 hal:sam2006-12-137-292/+292
| | | | | | | | | | | | | | | | | | | | | o no more ds_vdata in tx/rx descriptors o split h/w tx/rx descriptor from s/w status o as part of the descriptor split change the rate control module api so the ath_buf is passed in to the module so it can fetch both descriptor and status information as needed o add some const poisoning Also for sample rate control algorithm: o split debug msgs (node, rate, any) o uniformly bounds check rate indices (and in some cases correct checks) o move array index ops to after bounds checking o use final tsi from the status block instead of the h/w descriptor o replace h/w descriptor struct's with proper mask+shift defs (this doesn't belong here; everything is known by the driver and should just be sent down so there's no h/w-specific knowledge) MFC after: 1 month
* clarify shortcut returnsam2006-12-011-2/+2
| | | | | Submitted by: cognet, kevlo MFC after: 1 week
* mark tx/rx descriptors COHERENT; we do not sync changes so onsam2006-11-241-1/+2
| | | | | | architectures like arm this is necessary MFC after: 1 month
* correct diag request to fetch isr state on fatal interruptssam2006-10-091-1/+1
| | | | MFC after: 1 week
* o move ath hal os glue code from the hal to the driver: this code wassam2006-09-182-0/+571
| | | | | | | | | | | | part of the hal distribution early on when the hal was built for each os but it's been portable for a long time so move the os-specific code out (and off the vendor branch) o correct the copyright on ah_osdep.?; it was mistakenly given a restricted license and not a dual-bsd/gpl license o remove the module api definition as it was never used o fixup include paths for move of ah_osdep.h MFC after: 2 weeks
* Add support for newer parts that do not require separate keycachesam2006-09-182-39/+121
| | | | | | | entries for tx+rx mic keys. This requires a newer hal, but works fine with the current hal in cvs. MFC after: 2 weeks
* remove stub radar support; it's never been used and futuresam2006-09-182-29/+0
| | | | | | hal's will not include the calls (due to redesign) MFC after: 1 week
* while (0); -> while (0) in multi-line macrosimp2006-08-171-1/+1
|
* o add noise floor to statssam2006-08-102-0/+6
| | | | | | | | o include current tx rate in stats so athstats gets a consistent snapshot and doesn't have to make an extra ioctl o record tx rate for raw frames MFC after: 3 weeks
* check return value of ath_tx_dmasetupsam2006-08-081-0/+2
| | | | Noticed by: yongari
* raw 802.11 packet transmit supportsam2006-08-052-101/+357
| | | | Joint work with: Andrea Bittau <a.bittau@cs.ucl.ac.uk>
* add missing \n'ssam2006-07-261-2/+2
| | | | | Submitted by: avatar@ MFC after: 1 week
* check tim is present in the beacon before defer'ing the mcast buffer bit;sam2006-07-261-1/+2
| | | | | | | insures we don't do this when operating in adhoc mode Submitted by: avatar@ MFC after: 1 week
* enable rx of control frames when in monitor modesam2006-06-261-0/+4
| | | | | Submitted by: Andrea Bittau <a.bittau@cs.ucl.ac.uk> MFC after: 1 week
* Close race in handling mcast traffic when operating as an ap withsam2006-06-262-39/+104
| | | | | | | | | | stations in power save: add a new q where mcast frames are stashed and on beacon update (at DTIM) move frames from the mcast q to the cabq and start it. This ensures the cabq is only manipulated in one place. Sponsored by: Hobnob MFC after: 2 weeks
* new statssam2006-06-231-1/+3
| | | | MFC after: 1 month
* bandaid type coercion for ia64sam2006-06-071-2/+2
| | | | Submitted by: marcel
* move hal bus+tag externalization to the bus glue code where it belongs;sam2006-06-053-6/+6
| | | | | | this is a noop on all current freebsd architectures MFC after: 1 month
* add missed calls to bpf_peers_presentsam2006-06-021-1/+1
|
* Fix the following bpf(4) race condition which can result in a panic:csjp2006-06-021-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (1) bpf peer attaches to interface netif0 (2) Packet is received by netif0 (3) ifp->if_bpf pointer is checked and handed off to bpf (4) bpf peer detaches from netif0 resulting in ifp->if_bpf being initialized to NULL. (5) ifp->if_bpf is dereferenced by bpf machinery (6) Kaboom This race condition likely explains the various different kernel panics reported around sending SIGINT to tcpdump or dhclient processes. But really this race can result in kernel panics anywhere you have frequent bpf attach and detach operations with high packet per second load. Summary of changes: - Remove the bpf interface's "driverp" member - When we attach bpf interfaces, we now set the ifp->if_bpf member to the bpf interface structure. Once this is done, ifp->if_bpf should never be NULL. [1] - Introduce bpf_peers_present function, an inline operation which will do a lockless read bpf peer list associated with the interface. It should be noted that the bpf code will pickup the bpf_interface lock before adding or removing bpf peers. This should serialize the access to the bpf descriptor list, removing the race. - Expose the bpf_if structure in bpf.h so that the bpf_peers_present function can use it. This also removes the struct bpf_if; hack that was there. - Adjust all consumers of the raw if_bpf structure to use bpf_peers_present Now what happens is: (1) Packet is received by netif0 (2) Check to see if bpf descriptor list is empty (3) Pickup the bpf interface lock (4) Hand packet off to process From the attach/detach side: (1) Pickup the bpf interface lock (2) Add/remove from bpf descriptor list Now that we are storing the bpf interface structure with the ifnet, there is is no need to walk the bpf interface list to locate the correct bpf interface. We now simply look up the interface, and initialize the pointer. This has a nice side effect of changing a bpf interface attach operation from O(N) (where N is the number of bpf interfaces), to O(1). [1] From now on, we can no longer check ifp->if_bpf to tell us whether or not we have any bpf peers that might be interested in receiving packets. In collaboration with: sam@ MFC after: 1 month
* quiet tindexbox complaints about passing BUS_SPACE_MAXADDR assam2006-05-082-2/+2
| | | | | | | | a bus_size_t to bus_dma_tag_create; when PAE is enabled this does not work Cluebat by: scottl MFC after: 2 weeks
* force type coercion for bus tag+handle when calling ath_hal_attachsam2006-05-061-1/+2
| | | | | | | | to ensure we match the type signature; we cannot assume HAL_BUS_TAG and HAL_BUS_HANDLE correspond to bus_space_tag_t and bus_space_handle_t (should probably do this for HAL_SOFTC too but leave that for now) MFC after: 1 month
* correct typesam2006-05-051-1/+1
| | | | MFC after: 2 weeks
* intercept public safety channels and do explicit mapping of freq->ieeesam2006-04-261-1/+14
| | | | | | | channel number since we're not ready at the net80211 layer to deal with them; note this mapping has to match what's done in ieee80211_mhz2ieee MFC after: 3 days
* honor fixed tx antenna when sending beacon framessam2006-04-251-1/+2
| | | | | Submitted by: Michael Stevens (from netbsd) MFC after: 1 week
* Improve ath_draintxq debug info: dump the packet as wellsam2006-04-161-7/+22
| | | | | | as the descriptor and handle the beacon q like other q's MFC after: 1 month
* Unbreak cabq handling: check the s/w q, not the h/w q as the framessam2006-04-161-2/+2
| | | | | | | | | | have not been passed to the h/w yet. This remedies watchdog timeout of buffered multicast frames in hostap mode. While here eliminate an extraneous check; ieee80211_beacon_update sets the tim bit based on ncabq != 0 so there's no reason to check it too. Noticed by: Christophe Prevotaux
* o add opt_ath.h enable tweaking various config parameters for the driversam2006-04-031-12/+16
| | | | | | | without modifying the source code o default debug msgs and diag support to off MFC after: 3 days
* correct ni_txrate when using a fixed rate; fixes current rate reportingsam2006-03-091-1/+4
| | | | MFC after: 3 days
* backout 1.136 until we can resolve report that it causes output to stallsam2006-02-272-42/+18
|
* fix a race whereby a tx descriptor might get reused before the hardwaresam2006-02-242-18/+42
| | | | | | | | | | is finished with it; this may only occur when the tx queue is setup as dba-gated but since the fix is cheap apply it to all queues while here make the queue depth signed for use in assertions Reviewed by: apatti MFC after: 2 weeks
* drop softc lock around copyin/copyoutsam2006-02-151-0/+2
| | | | MFC after: 2 weeks
* fix build w/o AR_DEBUGsam2006-02-151-3/+10
| | | | MFC after: 2 weeks
* improve tx/rx buf printing routinessam2006-02-151-18/+25
| | | | MFC after: 2 weeks
* add missing bit from 1.130sam2006-02-151-1/+1
|
* o handle fatal errors directly instead of via the task queuesam2006-02-152-10/+16
| | | | | | | o temporarily dump some h/w state for diagnosis; this will be removed once some issues are resolved MFC after: 2 weeks
* use ath_hal_gettxintrtxqs so we only process h/w txsam2006-02-151-1/+2
| | | | | | queues that have an interrupt pending MFC after: 2 weeks
* fixup commentssam2006-02-151-6/+5
|
* close race between ath_tx_start and ath_tx_processqsam2006-02-151-1/+2
| | | | | Reviewed by: apatti MFC after: 1 week
* fix comment and whitespacesam2006-02-131-3/+2
|
* fix merge botch (duplicate processing of cabq for old cards)sam2006-02-131-1/+0
|
* Update for rev 0.9.16.16 hal:sam2006-02-102-29/+291
| | | | | | | | | | | | o add dfs+radar hooks; DFS is presently disabled in the hal o channel and mode handling changes o various api changes o be more aggressive about iq calibration settling so ap mode operation is better immediately after startup o rfkill/rfsilent sysctl support o tpc ack/cts sysctl support MFC after: 2 weeks
* pad for future statisticssam2006-02-091-0/+1
| | | | MFC after: 2 weeks
* Minor tx path cleanups:sam2006-02-091-13/+6
| | | | | | | | | | o assume all data frames have been classified so there's no need to check if QoS is being used, just fetch the wme priority from the mbuf o fix double counting of noack frames o fix nearby comment MFC after: 2 weeks
* correct handling of mbuf allocation failure when replenishing the rx listsam2006-02-091-6/+13
| | | | | | | (leave a printf for the moment, need to make a debug msg) Obtained from: atheros MFC after: 2 weeks
OpenPOWER on IntegriCloud