Commit Graph

4618 Commits

Author SHA1 Message Date
christos
f0f1731b24 Acting as Elad's keyboard:
Place the securelevel checks in their logical locations.
This will be clearer in the future when code changes to use kauth(9) calls.

input and okay ad@
2006-08-23 15:44:29 +00:00
kent
dab6bf2001 implement auto-detection of volume resolutions 2006-08-23 11:24:07 +00:00
uwe
dee7f461a0 G/c unnecessary includes. 2006-08-18 02:42:38 +00:00
christos
35ca6c8b5b Fix all the -D*DEBUG* code that it was rotting away and did not even compile.
Mostly from Arnaud Lacombe, many thanks!
2006-08-17 17:11:27 +00:00
gdamore
f943f04933 2nd try. Fix errors (hopefully) that prevented this from compiling. This
has not been tested, as I lack the tools necessary to build this (and can't
bootstrap pmppc toolchain for some reason.)

Requested by garbled@
2006-08-16 21:28:36 +00:00
jmcneill
d7fd667c03 Provide a method for other display drivers to ask vga to free resources
it had claimed while acting as the initial console device. This allows
(for example) vga to be the initial console, and an accelerated
framebuffer driver to take over later.
2006-08-13 20:24:51 +00:00
nakayama
8f342cb589 Avoid gcc4 warnings; voice is unsigned so no need to check "voice < 0". 2006-08-12 00:34:39 +00:00
mrg
daf321dbca fix a GCC uninitialised variable warning only seen at -O3. 2006-08-08 10:32:09 +00:00
sanjayl
265929b20e 1st cut of Powermac G5 support (uses bridge mode). 2006-08-05 21:26:48 +00:00
kent
117c4cc6d5 add capability to support for S/PDIF.
If a codec supports for AC'97 S/PDIF, it will have an mixer "spdif.enable."
However, we can't change the value of the mixer without AC'97 host
driver's support.
2006-07-26 14:44:33 +00:00
martin
a4cb6f93d2 Remove unused variable to make it compile again. 2006-07-22 15:09:09 +00:00
elad
a6e0095c33 oops, no 'p' here. from xtraeme@. 2006-07-22 09:59:24 +00:00
elad
6f83bb0086 don't call kauth_authorize_generic() when holding a lock, from yamt@. 2006-07-22 09:22:21 +00:00
ad
3029ac48c7 - Use the LWP cached credentials where sane.
- Minor cosmetic changes.
2006-07-21 16:48:45 +00:00
christos
52f01eaf1c remove lhs cast for gcc4 2006-07-17 19:29:31 +00:00
seanb
13d47e9c25 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.
2006-07-14 13:37:25 +00:00
gdamore
34537908ab Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@.  Fixes PR port-evbmips/32362.
2006-07-13 22:56:00 +00:00
skrll
b819728719 Note this driver is for the i82596CA and i82596DX/SX chips and provide
links to documentation on developers.intel.com
2006-07-12 05:12:06 +00:00
peter
58224a41e7 Add power hooks for "ep* at pcmcia?".
ok christos@
2006-07-11 22:49:47 +00:00
peter
09f0de7ce4 Add power hooks for "ne* at pcmcia?".
ok christos@
2006-07-11 22:48:37 +00:00
skrll
eb4039be03 KNF some comments and whitespace. 2006-07-08 16:24:08 +00:00
skrll
e5a112d805 Spelling in comments. No functional change. 2006-07-08 16:07:47 +00:00
rpaulo
81cc271bc5 Add missing semicolon. 2006-07-04 23:05:11 +00:00
rpaulo
32404d58a1 Coverity CID 3805: Close the firmware_handle on error and avoid leaks. 2006-07-04 18:26:29 +00:00
chap
710af63468 Ankh-Morpork, we have a MIDI driver....
Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
2006-06-30 13:56:25 +00:00
drochner
eff818776d add some common code to support the ACPI power management timer
independly of ACPI
2006-06-26 16:13:21 +00:00
jmcneill
507a433a4e Make sure that a powerhook was successfully established before trying to
disestablish it on detach.
2006-06-25 14:49:49 +00:00
perry
9c74364e5b Add a power hook for the com device. 2006-06-25 00:39:21 +00:00
jmcneill
52f7cdcc1f Hook the lid switch, sleep button, and hibernate button into sysmon. This
enables special Fn keys on Sony Vaio laptops.
2006-06-20 15:35:11 +00:00
christos
8b28dc1494 PR/33761: dieter roelants: NetBSD doesn't recognize a RealTek 8168B nic 2006-06-18 21:32:24 +00:00
christos
fcad4273ae PR/33763: dieter roelants: Realtek 8168B doesn't function. Don't align
for i386/x86_64. From FreeBSD.
2006-06-18 21:29:48 +00:00
rpaulo
656f536d09 Use IFQ_IS_EMPTY(). 2006-06-18 16:14:10 +00:00
rpaulo
7a69791e70 Remove IF_PREPEND() to comply with altq. I think the logic is safe to just
remove the macro call.
2006-06-18 15:44:49 +00:00
rpaulo
c545be67e3 When calling IF_DEQUEUE() check if the dequeued mbuf is NULL to comply
with altq.
2006-06-18 15:37:27 +00:00
christos
7b128daa3b stack police: Introduce an opl_match function that uses malloc instead of
allocating ~2K of softc on the stack.
2006-06-09 21:55:33 +00:00
drochner
c87a7b61b9 fix obvious botch in radiotap header alignment (untested) 2006-06-09 19:17:46 +00:00
rpaulo
f5a468f537 Revert previous. Wrong way of doing things... 2006-06-09 19:13:17 +00:00
gdamore
ef3b8c3cc3 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.)
2006-06-08 22:42:24 +00:00
simonb
dfeb2fa259 Unwrap a not-too-long line. 2006-06-08 21:04:16 +00:00
rpaulo
69ae4b1781 Bring the following change from OpenBSD:
Keep track of the average RSSI using an Exponential Moving Average (EMA).
  Use it to dynamically tune radio receive sensitivity.

  The idea is simple:
  - increase sensitivity when the RSSI is bad to optimize throughput on
    long distance to the AP, and
  - decrease sensitivity when the RSSI is good to reduce noise level and
    optimize throughput on short distance to the AP

  The EMA allows to smooth RSSI variations so we don't end up changing the
  sensitivity too frequently.  We check if it would be worth updating the
  sensitivity every one second.
  RSSI thresholds were taken from the Ralink Tech. Linux driver.
2006-06-08 20:56:41 +00:00
rpaulo
24ba5ad5fd Rename sta variable. Pointed out by Havard Eidnes and Juergen Hannken-Illjes. 2006-06-08 13:00:35 +00:00
hannken
cbaa71d5f4 Add missing brace to make it compile again. 2006-06-08 10:56:49 +00:00
kardel
de4337ab21 merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
  time.tv_sec -> time_second
- struct timeval mono_time is gone
  mono_time.tv_sec -> time_uptime
- access to time via
	{get,}{micro,nano,bin}time()
	get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
  Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
  NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
2006-06-07 22:33:33 +00:00
nakayama
dc8650e97c Add void cast to functions whose return values are ignored. 2006-06-07 15:34:47 +00:00
rpaulo
431dc1da44 Attachment framework for the rt2561.c and rt2661.c drivers.
From OpenBSD.
2006-06-06 21:00:41 +00:00
rpaulo
9fc70013c7 struct ifnet must be inside sc_ec. Fixes panics on detachment. 2006-06-06 20:48:27 +00:00
rpaulo
355b4c7b38 Oops, missing arg to firmware_free. 2006-06-06 01:18:25 +00:00
rpaulo
c54cf300da Don't leak memory on error. 2006-06-05 17:00:50 +00:00
rpaulo
7a35a95fe6 Add missing firmware_close(). 2006-06-05 16:59:41 +00:00
gdamore
b38b3d39ad 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@.
2006-06-05 05:14:37 +00:00
rpaulo
76c6161871 Driver for Ralink chipsets RT2460A, RT2560, RT2561S, RT2561 and RT2661
from FreeBSD/OpenBSD that supersedes ral*.[ch].

