summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
Commit message (Collapse)AuthorAgeFilesLines
* only invoke ath_rate_tx_complete to update rate control state when thesam2005-07-072-1/+5
| | | | | | | | | | frame being sent is to be ack'd and hasn't been filtered by the h/w; this insures we don't pass in tx descriptors that have no meaningful state (e.g. mcast/bcast frames are not acked and so have no tx retry counts) Approved by: re (scottl) Obtained from: Atheros
* Stop embedding struct ifnet at the top of driver softcs. Instead thebrooks2005-06-104-38/+47
| | | | | | | | | | | | | | | | | | | | struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam
* Change station mode beacon timer setup to insure the calculatedsam2005-06-091-6/+49
| | | | | | nextTbtt is always ahead of the h/w TSF. Reviewed by: avatar
* Set the correct IFS parameters for the beacon tx queuesam2005-06-072-1/+49
| | | | when operating in ap and adhoc modes.
* Misc keycache changes:sam2005-06-062-79/+176
| | | | | | | | | | o purge ath_initkeytable; it's not needed o add multicast key search support for supporting multiple group keys (disabled for now; requires updated hal) o create keycache entry for stations using open auth so they get h/w antenna management support o add keycache -> node mapping table; eliminates mac-based lookup in the net80211 layer
* restore led state on resumesam2005-06-021-0/+4
| | | | Submitted by: markus
* honor new IEEE80211_KEY_GROUP key flagsam2005-04-122-1/+31
| | | | Reviewed by: Tai-hwa Liang
* use frame type returned by ieee80211_input to drive softled codesam2005-04-042-5/+3
| | | | instead of monitoring the input packet count
* fix size_to_binsam2005-04-021-1/+1
| | | | Obtained from: madwifi
* nuke unintentional use of HAL_BOOL typesam2005-04-024-8/+8
|
* reclaim mbufs in failure casessam2005-03-311-0/+2
| | | | Submitted by: Tai-hwa Liang
* close unlikely racesam2005-03-301-2/+2
| | | | Submitted by: Michael Wong
* correct commentsam2005-03-301-3/+3
|
* o fix bug where rate wouldn't lift off lowest setting when operating assam2005-03-301-24/+47
| | | | | | | | | | an ap in 11g with protection enabled o correct rate selection when operating in 11g with protection when no packets have been sent yet (from John Bicket) o track api change to get first descriptor and use it to collect the frame length for calculating the state bin o add more debugging and shuffle some existing debugging to give more info o bump version to distinguish bug fixes
* rev rate control api to pass the both the first+last tx descriptorssam2005-03-304-6/+6
| | | | | | to the rate control module for tx complete processing; this enables rate control algorithms to extract the packet length for xmits that require multiple descriptors
* o extend cts to cover packet burst when operating in 11g w/ protectionsam2005-03-303-29/+70
| | | | | o check current channel parameters, not shadow state, for acm policy on data frames
* Fixing kernel build on amd64 machines.avatar2005-03-301-3/+3
| | | | Reviewed by: sam (mentor)
* extend the timestamp from the rx descriptor to calculate the tsf tosam2005-03-291-7/+24
| | | | use when checking for an ibss merge
* forgot to merge this bit from p4sam2005-03-291-1/+2
|
* sync rates for any associated stations or neighbors on state transitionsam2005-03-291-1/+16
|
* simplify callbacksam2005-03-292-4/+8
|
* replace m_defrag with something more suitablesam2005-03-291-3/+88
|
* fix braino introduced when converting from madwifisam2005-03-201-1/+1
|
* eliminate mid-block variable declssam2005-03-201-5/+4
|
* version 1.1 (with cleanups)sam2005-03-192-222/+533
| | | | Submitted by: John Bicket
* Adding missing module dependency. This should fix the undefined symbolavatar2005-03-111-0/+1
| | | | | | error(ath_hal_computetxtime) during module loading. Reviewed by: sam (mentor)
* SampleRate rate control algorithm for the ath driversam2005-03-112-0/+744
| | | | Submitted by: John Bicket
* reclaim mbuf chain when ieee80211_crypto_encap failssam2005-03-081-0/+1
| | | | Noticed by: David Young
* Use BUS_PROBE_DEFAULT for pci probe return valueimp2005-03-051-1/+1
|
* Fixup radiotap handling of FCS and QoS frames per discussion with David Young:sam2005-01-242-43/+16
| | | | | | | | | | | | o mark rx frames including FCS in the payload with the IEEE80211_RADIOTAP_F_FCS flag o remove hack to copy 802.11 headers with padding out of line; instead mark the frames with IEEE80211_RADIOTAP_F_DATAPAD and require applications to do the work o split precalculated radiotap flags into tx+rx now that they can be different Note the full usefulness of these changes depends on updates to applications that process radiotap data.
* beacon handling fixups for adhoc mode:sam2005-01-241-12/+21
| | | | | | | | | | o don't reclaim any previous beacon state in ath_beacon_alloc; do it explicitly in ath_newstate o reference count the node held in the beacon frame state block o process ibss merge more intelligently; let the state machine do the right thing instead of explicitly setting the new bssi id o explicitly stop tx dma before doing beacon setup to handle the ibss merge case
* switch to use bus_dmamap_load_mbuf_sgsam2005-01-241-25/+13
|
* o correct beacon interval calculation; the internal setting is in TU's not mssam2005-01-241-7/+4
| | | | o replace the private macro to convert MS->TU with the common one
* statically allocate the station/neighbor node table; the deferredsam2005-01-242-8/+6
| | | | | allocation scheme introduced a race condition during device state transitions
* adjust tx buffer allocation based on empirical testing:sam2005-01-181-3/+3
| | | | | | | o increase the max per-frame tx descriptor count and the number of tx buffers for forthcoming fast frame support o correct the max scatter/gather count; it cannot be larger than the max(tx,rx,beacon) descriptor counts
* add missing statisticsam2005-01-181-2/+4
|
* disable interrupts when transitioning to INIT state so we don't rx framessam2005-01-181-1/+4
|
* replace hand-rolled code to compact an mbuf chain with m_defrag; this issam2005-01-181-17/+4
| | | | suboptimal but needed for fast frames which won't fit in a single cluster
* setup the beacon xmit queue to not interrupt; we don't use them andsam2005-01-181-1/+18
| | | | they make the led's flash unnecessarily in adhoc mode
* better led blinkingsam2005-01-182-48/+170
|
* add paren's so we can supply a|b as a debug masksam2005-01-181-2/+2
|
* o disable pci retry timeout to avoid problems when operating in C3 statesam2005-01-181-29/+32
| | | | | | | | | (fix imported from madwifi by Takanori Watanabe) o eliminate save/restore of pci registers handled by the system o eliminate duplicate zero of the softc (noted by njl) o consolidate common code MFC after: 1 week
* bump copyright for 2005sam2004-12-319-9/+9
|
* correct some typossam2004-12-311-4/+4
| | | | Submitted by: Tai-hwa Liang
* Radiotap fixups:sam2004-12-312-21/+69
| | | | | | | | | | | | | | | | | o catch one place where we were not using ath_chan_change to switch channels; this fixes a problem where the channel settings were not being correctly reported in captured packets o return unique channel identification in the channel flags; ethereal gets confused if you return merged flags (e.g. ofdm, cck, and 2Ghz) (this is workaround and should be removed if we can ever cleanup radiotap consumers) o correct short/long preamble flag state for rx and treat tx the same--use a new hwflags array that gives us the data based on the h/w rate index/cookie o add gross hack to handle radiotap capture of frames that come in with hardware padding; should be replaced by a flag in the radiotap header and more smarts in the apps that decode radiotap data
* for parts that require split keycache entries report thesam2004-12-311-1/+4
| | | | | the index of the first entry on a mic error so we're consistent with parts that don't have split keycache
* Correct beacon timer setup logic:sam2004-12-311-15/+14
| | | | | | | | | | | o lintval is in ms; must convert to TU's for passing to the hal o roundup to calculate nexttbtt (should look at current tsf and pull the calculated nextbtt forward but this'll do for now) o don't or- in HAL_BEACON_RESET_TSF when doing station timer setup; this is not needed and messes up the sleep timer calcs, though it's unclear if it mattered as the hal masks these values before use Submitted by: Thorsten von Eicken
* no need to sweep the tx q's for node references in ath_node_free; we knowsam2004-12-311-29/+0
| | | | there are none since we're only called when the ref count goes to zero
* cleanup some assertionssam2004-12-311-12/+6
|
* Like on the ath_rate_onoe component, make this compile on amd64. Convertpeter2004-12-151-2/+2
| | | | | | | | | pointers to an integer via uintptr_t. Fix an apparent bug that caused a compile failure. ieee80211_iterate_nodes() takes ic->ic_sta as its first argument on the onoe module. It had just 'ic' here in the same context, which was a mismatched argument.
OpenPOWER on IntegriCloud