History log of /src/sys/dev/pci/if_rtw_pci.c |
Revision | | Date | Author | Comments |
1.25 |
| 25-Sep-2022 |
thorpej | Remove unnecessary include of <sys/malloc.h>.
|
1.24 |
| 09-Dec-2018 |
jdolecek | use pci_intr_establish_xname() everywhere
|
1.23 |
| 29-Mar-2014 |
christos | branches: 1.23.28; 1.23.30; make pci_intr_string and eisa_intr_string take a buffer and a length instead of relying in local static storage.
|
1.22 |
| 30-Sep-2012 |
dsl | branches: 1.22.2; Fix debug build
|
1.21 |
| 23-Sep-2012 |
chs | reformat product array to match openbsd.
|
1.20 |
| 26-Jul-2011 |
dyoung | branches: 1.20.2; 1.20.12; Replace anonymous constants, 0x10, 0x14, ..., with PCI_BAR(0), PCI_BAR(1), .... There was no change in the generated assembly. I used this semantic patch:
@ mapsit @ identifier bar; expression pact; @@
( pci_mapreg_map | Cardbus_mapreg_map )(pact, bar, ...)
@ depends on mapsit @ identifier mapsit.bar; @@ ( - #define bar 0x10 + #define bar PCI_BAR(0) | - #define bar 0x14 + #define bar PCI_BAR(1) | - #define bar 0x18 + #define bar PCI_BAR(2) | - #define bar 0x1C + #define bar PCI_BAR(3) | - #define bar 0x20 + #define bar PCI_BAR(4) )
|
1.19 |
| 26-Jan-2011 |
dyoung | Make oodles of mainly cosmetic changes that make rtw(4)'s PCI attachment resemble its CardBus attachment very, very closely: slightly more than 24 lines are different. Alas, I cannot commit the CardBus part of this change, yet, because I have to finish my overhaul of CardBus resource handling, first.
|
1.18 |
| 04-Mar-2010 |
dyoung | branches: 1.18.2; 1.18.4; 1.18.6; Make cosmetic changes in order to reduce differences with sys/dev/cardbus/if_rtw_cardbus.c: remove an unnecessary #include. Change a few cut & paste instances of ADM8211 to RTL8180. Make the suspend & resume functions static, add declarations for them at the top of the file, and move the functions themselves to the bottom.
|
1.17 |
| 24-Feb-2010 |
dyoung | A pointer typedef entails trading too much flexibility to declare const and non-const types, and the kernel uses both const and non-const PMF qualifiers and device suspensors, so change the pmf_qual_t and device_suspensor_t typedefs from "pointers to const" to non-pointer, non-const types.
|
1.16 |
| 08-Jan-2010 |
dyoung | branches: 1.16.2; Expand PMF_FN_* macros.
|
1.15 |
| 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.14 |
| 05-Sep-2009 |
tsutsui | Invert logic around nested pmf(9) registrations for readability.
XXX: should these pmf(9) calls be moved into MI attach functions XXX: using function pointers for suspend and resume passed via softc?
|
1.13 |
| 06-May-2009 |
cegger | struct cfdata * -> cfdata_t, no functional changes intended.
|
1.12 |
| 28-Apr-2008 |
martin | branches: 1.12.14; Remove clause 3 and 4 from TNF licenses
|
1.11 |
| 21-Mar-2008 |
dyoung | branches: 1.11.2; 1.11.4; pci_activate() expects for its void * argument to be a device_t, so change the type of the argument to device_t. Update each use of pci_activate().
Use device_t and accessors. Use aprint_*_dev().
|
1.10 |
| 12-Mar-2008 |
dyoung | 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.9 |
| 21-Dec-2007 |
dyoung | branches: 1.9.2; 1.9.6; Do not embed a struct device in rtw_softc any longer. Register both pci and cardbus attachments with CFATTACH_DECL_NEW(). Access the softc through the device_t using device_private().
While I'm here, change a couple of KASSERT()s about the Rx buffer length to a warning.
|
1.8 |
| 19-Oct-2007 |
ad | branches: 1.8.4; 1.8.8; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.7 |
| 01-Sep-2006 |
dyoung | branches: 1.7.12; 1.7.26; 1.7.28; 1.7.32; Remove the declaration of an unused local variable 'reg'.
|
1.6 |
| 17-Jun-2006 |
christos | re-factor the pci powestate api. reviewed by gimpy
|
1.5 |
| 28-Apr-2006 |
rpaulo | branches: 1.5.2; 1.5.4; Use aprint family of functions.
|
1.4 |
| 04-Dec-2005 |
christos | branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12; PR/32181: Matthias-Christian Ott: Add support for the Belkin F5D6001 pci device
|
1.3 |
| 22-Jun-2005 |
dyoung | branches: 1.3.2; 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.2 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.1 |
| 26-Sep-2004 |
dyoung | branches: 1.1.2; 1.1.6; 1.1.8; Add Cardbus, PCI bus front-ends for RTL8180 802.11b MAC/baseband.
|
1.1.8.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.1.6.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.1.2.5 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.1.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.1.2.3 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.1.2.2 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
1.1.2.1 |
| 26-Sep-2004 |
skrll | file if_rtw_pci.c was added on branch ktrace-lwp on 2004-10-19 15:56:59 +0000
|
1.3.2.6 |
| 24-Mar-2008 |
yamt | sync with head.
|
1.3.2.5 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.3.2.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.3.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.3.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.3.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.4.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.4.10.1 |
| 11-May-2006 |
elad | sync with head
|
1.4.8.3 |
| 03-Sep-2006 |
yamt | sync with head.
|
1.4.8.2 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.4.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.4.6.1 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.4.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.5.4.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.5.2.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.7.32.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.7.28.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.7.28.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.7.28.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.7.26.1 |
| 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.7.12.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.8.8.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.8.4.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.9.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.9.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.9.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.11.4.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.11.4.3 |
| 16-Sep-2009 |
yamt | sync with head
|
1.11.4.2 |
| 16-May-2009 |
yamt | sync with head
|
1.11.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.11.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.16.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.18.6.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.18.4.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.18.2.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.20.12.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.20.12.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.20.2.2 |
| 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.20.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.22.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.23.30.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.23.28.1 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|