Not yet enabled because I don't have a CardBus controller to test and it
will most likely crash during detach.

I tried to include our modifications, but if something is missing please
tell me or add it.

Special thanks to minipci.biz for the donation of one PCI RT2661 and
one CardBus RT2661.
2006-06-04 20:38:06 +00:00
rpaulo
8420a4bdc7 Sean Boudreau: The eeprom bits are shifted out in host order.
Also present in the upcoming rt2560.c driver.
2006-06-03 12:02:51 +00:00
drochner
305932c524 Remove passing of an uninitialized variable found by gcc4.
(The variable was not used by the called function, so remove the
argument completely.)
2006-05-29 15:17:29 +00:00
he
732bd1213b Remove setting of xs_status to XS_STS_DONE before calling scspi_done().
After revision 1.135 of scsipi_base.c, it's a big no-no to set
XS_STS_DONE before calling scsipi_done().  Besides, scsipi_done()
sets XS_STS_DONE itself after checking that it's not already set.

This puts this driver back in working order; before this change
the probe of the logical drives would cause a hang.
2006-05-27 17:56:39 +00:00
blymn
a88dd3436a Clean up bogus whitespace 2006-05-26 12:52:45 +00:00
blymn
6b8a344329 Clean up bogus whitespace 2006-05-26 12:39:31 +00:00
blymn
44278a4fa1 Clean up bogus whitespace 2006-05-26 11:52:08 +00:00
christos
fe6055587f void casts to functions whose return values are ignored. 2006-05-21 23:56:09 +00:00
mrg
afda9ed915 initialise pos.x and pos.y to appease GCC4. 2006-05-20 07:09:08 +00:00
pavel
dbbc553deb Disable hw VLAN tagging, in a similar way that it was done in OpenBSD
(src/sys/dev/ic/re.c rev. 1.15). The disabled VLAN stripping is mine.
(The OpenBSD driver forgot to do this.)

The reason is that untagged packets get sometimes tagged incorrectly.
PR 32643.

Approved by martin@.
2006-05-16 22:39:24 +00:00
elad
2867b68bc3 integrate kauth. 2006-05-14 21:42:26 +00:00
christos
c0fdc5190f XXX: GCC uninitialized 2006-05-14 05:42:43 +00:00
dyoung
7153b68a4a Make rtwvar.h, rtw.c agree whether rtw_host_rfio and rtw_debug are
static or extern.  Problem noted by Tom Spindler.
2006-05-14 04:08:09 +00:00
xtraeme
3b291301d4 Remove code for the IT87xxF chipsets, it was included on its own
driver (it(4)).
2006-05-13 09:03:21 +00:00
tsutsui
337a4c703f According to the i8259 manual, EOI, R, and SL bits belong to OCW2 register
so rename them OCW3_* -> OCW2_*.
2006-05-12 10:58:12 +00:00
mrg
ce51c72be5 quell GCC 4.1 uninitialised variable warnings. 2006-05-11 23:54:39 +00:00
mrg
b18db50b21 cast the return value of several macros that evaluate to "(func() == FOO)"
to (void) to avoid "computed value not used" warnings.
2006-05-11 22:26:54 +00:00
mrg
ea9579cbb2 don't declare ahc_pci_ident_table[] and ahc_num_pci_devs extern, they aren't. 2006-05-11 01:02:15 +00:00
mrg
084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
drochner
f4f8d2a3de remove spl and locking stuff from interrupt handler 2006-05-10 10:27:49 +00:00
uebayasi
4a02e59152 Update URLs to ASAHI KASEI CODECs. 2006-05-10 09:07:57 +00:00
skrll
a9f4c28a3d Fix a bunch of cast lvalues. 2006-05-10 06:24:02 +00:00
jdc
94b7dad338 Remove call that sets XS_STS_DONE before we call scsipi_done().
This makes isp work again following the change in r1.135 of scsipi_base.c.
Also tested by David Hopper.
2006-05-07 17:31:48 +00:00
drochner
50d235e444 make sure "radiotap" capture data are aligned,
thanks to Pierrick Brossin for verifying the effect on "tcpdump" output
2006-05-05 09:04:05 +00:00
martin
c6795868de Fix some comments, mostly from Nenad Crnko in PR kern/33402. 2006-05-02 08:31:02 +00:00
rpaulo
6805a4a424 In vga_cnattach(), intialize typestr to NULL. 2006-04-26 16:09:22 +00:00
tsutsui
91174570f2 - use M_NOWAIT rather than M_WAITOK for malloc(9) to allocate RX buffer
in zstty_attach()
- check a return value of the malloc(9)

Taken from com.c, and somehow this seems to fix PR port-sun2/32420 on tme.
2006-04-19 17:44:07 +00:00
tsutsui
a5abba7c76 u_intNN_t -> uintNN_t 2006-04-16 00:38:59 +00:00
tsutsui
cae22e3811 Use __arraycount(). 2006-04-16 00:35:10 +00:00
tsutsui
b96af9b308 i >= 0 can never be false if i is u_int. Noticed by OpenBSD. 2006-04-16 00:30:22 +00:00
jmcneill
f08bb8f847 * Add a flag AC97_HOST_INVERTED_EAMP. (kern/18880, kern/24488).
* Make reset callback optional; not all devices need it. (port-i386/14260, kern/12603, kern/12723, kern/24957).
2006-04-15 21:18:34 +00:00
jmmv
aec18036fd Remove the getwschar and putwschar accessops from wsdisplay drivers as
requested by uwe@.  These were wrong because they were receiving an
emulcookie yet they were accessops (thus having to receive an accesscookie).
Instead, just handle the WSDISPLAYIO_{GET,PUT}WSCHAR ioctls from the
driver's ioctl accessop.

As this reduces the amount of code needed to handle these operations to
two small functions in each driver, remove the WSDISPLAY_CHARFUNCS kernel
option.

Reviewed by, at least, uwe@ and macallan@.  No objections in tech-kern@.
2006-04-15 17:48:23 +00:00
tsutsui
ce21617f93 Add AHC_USETARGETDEFAULTS to ahc_flag, which enables to
use default target (but not for host) device settings on
ahc(4) interface without its SEEPROM (mostly on-board one).

This flag could be useful if host's BIOS (firmware) initializes
ahc(4) chip with some conservative (async, no tagged queuing etc.)
target settings for minimum support to load its primary loader etc.,
and it will be enabled in each attachment according to MD device
properties(9). Currently this property is set only on sgimips for
O2 on-board aic7880 adapters.

