Commit Graph

4191 Commits

Author SHA1 Message Date
tsutsui
6b6bdb9538 Oops, fix botch in previous. 2006-03-14 15:33:11 +00:00
tsutsui
4b0dbc6b50 TAB/space cleanup. 2006-03-14 15:24:30 +00:00
dyoung
8a1b831b7f NetBSD authorities apprehended and confiscated these leading spaces
pursuant to KNF regulation 100145.92, "All your leading ASCII-SP
is belong to us."  The code was set up the ASCII-TAB.
2006-03-12 03:34:37 +00:00
dyoung
c205496a96 Note in radiotap header file and manual page that radiotap fields
are little-endian.  Fix wi(4) and atw(4) to reflect this fact.
2006-03-12 03:22:02 +00:00
dyoung
f94708e4c4 Bug fix: fields in the radiotap header are little-endian, make it so. 2006-03-12 03:07:50 +00:00
dyoung
cb909aeabe Fix typo: change an impossible bitfield (ends at bit 32) to a
possible one (ends at bit 31).
2006-03-10 23:37:35 +00:00
lukem
a1f606d3fd Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
2006-03-08 23:46:22 +00:00
dyoung
cafe884d2c Change macro names to avoid collisions:
BIT -> __BIT
BITS -> __BITS
2006-03-08 08:26:50 +00:00
dyoung
ce412dc403 Straggler from previous commit: rename macro LSHIFT->SHIFTIN. 2006-03-08 00:26:43 +00:00
dyoung
f66403a698 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);
2006-03-08 00:24:06 +00:00
wiz
e2a71c2aab 'advertisment' -> 'advertisement', from leonardo chiquitto filho
via jmc@openbsd.
2006-03-07 18:15:28 +00:00
he
94da908135 Remove another instance of the SET/CLR/ISSET macro tripelet, now
found in <sys/types.h>.
2006-03-07 08:21:00 +00:00
rjs
b2e4ee2926 Remove SET/CLR/ISSET macros. 2006-03-05 19:10:30 +00:00
christos
1b2709754a cleanup more SET/CLR/ISSET lossage 2006-03-05 17:33:33 +00:00
thorpej
59c5bfcbfc LP54 -> LP64 in a comment. 2006-03-04 20:44:11 +00:00
dyoung
25e9e914b4 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.
2006-03-02 03:38:26 +00:00
dyoung
cee154c1e6 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.
2006-02-27 06:18:47 +00:00
wiz
5d1e8b2745 Fix some typos. 2006-02-25 02:28:55 +00:00
wiz
1ad8067cb3 Fix typos, reported by Alexey Dobriyan ("Gathered from Linux"),
forwarded by jmc@openbsd.
2006-02-25 00:58:34 +00:00
macallan
998a8ba3e2 clear the whole screen on startup, fix an endianness mismatch when creating
the cursor sprite - this needs to be tested ( and probably fixed ) on a
netwinder.
2006-02-24 18:35:09 +00:00
macallan
31038cb7db Add support for virtual consoles to igsfb.
Works fine on a Krups, needs testing on other ports.
2006-02-23 08:01:59 +00:00
thorpej
3ddf26777f Use device_is_active() rather than testing dv_flags for DVF_ACTIVE
directly.
2006-02-20 16:50:36 +00:00
jmcneill
b74d978f79 Prevent vga from attaching if vesafb is the console. Accessing VGA
registers after switching to a VESA linear framebuffer mode is not
guaranteed to work. This should fix the majority of the problems people
have been experiencing with vesafb.

XXX: Still doesn't fix the assertion in wscons with options DIAGNOSTIC.
2006-02-19 15:16:53 +00:00
dyoung
255487c5d5 Support newer firmwares. From Eric Auge. 2006-02-19 08:20:46 +00:00
dyoung
1a85ac8d6d Add radiotap support to an(4). From Eric Auge. 2006-02-19 08:20:02 +00:00
dyoung
a43fc3c20c When rtw_enable is called, power may have been removed and re-applied,
so invalidate the WEP key registers to force us to write the keys
back to the hardware.

