Commit Graph

9329 Commits

Author SHA1 Message Date
des
649f6ec094 Add constants for USB programming interfaces. These are already defined
(with other names) in the USB driver sources, but I felt that pcireg.h
should have a complete list - at least of classes and interfaces that we
know about and use.
2003-04-23 15:51:36 +00:00
jhay
f639676ede Get rid of kvtop().
Change inb() and outb() to use bus_space*().
2003-04-23 15:40:11 +00:00
jhb
1fb058ce86 Keep the proc locked while we set PS_INMEM so that either of the proc lock
or sched_lock are sufficient to test this flag.

XXX: vinum should really be using a kernel process via kthread_create()
instead of this hack.  I'm not even sure PS_INMEM can be clear at this
point anyways.
2003-04-22 19:45:26 +00:00
simokawa
bedf79949f Set the local bus address in xfer->dst.
Submitted by: Buzz Slye <buzz@gaia.arc.nasa.gov>
2003-04-22 02:31:31 +00:00
imp
55161dbc66 Use newly minted device_is_attached rather than device_is_alive to see
if attach succeeded.  device_is_alive just tells us that probe
succeeded.  Since we were using it to do things like detach net
interfaces, this caused problems when there were errors in the attach
routine.

Symptoms of problem reported by: martin blapp
2003-04-21 18:34:04 +00:00
takawata
dfb05e5132 Regen. 2003-04-21 17:36:03 +00:00
takawata
e65e3d071c Add another product ID for if_axe and correct vendor ID description
for Linksys USB200M.The USB vendor ID list is available from
http://www.usb.org/app/pub/dump/comp_dump/

Reviewed by: wpaul
2003-04-21 17:34:13 +00:00
simokawa
980817bfc5 Remove unused code. 2003-04-21 16:41:20 +00:00
obrien
43cb95182e Explicitly declare 'int' parameters. 2003-04-21 16:27:46 +00:00
orion
68750c7795 Add eMicro codec ids. 2003-04-21 04:48:40 +00:00
orion
cc72466a4a Use SOUND_MIXER_IGAIN to toggle 20dB mic boost for want of a better
place for it.

Assorted comments.

Submitted by: luigi
2003-04-21 03:47:28 +00:00
wpaul
c2237ae462 Regenerate. 2003-04-20 20:17:10 +00:00
wpaul
d06bc9076c Add support for the Netgear FA120 and the D-Link DUBE100 (AX88172-based
devices).
2003-04-20 20:15:42 +00:00
wpaul
5913c14750 Regen usbdevs. 2003-04-20 19:07:51 +00:00
wpaul
e41f6225fa Add device driver support for the ASIX Electronics AX88172 USB 2.0
ethernet controller. The driver has been tested with the LinkSys
USB200M adapter. I know for a fact that there are other devices out
there with this chip but don't have all the USB vendor/device IDs.

Note: I'm not sure if this will force the driver to end up in the
install kernel image or not. Special magic needs to be done to exclude
it to keep the boot floppies from bloating again, someone please
advise.
2003-04-20 19:05:33 +00:00
mux
fe7cd0f228 Convert the tx(4) driver to use the busdma API.
Special thanks to brueffer for sending me such a card so that
I could do this work.
2003-04-20 18:08:00 +00:00
mux
447057245b Better comment, more style(9) fixes. 2003-04-20 17:36:26 +00:00
orion
26bf26a836 Additional malloc failure checks. 2003-04-20 17:08:56 +00:00
obrien
f229642828 more style(9) changes. 2003-04-20 09:07:14 +00:00
obrien
e0e99fcc92 more style(9) changes. 2003-04-20 08:37:29 +00:00
obrien
87e6a7b3b7 A few style(9) fixes. 2003-04-20 07:43:09 +00:00
mux
920bae3858 style(9). 2003-04-20 01:04:04 +00:00
mux
3867353e09 Make this file closer to style(9) paradigm. 2003-04-19 17:24:07 +00:00
mux
098aa7afca - Enable interrupts only at the end of epic_attach() when all the
other initializations succeeded.
- Initialize the TX and RX rings in epic_attach() rather than in
  epic_init() where we're not supposed to fail.  Similarly, free
  the TX and RX rings in epic_detach() rather than in epic_stop().
- Change epic_init() to be a void function now that it can't fail.
  Also change its parameter to a void * so that we have a correct
  prototype for if_init.
- Now that epic_init() has a correct prototype, don't cast the
  function pointer when initializing if_init.
- Fix nearby style bugs.
2003-04-19 13:51:24 +00:00
mux
f1b1ca3a92 - Correct a comment made bogus by my last commit.
- Use __FBSDID.
2003-04-19 00:28:49 +00:00
mux
202f4add57 Various cleanups:
- Don't initialize if_output, ether_ifattach() does this for us.
- Use pci_enable_busmaster() instead of using pci_read_config()
  and pci_write_config() directly.
- Don't try to enable I/O, bus_alloc_resource() does this for us.
2003-04-19 00:21:34 +00:00
pdeuskar
05b93dc7b7 Tell the upper layer(s) that we support long frames.
Not doing this caused the vlan mtu to be reduced by 4 bytes.

Submitted by:	Doug Ambrisko (ambrisko)
MFC after:	1 day
2003-04-18 17:36:13 +00:00
sanpei
93158f5219 Add support for Planex FNW-3602-T(CardBus 100M/10M).
Submitted by:	kazz <kazz@v001.vaio.ne.jp>
Obtained from:	[bsd-nomads:16637]
2003-04-18 15:42:25 +00:00
sanpei
7fd7ee13c5 Sync to 1.48 2003-04-18 15:35:52 +00:00
sanpei
2e291e7846 fix corega vendor id(use vendor string and product string)
Submitted by:	imp
2003-04-18 14:52:14 +00:00
obrien
23d5786094 Sync with Creative's 8010.h rev 1.39. 2003-04-18 04:13:38 +00:00
njl
fe07eb9dfb Revise attach/detach resource cleanup
- Unconditionally call *_stop() if device is in the tree. This is to
  prevent callouts from happening after the device is gone. Checks for
  bus_child_present() should be added in the future to keep from touching
  potentially non-existent hardware in *_detach().  Found by iedowse@.