No objection on tech-kern (and netbsd-bugs), and closes PR kern/23276.
2006-04-15 14:22:52 +00:00
martti
09780f733e Merged changes between OpenBSD rev 1.13 and 1.14. 2006-04-15 12:36:23 +00:00
christos
0310ff8964 Coverity CID 1542: Off by one in test. 2006-04-14 22:30:13 +00:00
christos
c56f241b01 Coverity CID 2501: Make it painfully obvious that memh is initialized. 2006-04-14 21:12:00 +00:00
christos
a5fe7389ec Coverity CID 720: Remove dead code. 2006-04-14 21:06:47 +00:00
christos
62070a9393 Coverity CID 1091: Avoid NULL deref by moving offending code inside if
statement.
2006-04-14 20:56:26 +00:00
christos
8b8ee40c22 Coverity CID 1092: Get the status earlier to avoid NULL deref. 2006-04-14 20:53:38 +00:00
christos
1882f76728 Coverity CID 1099: Don't deref NULL if !DIAGNOSTIC 2006-04-14 20:51:41 +00:00
christos
fa0ae9e82b Coverity CID 1531: Clarify why we cannot overrun static here, and use
__arraycount() instead of #define constant.
2006-04-14 20:48:53 +00:00
christos
b7f5449dce Coverity CID 1534: Fix bogus code and array overruns. 2006-04-14 20:43:11 +00:00
christos
a66f866e5e Coverity CID 726: Remove bogus test. ni was checked for not NULL lines above,
and the if condition tries to free ni!
2006-04-14 20:33:57 +00:00
christos
838d9e686d Coverty CID 1317: Avoid negative index. 2006-04-14 20:31:28 +00:00
christos
bdbf984fe7 Coverity CID 725: Remove dead code. 2006-04-14 20:20:33 +00:00
jmmv
4652eeb82c Get rid of the memt and memh local variables in the pcdisplay_{get,put}wschar
functions.
2006-04-12 20:08:20 +00:00
jmmv
efbda7406a Convert to ANSI prototypes. 2006-04-12 20:06:16 +00:00
jmmv
7a51d4dddc Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called.  The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place.  There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
2006-04-12 19:38:22 +00:00
bouyer
2aa3711744 Don't use ppr_option uninitialized. Coverity ID 2504. 2006-04-10 22:35:28 +00:00
bouyer
98675b2b44 Don't use ppr_options uninitialized. Coverity ID 2506. 2006-04-10 22:32:56 +00:00
dyoung
3bda9d9f8c In atw_start, do not initialize lasttx with -1, but initialize it
with the next free transmit descriptor.  Now, it is more obvious
that lasttx is not an illegal negative index into the descriptor
ring.  Remove a superfluous assertion.

Addresses Coverity CID 1319.
2006-04-06 06:08:26 +00:00
dyoung
660587743a Correct sc_bbptype, sc_rftype bounds checks. Fixes Coverity CID
1541.
2006-04-06 05:47:23 +00:00
drochner
cd401662a8 Move the ga_getborder()/vga_setborder() calls from accessops to the
ioctl handler.
Also fix error reporting for the vga_getborder() call.
2006-04-05 15:19:54 +00:00
uwe
ccf4b50a2c KNF: no parentheses around return value. 2006-04-05 01:13:50 +00:00
uwe
a31a2f7d75 ANSI'ify. 2006-04-05 01:05:50 +00:00
uwe
0eaa91ef03 Add dc_stride member to igsfb_devconfig.
Eliminate all mentions of rasops_info from igsfb_ioctl(), we have all
the information in igsfb_devconfig now.  It's semantically correct to
serve that info from there, not from a cached copy in rasops_info.
2006-04-04 23:43:40 +00:00
uwe
771831be53 Use bus_space_vaddr() to get the address of the framebuffer. 2006-04-04 23:00:15 +00:00
uwe
fc2595db94 Use designated initializers for wsscreen structs. It takes less space
and is easier to read.  While here, update function name in comment.
2006-04-04 22:36:15 +00:00
uwe
3995a3168e Nuke delay() that sneaked in with one of old revisions. It's not
necessary.

When we attach as console on netwinder, the timer is not yet attached,
so delay() resorts to a busy loop.  That loop takes BIGNUM seconds(!)
to complete.  That makes you think the machine wedged.
2006-04-04 22:25:23 +00:00
uwe
752f872bf4 Fix indentation nits. 2006-04-03 21:18:20 +00:00
uwe
d5925f5050 Honor RI_FULLCLEAR in igsfb_accel_eraserows. 2006-04-03 21:03:15 +00:00
uwe
774263e48a Properly fix cursor sprite endianness problems: always build
cc_sprite[] in little-endian, as that's how the card wants it.

Tested on netwinder (hardware bswap) by myself, and on current krups
kernel (no bswap) and 3.0 krups kernel (software bswap) by macallan.
2006-04-03 20:44:35 +00:00
gdamore
9a2b9dd63b 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.
2006-04-02 05:52:14 +00:00
thorpej
2709fdc80e Remove isp_unit -- it is not used. 2006-03-29 04:43:56 +00:00
thorpej
2be6494fc9 Use device_cfdata(). 2006-03-29 04:16:44 +00:00
thorpej
39cd836ee1 Use device_unit(). 2006-03-28 17:38:24 +00:00
dyoung
b307a01ecd Revamp ieee80211_get_rate. Now it does not use the rateset in the
ic->ic_bss, but it uses the rateset in its new ieee80211_node
argument, instead.  If the rate is fixed by ic->ic_fixed_rate, but
the fixed rate is not in the node's rateset, choose a reasonable
default: prefer the lowest basic rate or, if there is no basic
rate, prefer the lowest rate, period.

Change a printf complaint to a debug message.

Adapt drivers to suit new ieee80211_get_rate calling convention.

XXX I really need to replace ieee80211_get_rate with a bitrate
XXX adaptation algorithm.  Soon, soon....
2006-03-28 00:48:10 +00:00
dyoung
facc99b314 Set the channel frequency and flags in the radiotap headers in
rtw_tune instead of in rtw_start, rtw_intr_rx.
2006-03-27 22:03:36 +00:00
dyoung
3168e87b4f Remove unused argument ifflagsp from rtw_dmamap_load_txbuf. 2006-03-27 22:02:02 +00:00
dyoung
bf0b9fa559 Fix my typo in ath(4)'s radiotap presence field (receive direction)
so that the signal and noise are in dB, not dBm.  Since dBm signal
and noise come before the antenna field, the capture fields were
in the wrong order.  That made for some astonishing (and wrong)
radiotap captures.  dB signal and noise come after the antenna
field, so everything is in the right order, now.
2006-03-27 21:41:23 +00:00
rpaulo
4ed37fa0d7 Add support for the Conexant RS7112. From Frank Wille <frank@phoenix.owl.de>. 2006-03-25 23:10:50 +00:00
thorpej
246504f91c Use device_parent(). 2006-03-25 22:55:55 +00:00
he
77c27ad055 Add a driver, ciss(4), for the HP/Compaq drivers using the newer
"Command Interface to SCSI-3 Support" command interface.  Driver
ported from OpenBSD by Tonnerre Lombard -- thanks!
2006-03-21 20:42:14 +00:00
rtr
d6ba186243 avoid deref of NULL
coverity 2436 / run 6
2006-03-19 06:22:45 +00:00
chris
aee09871fa Fix eeprom == NULL and size test.
Fixes Coverity CID 1109: (sc)->eeprom_data tracked as NULL was
dereferenced.
2006-03-18 18:44:16 +00:00
bouyer
d3f24ba785 __wdcwait_reset(): if we hare there we have a wdc pointer, so no need to check
if wdc is not NULL here at all (we were doing it after wdc has been
dereferenced anyway).
Coverity ID 2441.
2006-03-18 10:59:58 +00:00
christos
7a151ba681 include if_ether.h if you want to use ether_sprintf() 2006-03-16 15:59:22 +00:00
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
dyoung
0a56b050db Revamp state machine:
1 Only stop beacon generation on an ->INIT transition.

        2 Merge AUTH and ASSOC cases, they do the same thing (tune
          a new channel).

        3 Start beacon generation in IBSS, AP, *and* "adhoc demo"
          mode.