Revamp key handling: use the hardware WEP engine for 40-bit and
104-bit keys, only; use software WEP for all other key lengths.
Set the hardware key length to the length of the default Tx key,
or if there is no default Tx key, use the length of the longest
WEP key.
2006-02-19 08:10:06 +00:00
dyoung
e1a75e8134 ADM8211 hardware WEP is not working (probably due to a bug in 802.11
Duration / PLCP Length calculation), so temporarily switch to
software WEP, which is working.
2006-02-19 08:02:46 +00:00
dyoung
e315c6b227 When atw_enable is called, power may have been removed and re-applied,
so invalidate the WEP SRAM to force us to write the keys back to
the hardware.
2006-02-18 22:12:01 +00:00
dyoung
f66ad201c4 Fix serious regression in AP-client mode: program adapter's BSSID
as we enter the IEEE80211_S_AUTH and IEEE80211_S_ASSOC states, so
that we don't send 802.11 Authentication and Association frames
with BSSID=00:00:00:00:00:00.
2006-02-18 22:07:11 +00:00
perry
fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
xtraeme
fd8cfc5edb Add missing $NetBSD$ tags and __KERNEL_RCSID(). 2006-02-05 06:03:26 +00:00
dyoung
e46f0f4008 In rtw_{rx,tx}ring_fixup, do not set the tx/rx ring index to
something out of bounds if we read an invalid pointer form the
hardware.  Prevents a panic when an rtw@cardbus is ejected.
2006-02-04 23:22:27 +00:00
dsl
6f0f9f8763 Make almost everything #include <sys/bswap.h> instead of <machine/bswap.h>
The bswap.h and endian.h files are all rather incestuous, but I want to
get the constant folding stuff into one place - sys/bswap.h
2006-01-29 21:42:40 +00:00
jdolecek
0a5be6a731 add cast to compile with AAC_DPRINTF 2006-01-29 09:48:09 +00:00
bouyer
72d6450048 Revert part of previous: checking the drive's status after a read seems to
cause interrupt timeouts on some hardware.
2006-01-24 21:43:26 +00:00
bouyer
1af9387585 Make some debug printf more verbose.
In wdccommand_intr(), after a data read check that the drive is ready again.
2006-01-22 16:44:45 +00:00
bouyer
bf1a4d2af5 properly use ata_channel->ch_ndrive:
- initialize it properly in the bus front-ends (all 2, exept in wdc_pcmcia.c
  for the "Sandisk CompactFlash Card" where it's set to 1)
- remplace hardcoded '2' by ata_channel->ch_ndrive in MI IDE drivers.

From Christos Zoulas in kern/32501.
2006-01-16 20:30:18 +00:00
itohy
690b61f41b - Fix panic when the DMA buffer is not 4byte aligned.
In this case, the transfer count becomes larger than the reality,
  and this fix works around it.

- Add missing bus_dmamap_unload() in attach failure path.
2006-01-14 07:14:45 +00:00
dsl
a6d7f81261 Save console baud rate as both the input and output rates.
This is what I thought I'd done in rev 1.237
2006-01-08 22:19:59 +00:00
heas
b6a4c18d48 Contribute to the rnd entropy pool (already attached as a source). 2006-01-02 05:46:25 +00:00
dyoung
92e2a6beb6 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.
2005-12-29 22:27:17 +00:00
dyoung
6910fdde2a Update rtw(4) for the new IBSS merge idiom, where ieee80211_ibss_merge()
does not return ENETRESET if the driver should change its BSSID,
but it makes a RUN->RUN transition, instead.
2005-12-29 22:23:52 +00:00
dyoung
a44e108963 Remove declaration of deleted subroutine, atw_change_ibss(). 2005-12-29 22:20:03 +00:00
dyoung
8f13266467 Extract subroutine is_running().
If ieee80211_ioctl() returns ERESTART, reinitialize interface with
atw_init().

Don't discard the error returned by atw_init() in atw_media_change().
2005-12-29 22:04:21 +00:00
dyoung
bca4a72a2a atw_start() need not update IFF_OACTIVE if it hasn't put a new
packet on the transmit ring, so don't do that.
2005-12-29 22:01:43 +00:00
dyoung
17fde28ad0 Assert consistency of IFF_OACTIVE / out of sw/hw transmit descriptors
state.
2005-12-29 21:59:07 +00:00
dyoung
c64e4a2b46 Cosmetic: shift atw flags right by 4 bits. 2005-12-29 21:53:02 +00:00
dyoung
512b9ec012 Always tickle the Receive Demand Register (ATW_RDR) after re-enabling
the receiver.
2005-12-29 21:51:43 +00:00
dyoung
38c346abf0 A couple changes to the hardware reset:
Wait for the SWR bit in ATW_PAR to turn to 0, instead of waiting
for the whole register to turn to 0.

For ease of comparison with a reference driver, re-order operations.
2005-12-29 21:49:59 +00:00
dyoung
67f05eef6b Cosmetic: make a three-step staircase out of a four-step staircase. 2005-12-29 21:45:56 +00:00