History log of /src/sys/arch/i386/pci/geode.c |
Revision | | Date | Author | Comments |
1.17 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.16 |
| 24-Apr-2021 |
thorpej | branches: 1.16.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.15 |
| 01-Jul-2011 |
dyoung | branches: 1.15.68; #include <sys/bus.h> instead of <machine/bus.h>.
|
1.14 |
| 19-Oct-2009 |
rmind | Drop 3rd and 4th clauses from David Young's license. Reviewed and approved by dyoung@ (copyright holder).
|
1.13 |
| 10-May-2008 |
jmcneill | branches: 1.13.12; Use aprint_naive, cleanup error printing.
|
1.12 |
| 05-May-2008 |
xtraeme | branches: 1.12.2; device_t/softc split and other related cosmetic changes.
|
1.11 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.10 |
| 04-Apr-2008 |
cegger | branches: 1.10.2; 1.10.4; use aprint_*_dev and device_xname OK joerg
|
1.9 |
| 03-Jan-2008 |
dyoung | branches: 1.9.6; Support detachment of geodegcb(4) and its children, geodecntr(4) and geodewdog(4). Support detachment of gscpcib0 and its child, gpio0.
|
1.8 |
| 16-Nov-2006 |
christos | branches: 1.8.28; 1.8.34; 1.8.42; __unused removal on arguments; approved by core.
|
1.7 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.6 |
| 07-Jun-2006 |
kardel | branches: 1.6.4; 1.6.8; 1.6.10; convert to timecounters (from branch simonb-timecounters)
|
1.5 |
| 08-Mar-2006 |
dyoung | branches: 1.5.4; 1.5.6; Move my bit-twiddling macros to libkern.h from my drivers, where I had duplicated them. Improve the macros' names. Simplify their implementation.
A brief description of each macro is below.
BIT(n): Return a bitmask with bit m set, where the least significant bit is bit 0.
BITS(m, n): Return a bitmask with bits m through n, inclusive, set. It does not matter whether m>n or m<=n. The least significant bit is bit 0.
A "bitfield" is a span of consecutive bits defined by a bitmask, where 1s select the bits in the bitfield. SHIFTIN, SHIFTOUT, and SHIFTOUT_MASK help read and write bitfields from device registers.
SHIFTIN(v, mask): Left-shift bits `v' into the bitfield defined by `mask', and return them. No side-effects.
SHIFTOUT(v, mask): Extract and return the bitfield selected by `mask' from `v', right-shifting the bits so that the rightmost selected bit is at bit 0. No side-effects.
SHIFTOUT_MASK(mask): Right-shift the bits in `mask' so that the rightmost non-zero bit is at bit 0. This is useful for finding the greatest unsigned value that a bitfield can hold. No side-effects. Note that SHIFTOUT_MASK(m) = SHIFTOUT(m, m).
Examples:
/* * Register definitions taken from the RFMD RF3000 manual. */ #define RF3000_GAINCTL 0x11 /* TX variable gain control */ #define RF3000_GAINCTL_TXVGC_MASK BITS(7, 2) #define RF3000_GAINCTL_SCRAMBLER BIT(1)
/* * Shift the transmit power into the transmit-power field of the * gain-control register and write it to the baseband processor. */ atw_rf3000_write(sc, RF3000_GAINCTL, SHIFTIN(txpower, RF3000_GAINCTL_TXVGC_MASK));
/* * Register definitions taken from the ADMtek ADM8211 manual. * */ #define ATW_RXSTAT_OWN BIT(31) /* 1: NIC may fill descriptor */ /* ... */ #define ATW_RXSTAT_DA1 BIT(17) /* DA bit 1, admin'd address */ #define ATW_RXSTAT_DA0 BIT(16) /* DA bit 0, group address */ #define ATW_RXSTAT_RXDR_MASK BITS(15,12) /* RX data rate */ #define ATW_RXSTAT_FL_MASK BITS(11,0) /* RX frame length, last * descriptor only */
/* Extract the frame length from the Rx descriptor's * status field. */ len = SHIFTOUT(rxstat, ATW_RXSTAT_FL_MASK);
|
1.4 |
| 19-Feb-2006 |
thorpej | branches: 1.4.2; 1.4.4; Use aprint_*().
|
1.3 |
| 11-Dec-2005 |
christos | branches: 1.3.2; 1.3.4; 1.3.6; merge ktrace-lwp.
|
1.2 |
| 22-Sep-2005 |
dyoung | branches: 1.2.6; Suppress false 'WARNING: LAST RESET DUE TO WATCHDOG EXPIRATION!' indications by clearing the WDOVF status flag for real. The way to do that is by writing 1, not 0.
|
1.1 |
| 22-Sep-2005 |
dyoung | Add a driver for the watchdog timer on the AMD Geode SC1100.
|
1.2.6.2 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.2.6.1 |
| 22-Sep-2005 |
skrll | file geode.c was added on branch ktrace-lwp on 2005-11-10 13:56:53 +0000
|
1.3.6.2 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.3.6.1 |
| 28-Feb-2006 |
kardel | Move watchdog timer support code out of geode.c in to its own file, leaving geode.c to just set up GDB mappings. Add support for CGB high resolution counter as a time counter.
|
1.3.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.3.2.1 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.4.4.1 |
| 19-Apr-2006 |
elad | sync with head - hopefully this will work
|
1.4.2.2 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.4.2.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.5.6.3 |
| 20-May-2006 |
tron | Pull up following revision(s) (requested by riz in ticket #1333): sys/arch/i386/pci/geode.c: revision 1.2 Suppress false 'WARNING: LAST RESET DUE TO WATCHDOG EXPIRATION!' indications by clearing the WDOVF status flag for real. The way to do that is by writing 1, not 0.
|
1.5.6.2 |
| 20-May-2006 |
tron | Pull up following revision(s) (requested by riz in ticket #1331): sys/arch/i386/conf/GENERIC: revision 1.701 sys/arch/i386/pci/geodereg.h: revision 1.1 sys/arch/i386/conf/files.i386: revision 1.270 sys/arch/i386/pci/geode.c: revision 1.1 Add a driver for the watchdog timer on the AMD Geode SC1100.
|
1.5.6.1 |
| 08-Mar-2006 |
tron | file geode.c was added on branch netbsd-3 on 2006-05-20 12:25:40 +0000
|
1.5.4.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.6.10.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.6.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.6.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.6.4.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.6.4.3 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.6.4.2 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.6.4.1 |
| 07-Jun-2006 |
yamt | file geode.c was added on branch yamt-lazymbuf on 2006-06-21 14:52:30 +0000
|
1.8.42.1 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.8.34.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.8.28.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.9.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.10.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.10.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.10.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.13.12.2 |
| 27-Aug-2011 |
jym | Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen work of cherry@.
No regression observed on suspend/restore.
|
1.13.12.1 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
1.15.68.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.16.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|