Cosmetic tweak: rewrap a statement.
2005-12-29 21:44:33 +00:00
dyoung
3c1ba11dc5 Adapt atw(4) to the new IBSS merge idiom, where ieee80211_ibss_merge()
does not return ENETRESET to indicate the station should adopt a
new BSSID, but it triggers a RUN->RUN transition, instead.
2005-12-29 21:40:41 +00:00
dyoung
271d64132c Delete atw_media_status(). Let SIOCGIFMEDIA call ieee80211_media_status()
directly for media status.
2005-12-29 21:37:27 +00:00
dyoung
4875b8dbae Use the fragmentation threshold in the ieee80211com.
XXX Need to condition on frame type = data.
2005-12-29 21:34:53 +00:00
dyoung
2e64aa7e41 In atw_init(), always call atw_write_wep() to write the WEP state
to the h/w.  This prevents a spurious call to atw_write_wep() later,
in IEEE80211_S_RUN state, when net80211 times-out ieee80211_nodes.
It is important to avoid a spurious atw_write_wep() call because
in IBSS mode, at least, WEP re-initialization reliably locks up
the transmitter.

XXX There must be a bug in atw_write_wep() that causes it to lock
XXX up the transmitter.  I will revisit it later.
2005-12-29 21:32:06 +00:00
dyoung
13283d6e4f In atw(4), use ieee80211_compute_duration() to compute IEEE 802.11
Duration and PLCP Length fields, and delete the abominable
atw_frame_setdurs() subroutine.

Make rtw(4) use the new ieee80211_compute_duration() calling
convention.

Add an ieee80211_key argument to ieee80211_compute_duration() and
lightly constify arguments.  Get the crypto header length from the
key argument instead of blithely assuming a WEP header.  Add some
inline documentation.  Account for data padding (IEEE80211_F_DATAPAD).
2005-12-29 21:08:26 +00:00
chs
599510004a use %z when printing a sizeof. 2005-12-27 17:25:41 +00:00
chs
6cb72218d4 switch macppc to use the MI zstty driver.
add macppc's ZS_TXDMA hooks there.
2005-12-27 17:20:54 +00:00
chs
33d70de438 remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions.  the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
2005-12-27 00:46:38 +00:00
rpaulo
333596ccdb PR/32386: Dawid Szymanski (arhea). Add support for the 8169SB chipset. 2005-12-25 19:55:40 +00:00
perry
3d4ed1fbc7 __inline__ -> inline 2005-12-24 23:41:33 +00:00
perry
93124077ae Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:27:29 +00:00
dyoung
47b698d0b8 Fix comments and debug printfs: Tx FIFOs underflow, they don't
overflow.
2005-12-13 05:10:55 +00:00
dyoung
830e4be4c8 On a transmit FIFO overflow (err, actually an underflow...) reset
both the transmit & receive sections of the MAC.
2005-12-13 05:07:14 +00:00
christos
dac64af055 more proc -> lwp 2005-12-12 01:18:29 +00:00
christos
d014803b83 more proc->lwp changes. 2005-12-12 01:14:22 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
xtraeme
efc3770d53 Not everyone want to see debugging printf()s unless "options DEBUG"
is compiled in.
2005-12-08 18:06:42 +00:00
bouyer
b898e14a29 Wrap debug printf in AHC_DEBUG. Pointed out by Izumi Tsutsui. 2005-12-05 18:29:45 +00:00
rpaulo
bcb67e15ae s/NBFILTER/NBPFILTER 2005-12-03 21:20:07 +00:00
rpaulo
de470a4422 Make this compile without bpf(4). 2005-12-03 21:18:32 +00:00
bouyer
2ac6595656 Don't call alloc_scb() (which can call bus_dmamem_alloc/map) from
ADAPTER_REQ_RUN_XFER context (which can be interrupt context), defer this
to the ADAPTER_REQ_GROW_RESOURCES callback.
Fix a panic in uvm reported by John R. Shannon on port-xen; patch tested on
ahc by me and on ahd by John.
2005-11-28 21:03:19 +00:00
jdolecek
8c602c3844 Add some casts to make this compile on amd64 (and perhaps other LP64
architectures). Part of PR kern/30456.

The binary object file on i386 confirmed to be exactly the same before
and after the change.
2005-11-26 21:33:46 +00:00
jdolecek
9019b1d22c fix aac_print_fib() to compile with AAC_DEBUG; noncompilable "%16D" printf
format replaced by explicit hexadecimal dump of the first 32 bytes of fip->data
2005-11-26 21:29:48 +00:00
tsutsui
36f216123b FALLTHROUH -> FALLTHROUGH (from OpenBSD) 2005-11-26 04:11:31 +00:00
dyoung
7e173af81d Put the microsecond timestamp in the radiotap header for received
frames.
2005-11-24 09:58:39 +00:00
dyoung
63d8fb2cb6 Miscellaneous Realtek RTL8180L driver improvements:
1 Added new sysctl controls for debugging.

2 Improve detection & support for hardware WEP.

3 Revamp handling of transmit descriptor rings.

4 Reliably IFF_OACTIVE when transmit descriptors are available, to
  stop the transmit section of the driver from freezing up.

5 Fix beacon transmission in adhoc and hostap modes.  XXX There is
  a wart in hostap mode, where beacons are transmitted at 1/2 the
  correct rate.  Load beacon descriptors when the RTW_INTR_BINT
  interrupt arrives; schedule RTW_INTR_BINT 1ms ahead of the target
  beacon time.

6 Recover more gracefully from tx/rx errors: avoid
  transmitter/receiver/chip resets.  Try to re-synchronize software
  state with hardware state---e.g., load next descriptor pointer
  from hardware.

7 Activate the transmit watchdog timer for beacons as well as other
  packets.

8 Introduce rtw_idle() that waits for transmit DMA to finish; call
  it before resetting the transmitter.
2005-11-23 04:12:33 +00:00
dyoung
5e4572a5a8 Misc. bug fixes:
1 Reset both IFF_OACTIVE and the transmit watchdog timer in
  appropriate places to avoid both wedging the transmit section
  and spurious transmit timeouts.

2 Reset IFF_ALLMULTI at the top of atw_filter_setup so that the
  NIC will filter the multicast packets we are not interested in
  after we come out of promiscuous mode.

3 In atw_txdrain, count drained transmit descriptors to avoid
  descriptor exhaustion.
2005-11-23 01:11:23 +00:00
dyoung
4e254e89e9 Non-functional change: a missing '}' in an #ifdef __FreeBSD__
section confuses ctags(1), so I add the '}'.
2005-11-23 01:04:37 +00:00
bouyer
98fae666e4 Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
2005-11-18 23:10:32 +00:00
skrll
302689559d Adapt drivers to the new net80211(9).
Most of this is from dyoung@. Thanks!
2005-11-18 16:53:56 +00:00
skrll
dc2bd8a8cf Resolve conflicts. 2005-11-18 16:48:31 +00:00
bouyer
3506fa3a54 After a reset don't wait for drives to come ready if there's no drives.
Fix a 30s hang after resume. Problem reported and fix tested by Brian de Alwis.
2005-11-16 23:39:08 +00:00
dsl
80c644a6b9 Explicitly default the input baud rate (c_ispeed) to the output baud rate (c_ospeed)
instead of setting it to zero.  Otherwise nothing ever sets it unless some code
explicitly changes the baud rate.  For a serial console (in particular) we want
to use the baud rate set by the bios (or whatever) and used by theboot code.
This is the way it was before a 'new version of com driver' was added in 1997 (rev 1.99)
2005-11-06 21:34:37 +00:00
tsutsui
830c0db95b NCRDMA_SETUP() should be called before NCR_SET_COUNT() and NCRCMD_DMA command
in ncr53c9x_select(). Tested with esp on SS1+ and sun3/80, and pcscp at pci.
2005-11-06 10:31:46 +00:00
rpaulo
e15c104622 Add "Conexant CXT48". This should have a more meaningful name, but I
couldn't find it. So, I added this because it's better than printing
"unknown codec". When we find a more decent name later, we can change this.
2005-11-06 10:08:24 +00:00
christos
daf2726a5c - delete ugly debugging crap.
- remove bogus multicast handling [pointed out by thorpej]
  and don't reset the chip on ENETRESET; ENETRESET is a sign
  that only the multicast filter needs changing.
