| History log of /src/sys/dev/ic/rtwphyio.c |
| Revision | | Date | Author | Comments |
| 1.19 |
| 09-Oct-2016 |
christos | PR/51540: Henning Petersen: replace , with ;
|
| 1.18 |
| 14-Sep-2013 |
joerg | branches: 1.18.6; 1.18.10; Put helper functions for debugging under the corresponding debug options.
|
| 1.17 |
| 19-Oct-2009 |
rmind | branches: 1.17.12; 1.17.22; 1.17.26; Drop 3rd and 4th clauses from David Young's license. Reviewed and approved by dyoung@ (copyright holder).
|
| 1.16 |
| 03-Mar-2008 |
tsutsui | branches: 1.16.4; Explicitly include <sys/device.h> for device_t.
|
| 1.15 |
| 19-Oct-2007 |
ad | branches: 1.15.12; 1.15.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
| 1.14 |
| 16-Nov-2006 |
christos | branches: 1.14.8; 1.14.22; 1.14.24; 1.14.28; __unused removal on arguments; approved by core.
|
| 1.13 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
| 1.12 |
| 31-Aug-2006 |
dyoung | branches: 1.12.2; 1.12.4; Per discussion on tech-kern and tech-userlevel, move the bit-twiddling macros, __BIT, __BITS, SHIFTIN, SHIFTOUT, and __arraycount() from lib/libkern/libkern.h to sys/cdefs.h. Add a __-prefix to SHIFTIN and SHIFTOUT, and add a manual page for the bit-twiddling macros, bits(3).
Make the __BIT and __BITS macros "widthless," as best I can, by changing their type to uintmax_t from uint32_t. XXX The manual page lags this change by a bit.
Define __PRIxBIT and __PRIxBITS printf(3) format strings.
|
| 1.11 |
| 08-Mar-2006 |
dyoung | 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.10 |
| 29-Dec-2005 |
dyoung | branches: 1.10.4; 1.10.6; 1.10.8; 1.10.10; Add support for the GCT Semiconductor GRF5101 transceiver/synthesizer. From OpenBSD.
GCT will not provide any documentation, so there are many magic numbers in this code.
|
| 1.9 |
| 24-Dec-2005 |
perry | Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.8 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
| 1.7 |
| 22-Jun-2005 |
dyoung | branches: 1.7.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.6 |
| 02-Jan-2005 |
dyoung | Cosmetic: change u_int{8,16,32,64}_t to C99-style uint{8,16,32,64}_t, which is preferred.
|
| 1.5 |
| 27-Dec-2004 |
dyoung | Remove useless debug sysctls.
For AP scanning, change the channel dwell time from 1 second to 1/5 second.
|
| 1.4 |
| 25-Dec-2004 |
dyoung | Change rtw_debug from a debug level to a debug mask. Add a lot of debug flags.
From Linux: handle an RTL8180 bug. Sometimes the NIC skips from the middle of the ring to the 0th rx descriptor. Now the driver resynchronizes.
Handle a receive descriptor underrun or Rx FIFO overflow condition in the way that the Linux driver does. This kind of seems like overkill, but whatever.
Protect rtw_ioctl with splnet().
Do not load a tx descriptor with a buffer shorter than 4 bytes.
Handle a transmit timeout less disruptively.
|
| 1.3 |
| 20-Dec-2004 |
dyoung | Realtek sample sources are not consistent about the "Digital PHY" bit in the SROM. It seems as if it is set to 1 when the PHY is *analog*, not *digital*. Fix my sources.
In rtw_intr_rx, use units of 500kb/s instead of 100kb/s for rate, to be consistent with net80211's expectations. Polish up some debugging ugly messages. Dump raw 802.11 packets if IFF_DEBUG|IFF_LINK2 and RTW_DEBUG is defined.
Polish power-state (on/sleep/off) handling. Especially improve support for RFMD (totally untested) and Maxim. For Philips, take the Digital PHY property into account.
Call the net80211 watchdog function from rtw_watchdog, so that we scan again if auth/assoc fails.
Be a little more cautious about writing register[RTW_TPPOLL], since other drivers are.... Don't frob the high/low-priority queues right now, since I don't use them.
Add rtw_join_bss which programs the card with the BSSID and other properties of a BSS. Use it on state transitions. Factor out rtw_set_nettype.
Make rtw_recv_beacon call ieee80211_recv_mgmt instead of dropping beacons on the floor! TBD IBSS merges.
Change some rtw_debug=2 printfs to rtw_debug=3 (RTW_DPRINTF3) printfs so the console doesn't get spammed so badly at rtw_debug=2. Change some debugging printfs to RTW_DPRINTFs. E.g., print the "RF programming method" only if debugging is enabled.
|
| 1.2 |
| 13-Dec-2004 |
dyoung | At last, I have rtw w/ Philips RF receiving packets.
I added some sysctls to aid debugging:
* hw.rtw.debug -- enable debugging
* hw.rtw.flush_rfio -- Linux voodoo: possibly makes the MAC "flush" bits down the serial bus to the RF
* hw.rtw.host_rfio: force the host to bang bits to the RF, instead of the MAC banging bits
* hw.rtw.rfio_delay: after telling the MAC to bang bits to the RF front-end, delay rfio_delay microseconds.
* hw.rtw.rfprog_fallback: there is this notion of the "RF programming method." I believe the choice influences the polarity/timing of the serial bus used to program the RF front-end. I know the correct choice for Intersil/RFMD/Philips front-ends, only. For all other front-ends, I "fallback" to rfprog_fallback.
Make rtw_txdac_enable take an rtw_softc argument. I will probably revert this change.
Add some Linux voodoo to rtw_continuous_tx_enable. I will probably revert this change.
Important: add rtw_set_rfprog, which sets the correct RF programming method. This change and the following change are probably responsible for making the Philips RF work.
Important: RTW_CONFIG1 is an 8-bit register, treat it that way!
Important: RTW_BRSR is 16-bit, RTW_CRCOUNT, RTW_PHYDELAY, and RTW_MSR are 8-bit: treat them that way!
Vastly simplify rtw_resume_ticks.
Note to self: set the LED state to match the power state.
Hedge against the possibility that RTW_MSR is protected as RTW_CONFIG[0123] are, meanwhile reworking that section of rtw_init a little.
Add sc_anaparm, which isn't used, yet....
|
| 1.1 |
| 26-Sep-2004 |
dyoung | branches: 1.1.2; Add work-in-progress driver rtw(4) for Realtek RTL8180 MAC/baseband.
Add register definitions for Maxim MAX2820 and Philips SA2400 radio front-ends.
|
| 1.1.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
| 1.1.2.4 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
| 1.1.2.3 |
| 18-Dec-2004 |
skrll | Sync with HEAD.
|
| 1.1.2.2 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
| 1.1.2.1 |
| 26-Sep-2004 |
skrll | file rtwphyio.c was added on branch ktrace-lwp on 2004-10-19 15:56:56 +0000
|
| 1.7.2.4 |
| 17-Mar-2008 |
yamt | sync with head.
|
| 1.7.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
| 1.7.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
| 1.7.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
| 1.10.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
| 1.10.8.2 |
| 03-Sep-2006 |
yamt | sync with head.
|
| 1.10.8.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
| 1.10.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
| 1.10.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
| 1.12.4.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
| 1.12.4.1 |
| 22-Oct-2006 |
yamt | sync with head
|
| 1.12.2.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
| 1.14.28.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
| 1.14.24.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
| 1.14.24.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
| 1.14.22.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.14.8.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
| 1.15.16.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
| 1.15.12.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
| 1.16.4.1 |
| 11-Mar-2010 |
yamt | sync with head
|
| 1.17.26.1 |
| 18-May-2014 |
rmind | sync with head
|
| 1.17.22.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.17.22.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.17.12.1 |
| 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.18.10.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
| 1.18.6.1 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|