History log of /src/sys/dev/ic/ath.c |
Revision | | Date | Author | Comments |
1.139 |
| 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.138 |
| 06-Nov-2021 |
msaitoh | Fix typo in comment. s/notifcation/notification/
|
1.137 |
| 21-Sep-2021 |
christos | don't opencode kauth_cred_get()
|
1.136 |
| 09-Aug-2021 |
andvar | fix various typos in compatibility, mainly in comments.
|
1.135 |
| 12-Jun-2021 |
riastradh | ath(4): Use config_deactivate; don't abuse autoconf private dv_flags.
|
1.134 |
| 13-Apr-2021 |
mrg | branches: 1.134.2; use correct enum types for various functions.
|
1.133 |
| 16-Nov-2020 |
msaitoh | branches: 1.133.2; s/reseting/resetting/
|
1.132 |
| 22-Jul-2020 |
msaitoh | branches: 1.132.2; s/reseting/resetting/
|
1.131 |
| 12-Jun-2020 |
thorpej | pmf-powerdown == false --> pmf-no-powerdown == true
|
1.130 |
| 29-Jan-2020 |
thorpej | Adopt <net/if_stats.h>.
|
1.129 |
| 17-Dec-2019 |
christos | branches: 1.129.2; Protect network ioctls from non-authorized users. (Ilja Van Sprundel)
|
1.128 |
| 10-Nov-2019 |
chs | in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
1.127 |
| 28-May-2019 |
msaitoh | branches: 1.127.2; Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
1.126 |
| 23-May-2019 |
msaitoh | Whitespace fix (mainly tabify).
|
1.125 |
| 23-May-2019 |
msaitoh | -No functional change: - KNF - u_int*_t -> uint*_t.
|
1.124 |
| 26-Jun-2018 |
msaitoh | branches: 1.124.2; Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
1.123 |
| 02-Feb-2017 |
nonaka | branches: 1.123.6; 1.123.12; wlan interfaces make interrupt routine running on softint context.
see http://mail-index.netbsd.org/tech-kern/2016/12/06/msg021281.html
tested device: * ath at pci: AR5212, AR5424 * athn at pci: AR9287 * ipw at pci: 2100BG * iwi at pci: 2915ABG * iwm at pci: 3165, 7260, 8260 * iwn at pci: 4945, 6235 * ral at pci: RT2560 * rtwn at pci: RTL8192CE
|
1.122 |
| 10-Jun-2016 |
ozaki-r | branches: 1.122.2; 1.122.4; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
1.121 |
| 26-May-2016 |
ozaki-r | Introduce M_CLEARCTX and use it instead of open-coding rcvif
No functional change.
|
1.120 |
| 26-May-2016 |
ozaki-r | Use M_GETCTX
No functional change.
|
1.119 |
| 08-Apr-2016 |
roy | Revert prior.
|
1.118 |
| 06-Apr-2016 |
roy | Fix rssi
|
1.117 |
| 18-Oct-2014 |
snj | branches: 1.117.2; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.116 |
| 12-Sep-2013 |
martin | branches: 1.116.4; 1.116.6; 1.116.10; Remove unused variable
|
1.115 |
| 27-Jan-2013 |
jmcneill | branches: 1.115.2; don't transmit while in a key change is in progress
|
1.114 |
| 08-Nov-2012 |
dyoung | Use NetBSD's own KASSERT() and KASSERTMSG() instead of #undef and re-#defining KASSERT(), which is awkward at best.
|
1.113 |
| 28-Nov-2011 |
jmcneill | branches: 1.113.8; SVN r220966 from FreeBSD:
Fix a corner-case of interrupt handling which resulted in potentially spurious (and fatal) interrupt errors.
|
1.112 |
| 07-Oct-2011 |
dyoung | branches: 1.112.2; Get rid of the "I don't know what I was thinking / somebody should have stopped me / does anybody read source-changes?" ATH_LOCK()/ATH_UNLOCK() and bracket with splnet()/splx() instead. This is still not *good*, since ifnet ioctls are not (yet) synchronized, but could be no worse than what we have, now. Survives light testing with my (forthcoming) ifnet ioctl synchronization patch.
|
1.111 |
| 07-Mar-2011 |
cegger | Get improvements from FreeBSD-current (January 2011). Successfully tested with WEP, WPA and WPA2 on AR9285. Reviewed by jmcneill@
|
1.110 |
| 20-Feb-2011 |
jmcneill | support building as a module
|
1.109 |
| 05-Apr-2010 |
joerg | branches: 1.109.2; 1.109.4; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
1.108 |
| 19-Jan-2010 |
pooka | branches: 1.108.2; 1.108.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
1.107 |
| 16-Sep-2009 |
dyoung | In pmf(9), improve the implementation of device self-suspension and make suspension by self, by drvctl(8), and by ACPI system sleep play nice together. Start solidifying some temporary API changes.
1. Extract a new header file, <sys/device_if.h>, from <sys/device.h> and #include it from <sys/pmf.h> instead of <sys/device.h> to break the circular dependency between <sys/device.h> and <sys/pmf.h>.
2. Introduce pmf_qual_t, an aggregate of qualifications on a PMF suspend/resume call. Start to replace instances of PMF_FN_PROTO, PMF_FN_ARGS, et cetera, with a pmf_qual_t.
3. Introduce the notion of a "suspensor," an entity that holds a device in suspension. More than one suspensor may hold a device at once. A device stays suspended as long as at least one suspensor holds it. A device resumes when the last suspensor releases it.
Currently, the kernel defines three suspensors,
3a the system-suspensor: for system suspension, initiated by 'sysctl -w machdep.sleep_state=3', by lid closure, by power-button press, et cetera,
3b the drvctl-suspensor: for device suspension by /dev/drvctl ioctl, e.g., drvctl -S sip0.
3c the system self-suspensor: for device drivers that suspend themselves and their children. Several drivers for network interfaces put the network device to sleep while it is not administratively up, that is, after the kernel calls if_stop(, 1). The self-suspensor should not be used directly. See the description of suspensor delegates, below.
A suspensor can have one or more "delegates". A suspensor can release devices that its delegates hold suspended. Right now, only the system self-suspensor has delegates. For each device that a self-suspending driver attaches, it creates the device's self-suspensor, a delegate of the system self-suspensor.
Suspensors stop a system-wide suspend/resume cycle from waking devices that the operator put to sleep with drvctl before the cycle. They also help self-suspension to work more simply, safely, and in accord with expectations.
4. Add the notion of device activation level, devact_level_t, and a routine for checking the current activation level, device_activation(). Current activation levels are DEVACT_LEVEL_BUS, DEVACT_LEVEL_DRIVER, and DEVACT_LEVEL_CLASS, which respectively indicate that the device's bus is active, that the bus and device are active, and that the bus, device, and the functions of the device's class (network, audio) are active.
Suspend/resume calls can be qualified with a devact_level_t. The power-management framework treats a devact_level_t that qualifies a device suspension as the device's current activation level; it only runs hooks to reduce the activation level from the presumed current level to the fully suspended state. The framework treats a devact_level_t qualifying device resumption as the target activation level; it only runs hooks to raise the activation level to the target.
5. Use pmf_qual_t, devact_level_t, and self-suspensors in several drivers.
6. Temporarily add an unused power-management workqueue that I will remove or replace, soon.
|
1.106 |
| 02-Aug-2009 |
jmcneill | - fix TKIP, changes adapted from FreeBSD - reduce diffs between FreeBSD and NetBSD athvar.h
|
1.105 |
| 11-Dec-2008 |
alc | Doh! What should have happened happens ...
Restore the check to see if the chip does MIC correctly when WME is turned on. Btw, define IEEE80211_C_WME_TKIPMIC and fix build :/
|
1.104 |
| 11-Dec-2008 |
alc | Sync ath(4) with the new HAL, mostly based on <jmcneill>'s patches.
Everything should be fine again !
|
1.103 |
| 07-Nov-2008 |
dyoung | *** Summary ***
When a link-layer address changes (e.g., ifconfig ex0 link 02:de:ad:be:ef:02 active), send a gratuitous ARP and/or a Neighbor Advertisement to update the network-/link-layer address bindings on our LAN peers.
Refuse a change of ethernet address to the address 00:00:00:00:00:00 or to any multicast/broadcast address. (Thanks matt@.)
Reorder ifnet ioctl operations so that driver ioctls may inherit the functions of their "class"---ether_ioctl(), fddi_ioctl(), et cetera---and the class ioctls may inherit from the generic ioctl, ifioctl_common(), but both driver- and class-ioctls may override the generic behavior. Make network drivers share more code.
Distinguish a "factory" link-layer address from others for the purposes of both protecting that address from deletion and computing EUI64.
Return consistent, appropriate error codes from network drivers.
Improve readability. KNF.
*** Details ***
In if_attach(), always initialize the interface ioctl routine, ifnet->if_ioctl, if the driver has not already initialized it. Delete if_ioctl == NULL tests everywhere else, because it cannot happen.
In the ioctl routines of network interfaces, inherit common ioctl behaviors by calling either ifioctl_common() or whichever ioctl routine is appropriate for the class of interface---e.g., ether_ioctl() for ethernets.
Stop (ab)using SIOCSIFADDR and start to use SIOCINITIFADDR. In the user->kernel interface, SIOCSIFADDR's argument was an ifreq, but on the protocol->ifnet interface, SIOCSIFADDR's argument was an ifaddr. That was confusing, and it would work against me as I make it possible for a network interface to overload most ioctls. On the protocol->ifnet interface, replace SIOCSIFADDR with SIOCINITIFADDR. In ifioctl(), return EPERM if userland tries to invoke SIOCINITIFADDR.
In ifioctl(), give the interface the first shot at handling most interface ioctls, and give the protocol the second shot, instead of the other way around. Finally, let compatibility code (COMPAT_OSOCK) take a shot.
Pull device initialization out of switch statements under SIOCINITIFADDR. For example, pull ..._init() out of any switch statement that looks like this:
switch (...->sa_family) { case ...: ..._init(); ... break; ... default: ..._init(); ... break; }
Rewrite many if-else clauses that handle all permutations of IFF_UP and IFF_RUNNING to use a switch statement,
switch (x & (IFF_UP|IFF_RUNNING)) { case 0: ... break; case IFF_RUNNING: ... break; case IFF_UP: ... break; case IFF_UP|IFF_RUNNING: ... break; }
unifdef lots of code containing #ifdef FreeBSD, #ifdef NetBSD, and #ifdef SIOCSIFMTU, especially in fwip(4) and in ndis(4).
In ipw(4), remove an if_set_sadl() call that is out of place.
In nfe(4), reuse the jumbo MTU logic in ether_ioctl().
Let ethernets register a callback for setting h/w state such as promiscuous mode and the multicast filter in accord with a change in the if_flags: ether_set_ifflags_cb() registers a callback that returns ENETRESET if the caller should reset the ethernet by calling if_init(), 0 on success, != 0 on failure. Pull common code from ex(4), gem(4), nfe(4), sip(4), tlp(4), vge(4) into ether_ioctl(), and register if_flags callbacks for those drivers.
Return ENOTTY instead of EINVAL for inappropriate ioctls. In zyd(4), use ENXIO instead of ENOTTY to indicate that the device is not any longer attached.
Add to if_set_sadl() a boolean 'factory' argument that indicates whether a link-layer address was assigned by the factory or some other source. In a comment, recommend using the factory address for generating an EUI64, and update in6_get_hw_ifid() to prefer a factory address to any other link-layer address.
Add a routing message, RTM_LLINFO_UPD, that tells protocols to update the binding of network-layer addresses to link-layer addresses. Implement this message in IPv4 and IPv6 by sending a gratuitous ARP or a neighbor advertisement, respectively. Generate RTM_LLINFO_UPD messages on a change of an interface's link-layer address.
In ether_ioctl(), do not let SIOCALIFADDR set a link-layer address that is broadcast/multicast or equal to 00:00:00:00:00:00.
Make ether_ioctl() call ifioctl_common() to handle ioctls that it does not understand.
In gif(4), initialize if_softc and use it, instead of assuming that the gif_softc and ifp overlap.
Let ifioctl_common() handle SIOCGIFADDR.
Sprinkle rtcache_invariants(), which checks on DIAGNOSTIC kernels that certain invariants on a struct route are satisfied.
In agr(4), rewrite agr_ioctl_filter() to be a bit more explicit about the ioctls that we do not allow on an agr(4) member interface.
bzero -> memset. Delete unnecessary casts to void *. Use sockaddr_in_init() and sockaddr_in6_init(). Compare pointers with NULL instead of "testing truth". Replace some instances of (type *)0 with NULL. Change some K&R prototypes to ANSI C, and join lines.
|
1.102 |
| 09-Jul-2008 |
joerg | branches: 1.102.2; 1.102.4; 1.102.8; - device/softc split for ath(4)
|
1.101 |
| 17-Jun-2008 |
dyoung | branches: 1.101.2; Repair a discrepancy between the 802.11 standard and ath(4) operation where transmit fragmentation is concerned.
Extract from ath_tx_start() the code for subtracting padding from the packet length, creating subroutine deduct_pad_bytes(). Note that the arithmetic in deduct_pad_bytes() is suspicious.
Use deduct_pad_bytes() to repair the computation of the 802.11 Duration field for fragments. The computation used to leave out the FCS, among other things.
Some discrepancies between ath(4) operation and the standard may still remain. According to my observations, the gaps between transmitted fragments may be approximately 8 microseconds too long.
|
1.100 |
| 04-May-2008 |
rumble | branches: 1.100.2; 1.100.4; If a device transmit timeout occurs and sc_txintrperiod is greater than one, throttle it down before the reset. This way the user need not know the magic `hw.ath0.txintrperiod=1' fix if the default value is too high for their machine.
|
1.99 |
| 12-Mar-2008 |
dyoung | branches: 1.99.2; 1.99.4; Use device_t and its accessors throughout. Use aprint_*_dev().
Improve PMF-ability.
Add a 'flags' argument to suspend/resume handlers and callers such as pmf_system_suspend().
Define a flag, PMF_F_SELF, which indicates to PMF that a device is suspending/resuming itself. Add helper routines, pmf_device_suspend_self(dev) and pmf_device_resume_self(dev), that call pmf_device_suspend(dev, PMF_F_SELF) and pmf_device_resume(dev, PMF_F_SELF), respectively. Use PMF_F_SELF to suspend/resume self in ath(4), audio(4), rtw(4), and sip(4).
In ath(4) and in rtw(4), replace the icky sc_enable/sc_disable callbacks, provided by the bus front-end, with self-suspension/resumption. Also, clean up the bus front-ends. Make sure that the interrupt handler is disestablished during suspension. Get rid of driver-private flags (e.g., RTW_F_ENABLED, ath_softc->sc_invalid); use device_is_active()/device_has_power() calls, instead.
In the network-class suspend handler, call if_stop(, 0) instead of if_stop(, 1), because the latter is superfluous (bus- and driver-suspension hooks will 'disable' the NIC), and it may cause recursion.
In the network-class resume handler, prevent infinite recursion through if_init() by getting out early if we are self-suspending (PMF_F_SELF).
rtw(4) improvements:
Destroy rtw(4) callouts when we detach it. Make rtw at pci detachable. Print some more information with the "rx frame too long" warning.
Remove activate() methods:
Get rid of rtw_activate() and ath_activate(). The device activate() methods are not good for much these days.
Make ath at cardbus resume with crypto functions intact:
Introduce a boolean device property, "pmf-powerdown". If pmf-powerdown is present and false, it indicates that a bus back-end should not remove power from a device.
Honor this property in cardbus_child_suspend().
Set this property to 'false' in ath_attach(), since removing power from an ath at cardbus seems to lobotomize the WPA crypto engine. XXX Should the pmf-powerdown property propagate toward the root of the device tree?
Miscellaneous ath(4) changes:
Warn if ath(4) tries to write crypto keys to suspended hardware.
Reduce differences between FreeBSD and NetBSD in ath(4) multicast filter setup.
Make ath_printrxbuf() print an rx descriptor's status & key index, to help debug crypto errors.
Shorten a staircase in ath_ioctl(). Don't check for ieee80211_ioctl() return code ERESTART, it never happens.
|
1.98 |
| 04-Jan-2008 |
ad | branches: 1.98.2; 1.98.6; Start detangling lock.h from intr.h. This is likely to cause short term breakage, but the mess of dependencies has been regularly breaking the build recently anyhow.
|
1.97 |
| 22-Dec-2007 |
dyoung | Remove the remnants of the powerhooks.
|
1.96 |
| 14-Dec-2007 |
dyoung | Exit from ath_init() with EBUSY if the device does not have power.
|
1.95 |
| 13-Dec-2007 |
dyoung | Back out previous my previous change, it stops device resumption entirely.
|
1.94 |
| 13-Dec-2007 |
dyoung | Do not reinitialize the NIC while it is suspended.
|
1.93 |
| 09-Dec-2007 |
jmcneill | branches: 1.93.2; Merge jmcneill-pm branch.
|
1.92 |
| 27-Nov-2007 |
dyoung | branches: 1.92.2; 1.92.4; Bug fix: in ath_init(), if ath_enable() fails, ATH_UNLOCK() before returning.
|
1.91 |
| 26-Nov-2007 |
dyoung | Don't process the CAB queue twice in ath_tx_proc_q0123.
|
1.90 |
| 26-Nov-2007 |
dyoung | Eliminate redundant check for read-only mbuf data, since M_TRAILINGSPACE() does a more complete check on NetBSD.
|
1.89 |
| 26-Nov-2007 |
dyoung | Bug fix: restore antenna diversity settings after reset.
|
1.88 |
| 26-Nov-2007 |
dyoung | Use device_xname(). Make device_printf() take a device_t argument. Add __attribute__((__format__(__printf__,2,3))) to device_printf() so that the compiler will help us detect bad arguments.
Retire unused subroutine m_defrag(), and unused declaration m_getcl().
|
1.87 |
| 19-Oct-2007 |
ad | branches: 1.87.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.86 |
| 01-Sep-2007 |
dyoung | branches: 1.86.4; Change a bazillion occurrences of code resembling this,
error = (cmd == SIOCADDMULTI) ? ether_addmulti(ifr, &sc->sc_ec) : ether_delmulti(ifr, &sc->sc_ec);
if (error == ENETRESET) {
to this,
if ((error = ether_ioctl(ifp, cmd, data)) == ENETRESET) {
which does the same thing.
(A bazillion is a very large number. This seems to make the i386 ALL kernel smaller by 3kB to 4kB.)
Use ifreq_getaddr() twice in es(4).
Whitespace nits.
|
1.85 |
| 29-Aug-2007 |
dyoung | Constify: LLADDR() -> CLLADDR().
|
1.84 |
| 17-Jul-2007 |
dyoung | branches: 1.84.2; 1.84.6; 1.84.8; Suppress spurious timeouts and avoid wedging in OACTIVE state:
1 Set or clear OACTIVE as transmit buffers are depleted or replenished, respectively. Do not use 802.11 acknowledgements as a criteria for clearing OACTIVE.
2 Let each transmit queue count down to timeout independently, and get rid of the shared countdown (sc_tx_timer). When we add a packet to a transmit queue, restart the queue's countdown. Stop a transmit queue's countdown when the queue empties.
|
1.83 |
| 17-Apr-2007 |
dyoung | Plug an mbuf leak. Found by inspection.
Do not clear IFF_OACTIVE and reset the transmit watchdog timer unless we have actually freed some transmit resources. This prevents my wireless routers from needlessly entering ath_start() without any transmit resources. If the MAC's transmitter has frozen, also, then the driver will take the "out of xmit buffers" path in ath_start(), which sets OACTIVE without activating the transmit watchdog. That freezes the transmit path until the driver is reset.
XXX The "out of xmit buffers" path in ath_start() needs more XXX attention.
|
1.82 |
| 04-Mar-2007 |
christos | branches: 1.82.2; 1.82.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.81 |
| 29-Jan-2007 |
hubertf | branches: 1.81.2; Remove more duplicate headers. Patch by Slava Semushin <slava.semushin@gmail.com>
Again, this was tested by comparing obj files from a pristine and a patched source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs, src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers were detected in 'objdump -d' output.
|
1.80 |
| 09-Jan-2007 |
dyoung | ath-specific support for 802.11 fragmentation. From Sam Leffler.
Screen-scraped by me from the WWW source browser at perforce.freebsd.org.
|
1.79 |
| 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.78 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.77 |
| 24-Sep-2006 |
jmcneill | Add "name" parameter to powerhook_establish, to aid debugging. No objections on tech-kern@
|
1.76 |
| 14-Jul-2006 |
seanb | branches: 1.76.4; 1.76.6; Consistently establish / disestablish shutdown hook in the bus layer and remove from common ath_attach(). Having it in both layers (on some bus architectures) was causing a double call to ath_stop() on shutdown which in turn was tickling the bus lockup described therin on slower machines.
|
1.75 |
| 08-Jun-2006 |
gdamore | Print bus_addr_t using PRIx64 (casting to uint64_t), which fixes builds on 32-bit sparc (which have 64-bit bus_addr_t, but only 32-bit pointers.)
|
1.74 |
| 05-Jun-2006 |
gdamore | Import new HAL 0.9.17.2. Approved by sam@
New HAL includes some driver changes to register accesses. Adds support for WLAN devices on AR5312 family devices. Adds support 32-bit SPARC ath devices (untested). ath enabled in SPARC64 GENERIC builds. This HAL is tested and known to work for i386 PCI devices, SPARC64 PCI devices, and AR5312 WiSoC devices. MIPS PCI devices appear to be busted (possibly only on Alchemy hardware, unconfirmed), and cardbus support is untested due to lack of test hardware.
Please report any new problems with this import to garrett@.
|
1.73 |
| 26-May-2006 |
blymn | Clean up bogus whitespace
|
1.72 |
| 11-May-2006 |
mrg | branches: 1.72.2; cast the return value of several macros that evaluate to "(func() == FOO)" to (void) to avoid "computed value not used" warnings.
|
1.71 |
| 14-Apr-2006 |
christos | Coverity CID 725: Remove dead code.
|
1.70 |
| 02-Apr-2006 |
gdamore | Reorganize ath layout as requested by sam@ and suggested by dyoung@ in http://mail-index.netbsd.org/tech-net/2006/03/15/0000.html.
The new layout almost precisely matches FreeBSD, and should make future imports much easier.
At the same time, import the current 0.9.16.16 HAL from FreeBSD. According to sam@, this is the proper version we should be using.
|
1.69 |
| 08-Mar-2006 |
lukem | branches: 1.69.2; Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings. Add a space between numbers and Hz unit.
|
1.68 |
| 02-Mar-2006 |
dyoung | branches: 1.68.2; 1.68.4; Miscellaneous ath(4) and net80211 updates and bug-fixes coming from sam@ and various open source repositories:
ath(4):
Ignore "phantom" beacon misses: should stabilize connections to access points (no more ceaseless link-UP/DOWN indications). Also, re-synchronize beacon timer using the TSF in the first beacon received after joining a BSS---this should also help suppress spurious beacon misses. I am hopeful that this will help ath(4) lossage reported by perry@ and smb@.
Add new configuration through sysctl.
Use a shorter calibration interval until IQ calibration finishes.
Report antenna noise through radiotap.
Rudiments of Radar Detection / Dynamic Frequency Selection.
Update to HAL version 0.9.16.13.
Update open sources for changes to the HAL API.
Add HALs for additional architectures: add big-endian ELF HALs for sparc64 and for PowerPC. Also add a Alpha HAL. These new HALs are untested under NetBSD.
ath(4) + net80211:
Make the multicast transmit rate configurable by ioctl.
Miscellaneous bug fixes.
|
1.67 |
| 27-Feb-2006 |
dyoung | Quiet ath(4) when debug output is enabled with the hw.athX.debug sysctl: only print messages pertaining to transmission when ATH_DEBUG_XMIT is set, instead of printing them when ATH_DEBUG_ANY is set.
Patch via Sam Leffler.
|
1.66 |
| 24-Dec-2005 |
perry | branches: 1.66.2; 1.66.4; 1.66.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.65 |
| 03-Dec-2005 |
rpaulo | s/NBFILTER/NBPFILTER
|
1.64 |
| 03-Dec-2005 |
rpaulo | Make this compile without bpf(4).
|
1.63 |
| 24-Nov-2005 |
dyoung | Put the microsecond timestamp in the radiotap header for received frames.
|
1.62 |
| 23-Nov-2005 |
dyoung | Non-functional change: a missing '}' in an #ifdef __FreeBSD__ section confuses ctags(1), so I add the '}'.
|
1.61 |
| 18-Nov-2005 |
skrll | Resolve conflicts.
|
1.60 |
| 14-Oct-2005 |
gdt | branches: 1.60.6; When bringing an interface up, and thus perhaps having just powered it on (e.g. cardbus), write the wep keys to the card. Fixes problem of receiving gibberish if one has set wep keys before bringing the interface up, and also after ifconfig ath0 down; ifconfig ath0 up.
(Tested with current from 20050926 with local mods, and discussed with sam@ and dyoung@. This is not 100% right, but significantly better than before. Really we should have an interator in net80211 to repush all key state, include per-node keys.)
|
1.59 |
| 13-Sep-2005 |
martin | The entity passed to the HAL as a HAL_BUS_HANDLE needs to be an integral or pointer type. So on sparc64 (and maybe others too?) where bus_space_handle_t is a struct, pass the address of the bus_space_handle_t and adjust the register access functions accordingly.
While there, slightly optimize the bus_space_* usage in the register access functions and macros.
|
1.58 |
| 21-Aug-2005 |
dyoung | Remove redundant ath_tsf_extend subroutine. Use ath_extend_tsf, instead. This reduces diffs with FreeBSD as a side-effect.
|
1.57 |
| 27-Jul-2005 |
dyoung | A few fixes affecting user control of the transmit/receive antenna, and antenna diversity:
Check the hardware capabilities---transmit power control (TPC), antenna diversity---before setting up the sysctls that control those capabilities. Previously, the TPC and ant. diversity sysctls were not setup because ath_sysctlattach was called before sc_hastpc and sc_hasdiversity were initialized, so users could not view/control antenna diversity or TPC settings, even on hardware with those capabilities.
Obey the user's transmit-antenna selection even when sending IBSS beacons on hardware with VEOL capability; for all other hardware/modes, only switch transmit antennas after every four beacons if the user has not selected a transmit antenna---i.e., they chose antenna 1 or 2 instead of 0 ("auto").
|
1.56 |
| 27-Jul-2005 |
dyoung | Cosmetic: remove an out-dated "note to self."
|
1.55 |
| 26-Jul-2005 |
dyoung | Resolve conflicts.
|
1.54 |
| 06-Jul-2005 |
dyoung | Historically, an(4), ath(4), atw(4), rtw(4), and wi(4) have printed out their modes and rates at boot. Revert to the historical behavior.
|
1.53 |
| 03-Jul-2005 |
dyoung | branches: 1.53.2; Locking changes.
+ Synchronize ath_calibrate() with ATH_LOCK()/ATH_UNLOCK(). Thanks to Steve Woodford for suggesting this fix. This patch stops ath(4) from generating messages "hardware error; resetting" while Steve's D-Link DWL-AG650 card is operating (kern/28385). The MiniPCI wireless adapter on one of my Soekris boards also operates more reliably following this patch.
+ Use ATH_LOCK_IMPL() and family to synchronize access to the transmit queue, also.
|
1.52 |
| 03-Jul-2005 |
dyoung | Create per-instance sysctl nodes for ath(4), e.g., hw.ath0.debug, hw.ath1.debug.
|
1.51 |
| 03-Jul-2005 |
dyoung | Bug fix: send all multicast data frames at the lowest possible data rate, with short preamble turned *off*. Fixes IBSS operation, where multicast frames were sent at the highest possible rate with short preamble turned *on*, so the likelihood of reception was relatively low, and there was no chance for stations w/o short preamble capability to receive the frames.
XXX This is a quick fix that I will revisit very soon. Multicast data frames are eligible to be sent with short preamble in IEEE80211_M_STA, IEEE80211_M_HOSTAP modes. An AP knows who all of its peers are at all times, so it can make an intelligent decision. Ditto the AP client.
XXX The rate adaptation should be involved in choosing short/long preamble. Also, we can make a reasonable choice of a higher multicast data rate based on statistics gathered by the rate adaptation module.
|
1.50 |
| 03-Jul-2005 |
dyoung | Cosmetic: repair indentation.
|
1.49 |
| 30-Jun-2005 |
dyoung | Fix $FreeBSD$ RCS IDs, which gave me a real shock when their revision numbers moved backwards.
|
1.48 |
| 22-Jun-2005 |
martin | Remove unused <atomic.h> include; add <sys/device.h> includes where needed.
|
1.47 |
| 22-Jun-2005 |
dyoung | Resolve conflicts in importation of 18-May-2005 ath(4) / net80211(9) from FreeBSD. Introduce compatibility shims (sys/dev/ic/ath_netbsd.[ch], sys/net80211/ieee80211_netbsd.[ch]). Update drivers (an, atu, atw, awi, ipw, iwi, rtw, wi) for the new net80211(9) API.
|
1.46 |
| 20-Jun-2005 |
atatat | Change the rest of the sysctl subsystem to use const consistently. The __UNCONST macro is now used only where necessary and the RW macros are gone. Most of the changes here are consumers of the sysctl_createv(9) interface that now takes a pair of const pointers which used not to be.
|
1.45 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.44 |
| 19-Jan-2005 |
dyoung | branches: 1.44.2; For a proper IBSS merge, we have to discard the old beacon packet, create and queue a new one that carries the new BSSID. I mined net80211 in FreeBSD for the solution, which is to make an IEEE80211_S_RUN->IEEE80211_S_RUN state transition---ath_newstate discards the old beacon packet creates a new one by calling ath_beacon_alloc.
I tested the merge as follows. Starting at my desk on the second floor of the building where I work:
soekris% ifconfig ath0 mediaopt adhoc ssid zzz chan 11 down
powerbook% ifconfig rtw0 mediaopt adhoc ssid zzz chan 11 up
soekris% sleep 25; ifconfig ath0 up
I raced to the elevator with my Powerbook, pressed the "Down" button, got in, and pressed "Floor 1." At the first floor:
powerbook% ifconfig rtw0 | grep bssid bssid 02:p:p:p:p:p chan 11
I waited 25 seconds. I pressed "Floor 2." At Floor 2, I returned to my desk. I checked to make sure that the Soekris console read:
soekris% ath0: creating bss 02:s:s:s:s:s ath0: bss merge 02:s:s:s:s:s -> 02:p:p:p:p:p
0:s:s:s:s:s is the Soekris' WLAN MAC. 0:p:p:p:p:p is the Powerbook's WLAN MAC. Each created an ad hoc-mode BSSID from its WLAN MAC by OR'ing 0x2 with the first octet.
My Powerbook created a network while the Soekris radio was off. The Soekris radio turned on while I was in the 802.11-impervious elevator with my Powerbook. When I returned to the second floor, the Soekris "heard" beacons from my Powerbook as the elevator door opened. Since the Powerbook's network was approximately 25 seconds older than the Soekris', and since it had the same SSID (zzz) as the Soekris', the Soekris merged with the Powerbook's network (by setting its BSSID) as it should.
|
1.43 |
| 16-Jan-2005 |
dyoung | branches: 1.43.2; It's necessary to stop DMA on the beacon ring and reconfigure the beacon after an IBSS merge, or else beacons transmissions may not resume like we expect. From Sam Leffler.
|
1.42 |
| 04-Jan-2005 |
dyoung | In ad hoc mode, start the ath rate adaptation with the lowest, most robust transmit bit rate. From Greg Troxel.
|
1.41 |
| 04-Jan-2005 |
dyoung | IBSS-merge clean-up, inspired by some Linux patches from Jon Anderson (mail@janderson.ca): remove ieee80211_ibss_merge's TSFT argument. Do the TSFT comparison in the drivers (ath, atw). Remove a lot of extraneous debug statements from ieee80211_ibss_merge.
Set the ieee80211_node's state to IEEE80211_STA_BSS after it's been copied to the ic_bss, not before.
In struct ieee80211_node, make the ni_tstamp field a union of a uint64_t and the 8 TSF octets so that it's easier to compare a neighbor's TSF with the local TSF.
Log IBSS merges (Greg Troxel's suggestion). Also log IBSS creation. These are rare and important events that deserve to be logged.
|
1.40 |
| 27-Dec-2004 |
dyoung | Disconnect the "stop transmitter/receiver" function from the "power-off NIC" function, by adding a 'disable' argument to ath_stop. Pass disable=0 to ath_stop() at the top of ath_init, so that we don't power-off the Cardbus slot before resetting the HAL. Thanks to Greg Troxel for his analysis of this bug.
|
1.39 |
| 28-Sep-2004 |
yamt | ath_getmbuf: check MCLGET failure.
|
1.38 |
| 07-Sep-2004 |
enami | ath_debug is bitmask and takes much wider value than 0, 1, or 2.
|
1.37 |
| 18-Aug-2004 |
dyoung | Hubert Feyrer points out that hw.ath.countrycode really ought to be writeable. Make hw.ath.outdoor writeable while I am here.
|
1.36 |
| 10-Aug-2004 |
dyoung | IBSS fixes: get IBSS beacon generation right. Merge with a same-SSID, same-channel IBSS.
|
1.35 |
| 10-Aug-2004 |
dyoung | Make the node table into an LRU cache: least-recently used nodes are at the end of the node queue. Change the reference-counting discipline: ni->ni_refcnt indicates how many times net80211 has granted ni to the driver. Every node in the table with ni_refcnt=0 is eligible to be garbage-collected. The mere presence of a node in the table does not any longer indicate its auth/assoc state; nodes have a ni_state variable, now. A sysctl, net.link.ieee80211.maxnodecache, controls the maximum LRU cache size.
While I am here, patch ieee80211_find_node_for_beacon to do a "best match" by bssid/ssid/channel, not a "perfect match." This keeps net80211 from caching duplicate nodes in the table.
|
1.34 |
| 08-Aug-2004 |
yamt | ath_init1: return EIO rather than -1 on a failure of ath_hal_reset. -1 isn't appropriate for if_init.
|
1.33 |
| 03-Aug-2004 |
dyoung | Synchronize with the WEP code in madwifi. Konstantin KABASSANOV verified for me that this fixes his WEP problems. The HAL ABI for WEP had changed.
|
1.32 |
| 30-Jul-2004 |
mycroft | branches: 1.32.2; Only discard beacons in AHDEMO mode, where we ignore management frames completely. In particular, accept them in monitor mode (where we generally aren't doing anything unless we're in promiscuous mode anyway) and host-AP mode (where we want to see neighbor APs).
|
1.31 |
| 28-Jul-2004 |
dyoung | Finalize import of the Atheros HAL 0.9.9.13, bringing ath(4) up-to-date where the HAL API changed.
|
1.30 |
| 23-Jul-2004 |
mycroft | Cleanup of ieee80211_node from madwifi: * Don't use ifp pointers; use ieee80211com. * Implement the locking macros that are used under FreeBSD and Linux.
|
1.29 |
| 23-Jul-2004 |
mycroft | IEEE80211_F_WEPON -> IEEE80211_F_PRIVACY
|
1.28 |
| 22-Jul-2004 |
mycroft | Support promiscuous mode for an AP too(!).
|
1.27 |
| 31-May-2004 |
dyoung | No need for ath_start to set the WEP bit in the frame header, the 802.11 layer does it for us.
|
1.26 |
| 25-May-2004 |
atatat | Remaining sysctl descriptions under hw subtree (ath and bge)
|
1.25 |
| 30-Apr-2004 |
dyoung | From FreeBSD. Lots has changed. I lazily yank text from the FreeBSD commit log:
|
1.24 |
| 27-Mar-2004 |
atatat | branches: 1.24.2; GC ath_node_root as well, but modify to work around the single (tightly scoped) reason for recording the node address by recording the assigned number. Dink pci/if_bge.c to match, since ic/ath.c was used as the archetype.
|
1.23 |
| 24-Mar-2004 |
atatat | Tango on sysctl_createv() and flags. The flags have all been renamed, and sysctl_createv() now uses more arguments.
|
1.22 |
| 15-Mar-2004 |
dyoung | Move the ath(4) sysctls to hw.ath from ath.
|
1.21 |
| 13-Mar-2004 |
dyoung | Enable extended channel set.
Add some debug code for printing the HAL's notion of available channels if hw.ath.debug = 1.
|
1.20 |
| 01-Mar-2004 |
dyoung | Attach the ath(4) sysctls:
ath.dwell: channel dwell time (ms) for AP/station scanning ath.calibrate: chip calibration interval (secs) ath.outdoor: enable/disable outdoor operation ath.countrycode: (opaque?) country code ath.regdomain: (opaque?) regulatory domain ath.debug: 0 (no debug messages), 1 (some messages), 2 (all messages)
|
1.19 |
| 29-Feb-2004 |
dyoung | Update ath(4)'s Hardware Abstraction Layer (HAL) to version 0.9.6.11.
Both the API and ABI changed, hence the changes to so many .c and .h files.
|
1.18 |
| 16-Dec-2003 |
dyoung | Synchronize with FreeBSD:
* add constants to enums
* HAL update: stops panics, fixes ad hoc-mode beacons, some API changes
* get and use mac/phy/rf front-end revision codes
* add a custom ath(4) ic_node_getrssi callback which does RSSI averaging
* do not immediately scan, but re-associate after missing beacons.
* bug fix: don't if_init after detach.
* HAL diagnostics ioctl, SIOCGATHDIAG
* send DS parameters element in beacons
* const-ify some pointers
* consolidate rx-filter settings into ath_calcrxfilter
* abstract FreeBSD `ticks', NetBSD `hardclock_ticks' with ATH_TICKS()
* misc. other changes
|
1.17 |
| 07-Dec-2003 |
dyoung | In _STA mode, don't panic when a stray beacon-miss interrupt is received. Instead, ignore it. It's normal for a stray to come during the transition to monitor mode.
|
1.16 |
| 16-Nov-2003 |
dyoung | So that the internal bridge works in AP mode, call ath_start after processing Rx packets.
|
1.15 |
| 02-Nov-2003 |
wiz | Fix some typos. From Tom Cosgrove via jmc@openbsd.
|
1.14 |
| 02-Nov-2003 |
dyoung | Use ieee80211_find_rxnode to attribute Rx packets to the write ieee80211_node. This reduces code duplication. It will help us support passive scanning and rate adaptation.
|
1.13 |
| 21-Oct-2003 |
yamt | don't swap powerhook and shutdownhook.
|
1.12 |
| 16-Oct-2003 |
dyoung | Fix WEP transmission, too. From FreeBSD/Sam Leffler.
|
1.11 |
| 16-Oct-2003 |
dyoung | ath(4) failed to detect when the number of DMA segments exceeded the number of descriptors, because of a disparity between the bus_dmamap_load_mbuf implementation in FreeBSD and NetBSD. Now I cover up the difference using ath_dmamap_load_mbuf.
Thanks Enami Tsugutomo for diagnosing this.
|
1.10 |
| 16-Oct-2003 |
ichiro | add {shutdownhook,powerhook}disestablish()
|
1.9 |
| 15-Oct-2003 |
itojun | add $NetBSD$
|
1.8 |
| 15-Oct-2003 |
enami | Return 0 on SIOC{ADD,DEL}MULTI.
|
1.7 |
| 15-Oct-2003 |
itojun | s/printf/DPRINTF/ for ath_rate_ctl()
|
1.6 |
| 15-Oct-2003 |
dyoung | Fix WEP reception.
|
1.5 |
| 15-Oct-2003 |
enami | Port multicast handling to NetBSD. Addresses PR23151.
|
1.4 |
| 14-Oct-2003 |
dyoung | Do not index arrays using enum constants, since enums can be re-ordered and extended. Instead, use a switch-statement or a key->value table with appropriate bounds-checking.
|
1.3 |
| 14-Oct-2003 |
ichiro | add support ath on cardbus - implement power management
|
1.2 |
| 13-Oct-2003 |
dyoung | NetBSD/FreeBSD compatibility changes NetBSD, especially locking, mbuf
|
1.1 |
| 07-Oct-2003 |
dyoung | branches: 1.1.1; Initial revision
|
1.1.1.6 |
| 18-Nov-2005 |
skrll | Import FreeBSD's ath(4) of 1-nov-2005
|
1.1.1.5 |
| 26-Jul-2005 |
dyoung | Import FreeBSD's ath(4) of 2005-07-11
|
1.1.1.4 |
| 21-Jun-2005 |
dyoung | Import FreeBSD's ath(4) of 2005-05-18
|
1.1.1.3 |
| 29-Apr-2004 |
dyoung | Import FreeBSD's ath of 28-apr-2004
|
1.1.1.2 |
| 15-Dec-2003 |
dyoung | Import FreeBSD's ath of 12-dec-2003
|
1.1.1.1 |
| 07-Oct-2003 |
dyoung | Initial import of ath(4) from FreeBSD.
|
1.24.2.3 |
| 22-Aug-2004 |
tron | Pull up revision 1.37 (requested by dyoung in ticket #772): Hubert Feyrer points out that hw.ath.countrycode really ought to be writeable. Make hw.ath.outdoor writeable while I am here.
|
1.24.2.2 |
| 23-Jul-2004 |
he | Pull up revision 1.28 (requested by mycroft in ticket #693): Support promiscuous mode for an AP too(!).
|
1.24.2.1 |
| 29-May-2004 |
tron | Pull up revision 1.26 (requested by atatat in ticket #392): Remaining sysctl descriptions under hw subtree (ath and bge)
|
1.32.2.12 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.32.2.11 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.32.2.10 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.32.2.9 |
| 24-Jan-2005 |
skrll | Sync with HEAD.
|
1.32.2.8 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.32.2.7 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
1.32.2.6 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.32.2.5 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.32.2.4 |
| 25-Aug-2004 |
skrll | Sync with HEAD.
|
1.32.2.3 |
| 12-Aug-2004 |
skrll | Sync with HEAD.
|
1.32.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.32.2.1 |
| 30-Jul-2004 |
skrll | file ath.c was added on branch ktrace-lwp on 2004-08-03 10:46:10 +0000
|
1.43.2.2 |
| 29-Apr-2005 |
kent | sync with -current
|
1.43.2.1 |
| 16-Jan-2005 |
kent | file ath.c was added on branch kent-audio2 on 2005-04-29 11:28:49 +0000
|
1.44.2.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.53.2.8 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.53.2.7 |
| 21-Jan-2008 |
yamt | sync with head
|
1.53.2.6 |
| 07-Dec-2007 |
yamt | sync with head
|
1.53.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.53.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.53.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.53.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.53.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.60.6.2 |
| 29-Nov-2005 |
yamt | sync with head.
|
1.60.6.1 |
| 22-Nov-2005 |
yamt | sync with head.
|
1.66.6.3 |
| 07-Jun-2006 |
kardel | Sync with head.
|
1.66.6.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.66.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.66.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.66.2.1 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.68.4.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.68.2.5 |
| 11-Aug-2006 |
yamt | sync with head
|
1.68.2.4 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.68.2.3 |
| 24-May-2006 |
yamt | sync with head.
|
1.68.2.2 |
| 11-Apr-2006 |
yamt | sync with head
|
1.68.2.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.69.2.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.72.2.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.76.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.76.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.76.4.3 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.76.4.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.76.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.81.2.2 |
| 07-May-2007 |
yamt | sync with head.
|
1.81.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.82.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.82.2.4 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.82.2.3 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.82.2.2 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.82.2.1 |
| 27-May-2007 |
ad | Sync with head.
|
1.84.8.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.84.8.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.84.8.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.84.6.5 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.84.6.4 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.84.6.3 |
| 01-Oct-2007 |
joerg | Extend device API by device_power_private and device_power_set_private. The latter is a temporary mean until the pnp_register API itself is overhault. This functions allow a generic power handler to store its state independent of the driver.
Use this and revamp the PCI power handling. Pretty much all PCI devices had power handlers that did the same thing, generalize this in pci_generic_power_register/deregister and the handler. This interface offers callbacks for the drivers to save and restore state on transistions. After a long discussion with jmcneill@ it was considered to be powerful enough until evidence is shown that devices can handle D1/D2 with less code and higher speed than without the full save/restore. The generic code is carefully written to handle device without PCI-PM support and ensure that the correct registers are written to when D3 loses all state.
Reimplement the generic PCI network device handling on top of PCI generic power handling.
Introduce pci_disable_retry as used and implemented locally at least by ath(4) and iwi(4). Use it in this drivers to restore behaviour from before the introduction of generic PCI network handling.
Convert all PCI drivers that were using pnp_register to the new framework. The only exception is vga(4) as it is commonly used as console device. Add a note therein that this should be fixed later.
|
1.84.6.2 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.84.6.1 |
| 23-Aug-2007 |
joerg | Convert ath(4) to new style power management. Remove the resetting of the PCI retry register on resume, the restored configuration should have it already.
|
1.84.2.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.86.4.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.87.2.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.87.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.87.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.92.4.1 |
| 11-Dec-2007 |
yamt | sync with head.
|
1.92.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.93.2.2 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.93.2.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.98.6.5 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.98.6.4 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.98.6.3 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.98.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.98.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.98.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.99.4.5 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.99.4.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.99.4.3 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.99.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.99.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.99.2.2 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.99.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.100.4.2 |
| 18-Jul-2008 |
simonb | Sync with head.
|
1.100.4.1 |
| 18-Jun-2008 |
simonb | Sync with head.
|
1.100.2.2 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.100.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.101.2.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.101.2.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.102.8.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.102.4.2 |
| 07-Aug-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #775): sys/dev/ic/ath.c: revision 1.106 sys/dev/ic/athvar.h: revision 1.28 - fix TKIP, changes adapted from FreeBSD - reduce diffs between FreeBSD and NetBSD athvar.h
|
1.102.4.1 |
| 07-Aug-2009 |
snj | Apply patch (requested by jmcneill in ticket 775): Update to the open source atheros HAL.
|
1.102.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.108.4.3 |
| 21-Apr-2011 |
rmind | sync with head
|
1.108.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.108.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.108.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.109.4.1 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.109.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.112.2.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.112.2.2 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.112.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.113.8.4 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.113.8.3 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.113.8.2 |
| 25-Feb-2013 |
tls | resync with head
|
1.113.8.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.115.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.116.10.1 |
| 17-Dec-2019 |
martin | Pull up following revision(s) (requested by christos in ticket #1718):
sys/dev/ic/ath.c: revision 1.129
Protect network ioctls from non-authorized users. (Ilja Van Sprundel)
|
1.116.6.1 |
| 17-Dec-2019 |
martin | Pull up following revision(s) (requested by christos in ticket #1718):
sys/dev/ic/ath.c: revision 1.129
Protect network ioctls from non-authorized users. (Ilja Van Sprundel)
|
1.116.4.1 |
| 17-Dec-2019 |
martin | Pull up following revision(s) (requested by christos in ticket #1718):
sys/dev/ic/ath.c: revision 1.129
Protect network ioctls from non-authorized users. (Ilja Van Sprundel)
|
1.117.2.4 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.117.2.3 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.117.2.2 |
| 29-May-2016 |
skrll | Sync with HEAD
|
1.117.2.1 |
| 22-Apr-2016 |
skrll | Sync with HEAD
|
1.122.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.122.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.123.12.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.123.6.1 |
| 17-Dec-2019 |
martin | Pull up following revision(s) (requested by christos in ticket #1475):
sys/dev/ic/ath.c: revision 1.129
Protect network ioctls from non-authorized users. (Ilja Van Sprundel)
|
1.124.2.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.124.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.124.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.127.2.1 |
| 17-Dec-2019 |
martin | Pull up following revision(s) (requested by christos in ticket #569):
sys/dev/usb/if_umb.c: revision 1.10 sys/net/if.c: revision 1.466 sys/dev/ic/ath.c: revision 1.129
Protect network ioctls from non-authorized users. (Ilja Van Sprundel)
|
1.129.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.132.2.1 |
| 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|
1.133.2.1 |
| 17-Apr-2021 |
thorpej | Sync with HEAD.
|
1.134.2.1 |
| 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|