2005-10-28 20:56:13 +00:00
christos
17f31a8395 forgot to commit this. 2005-10-28 14:36:15 +00:00
christos
ffd31cc9b5 According to thorpej, we don't need to stop when we attach. But then again
we don't detach yet...
2005-10-28 13:20:55 +00:00
christos
dd3b850e80 From FreeBSD:
- make a few functions static
- introduce gem_bitwait() to factor out some of the register wait code.
- add gem_stop() in attach
- some DEBUG should be GEM_DEBUG
- handle underrun, packet too long, and overflow errors by resetting the chip
- add handler in ioctl for add/del multi
- fix typo
Also:
- add a shadow sc_if_flags member so that we don't reset the chip if we
  don't need to.
2005-10-28 00:01:53 +00:00
martin
3e4f7c877a Add missing <sys/device.h> include.
XXX - this is handled inconsistently accross the ath* files, maybe we
should move it to ath_netbsd.h and be done?
2005-10-25 19:59:02 +00:00
christos
8f370e24ef The previous change (to use bus_space_read_2), was broken because it was
reading from an odd offset. From Robert Elz
2005-10-23 20:03:04 +00:00
dbj
37e4b2f6aa decrement nscreens in vga_free_screen
this cleans up a crash on failed allocation, although
vga_free_screen may still be leaking resources
2005-10-21 14:44:08 +00:00
jdolecek
91669fdaa7 use VLAN_OUTPUT_TAG() 2005-10-15 19:32:36 +00:00
yamt
aec75b1cc6 - change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
  have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
  from sys/bufq.h to sys/bufq_impl.h.
  (is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c.  (not tested)
2005-10-15 17:29:10 +00:00
xtraeme
b0a4f3e4be Added support for Winbond 83627THF, from OpenBSD. 2005-10-15 00:41:48 +00:00
gdt
d3aeb92bcb 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.)
2005-10-14 00:26:45 +00:00
abs
90eafdf511 Make receiver lock-up workaround conditional on setting link1, as we have
too many false positives - should address PR/30505
2005-10-12 19:26:10 +00:00
christos
a9c3ad6f5c PR/31455: Robert Elz: ex (905[BC]) cards can hang in -current kernels
- fix bus_space_read_1 -> bus_space_read_2 since revision 1.27 changed
  the bit defines to assume 2 byte reads.
- Increment oerrors in case of collisions
- Clamp success counter to 100, instead of letting rotate freely.
2005-10-04 17:37:26 +00:00
macallan
8240aaf01d revert unnecessary geometry changes, add missing {} so turning off the
cursor when leaving emulation mode and getting it back when re-entering really
works now.
2005-10-01 01:10:50 +00:00
uwe
e97ebbc6c8 Minor KNF police. 2005-09-30 23:16:26 +00:00
macallan
8d7ddb1d4e - turn off the hardware cursor when leaving WSDISPLAYIO_MODE_EMUL
- only lock the hardware cursor when not in WSDISPLAYIO_MODE_EMUL
- allow cursor position between 0 and (screen width + max. cursor width - 1),
  same for height so it can move partially offscreen in all directions
2005-09-30 22:28:19 +00:00
simonb
e13e6f0180 Add SigmaTel STAC9752/53 codec ID. 2005-09-27 05:24:40 +00:00
gdt
a73a22a4b2 Make arg of IFQ_SET_READY be &ifp->if_snd, to match all other drivers
and be compilable with altq enabled.  Reviewed by dyoung@
2005-09-22 16:15:20 +00:00
martin
30895fa9a4 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.
2005-09-13 05:50:29 +00:00
macallan
fc1aa8099e add a blank line before case WSDISPLAYIO_LINEBYTES 2005-09-12 12:07:47 +00:00
macallan
0841377bbd add ioctl(WSDISPLAYIO_LINEBYTES) - needed by XFree's wsfb 2005-09-12 11:02:21 +00:00
tsutsui
35f4830ff9 The length member in struct scsi_request_sense is uint8_t so
no need to swap byteorder.
Whele here, change style of some byteswap ops from
	foo = bar();
	foo = ahc_htole32(foo);
to
	foo = ahc_htole32(bar());

XXX: I leave ahc_htole32() usage for union ins_formats for now
XXX: though it may be better to use byte-shift ops rather than byteswap.
2005-09-10 19:15:44 +00:00
tsutsui
f6ced662a1 Replace a magic number with proper macro. 2005-09-10 17:19:55 +00:00
dogcow
52dfe86ca8 With the assistance of dyoung, fix the following problems:
* some 8180L cards need a longer time for the srom to initialize; patch
  suggested via OpenBSD.
* some cards give '0' for USA, some give '3'; for the meantime, accept both
  as being USA locale cards.
* this is RTW, not ATW. :)
2005-09-07 05:25:41 +00:00
kleink
aece7a90fd Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges.  Noted by David Holland in PR kern/31126.
2005-09-06 21:40:37 +00:00
kleink
6fa3ab87b7 Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges.  Noted by David Holland in PR kern/31126.

Also, dispose of a redundant (and unreachable) instance of that check.
2005-09-06 21:36:54 +00:00
dogcow
4ec2f95af9 make rtw.c compile again after the 22-jun-05 net80211 import 2005-09-06 01:59:26 +00:00
kleink
95ca674ab9 Make COM_DEBUG compile again in the wake of -Wwrite-strings;
from Nicolas Joly in PR kern/31141.
2005-09-04 09:48:53 +00:00
bouyer
3f34a9f7b6 In __wdccommand_start(), don't cann wdcwait() with ata_c->flags, as this gives
information about the context in which wdc_exec_command() was called, but
we may be in interrupt context here. Call wdcwait() with flags derived from
xfer->c_flags instead, as do other wdcwait() callers.
Should fix kern/31083 by Jukka Salmi.
2005-08-29 19:30:07 +00:00
drochner
46ed4b50c4 s/locdesc_t/int/g 2005-08-26 12:42:11 +00:00
drochner
e6a178f21f kill a number of autoconf submatch functions which follow the
standard scheme:
if (<configured> != <wildcard> && <configured> != <real>)
	then fail
else
	ask device match function

This is handled by config_stdsubmatch() now.
2005-08-25 22:33:18 +00:00
drochner
fa3cb84d62 replace the "locdesc_t" structure carrying the number of locators
explicitely by a plain integer array
the length in now known to all relevant parties, so this avoids
duplication of information, and we can allocate that thing in
drivers without hacks
2005-08-25 18:35:38 +00:00
dyoung
0ca62afd93 Remove redundant ath_tsf_extend subroutine. Use ath_extend_tsf,
instead.  This reduces diffs with FreeBSD as a side-effect.
2005-08-21 00:25:51 +00:00
bouyer
90dd891d17 We can't free struct ahc_softc on NetBSD either, because it comes from
config(9). Fix a corruption on alldevs list when an ahc device fails to
initialise.
2005-08-19 17:08:59 +00:00
tacha
379d19f599 make CF on pcmcia works again.
Approved by bouyer.
closed kern/30998.
2005-08-17 22:41:33 +00:00
christos
055740c706 PR/31000: FUKAUMI Naoki: 2 bugs in ral driver:
- remove driver-private key allocators; use the default one instead
  so wpa keys are handled properly (if_ral.c, if_ural.c rev 1.9)