- Always check for and free miibus children, even if the device is not in
  the tree since some failure cases could have gotten here.
- Call ether_ifdetach() in the irq setup failure case
- ti(4), xl(4): move ifmedia_init() calls to the beginning of attach so
  that ifmedia_removeall() can be unconditionally called on detach. There
  is no way to detect whether ifmedia has been initialized without using
  a separate variable (as tl(4) does).
- Add comments to indicate assumptions of code path
2003-04-17 20:32:06 +00:00
jhay
6291491e7c Get wlread() closer to working. Use m->m_len as the initial value for
bytes_in_mbuf rather than MCLBYTES. Add the ethertnet header to the
front of the mbuf. Adjust bytes_in_mbuf inside the loop that reads
the packet out of the card.
2003-04-17 17:51:24 +00:00
jhay
d0e23a2bfc Add locking to wlinit(). 2003-04-17 17:45:58 +00:00
jhay
6db76a0df6 Put the spl calls back until we are sure that everything that they cover
are locked.
2003-04-17 15:42:30 +00:00
orion
7d2c2298b4 Perform warm or cold reset AC97 per the spec depending on state of the
codec during initialization.  This code mirrors the reset code used on
the VIA82c686 and fixes a codec initialization failure (SoundMAX
AD1885) reported by Matthias Schuendehuette.
2003-04-17 15:04:11 +00:00
iedowse
1bc9e58dac Revert part of revision 1.97 by calling dc_stop() unconditionally
in dc_detach() instead of only calling it if the hardware is preset.
This is a workaround for page faults in softclock() after a `dc'
device was detached, caused by not disabling a timer before freeing
its memory. The bus_child_present() checks should probably be
re-added later, but only to avoid the hardware accesses and not the
other resource cleanups in dc_stop().

Approved by:	njl
2003-04-17 08:36:52 +00:00
simokawa
29b43e58e3 MFp4(simokawa_firewire):
Many internal structure changes for the FireWire driver.

- Compute CRC in CROM parsing.
- Add support for configuration ROM build.
- Simplify dummy buffer handling.
- busdma conversion
- Use swi_taskqueue_giant for -current.  Mark the interrupt routine as MPSAFE.
- AR buffer handling.
	Don't reallocate AR buffer but just recycle it.
	Don't malloc and copy per packet in fwohci_arcv().
	Pass packet to fw_rcv() using iovec.
	Application must prepare receiving buffer in advance.
- Change fw_bind API so that application should pre-allocate xfer structure.
- Add fw_xfer_unload() for recycling struct fw_xfer.
- Add post_busreset hook
- Remove unused 'sub' and 'act_type' in struct fw_xfer.
- Remove npacket from struct fw_bulkxfer.
- Don't call back handlers in fwochi_arcv() if the packet has
	not drained in AT queue
- Make firewire works on big endian platform.
- Use native endian for packet header and remove unnecessary ntohX/htonX.
- Remove FWXFERQ_PACKET mode.  We don't use it anymore.
- Remove unnecessary restriction of FWSTMAXCHUNK.
- Don't set root node for phy config packet if the root node is
	not cycle master capable but set myself for root node.
	We should be the root node after next bus reset.

	Spotted by: Yoshihiro Tabira <tabira@scd.mei.co.jp>
- Improve self id handling

Tested on: i386, sparc64 and i386 with forced bounce buffer
2003-04-17 03:38:03 +00:00
phk
6dd4776ecc Don't include <sys/disklabel.h> 2003-04-16 20:57:35 +00:00
phk
d7217006e6 Include <sys/ioccom.h> instead of <sys/disklabel.h> 2003-04-16 20:46:30 +00:00
jhay
500fbb6abc Add locking and remove all the spl() calls. 2003-04-16 17:42:38 +00:00
jhay
10e2a694f9 Get rid of COMPAT_OLDISA and move in the direction of newbus. 2003-04-16 17:29:00 +00:00
jhay
38d249439e Remove the register keyword. 2003-04-16 15:52:20 +00:00
sobomax
2c8ec42bdf Update comment to match reality. 2003-04-16 09:16:55 +00:00
sos
a733e8a7dd Cosmetics. 2003-04-16 08:30:40 +00:00
sos
212b001639 Fix a panic with Cenatek controllers. 2003-04-16 08:30:10 +00:00
simokawa
13f420d95c Fix bogus maxsegsz parameter for bus_dma_tag_create().
MFC: 1 week
2003-04-16 05:03:35 +00:00
mdodd
74c95b7f29 - Don't call pci_enable_io() in drivers (unless needed for resume).
- Don't test memory/port status and emit an error message; the PCI
  bus code will do this now.
2003-04-16 03:16:57 +00:00
mdodd
ac7452631f Return status for PCI methods '{enable,disable}_{io,busmaster}'.
Reviewed by:	imp
2003-04-16 03:15:08 +00:00
imp
bcfb4701c6 When the driver allocates memory or I/O ports, enable that bit in the
command config register.  At the present, this represents a nop
because these bits should have been set earlier in the process.  In
the future, we'll only set these bits when the driver requests the
resource, not when the bus code detects the resource.

Reviewed by: mdodd
2003-04-15 19:38:18 +00:00
fjoe
966c63b53a cosmetic style fixes 2003-04-15 17:26:28 +00:00
mdodd
261178d14f - Express hard dependencies on bus (pci, isa, pccard) and
network layer (ether).
- Don't abuse module names to facilitate ifconfig module loading;
  such abuse isn't really needed.  (And if we do need type information
  associated with a module then we should make it explicit and not
  use hacks.)
2003-04-15 06:37:30 +00:00
sobomax
ac94030547 Use pci_enable_{busmaster|io}() instead of directly writing into
PCI configuration register.

Submitted by:	mdodd
2003-04-14 15:50:04 +00:00
ticso
57c77ee3ed Use a sim for each device on it's own instead of one for all umass
devices.
This reduces complexity and fixes a number of small problems.

Approved by:	gallatin (mentor)
Reviewed by:	njl
2003-04-14 14:28:17 +00:00
simokawa
1cfbbefd6c Panic if bus_dmamap_load() doesn't respect maxsegsz. 2003-04-14 14:17:49 +00:00
ticso
74d6d25d1a add EHCI (USB 2.0) controller support.
Approved by:	joe
		gallatin (mentor)
Obtained from:  NetBSD
2003-04-14 14:04:08 +00:00
sobomax
6efce81948 Before attaching device set PCIM_CMD_PORTEN in addition to
PCIM_CMD_MEMEN and PCIM_CMD_BUSMASTEREN, becaise some braindead
BIOSes (such as one found in my vprmatrix notebook) forget
to initialize it properly resulting in attachment failure.
2003-04-14 09:45:25 +00:00
phk
c10cd4d964 More correct patch: Only call biofinish if we have not already sent
any children down the mesh.
2003-04-14 08:49:54 +00:00
phk
e27444e997 Call biofinish() also when we get a malloc() failure. 2003-04-14 08:08:17 +00:00
fjoe
be4b773002 Driver for Granch SBNI16 SHDSL modem
Submitted by:	Denis I. Timofeev <timofeev@granch.ru>
MFC after:	1 week
2003-04-13 06:27:13 +00:00
iwasaki
a9636d4e10 Add new sysctl MIB (hw.acpi.supported_sleep_state) to indicate
the list of supported sleep state.
This should help people understand what following message means.

acpi0: AcpiGetSleepTypeData failed - AE_NOT_FOUND

MFC after:	3 days
2003-04-11 16:53:56 +00:00
mux
b64a74ff56 - Call ether_ifdetach() before shutting down the hardware.
- Remove a useless device_is_alive() check.
- Disable interrupts if bus_child_present() so that this
  check is more useful.

This fixes the hangs I was seeing when unloading the fxp driver.

Suggestions from:	hsu, njl
2003-04-11 12:52:52 +00:00
mux
37f577805d I deserve a big pointy hat for having missed all those references
to bus_dmasync_op_t in my last commit.
2003-04-10 23:50:06 +00:00
mux
b3e58d6801 - Clean up the fxp_release() and fxp_detach() functions.
- Be sure to teardown the interrupt first so that "kldunload if_fxp"
  doesn't panic the box.  It's now deadlocking rather than crashing,
  which isn't really better, but I'm unsure this is fxp(4)'s fault.
- Change a bus_dmamap_sync() call to also do a BUS_DMASYNC_PREREAD
  now that we can pass several operations.
2003-04-10 23:15:12 +00:00
sos
2c9f271ac5 Spell 55 with two '5's 2003-04-10 12:56:33 +00:00
sos
e0d4866a03 Add a few more older SiS ID's. 2003-04-10 12:24:39 +00:00
mdodd
cf8fc64746 Add quirk for LOGITECH WMRPAD.
Submitted by:	Mathew Kanner <mat@cnd.mcgill.ca>
2003-04-10 08:25:09 +00:00
mdodd
55b4c0d128 - Add LOGITECH WMRPAD, MOTOROLA SB410, and SANDISK SDDR05.
- Regenerate.
2003-04-10 08:24:33 +00:00
imp
07eec53268 Fix interrupt race.
From NetBSD
2003-04-10 07:55:55 +00:00
imp
0e02966daf SMC 8041 is the same thing as LINKSYS COMBO_ECARD, so no extra entry
is required.  NetBSD has one because it checks for the mac address
match as well wanting to give its own string in the description.
Since we do neither, we don't need a separate entry.

# I suspect that a few of the COREGA cards might fall into that category
# as well, but since I don't have access to any of them it is hard to know
# for sure.
2003-04-10 07:35:19 +00:00
imp
a40639441e Add Billionton CFLT10N and SMC8041 (although I'm not 100% sure the latter is
needed).  Remove duplicate kingston kne2 entry.

Info obtained from NetBSD
2003-04-10 07:24:18 +00:00
imp
e7b6cf5367 Remove bogus line and entry, restore cnet ne2000 add smc 8041 2003-04-10 07:21:11 +00:00
imp
a5a1d8dd18 reorganize the supported card table. We don't need the enet_vendor or
enet_mcast fields, so remove them.  Sort.  Eliminate now duplicate
entries.

This reorg saves about 500 bytes in the binary.  I've tested this only
with a couple of cards, so please let me know if I've broken anything.
2003-04-10 07:04:39 +00:00
imp
4c8c5547db Sync to 1.46 2003-04-10 06:59:35 +00:00
imp
5eb0dcf6ad MFNetBSD:
1.182; christos
	A cardflash NE2000 from Michael Francini
	1.181; perry
	support Corega PCCL-11 -- from Christopher SEKIYA in PR 20932
	1.180; ichiro
	add product TOSHIBA PA2673U CBIDE2 (IODATA OEM)
	1.179; kanaoka
	Add SMC 8041TX 10/100 Ether PC Card.
2003-04-10 06:58:40 +00:00
imp
93c16cf29a Don't set the description if NULL. 2003-04-10 06:08:27 +00:00
imp
a7cc0ce91e Don't lock in the attach routine. It isn't required. Register the
interrupt handler last.  This gets rid of the sleep while locked
messages.

Reviewed by: ambrisko
2003-04-10 05:12:45 +00:00
imp
0b41fd998b Make sure that pp_name is non-null before setting the device
description.  This allows us to rely entirely on the CIS entries if
necessary...
2003-04-10 04:36:02 +00:00
imp
b8eb5e1cd0 Back out the _ND change. I plan on making all drivers default to that with
a special _DESC version for those cards whose CIS is insufficient for some
reason.  This should save about 3k of kernel strings when complete.
2003-04-10 04:14:35 +00:00
imp
1281a2b1fe In [bsd-nomads:16650] shibagaki-san presented an example product id of
0 in a problem that is being discussed.  That means that the test for
product != 0 may cause problems.  Looking at pccarddevs (which i
should have done earlier) we see:

product	BONDWELL B236		0x0000 Game Card Joystick
product CONTEC CNETPC		0x0000 Contec C-NET(PC)C
product IBM MICRODRIVE		0x0000 IBM Microdrive
product RAYTHEON WLAN		0x0000 WLAN Adapter
product SOCKET EA_ETHER		0x0000 Socket Communications EA
product TDK LAK_CD011WL		0x0000 TDK LAK-CD011WL

so use only the vendor field for the end sentinel.
2003-04-10 04:11:15 +00:00
imp
bab509397b 1.37 was committed prematurely: back out until I can commit all parts at the
same time.
2003-04-09 22:10:28 +00:00
imp
7bba953950 1.77 was bogus: there is no logic bug. Back it out and compare the
correct fields instead.
2003-04-09 22:07:02 +00:00
jhb
4f61f946f2 Fix a logic bug in previous commit (use || rather than &&). In order to
terminate the loop only when both the name and vendor are zero, we should
keep looping so long as either one is not zero.
2003-04-09 21:24:23 +00:00
imp
04fd973e42 Make sure that both pp_name and pp_vendor are zero to know we're at the
end of the list now that some valid entries don't have pp_name set.  Also,
don't print a warning if pp->name is NULL and it is a total wildcard.
2003-04-09 15:54:00 +00:00
jake
041ad7b648 Compile with PAE. 2003-04-09 14:58:02 +00:00
phk
f3a79aea41 Add a couple of undocumented test options to MD(4) to aid in regression
testting of GEOM.
2003-04-09 11:59:29 +00:00
mdodd
5f0dd74a54 At least pretend to handle USB_GET_REPORT_ID. 2003-04-09 08:43:01 +00:00
silby
979ed3a82e Fix if_vr's handling of vr_encap failures. 3 parts:
- Don't bother setting OACTIVE when the descriptors are all full
  or there's a vr_encap failure, it doesn't help anything.
- Correctly roll back on the descriptor list after a failure
  so as not to corrupt the list.
- Add a missing VR_UNLOCK().

Without these changes, vr_encap failure (which is assured during
a low mbuf situation) would result in the card locking until
the watchdog could fire.

MFC after:	1 week
2003-04-09 02:21:54 +00:00
phk
7611c6c351 Almost the finished article.
Boost sample rate to 1.25 MSPS since that allows us to use a 5Mhz
(/4) or 10Mhz (/8) external clock.

Make the interrupt both MPSAFE and FAST, at 610 interrupts a second,
and a max time to service of 5 msec, we brake for nobody.

Use kernel thread to accumulate into the 25 possible wave signals.

Use #ifdef _KERNEL to let .c file double as .h file defining the ioctls.
2003-04-08 19:12:48 +00:00
mux
f8e2ba2ce6 - Pass a busdma tag and a busdma map to fxp_dma_wait() so that
it can do the necessary bus_dmamap_sync() calls.
- While I'm here, reorder arguments to match other functions.
2003-04-08 18:56:45 +00:00
mux
9ca3a50f70 Add an XXX comment for the atomic operation in the __alpha__
case so that it doesn't confuse more people.  Use the more
correct atomic_clear_16() instead of atomic_clear_short().
2003-04-08 18:35:51 +00:00
sos
42a1508521 Fix breakage on sparc64.
Note to self: always test even the smallest changes on all platforms.
2003-04-08 18:01:30 +00:00
mux
d266784cd1 - Endian fixes.
- 6 -> ETHER_ADDR_LEN.
2003-04-08 17:21:15 +00:00
imp
db67e9740f Use the new _ND macros to not include the description strings. If any
of the entries have a description, we'll use that to override the
description that the pccard layer generates for us.

This saves about 930 bytes in the module, so I feel it won't hurt the
crowded boot disks....

# other modules to follow
2003-04-08 15:36:43 +00:00
imp
ec272b22bc Create new _ND versions to allow one to not specify the description be
stored in the table.
2003-04-08 15:28:58 +00:00
imp
0fb4f74599 Don't set the decription, since the pccard layer does that for us now.
Remove the duplicate entries that were there to disambiguate different
cards that were the same, yet people wanted to have different dmesg.
2003-04-08 15:26:02 +00:00
des
567ac2b268 Introduce an M_ASSERTPKTHDR() macro which performs the very common task
of asserting that an mbuf has a packet header.  Use it instead of hand-
rolled versions wherever applicable.

Submitted by:	Hiten Pandya <hiten@unixdaemons.com>
2003-04-08 14:25:47 +00:00
mux
e105056ea6 Fix the hangs people have been seeing. For some reason, the
atomic operation change caused this, so backout it until I
can figure out what's wrong with it.
2003-04-08 13:05:11 +00:00
sos
8568dcf658 Fix a long standing bug in handling the last part of a stripe
on "odd" size disks.

Add printout of the RAID structure on verbose boot.
2003-04-08 07:48:52 +00:00
imp
bc776ad450 MFp4: when you can't allocate a resource, print a message, don't panic. 2003-04-08 07:05:16 +00:00
imp
5f6f6eb722 MFP4:
o don't access struct resource members directly.
o Set a default device description based on the CIS name.
2003-04-08 07:02:03 +00:00
imp
3a32b339c9 u_int*_t -> uint*_t
-1 -> 0xffffffff
2003-04-08 06:59:20 +00:00
imp
6c830bb5b8 Don't need to read this config register if we're just going to
overwrite it in the next line.
2003-04-08 06:54:10 +00:00
imp
7f0b9b11f9 MFp4: Massively unbreak module loading/unloading:
o Only complain about detached children that aren't pccard/cardbus.
o Don't NULL out the pccarddev and cbdev devices.  detach just
  disassociates the device and driver.  It doesn't delete the child.
o on driver added, just probe_and_attach the children.  If there's
  any children attached, wakeup the device add/delete thread.
o wakeup the add/delete thread with the correct cv_signal() rather
  than the bogus wakeup(sc).  It used to be that we did a tsleep on
  sc in this thread, but switched to the more reliable cv stuff a while
  ago w/o changing this.
o Remove bogus checks when reallocating memory for the registers.  They
  weren't needed and turned out to be completely bogus.

This lets me load/unload pccard with a pccard in a slot and have the
child correctly detach/attach.  This should help people that have wi
in their kernel, but that kldload cbb and pccard, for example.
2003-04-08 06:52:16 +00:00
mux
9c534b08bc Correct the maxsize and maxsegsz parameters for the
bus_dma_tag_create() calls.  Without this, fxp(4) + PAE
would consume insane amounts of bounce pages.
2003-04-07 17:02:44 +00:00
imp
c0491eef73 resync 2003-04-07 15:36:46 +00:00
mux
e4566c3ff2 Remove an erroneous htole16(). The byte_count field in the
struct fxp_cb_config is a 6-bit field, not a 16-bit integer
as in struct fxp_cb_tx.
2003-04-07 14:53:30 +00:00
sos
a014051b02 Minor cleanup of the ATA RAID code. 2003-04-07 14:14:29 +00:00
sos
d6ec3d03e8 Third round of updates to the ATA driver.
More DMA cleanups, including fix for breakage on older Promise controllers.

Add more ways of getting to the ATA registers.
2003-04-07 14:12:12 +00:00
murray
9cbd3070ae Add ID for Kawasaki LSI Inc. USB-Ethernet, rev 1.00/2.02 adapter.
PR:		kern/50064
Submitted by:	Scott Renfro <scott@renfro.org>
MFC after:	3 days
2003-04-07 10:26:59 +00:00
mdodd
d3c5efd512 - Add PCI support (Adaptec AHA-2920/A,Future Domain TMC-18XX/3260).
- Reduce duplicated code.

PR:             50427
Submitted by:   Bob Bishop <rb@gid.co.uk>
2003-04-07 10:13:25 +00:00
murray
e37a3b039d Fix typo.
PR:		kern/50504
Submitted by:	Alex Semenyaka <alexs@snark.ratmir.ru>
MFC after:	3 days
2003-04-07 10:06:48 +00:00
murray
d56efcb743 Correct typos.
PR:		kern/50619
Submitted by:	Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
MFC after:	3 days
2003-04-07 09:42:45 +00:00
mux
4744a04dfb Move a bus_dmamap_sync() to the correct place. 2003-04-06 23:16:00 +00:00
mux
f11ab00778 Because alpha can't access memory in 16-bit granularity,
we're using an atomic operation to clear the suspend flag
in fxp_start().  Since other architectures may need the
same thing, we want to do it all the time and not only
in the __alpha__ case.  However, we don't want to use
atomic operations on 16-bit integers, because those may
not be available on any architecture.  We're thus faking
a 32-bit atomic operation here.  This patch also deals
with endianness here.
2003-04-06 23:09:57 +00:00
mux
669d8d48a3 Revert the s/u_int/u_int8_t/ changes, we can't really use other
integer types than int with bit-fields in a portable way.

Prodded by:	bde
2003-04-06 21:35:45 +00:00
scottl
13536dd031 Add support for the CLIE 5.0 series of PDAs 2003-04-06 17:34:50 +00:00
scottl
5d70c28720 Regen from usbdevs v.116 2003-04-06 17:34:08 +00:00
scottl
7aaf395850 Regen 2003-04-06 17:32:39 +00:00
scottl
b2cf831bbe Add ID's for the CLIE 5.0 series and the Belkin F5U109 usb->serial adapter. 2003-04-06 17:32:12 +00:00
mux
28332bda3b Use __FBSDID. 2003-04-06 01:27:12 +00:00
mux
8da74262e1 Correct the definition of the link_addr and rbd_addr fields
in struct fxp_rfa.  This should have been committed with my
last endianness fixes.
2003-04-06 01:11:38 +00:00
mux
90f8d39b6c - Instead of rolling our own alignment-safe function, use le32enc()
which deals with both endianness and alignment issues.
- Collect low-hanging fruits for endianness safety.
- Use 0xffffffff instead of -1 where appropriate.
2003-04-06 01:04:17 +00:00
mux
f8837dfb26 - Use __FXP_BITFIELDX macros to make the configuration bitfield
endian safe.
- Change some u_int to u_int8_t which make more sense here since
  we're really defining bytes.  That produces the same code due to
  how bitfields work.
- Add the definition of the vlan_drop_en bit (not used yet).
- Add some useful comments.

Obtained from:	NetBSD
2003-04-05 23:46:58 +00:00
cognet
975f6df38d Fix ed compilation with PAE by using %jx instead of %x. 2003-04-05 18:12:36 +00:00
mux
f6dd92222f - Change a FXP_NRFABUFS which would have been a FXP_NTXCB.
- Correct some bus_dmamap_sync() calls.

Submitted by:	jake
2003-04-05 12:43:21 +00:00
mux
5780526be0 Setup our interrupt only at the end of fxp_attach(), when all
other allocations/initializations have been successful.  I kinda
doubt it will fix the recent breakage that some people are seeing,
but this could have caused problems for sure.
2003-04-05 01:27:17 +00:00
phk
d7028ab722 Add a rudimentary but working driver for the Adlink "NuDaq PCI-9812".
This is a 4 channel 20 msps 12 bit ADC card.

Anyone wanting to play with GNUradio or similar can start here.
2003-04-04 18:53:04 +00:00
sanpei
4ea6a23f8d Add NE2000DVF_AX88190 flag to Corega FEther PCC-TXD
(see also /etc/defaults/pccard.conf rev.1.172)
2003-04-04 14:46:50 +00:00
sanpei
9e59a398a5 fix typo 2003-04-04 14:40:01 +00:00
orion
ff6ab443fd Additional codec ids. 2003-04-04 07:37:25 +00:00
orion
63feb03082 Fix mismatch between bus address stored for buffer descriptors and
actual address of buffer descriptor.  This should fix the reported
calibration failures and subsequent speed problems with ich chipsets.

Minor calibration comment updates.
2003-04-04 07:15:19 +00:00
obrien
96d4258af9 Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
mux
d2962d1a1c Remove useless initialization. 2003-04-03 20:39:43 +00:00
ps
986a7d95d4 Add support for the HP Smart Array 6400 EM
Change the interrupt mask for the Smart Array 6xxx controllers after
discussions w/ HP.
2003-04-03 20:09:27 +00:00
phk
cbe207a30e Remove all references to BIO_SETATTR. We will not be using it. 2003-04-03 19:19:36 +00:00
mux
9fc72a0ca0 Fix fxp(4), this changed shouldn't have crept in.
Pointy hat to:	mux
Reported by:	Pawel Worach <pawel.worach@nordea.com>
2003-04-03 18:39:48 +00:00
des
c115d3b2c0 <sys/disk.h> -> <geom/geom_disk.h> 2003-04-03 16:28:57 +00:00
mux
63b6b25833 Remove all the bogus volatile qualifiers from the structs definitions
and associated evil casts to discard them.
2003-04-03 14:08:35 +00:00
phk
ef3342b1dc Add support for Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232
Submitted by:	sst@cybercity.dk
2003-04-03 09:47:15 +00:00
phk
97afb95c01 Don't use dkmakeminor(), create our own minor encoding instead. 2003-04-03 08:50:35 +00:00
mux
fc62ec015b Convert the fxp(4) driver to the busdma API.
This patch is rather big because I had to significantly redesign
the driver to make the busdma conversion possible.  Most notably,
hardware and software structures were carefully splitted to get
rid of all the structs overlapping evilness.

Special thanks to phk and Richard Puga <puga@mauibuilt.com> for
providing me with fxp(4) hardware to do this work.

Thanks to marcel for testing this on ia64, and to Fred Clift
<fclift@verio.net> for testing this on alpha.

Tested on:	i386, ia64, alpha
2003-04-02 16:47:16 +00:00
sos
00d382d396 Instead of not grapping a request binfinish(ENOMEM) it if malloc fails. 2003-04-02 11:36:43 +00:00
gallatin
fe878182e2 Add a crutch so that direct-mapped DMA works on alpha. This is a step
toward preventing this driver from crashing an alpha at boot.

Tested by: Oliver Lehmann <lehmann@ans-netz.de>
2003-04-01 16:31:12 +00:00
phk
c235e25328 Use bioq_flush() to drain a bio queue with a specific error code.
Retain the mistake of not updating the devstat API for now.

Spell bioq_disksort() consistently with the remaining bioq_*().

#include <geom/geom_disk.h> where this is more appropriate.
2003-04-01 15:06:26 +00:00
phk
78452f5f28 Don't include <sys/disk.h>. 2003-04-01 13:33:28 +00:00
phk
8d1644078d Include <sys/conf.h> rather than trusting <sys/disk.h> to do so. 2003-04-01 12:35:17 +00:00
phk
7c6db5e66d Fix KASSERT syntax error. 2003-04-01 08:57:28 +00:00
phk
0bafba46a2 Fix KASSERT syntax errors.
Please compile LINT before commiting.
2003-04-01 08:10:21 +00:00
jhb
35e71f4a05 Add missing ()'s so that these drivers all compile again.
Noticed by:	jake
Tested on:	i386 (compile)
2003-03-31 20:22:00 +00:00
jake
0ab41a7658 Match "serial" as well as "se". 2003-03-31 18:21:52 +00:00
njl
c112976199 Clean up locking and resource management for pci/if_*
- Remove locking of the softc in the attach method, instead depending on
  bus_setup_intr being at the end of attach (delaying interrupt enable until
  after ether_ifattach is called)
- Call *_detach directly in the error case of attach, depending on checking
  in detach to only free resources that were allocated.  This puts all
  resource freeing in one place, avoiding thinkos that lead to memory leaks.
- Add bus_child_present check to calls to *_stop in the detach method to
  be sure hw is present before touching its registers.
- Remove bzero softc calls since device_t should do this for us.
- dc: move interrupt allocation back where it was before.  It was unnecessary
  to move it.  This reverts part of 1.88
- rl: move irq allocation before ether_ifattach.  Problems might have been
  caused by allocating the irq after enabling interrupts on the card.
- rl: call rl_stop before ether_ifdetach
- sf: call sf_stop before ether_ifdetach
- sis: add missed free of sis_tag
- sis: check errors from tag creation
- sis: move dmamem_alloc and dmamap_load to happen at same time as tag creation
- sk: remove duplicate initialization of sk_dev
- ste: add missed bus_generic_detach
- ti: call ti_stop before ether_ifdetach
- ti: add missed error setting in ti_rdata alloc failure
- vr: add missed error setting in I/O, memory mapping cases
- xl: add missed error setting in I/O, memory mapping cases
- xl: remove multi-level goto on attach failure
- xl: move dmamem_alloc and dmamap_load to happen at same time as tag creation
- Calls to free(9) are unconditional because it is valid to call free with a
  null pointer.

Reviewed by:	imp, mdodd
2003-03-31 17:29:43 +00:00
scottl
894367b5df Add the ability to send 64-bit scatter/gather elements to aac cards. This
is enabled when both the size of bus_addr_t > 4 and the card claims support.

Don't wake up the kthread to allocate more commands if we know that we've
already allocated the max number of commands.
2003-03-30 21:47:16 +00:00
sos
76f4d8a27e Fix ATA_DEBUG case breakage. 2003-03-30 09:27:59 +00:00
mdodd
47e745e49e Revert 1.21; this was local code that should not have been
committed.
2003-03-30 08:13:47 +00:00
jake
080f32d20e - Temporary fix so this compiles with 64 bit bus_addr_t.
Sponsored by:	DARPA, Network Associates Laboratories
Approved by:	scottl
2003-03-30 05:26:01 +00:00
mdodd
446c24ca7a - Free interrupt handler in ep_free().
- Move ep_pccard_detach() to if_ep.c and rename to ep_detach()
- Specify detach methods for all bus frontends.
2003-03-29 22:27:41 +00:00
phk
7ae16f68d8 remove a blank line. 2003-03-29 22:13:32 +00:00
mdodd
46dc207e19 Checksum the configuration EEPROM. 2003-03-29 21:57:32 +00:00
mdodd
69599b7cf6 - Return error status instead of value in get_e().
- Modify ep_get_macaddr() to return an error status.
- Reverse the return value logic of eeprom_rdy().
2003-03-29 21:44:46 +00:00
silby
f932a709c1 Switch vr_encap over to using m_defrag instead of its own version
of the function.

No functional change, this driver already handled long mbuf chains
correctly.

MFC after:	2 weeks
2003-03-29 21:39:49 +00:00
silby
643eecc671 Update if_dc to use m_defrag, removing the semi-duplicate dc_coal
function.

Also, use m_defrag where appropriate to defrag long mbuf chains
in the same fashion as was done in if_sis.c.  Before this change,
if_dc would blow up and take down the interface if fed a really long
mbuf chain.

MFC after:	2 weeks
2003-03-29 21:27:07 +00:00
mdodd
e48b09aeb5 - Deal with netisr changes.
- Wrap idt_atm_harpconn() in conditional define T_ATM_BUFQUEUE
2003-03-29 15:55:04 +00:00
mdodd
61b476ad29 - Declare ex_devclass in if_ex.c
- Rename module datastructures in if_ex_isa.c to be more standard.
2003-03-29 15:38:53 +00:00
mdodd
d9dea5bf86 - Move ex_pccard_detach() to if_ex.c and rename it to ex_detach().
- Add detach method to ISA front end.
2003-03-29 15:34:26 +00:00
mdodd
e0f533c657 Reformat for readability. 2003-03-29 15:33:04 +00:00
mdodd
a28b5968f3 Remove useless code. 2003-03-29 14:51:50 +00:00
mdodd
984fbf4470 Don't compile the identify method yet. 2003-03-29 14:50:14 +00:00
mdodd
da71607d13 Register dependency on the elink module. 2003-03-29 13:45:17 +00:00
sos
1aa8f29ccf Second round of updates to the ATA driver.
Clean up the DMA interface too much unneeded stuff crept in with
the busdma code back when.

Modify the ATA_IN* / ATA_OUT* macros so that resource and offset
are gotten from a table. That allows for new chipsets that doesn't
nessesarily have things ordered the good old way. This also removes
the need for the wierd PC98 resource functions.

Tested on: i386, PC98, Alpha, Sparc64
2003-03-29 13:37:09 +00:00
mdodd
ededebc1a4 - Move driver to newbus.
- Provide identify methods for EtherExpress and 3c507 cards; this
  means these cards no longer need wired configs.
- Provide a detach method.
2003-03-29 13:36:41 +00:00
mdodd
743bf455af Clear the IFF_OACTIVE flag at the end of ieinit(). This prevents
the adapter from becoming wedged when when the interface is
is brought up by ether_ioctl() (when you set an IP address for example.)

Confirmed this "fix" from NetBSD's i82586 backend.  It seems hackish
to me but whatever.
2003-03-29 12:42:01 +00:00
mdodd
a2e2170b06 Adjust shared memory allocation to work on cards with only 8 KB of RAM. 2003-03-29 09:49:22 +00:00
mdodd
04e6064fe9 Clean up argument comments for bus_dma_tag_create() calls. 2003-03-29 09:46:10 +00:00
mdodd
17572bf81c - Track resources in our softc.
- Sanitize dpt_alloc().
- Add helper functions for resource alloc/release.
- Add detach method.
- Relocate definition of devclass_t.
- Move some debugging output behind bootverbose.
- Implement an identify method for ISA devices
  but don't use it right now.
2003-03-29 08:30:45 +00:00
mdodd
92ada71709 Text formatting changes. 2003-03-29 01:53:13 +00:00
mdodd
4228bcdeb3 Don't panic if we aren't plugged into a hub. 2003-03-29 01:40:42 +00:00
orion
7f82ad9184 Perform warm reset if codec reports ready on attach.
Move AC97 link control power up poke so it is always performed on attach.
2003-03-28 16:33:15 +00:00
imp
ad18bcce01 pccarddevs_data.h no longer generated 2003-03-28 06:44:57 +00:00
imp
f0fa26212f MFp4:
Don't generate the data file.
Use 0xffffffff rather than -1 for sign safety as these fields are uint32_t.
2003-03-28 06:43:50 +00:00
mdodd
c8027bafcc - Clean up function calling conventions.
- Be consistent about what we call our softc.
- Minor formatting.
- Add some register definitions gleaned from NetBSD/Linux.
2003-03-28 06:27:08 +00:00
mdodd
41a48ccd9e Multicast support, gleaned from NetBSD's if_iy driver.
Submitted by:	 Craig Boston <craig@xfoil.gank.org>
2003-03-28 02:15:01 +00:00
mdodd
0d6bd6a1ee - Rely on ether_ifattach() to initialize part of our struct ifnet
rather than doing it ourself.
- Set ifq_maxlen.
- Include the size of the ethernet header when we allocate
  our mbuf chain in ieget().
2003-03-27 20:38:00 +00:00
sos
4bc38c790b Biofinish the request if we cannot malloc in ad_start. 2003-03-27 10:48:21 +00:00
phk
8db28f0543 Allocate the toplevel indir with M_WAITOK to avoid complicating things
needlessly.

Detected by:	rwatsons EvilMalloc(9)
2003-03-27 10:14:36 +00:00
mdodd
0081603f45 Catch up with recent events. 2003-03-27 07:37:02 +00:00
mdodd
8cbd4198ed Add missing COMPAT_ISA_DRIVER().
Oops.
2003-03-27 05:40:40 +00:00
scottl
d1aad9d09f Begin support for 64-bit address support and workarounds for newer cards:
- Add data structuress for doing 64-bit scatter/gather
	- Move busdma tag creations around so that only the parent is
	  created in aac_pci.c.
	- Retrieve the capabilities word from the firmware before setting
	  up command structures and tags. This allows the driver to decide
	  whether to do 64-bit commands, and if work-arounds are needed for
	  systems with >2GB of RAM.
	- Only enable the SCSI passthrough if it's enabled in the capabilities
	  word in the firmware.

This should fix problems with the 2120S and 2200S cards in systems with more
than 2GB of RAM.  Full 64-bit support is forthcoming.

MFC-After:	1 week
2003-03-26 17:50:11 +00:00
orion
24e75d3601 Re-work ac97 initialization to match cold reset described in AC97r.23
and be prepared to wait much longer for codec to become ready.

Credit to Hugo D. Valentim <hvalentim@gmx.net> for reporting the
problem, providing useful pointers, and repeated diff testing.
2003-03-26 06:11:36 +00:00
orion
37d7dbbe56 For the VIA8233A use multi-sgd register set for primary playback
channel and disable DXS3.  Several users have reported DXS3 as playing
at half speed on the 8233A revision of the chipset.  This implicitly
means no SPDIF for VIA8233A users.
2003-03-26 05:51:13 +00:00
orion
89673eaab2 Add defines for low power and second codec ready. 2003-03-26 05:35:38 +00:00
scottl
61ec89edc4 aic79xx.reg:
Correct default precompensation value for RevA hardware.
2003-03-25 22:16:27 +00:00
njl
e17741e782 Add code to implement two new USB quirk types: NO_INQUIRY and NO_INQUIRY_EVPD
The former fakes a valid response to an inquiry command.  (I am completely
blown away that there are devices which hang upon receiving inquiry).  The
latter returns "invalid request" to any inquiry commands with EVPD set.
NO_INQUIRY implies NO_INQUIRY_EVPD but not vice versa.  Both quirks have been
tested separately on my USB key although it didn't require either of them.

While I'm here, fix wildcarding so that any/all of vendor, product, revision
can be wildcarded.

Idea from:	Linux
MFC after:	2 weeks
2003-03-25 16:21:09 +00:00
mjacob
e0acfd53c9 Add an explanatory comment about what operational modes in xfwopt are. 2003-03-25 07:02:45 +00:00
jake
dc42755695 Fix 2 vm_offset_t -> vm_paddr_t missed in previous commit.
Sponsored by:	DARPA, Network Associates Laboratories
2003-03-25 01:47:29 +00:00
jake
783ae539c3 - Add vm_paddr_t, a physical address type. This is required for systems
where physical addresses larger than virtual addresses, such as i386s
  with PAE.
- Use this to represent physical addresses in the MI vm system and in the
  i386 pmap code.  This also changes the paddr parameter to d_mmap_t.
- Fix printf formats to handle physical addresses >4G in the i386 memory
  detection code, and due to kvtop returning vm_paddr_t instead of u_long.

Note that this is a name change only; vm_paddr_t is still the same as
vm_offset_t on all currently supported platforms.

Sponsored by:	DARPA, Network Associates Laboratories
Discussed with:	re, phk (cdevsw change)
2003-03-25 00:07:06 +00:00
mdodd
fd221086ef Retire sys/pc98/pc98/spkr.c 2003-03-24 21:01:54 +00:00
phk
1016075ea8 Change g_class initialization to sparse format. 2003-03-24 19:46:26 +00:00
mdodd
803a8a66ce Use repo-copied files in sys/i386/bios. 2003-03-24 19:14:46 +00:00
jhb
392dc08fdb Don't call sysbeep() in sc_bell() if either duration or pitch is zero.
Otherwise sysbeep() makes an annoying clicking sound on some systems.
'kbdcontrol -b off' just sets the duration and pitch to zero, it doesn't
set the QUIET_BELL flag.

Tested by:	SorAlx <soralx@cydem.zp.ua>
PR:		misc/41772
MFC after:	1 week
2003-03-24 15:56:00 +00:00