- remove local mods that snuck into rev 1.6 (if_ral.c rev 1.10)
2005-08-16 17:02:34 +00:00
joff
02e79f9fb1 4-line HD44780 LCD display support. Work needed for the NetBSD toaster port.
The HD44780 actually doesn't support 4 lines, but the 4 line displays
use two chips, one for the top two lines and one for the bottom
two lines.  The chips share the databus, register-select, and write
signals but have separate enable signals.
2005-08-14 02:56:06 +00:00
junyoung
b0c452fd1f Make microcode loading work on big endian machines.
Reported and patch supplied by yongari@freebsd a long time ago.
2005-08-12 01:07:16 +00:00
christos
c3766be38e Allow setting the MAC address via wiconfig -m (Lord Isildur) 2005-08-10 13:20:42 +00:00
bouyer
55cbfde80a Add missing declaration/initialisation of wdc.
Pointed out by Rui Paulo.
2005-08-10 13:15:42 +00:00
bouyer
b1ce9b8a68 Also initialize wdc->reset in wdcprobe() if the bus back-end didn't provide
one. Prevent NULL pointer dereference when wdcprobe() is called.
2005-08-10 11:16:53 +00:00
bouyer
4d7691a538 The ATA/ATAPI IDENTIFY data were designed to be converted on the fly to
host byte order (eventually the byte swapping could be wired in hardware, on
the 16 bit data bus). This was keept when wdc_exec_command() was created,
and as a result wdc_exec_command() is doing 16bit conversion to host byte
order. This is fine for IDENTIFY but doesn't work for other opaque data
structure, such as the ones for SMART.
So change wdc_exec_command() to do the conversion to host byte order only for
WDCC_IDENTIFY and ATAPI_IDENTIFY_DEVICE. This fixes atactl smart status
on big-endian hosts.

While here change __wdccommand_intr() to only use wdc_data{in,out}_pio, there
is no gain in doing the 32bit data port stuff locally.
2005-08-09 22:08:16 +00:00
bouyer
d1278fcba8 Add an optionnal controller callback for channel reset. If the callback
is set to NULL, use the generic reset code.
Use this to work around a bug in some Acer IDE controllers (like the
one found in some sparc systems) where a controller disable/enable
is required after a reset to avoid data corruption when Ultra-DMA is
used. Workaround from opensolaris, thanks to Hiroki Sato for testing.
2005-08-06 22:07:24 +00:00
mhitch
7bf06e6ec1 The handler for the periodic ENQUIRY command was not unmapping the ccb
data buffer, which left stale flags which caused Alpha ES40 crashes.  Add
the mlx_ccb_unmap() call and the ES40 now runs with > 1GB memory.
2005-07-30 17:37:11 +00:00
dyoung
810714086b Fix variable shadowing, sysctl attachment, ident(1) strings,
#includes so that the SampleRate rate-control algorithm will build
on NetBSD.
2005-07-28 02:08:04 +00:00
dyoung
89c0a98ceb Export ath_sysctl_instance for the SampleRate rate-control module
to use.

Also, add sysctl helper macro SYSCTL_PFX_INT (for SampleRate) that
prepends an arbitrary prefix to the sysctl name, instead of sc->sc_
like SYSCTL_INT.  Factor with SYSCTL_INT.
2005-07-28 02:05:20 +00:00
dyoung
1b19913947 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").
2005-07-27 21:22:57 +00:00
dyoung
b496bd99a0 Cosmetic: remove an out-dated "note to self." 2005-07-27 21:13:32 +00:00
dyoung
d2ba878019 Resolve conflicts. 2005-07-26 22:52:47 +00:00
drochner
53a6f78e01 disable SYSCTL_SETUP for _LKM until we have a plan how to deal with
it correctly
2005-07-23 16:09:39 +00:00
he
d3fc666f98 Make tlp_idle() not be static, so that the newsmips version of the
driver can access that function again.

Approved by thorpej
2005-07-17 18:11:36 +00:00
macallan
71b0921a17 driver for the audio part of SUNW,DBRI ISDN/audio controllers 2005-07-16 18:58:49 +00:00
yamt
d7714c3b58 #ifdef out an unused variable in the case of !WI_DEBUG. 2005-07-16 04:06:39 +00:00
dyoung
8e16397dbf Add a sysctl for turning wi(4) debugging on and off.
Do not print the number of tx commands outstanding on entrance to
wi_cmd_intr unless wi_debug > 1.
2005-07-15 22:33:29 +00:00
dyoung
1aeb04f480 Clear IEEE80211_F_DROPUNENC in ic_flags in operating states where
the NIC decryptes & decapsulates WEP frames before passing them to
the host.  "Remember" the state of IEEE80211_F_DROPUNENC in
sc_ic_flags, though, and try our best to honor it as we setup the
hardware state.

This is the second patch of this kind.  The previous patch was
badly broken because wi_mend_flags was basing its decision to clear
IEEE80211_F_DROPUNENC based on the operating state we were
transitioning FROM instead of the state we were transitioning TO.

This fixes a bug that Simon Burge reported, where dhclient wi0
would not get a lease unless and until you ran 'ifconfig wi0'
concurrently (which would frob the IEEE80211_F_DROPUNENC bit in
the right way).  This patch was tested by Simon with his Toshiba
Lucent-clone.
2005-07-14 00:28:51 +00:00
drochner
a33487a69f fixes from FUKAUMI Naoki. Changes are
>   Enable WEP (software engine).
>   Add support for WPA[12].
>   Print modes and rates.
>   Add new devices.
>   And some small changes and bug fixes.
2005-07-12 12:13:00 +00:00
yamt
d01f5b39f6 specify dma direction hints for bus_dmamap_load_mbuf. 2005-07-11 21:42:58 +00:00
dyoung
55512dd5b2 Add undefined variable 'ic' to rtw_attach. 2005-07-11 06:01:42 +00:00
dyoung
ac7254c1e3 Cosmetic: the '_type' argument to ATH_LOCK_IMPL and family is more
properly called '_obj'.
2005-07-10 19:07:39 +00:00
dyoung
c23eb30613 Bring an_newstate up-to-date with net80211 conventions. Now an(4)
works again.  Jonathan Perkins reported the bug and tested the
patch.
2005-07-10 19:04:00 +00:00
christos
d39684a368 make the isdn drivers compile again with -Wconst, -Wshadow 2005-07-09 02:05:09 +00:00
thorpej
99c4ea1319 - Use ANSI function decls.
- Liberally apply static.
2005-07-08 05:07:31 +00:00
thorpej
9beb4d2c61 Remove the __packed__ attribute from these structures. Everything is
naturally aligned anyway, and __packed__ just causes the compiler to
generate slower code.
2005-07-07 19:02:11 +00:00
christos
66e17a310f add a missing const. 2005-07-07 12:57:03 +00:00
dyoung
86283b24c9 Don't write WEP keys to the chip unless it is enabled.
Suspend and restart the transmit/receive engines while writing WEP
keys.
2005-07-07 00:12:22 +00:00
dyoung
83a9bf2c5c 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.
2005-07-06 23:58:14 +00:00
dyoung
707b2b4ae1 Avoid an unnecessary API difference between NetBSD and FreeBSD:
back out my change to ieee80211_crypto_encap that made it free its
mbuf argument on error.  I had thought it was a bug.  It was not.
It's the drivers that are broken.  Make an(4), atw(4), ipw(4),
iwi(4), ral(4), rtw(4), ural(4), and wi(4) free the mbuf when
ieee80211_crypto_encap returns NULL.  Also, return ath(4) to the
way it was---i.e., free the mbuf.

Thanks to Sam Leffler to pointing out my mistake.
2005-07-06 23:44:15 +00:00
dyoung
05cab81dd8 Don't write the WEP keys to the device if it is invalid (e.g.,
unplugged) or if it is not enabled.  Fixes kern/30592.
2005-07-06 06:49:25 +00:00
drochner
6d8bb016f7 update PCI/Cardbus ral wlan driver, and adapt to new FreeBSD/NetBSD
80211 framework, from FUKAUMI Naoki per mail to tech-net
2005-07-04 17:50:09 +00:00
dyoung
c1446c092d 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.
2005-07-03 19:58:16 +00:00
dyoung
f069ffb8c5 Create per-instance sysctl nodes for ath(4), e.g., hw.ath0.debug,
hw.ath1.debug.
2005-07-03 19:44:50 +00:00
dyoung
3ba3e0571b 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.
2005-07-03 19:42:10 +00:00
dyoung
967b5afe90 Cosmetic: repair indentation. 2005-07-03 19:31:03 +00:00
drochner
c1834d85c2 add drivers for Ralink RT2500-based wireless adapters, written by
Damien Bergamini, ported and submitted by FUKAUMI Naoki per PR kern/30449
I've modified the USB "ural" driver for recent changes to the NetBSD
ieee80211 framework, possibly not completely, but with an ASUS wireless
adapter I'm getting some signs of life.
Didn't care about pci/cardbus for now, hopefully someone with hardware
will do it.
2005-07-01 20:06:56 +00:00
macallan
754d79402b Allow sparc64-style attachment of mouse and keyboard via zstty, needed for
wscons support.
Reviewed by uwe.
2005-06-30 12:07:51 +00:00
dyoung
380ab420c3 Fix $FreeBSD$ RCS IDs, which gave me a real shock when their revision
numbers moved backwards.
2005-06-30 00:52:56 +00:00
dyoung
dbad357b04 Here is a grotty hack that lets the RTL8180L handle WEP in the
receive direction, while software handles WEP in the transmit
direction.  When net80211 calls rtw's rtw_key_set with a WEP key,
I point the key's wk_cipher at our "fake" cipher, rtw_cipher_wep,
which is alike to ieee80211_cipher_wep except it provides a different
crypto-decapsulation routine, rtw_wep_decap.  rtw_wep_decap copies
the key passed to it by net80211, clears the key's SWCRYPT flag,
and then calls wep_decap.  Now wep_decap will decapsulate, but it
will *not* re-decrypt.

XXX I need to check whether the hardware supports 40-bit WEP,
XXX 104-bit WEP, or both, and act accordingly.
2005-06-28 07:19:33 +00:00
thorpej
77e4f4547b Remove some extern decls for PCI-specific stuff that are private to
the PCI front-end.
2005-06-28 00:32:27 +00:00
dyoung
c0a74e44c8 rtw: Try to get hardware WEP to work. It seems to work in
the RX direction, but not in the TX direction.  The
	  net80211 crypto framework doesn't seem to cope very well
	  with the assymetry (I'm probably missing something), so
	  I will use software WEP for now.

net80211: In ieee80211_compute_duration, figure out whether to add
	  the WEP header to the packet overhead by checking the
	  WEP bit in the Frame Control field of the 802.11 header,
	  instead of checking the IEEE80211_F_PRIVACY flag.

	  Also, if the WEP bit is present, assume that the frame
	  described by (wh, len) has already already been WEP
	  encapsulated, and adjust the payload length accordingly.
	  XXX that's a grotty hack that I will have to revisit,
	  later.
2005-06-27 05:49:13 +00:00
erh
1b6f9cc263 Make sure there is a valid transmit key, before trying to use information
about it.  Fixes a crash when configuring wi0.
2005-06-26 21:51:37 +00:00
dyoung
7bcee8c697 Do not build AP support if 'options IEEE80211_NO_HOSTAP' is in the
kernel configuration.
2005-06-26 04:37:25 +00:00
dyoung
23304515e7 Bug fix: fix WEP by managing keys & crypto in the style of the new
net80211.  It was especially important to zero the IEEE80211_F_DROPUNENC
(discard unencrypted packets) flag in operating modes where the
firmware decrypts for us.  Otherwise, the 802.11 layer discarded
all received frames.  See wi_mend_flags.  From FreeBSD, with
improvements by me.

For better compliance with the "net80211 way":
set sc_cnfauthmode from ic->ic_bss->ni_authmode.  Enter
the RUN state through ieee80211_create_ibss instead of
ieee80211_new_state(IEEE80211_S_RUN).  To sync BSSID in ad hoc
mode, use ieee80211_sta_join() instead of
ieee80211_new_state(IEEE80211_S_RUN).  From FreeBSD.

Configure the firmware to obey IEEE80211_F_DROPUNENC.

As we change to state RUN in STA mode, generate a link-status
message on the routing socket with a call to ieee80211_notify_node_join()
instead of calling rt_ifmsg directly.

Run normal net80211 processing (ieee80211_newstate) on the ->RUN
transition.
2005-06-25 03:56:53 +00:00
dyoung
133d421bca Cosmetic: join lines. 2005-06-25 03:41:50 +00:00
rpaulo
ec4e36b7c2 Add support for ASIX AX88140A/AX88141 chipsets using only
the 10/100 MII with inspiration from FreeBSD dc(4) driver.

Tested on i386 and macppc.

Reviewed by Jason Thorpe and ok'ed by Hubert Feyrer.
2005-06-23 23:51:41 +00:00
martin
adc4b94498 Remove unused <atomic.h> include; add <sys/device.h> includes where
needed.
2005-06-22 22:07:48 +00:00
dyoung
9063402978 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.
2005-06-22 06:14:51 +00:00
dyoung
d1f006118e Import FreeBSD's ath(4) of 2005-05-18 2005-06-21 20:37:47 +00:00
ws
9d78e0cf36 PR-30566: Poll must not return <sys/errno.h> values.
Start with those places I can easily test.
2005-06-21 14:01:11 +00:00
darcy
77a3cb4427 Fix another portability issue. Part of PR kern/30456. 2005-06-20 20:40:21 +00:00
darcy
67a10100f5 Fix some printf statements to make them more portable. Doesn't completely
fix PR kern/30456 but fixes part of it.
2005-06-20 11:37:47 +00:00
atatat
df13e3579e 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.
2005-06-20 02:49:18 +00:00
bouyer
3110d2fd7a In wdcprobe1(), wait 5s for the drive to deassert ready. In case of e.g.
pcmcia devices, the drive may still be doing its power-on reset.
XXX From the specs the delay could be up to 31s here, but we don't want to
    wait for 31s if we have a channel with no drives and pull-up resitors on
    the bus.
Based on patch submitted in kern/25659 by Steven M. Bellovin, part of fix for
kern/25659.
2005-06-19 18:14:27 +00:00
bouyer
cf4b00e2e4 Remove a (wdc == NULL) test. We know wdc is not NULL at this point. 2005-06-16 20:15:04 +00:00
jmc
1e47a53b95 Constify return string 2005-06-13 20:32:58 +00:00
tls
4a43d21777 Revert the part of revision 1.228 that made HW_NO_TXPRELOAD the default:
it appears to break output on the Soekris net4501, which is a rather
popular platform.

This should fix PR kern/29612 -- if not, I will probably revert it again.
2005-06-12 21:10:47 +00:00
dyoung
d485a761e3 Sprinkle __UNCONST() and rename variables to quiet uiet -Wcast-qual,
-Wshadow complaints.
2005-06-10 02:35:34 +00:00
he
5f0e107e63 Adapt to compiling with -Wcast-qual by adding const to some pointer casts. 2005-06-08 13:54:38 +00:00
skrll
51b20ca033 Fix typo. 2005-06-07 06:27:17 +00:00
pooka
7fe36dcdc1 Instead of writing the packet length in two 8bit pieces, use one
16bit write.  At least in certain environments this has the effect
of the latter 8bit write of the length to be not interpreted as
the first 16 bits of the packet contents and hence the interface
working.
2005-06-06 20:20:09 +00:00
he
aafdb08c5a Fix the various todr_gettime() and todr_settime() fallouts from
-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*".  Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>.  This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.

Reviewed by thorpej.
2005-06-04 20:14:24 +00:00
tsutsui
0716f17835 Constify. 2005-06-03 21:20:51 +00:00
skrll
88aa783dd0 const fallout. 2005-06-03 07:03:22 +00:00
he
05721f8fb4 Adapt to -Wcast-qual by adding a const and using __UNVOLATILE() in
a couple of places where memcpy() is used.
2005-06-02 14:41:26 +00:00
christos
55479da63d simplify weird tests. 2005-06-02 14:32:12 +00:00
tsutsui
0a045d64d9 Add a const. Fixes part of PR kern/30403. 2005-06-02 14:03:20 +00:00
drochner
645c942f3b const fall-out, from Patrick Welche 2005-06-01 19:40:58 +00:00
drochner
10e0e927de add "const" where needed 2005-06-01 18:18:52 +00:00
drochner
b10340ac93 quell cast-qual and shadow warnings 2005-06-01 18:07:04 +00:00
christos
bf55d99961 revert previous and fix LLADDR instead. 2005-05-31 01:48:22 +00:00
christos
67f72d9fc5 use const cast. 2005-05-31 01:43:36 +00:00
christos
6b23a10118 avoid variable shadow. 2005-05-31 00:46:05 +00:00
christos
1475e6ed5c - add const
- avoid variable shadow
2005-05-31 00:45:52 +00:00
christos
f381db6045 - add missing const
- fix variable shadowing
- remove unneeded casts
2005-05-30 04:43:46 +00:00
christos
74995e2a49 remove volatile that was being cast-away in all its references. 2005-05-30 04:41:57 +00:00
christos
80f7d2107b - sprinkle const.
- avoid variable shadowing.
2005-05-29 22:10:28 +00:00
christos
7cdea212c0 No 0x in front of %p... 2005-05-22 15:54:45 +00:00
briggs
947685c48e BUS_DMASYNC_* routines are from the point of view of the memory controller,
so BUS_DMASYNC_POSTREAD should follow a device->memory transfer (like for
the rx packet data.
Also, it would be good to do a BUS_DMASYNC_PREWRITE to ensure that packet
data is flushed to memory before the chip tries to transmit data.
Tested on a PowerPC system.
2005-05-19 20:11:24 +00:00
christos
362a4a0bd5 Yes, it was a cool trick >20 years ago to use "0123456789abcdef"[a] to
implement, xtoa(), but I think defining the samestring 50 times is a bit
too much. Defined HEXDIGITS and hexdigits in subr_prf.c and use it...
2005-05-17 04:14:57 +00:00
bouyer
78b08b48da Pad small packets with a static buffer at the end of the S/G list.
Avoids leaking kernel memory when small packets are transmitted.
Tested on a ibook G4.
2005-05-16 15:56:38 +00:00
yamt
f3bf234dc9 disable IFCAP_CSUM_IPv4_Tx and comment why. 2005-05-15 07:48:49 +00:00
augustss
3f7dbfe409 Let ahc_createdmamem() return -1 on error instead of an error code, since
the users of that function test on <0 to look for an error.
Again, from a person that wishes to remain anonymous.
2005-05-12 06:27:44 +00:00
scw
32bd2f7d95 Add a heuristic to test if an audio CODEC's AC97_REG_POWER register supports
the AC97_POWER_ANL bit.

The heuristic simply checks if AC97_REG_POWER's AC97_POWER_MIXER  bit can
be set, implying the CODEC can control power to its mixer. If the bit
reads back as zero after we set it, assume ANL is reserved.

Without this patch, some CODECs (e.g. Philips UCB1400) will experience long
delays during attach and resume while the driver waits for a bit which will
never set.

Thanks to jmcneill@ for reviewing this WRT AC97 modem power control.
2005-05-11 13:13:11 +00:00
yamt
330cc0a11e split IFCAP_CSUM_xxx to IFCAP_CSUM_xxx_Rx and IFCAP_CSUM_xxx_Tx. 2005-05-02 15:34:31 +00:00
tsutsui
8ed63e80db Avoid NULL pointer dereference on unexpected error cases. (from OpenBSD) 2005-04-30 02:18:43 +00:00
xtraeme
53eca961c3 Identify correctly ITE Super I/O chipsets by checking the core ID
register (only available in the model 8712F), if that fails we check
the vendor ID register as before.
2005-04-29 02:02:52 +00:00
jmcneill
212a4fdeb4 * Reduce timeout for codec powerup
* Return ENXIO from ac97_attach_type if the modem codec fails to power-on.
  This will prevent broken AC97 modems *cough*Conexant*cough* from giving
  the impression that they will actually work.
2005-04-12 21:11:43 +00:00
jmcneill
4f351ce9a0 Don't touch AC97_REG_RESET if we're dealing with a modem (modems use
AC97_REG_EXT_MODEM_ID instead). Also set the default audio rate to 8000;
12000 was a stupid choice since we don't actually support it in the driver
yet.
2005-04-12 17:28:02 +00:00
jmcneill
c674ab7b1d Add ac97_attach_type(), to allow the hw driver to skip probes for audio or
modem devices. ac97_attach now calls ac97_attach_type() with
AC97_CODEC_TYPE_AUDIO, for backwords compatibility.
2005-04-11 18:26:48 +00:00
jmcneill
a497249c37 Add AC'97 1.x 'Modem Line Codec support' capability bit definition. 2005-04-08 15:27:19 +00:00
jmcneill
702c19a270 Add identifiers for Intel ICH3 AC'97 modems and CXT33 modem codecs, from
Nicolas Joly <njoly _at_ pasteur _dot_ fr>.
2005-04-08 12:50:00 +00:00
jmcneill
0f32e1f4a6 AC'97 modems don't have the same mixer controls as audio devices. Treat
them differently. Mixers are built depending on the features returned
in the ext_mid -- any combination of LINE1, LINE2, and HANDSET.
2005-04-07 23:24:05 +00:00
jmcneill
f1db07fc36 * Add more AC97 modem registers (from AC'97 revision 2.2)
* Add sysctls to control the modem's off-hook status (work in progress)
2005-04-04 18:52:30 +00:00
jmcneill
c74eb31f21 * Add support for skipping either the modem or audio AC'97 probes
via host_flags: AC97_HOST_SKIP_AUDIO, AC97_HOST_SKIP_MODEM
* If we're dealing with a modem codec, print the extended modem
  capabilities.
* Add basic AC'97 modem initialization support.
* Add some (but not all) AC'97 modem registers. More will be added later.
2005-04-04 02:08:58 +00:00
jdolecek
8914aa326e white space cleanup, some KNF, long line wrapup 2005-04-03 11:36:32 +00:00
jdolecek
1c89179871 Add driver for MCA Tiara LANCard / Fujitsu mb86950 EtherStar. Driver provided
in PR kern/26899 by Dave Barnes.
2005-04-03 11:21:44 +00:00
jdolecek
fc38d3f3ac Make it possible for attachment to specify that the 16bit access shouldn't
be toggled in WE_MEM_{ENABLE|DISABLE} when receiving or transmitting packets.
Use this to switch the toggle off for MCA cards, since it causes NIC resets
there.

Fixes PR kern/26895 by Dave Barnes.
2005-04-03 10:56:59 +00:00
yamt
6b2d8b66a4 merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00