Commit Graph

4185 Commits

Author SHA1 Message Date
simonb 35817977ee Remove an unused event counter. 2004-09-14 08:40:26 +00:00
lukem ade2bb0154 Whitespace tweaks.
Remove vendor RCSID, since it's out of sync already (due to manual patches).
2004-09-14 00:38:37 +00:00
lukem 90a0bf7bae Use ieee80211_find_rxnode() function instead of ieee80211_find_node()
and ieee80211_ref_node().  From Damien Bergamini.
2004-09-14 00:35:10 +00:00
lukem 25429a05fb Correctly synchronize DMA mapping for transmission buffer descriptors.
From Damien Bergamini.
2004-09-14 00:34:19 +00:00
lukem 8c838d97d0 Improve monitor mode support. From Damien Bergamini 2004-09-14 00:32:55 +00:00
lukem 9e6574e2c2 Add IEEE802.11 radiotap support. From Damien Bergamini. 2004-09-14 00:31:20 +00:00
lukem 2cc0c73c82 Whitespace tweaks from Damien Bergamini.
Whitespace tweaks by me.
Remove vendor RCSID, since it's out of sync already (due to manual patchs).
2004-09-14 00:27:26 +00:00
drochner 96b589fc18 a round of autoconf cleanup:
-convert submatch() style functions (passed to config_search() or
 config_found_sm()) to the locator passing variants
-pass interface attributes in some cases
-make submatch() functions look uniformly as far as possible
-avoid macros which just hide cfdata members, and reduce dependencies
 on "locators.h"
2004-09-13 12:55:47 +00:00
drochner a987cab220 remove macros which just hide cfdata internals
(and are used at one place only)
2004-09-13 12:22:52 +00:00
darrenr ec6c370522 Regen'd to add Sierra Wireless AirCard 580 2004-09-10 13:59:07 +00:00
darrenr b5e2dc9cd7 Add Sierra Wireless AirCard 580 (1xEV-DO) 2004-09-10 13:56:32 +00:00
skd 2d0c1ccea9 Fill out correct cap variable so that DMA works again. 2004-09-05 05:07:41 +00:00
he 6c2143cef0 Make this driver recognize LSI Logic MegaRAID 320-2 RAID controllers.
Fixes PR#26834, patch from that PR.
2004-09-02 21:12:42 +00:00
drochner 46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
drochner 5fa053333d add centralized {eisa,isa,pci,agp,mca}busprint() functions which do
what tens of the bus' parents foo{...}bridge_print()s scattered around do
2004-08-30 10:30:38 +00:00
drochner 13e2ec357a there is (appearently) no reason for the "bktr" driver to carry a
"pcibus" attribute, so remove it
2004-08-30 10:10:34 +00:00
lukem ce0391e266 Minor cosmetic consistency tweaks, from Damien. 2004-08-27 00:02:02 +00:00
thorpej 96663f19df Use ANSI function decls, more static. 2004-08-26 18:38:19 +00:00
itohy 1d4f1abb08 Workbit NinjaSCSI-32 PCI/CardBus SCSI driver (njs) 2004-08-26 14:13:46 +00:00
itohy d1112abfcc Regen from pcidevs rev 1.647. 2004-08-26 13:16:08 +00:00
itohy 2e477d0c91 Add Workbit NinjaSCSI-32 PCI/CardBus products. 2004-08-26 13:14:59 +00:00
bouyer 89817e7217 Revert 1.12, it cause problems on promise controllers, as reported in
PR kern/26568 by Paul Shupak.
2004-08-23 21:30:35 +00:00
lukem 34a603de29 Add ipw(4) 2004-08-23 12:03:25 +00:00
lukem 6d906be913 NetBSD RCSID 2004-08-23 11:57:35 +00:00
lukem a91684ce5d ipw(4) - Intel PRO/Wireless 2100 driver.
Written by Damien Bergamini, from http://damien.bergamini.free.fr/ipw/
2004-08-23 11:42:02 +00:00
thorpej d0fcfb4c3a Use ANSI function decls and make use of static. 2004-08-21 23:48:33 +00:00
thorpej d17a849385 Use ANSI function decls and make use of static. 2004-08-21 22:48:18 +00:00
thorpej 383b485d9a Make the product table static. 2004-08-21 22:23:13 +00:00
nisimura 2ded7c9cd6 Redo the previous adjustment work. 2004-08-21 21:46:54 +00:00
nisimura e86b49fe3c Remove fluctuation of written name in alphabetical representation of
copyright holder.
2004-08-21 21:44:07 +00:00
thorpej 335b799580 atastart() (called only at splbio(), and from interrupts) can change
drive_flags, to make sure all drive_flags manipulations are done at
splbio().
2004-08-21 00:28:34 +00:00
thorpej 9cc521a148 Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
2004-08-20 06:39:37 +00:00
thorpej 1600c8b8cd - Add and use a CHAN_TO_WDC() macro to get the wdc_softc from an
ata_channel.
- Add and use a CHAN_TO_WDC_REGS() macro to get the wdc_regs from an
  ata_channel.
- Add and use a CHAN_TO_PCIIDE() macro to get the pciide_softc from an
  ata_channel.
- Add and use a CHAN_TO_PCHAN() macro to get the pciide_channel from an
  ata_channel.  (This one just hides a cast, and is really just for
  consistency with the others.)
2004-08-19 23:25:35 +00:00
thorpej 65193a3b71 Protect against multiple inclusion. 2004-08-19 17:56:57 +00:00
drochner c67a72f6ff make PCI devices attachable/detachable (as far as the particular drivers
allow), and allow to rescan a bus selectively (ie only the device/
function I'm looking at)
2004-08-17 23:20:10 +00:00
enami 31c5dbae84 Dereference ch_wdc after filled. 2004-08-16 22:11:13 +00:00
mrg 2db238d57d fix a wrong variable name in a debug message. 2004-08-16 16:43:29 +00:00
mycroft 5111abd827 Simplify some manipulation of PCIC_INTR.
Further attempt to mitigate "bad Vcc" errors.
2004-08-16 15:46:37 +00:00
mycroft f0b8d692af Some tweaks, per the PC Card spec:
* Assert RESET before powering off a socket.
* Turn on the output enable bit earlier so the interface actually drives CEn
  and RESET.
* Tighten up the power-on timing a bit.
* Mention the specific timing values named in the spec.

For pccbb, be careful to always power off before zeroing PWRCTL.
2004-08-16 15:40:35 +00:00
mycroft 4ff9d12ea9 Do not attempt to fiddle with the power-control bits in PWRCTL; just read them
back after touching the PCI registers.

This shouldn't be necessary, but somehow the controller detects the need for
VPP2=12V and automatically applies it, and gives us a "bad Vcc" error if we
turn it off accidentally.
2004-08-16 14:48:56 +00:00
mycroft a6f02be621 And the reason we had to call pccbb_power() twice in the enable routine is...
we were writing to PCIC_PWRCTL in between and causing the socket to power off.
D'oh.
2004-08-15 20:19:14 +00:00
thorpej 4b51cecfc2 - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
  to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
  ata_channel.  Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
  maximum number of drives that can be present on the channel.  For now,
  this is always 2.  Add an ATA_MAXDRIVES constant that places an upper
  limit on this value, also currently 2.
2004-08-14 15:08:04 +00:00
thorpej 46f4277564 WDCDEBUG -> ATADEBUG. 2004-08-13 04:10:49 +00:00
thorpej ab20886f7b Don't bother with bits that tell of the presence of optional callbacks;
just check the function pointers for NULL.
2004-08-13 03:12:59 +00:00
mycroft 306522b970 I can't actually use the FORCE register this way. Just try turning the socket
power off.
2004-08-12 13:42:17 +00:00
mycroft 6b8a90b3fe A bunch of random cleanup:
* Like the i82365 code, add a "delay" function that uses tsleep() to wait, and
  use this in the socket enable/disable paths.  This gets rid of the annoying
  system pauses during card insertion and removal.  (There are still some
  issues related to this in various drivers -- notably big delay()s in wi and
  xi.)
* Move the power-change delay out of pccbb_power() and into the PCMCIA backend
  code -- specifically, once in the disable path and once in the enable path.
  We were being pretty schizo about this before.  Make these use tsleep().
  (Note: This should be safe because card insertion/removal is handled by a
  kernel process, not in an interrupt handler.  It works for me with
  DIAGNOSTIC.)
* If we get a "bad Vcc" error, attempt to force the socket to power off, and
  return an error.  If we don't do this, we will get "bad Vcc" errors forever
  and never be able to use another card without rebooting, which is dumb.
  XXX I haven't been able to test this very well, because it doesn't fail for
  me in the first place.  :-)
* Clean up the socket mappings earlier in the enable path.
* Try to be consistent about clearing PWRCTL (which contains OE) before turning
  off power.
2004-08-12 07:15:49 +00:00
thorpej 77cc762658 Don't assume wdc-specific ATA / ATAPI code should be brought in if atabus
or atapibus are configured; use a separate wdc_common attribute to indicate
that the shared wdc code is also present.
2004-08-12 04:23:02 +00:00
mycroft 33ee9cbce7 Oops; fix a compile error. 2004-08-11 01:05:42 +00:00
mycroft 51be90e8ac Be more liberal in torching the old state in the disable and settype routines. 2004-08-11 01:04:40 +00:00
mycroft a23e15bcbe Rather than having a call up from the low-level driver to get the card type,
instead have a call down from the PCMCIA mid-layer to set it.  Use this from
pcmcia_function_enable().  (Currently the policy is the same, but this would
allow for more flexibility in deciding which mode to use.)

Now it is safe to hold the socket enabled during attach, so do that.  Only
one enable/disable cycle to attach a card now!
2004-08-11 00:18:18 +00:00
mycroft 900254667d Don't pass a MAC address to wi_attach() -- yet. 2004-08-07 17:13:27 +00:00
soren 3dce04c6cd - Don't attempt to clear the CELV bit by setting it high like the
FIFOE/BCIS/LVBCI bits; it's is cleared automatically by the hardware.
- Separate AUICH_DEBUG out from AUDIO_DEBUG and make it possible to debug
  interrupt handling separately.
- A little KNF.
2004-08-07 16:12:57 +00:00
mycroft a84492326e Rework the power sequencing so that I stop getting unrecoverable "bad Vcc"
errors with PCMCIA cards.

I've been using this change for almost a year, but accidentally blew it away
recently, and boy did that suck.
2004-08-06 21:39:47 +00:00
mycroft 369d9bb279 Regen. 2004-08-05 21:44:01 +00:00
mycroft ed38d701a1 Fix an Aironet product name, and normalize the usage of "Mini-PCI". 2004-08-05 21:43:46 +00:00
thorpej 867e9734f2 - Dump the mbuf chain if we encounter a "too many DMA segments" error
on transmit.
- On 82544 and up, allocate 4096 Tx descriptors rather than just 256.
  82543 and down must still use 256, due to errata.
- Allow up to 256 DMA segments per packet.  I have observed some truly
  pathological mbuf chains under certain (admittedly uncommon) workloads
  when jumbo frames are in use.
2004-08-05 19:11:11 +00:00
drochner f024db680d simplify some pointer arithmetics which uses typecasts on the LHS
so that gcc-3.4 doesn't complain
2004-08-05 16:43:59 +00:00
cube e16640cc67 Regen. 2004-08-05 16:26:41 +00:00
cube e492e6ec13 Add the GeForce 5900XT. Totally not related to Doom3 release. Honest. 2004-08-05 16:26:05 +00:00
lukem 7d850ebd8c consistently use "product<SPACE>" 2004-08-05 01:48:09 +00:00
mycroft 84ba128180 Regen. 2004-08-04 19:29:05 +00:00
mycroft 4460f20125 Normalize more names. 2004-08-04 19:28:52 +00:00
mycroft b648650d43 Regen. 2004-08-04 19:13:20 +00:00
mycroft d82da8f77c Normalize some product names. 2004-08-04 19:13:06 +00:00
mycroft fafdc69d20 Regen. 2004-08-04 17:18:19 +00:00
mycroft 4a0d5c9481 Remove vendor names from product strings. 2004-08-04 17:18:01 +00:00
drochner 8269afa5b8 Check return values of config_detach() for child devices and abort
our own detach() on errors.
2004-08-03 18:42:30 +00:00
drochner fc7a65f1b4 use joydetach() now that we have it 2004-08-03 18:38:52 +00:00
bouyer 73203a8277 Make it possible for (*dma_finish)() to abort quietly a DMA op. Use this
in wdc_reset_channel().
2004-08-02 22:20:54 +00:00
bouyer 83b6847565 Don't map the interrupt in pciide_mapregs_compat().
In default_chip_map() we'll do further checks to see if the channel should
really be enabled, and in case it's not we would keep the interrupt mapped.
Fix kern/26502 from Christian Biere.
2004-08-02 19:37:33 +00:00
mycroft bbbba5ecef Regen. 2004-08-02 19:25:46 +00:00
mycroft 909bd9c460 Add a device I missed. 2004-08-02 19:25:35 +00:00
mycroft 606b77842f Regen. 2004-08-02 19:10:48 +00:00
mycroft 90657a50ca Merge in data from cardbusdevs. 2004-08-02 19:10:35 +00:00
bouyer 574dd00e11 If acknowledge "bogus" interrupts (that is, interrupts that have happened
according to the controller-dependant registers while wdc was not waiting for
an interrupt). A reset can generate spurious interrupts (or even a flow of
spurious interrupts on the promise) that needs to be properly acknowledged.
2004-08-02 19:08:16 +00:00
mycroft bedcb9569b Regen. 2004-08-02 18:43:53 +00:00
mycroft 31a80e2d68 For the PCIVERBOSE case, separate vendors and products into separate tables.
Eliminating redundant pointers in the tables saves nearly 20K (20% of the table
size).  In the process, add a pci_findproduct() and make that and
pci_findvendor() return a "const char *".
2004-08-02 18:43:38 +00:00
mycroft 6b2c766b7e Regen. 2004-08-02 17:58:51 +00:00
mycroft 883e3cb011 Mmmm, Microsoft products. 2004-08-02 17:58:29 +00:00
joda c3800782de bridge memory and lower prefetch memory ranges are only 12 bits wide 2004-08-02 14:50:36 +00:00
drochner 04a2fc0f5a make the "generic" PCI bus enumeration code the standard case which
gets used if nothing else is defined in MD headers,
introduce a "PCI_MACHDEP_ENUMERATE_BUS" CPP definition which can
be used by MD headers (just 1 port atm) to plug in special code
2004-07-29 16:51:01 +00:00
cube 5258679d27 Regen. 2004-07-29 12:12:08 +00:00
cube b9eaa43c97 Add a bunch of devices that are in the Dell Dimension 8400 sitting on my
desk:  ATI Radeon X300, Broadcom BMC5751, Intel 915 chipset family (ICH6).
2004-07-29 12:11:31 +00:00
he 20304167d0 Add entries for TI CardBus bridges 1520 and 4520Yenta, as found in
IBM ThinkPad 40p and 41p respectively, so that the CardBus probes and
works on those machines.  Fixes PR#26380.
2004-07-28 15:32:49 +00:00
he 00e7d35ef0 Make the SSLOTS, MSLOTS and JSLOTS tunable (redefineable).
Bump the default values for these to the values used by FreeBSD,
and also adjust ti_init_rx_ring_jumbo() to use the same constant
that FreeBSD uses.  Yes, this consumes more kernel memory.

The effect of this is that you can use jumbo frames in a back-to-back
setup with TCP windows up to about 250KB and get ~930Mbit/s throughput,
while we were earlier limited to around 3-400Mbit/s, and trying to push
above that mark by widening the TCP window caused
  ti0: jumbo buffer allocation failed
messages to be logged and a corresponding stall in the traffic.
2004-07-27 07:59:51 +00:00
christos 1584cf1af7 regen 2004-07-27 01:01:17 +00:00
christos 81f4a7cae8 add compaq advanced systems management controller. 2004-07-27 01:01:00 +00:00
rumble dd003a35bd Add support for the controller found on the AMD (previously
NatSemi) Geode SC1100 controller (as found on the Soekris
NET4801). The chip has two bugs: the first requires dword
alignment, and the second cannot handle exact 64K transfers.

Also, fix a few typos while we're here.

Timings from FreeBSD. Reviewed by Manuel Bouyer.
2004-07-27 00:19:27 +00:00
rumble b6465064a7 regen. 2004-07-27 00:13:11 +00:00
rumble 611930ca2d Fix typos in the SC1100 IDE and AUDIO ids. 2004-07-27 00:12:10 +00:00
christos 452b7e16cb jason says that it is unclear if the new device is compatible with the old
one so disable it for now.
2004-07-25 18:04:52 +00:00
christos 34c5d0dc13 Match viatech's power controller (Sergio Jimenez) 2004-07-25 16:07:08 +00:00
christos 8d9bd7465d regen 2004-07-25 16:05:05 +00:00
christos cc5376ee65 Add viatech's VT8231 Power controller. (Sergio Jimenez) 2004-07-25 16:04:22 +00:00
mrg 5b576a585b match LeadTek's original PCI vendor ID as well as the 3-alternates
when setting CARD_LEADTEK.  now with just

	options BKTR_SYSTEM_DEFAULT=BROOKTREE_PAL

i get a shiny happy working card on my macppc box:

bktr0 at pci1 dev 18 function 0
bktr0: interrupting at irq 52
bktr0: Leadtek WinFast TV2000/VC100, Philips FR1216 PAL FM tuner.
2004-07-24 12:52:45 +00:00
dyoung 571aedf36b Print and store Cardbus/PCI revision number.
Begin conditioning device configuration on revision number.  Four
revisions are known:

        1.1/1.5 -> ADM8211A,
        2.0 -> ADM8211B,
        3.0 -> ADM8211C.

The B and C parts, which are not supported yet, have AP capability.
2004-07-23 07:07:55 +00:00
drochner 87db87bf21 if the register space os the ISDN card can't be mapped, abort device
attachment instead of dereferencing NULL and so
(this needs a serious cleanup -- the framework was thought to be generally
usable for ~all PCI ISDN cards; this didn't work out, so we are left
with a lot of nonsense to support just 1 particular card type...)
2004-07-22 19:14:39 +00:00
drochner c8a35368a7 Replace the hooribly overloaded use of pci_enumerate_bus() - to find out
the chipset revision - by pci_find_device().
While the latter isn't better technically (works around the otherwise
hierarchical device tree), using it doesn't require PCI configuration
functions to support stuff which philosophically doesn't belong there.
So we get the hands free to restructure things for better loadable
driver support.
(Actually, since this is about chipset internal IDE interfaces where
the PCI device/function numbers are well known, this all is unnecessary.)
2004-07-22 19:09:34 +00:00
mycroft 1925108989 If the bus number has not been initialized, do not attach a cardslot, and
output a diagnostic:
pccbbN: secondary bus number uninitialized; try PCIBIOS_BUS_FIXUP
2004-07-22 16:39:51 +00:00
mycroft 910fe04a63 Add the SiS 741, per PR 26394. 2004-07-21 16:40:50 +00:00
mycroft ce1d5354af Regen. 2004-07-21 16:39:51 +00:00
mycroft 6f1f410fae Add SIS 741. 2004-07-21 16:39:38 +00:00
scw 64daaf41f0 - Don't hardcode buffer size and block size in esa_round_buffersize() and
esa_round_blocksize().
 - Fix esa_trigger_output() and esa_trigger_input() to initialise the
   channel's buffer/block size using the supplied parameters.
 - While here, simplify esa_intr().

This gets kphone working on my esa(4)-equipped laptop.
2004-07-21 07:36:18 +00:00
msaitoh ad99aeca1d Add Adaptec AAR-1210SA serial ATA RAID.
RAID is not supported by this driver.
2004-07-19 17:04:36 +00:00
mycroft db93484e06 Remove special-casing of Intersil product name. 2004-07-17 20:05:39 +00:00
mycroft ce97c8c1d8 Regen. 2004-07-17 20:05:02 +00:00
mycroft a673957e97 Fix Intersil product names. 2004-07-17 20:04:32 +00:00
tron 0237ca34a7 Reduce transmit queue len to 16 for the Intel i82547 to avoid FIFO
overruns. This fixes the horrible send performance reported in
PR kern/23782. Reviewed by Frank van der Linden and Jason R. Thorpe.
2004-07-15 15:21:57 +00:00
junyoung 69051bd3c3 Add support for 3Com 3c920B-EMB-WNM Integrated Fast Ethernet,
as found on Asus P4R800-VM motherboards.

From BL on Korea BSD User Forum (sorry but I don't know his real name).
2004-07-15 13:18:08 +00:00
junyoung 88642578e4 Regen for 3c920B-EMB-WNM Integrated Fast Ethernet. 2004-07-15 13:11:36 +00:00
junyoung 4240a2f1f9 Add 3Com 3c920B-EMB-WNM Integrated Fast Ethernet. 2004-07-15 13:09:21 +00:00
tron 742e1a4221 The Intel i82547EI gigabit ethernet controller isn't really a PCI
device. So instead trying to find and print out the PCI bus properties
mark it as a CSA device.
2004-07-13 07:29:37 +00:00
tron 7df6314408 Make this build if WM_DEBUG is defined. 2004-07-12 14:04:36 +00:00
nathanw 86906dceb8 Remove SKIP_FUNCn quirks for SC1100 companion chip; the fix to SMM in
i386/identcpu.c renders it counterproductive.

(this was the only use and the reason for the invention of the
SKIP_FUNCn quirk; it should probably be removed entirely).
2004-07-10 21:30:58 +00:00
bouyer 8e03c54653 Add geodeide(4), a driver for the AMD Geode CS5530A IDE controller.
Tested by Ian Zagorskih (ianzag at megasignal.com).
2004-07-09 18:38:37 +00:00
mycroft 673c114d25 Keep track of what we set the interrupt mask to, rather than reading it from
the chip.
2004-07-09 05:08:22 +00:00
mycroft b09c8ea34a Attempt to make these safer against stray interrupts. 2004-07-09 02:49:37 +00:00
mycroft 2728fe0f3f Clean up. Attempt to make these safer against stray interrupts. 2004-07-09 02:42:45 +00:00
mycroft 921c2474ad There's no need to halt the input and output pipes in the close routine --
audio_close() takes care of this.
2004-07-09 01:02:32 +00:00
kleink 8e491dbabd In addition to alpha, grossly work around the 24-bit limitation of the
Audio 1 DMA engine by allocating through the ISA DMA tag on amd64
and i386.
2004-07-08 21:33:45 +00:00
drochner 315673e79a support the game port on eap1371
This is only usable with some caution because these soundcards only
allow to map IO port 0x20x for this, thus bypassing PCI address
management. Very likely this will only work on primary PCI buses, and there
is some potential for conflicts with ISA devices as well.
(XXX cannot be detached because the "joy" driver doesn't support it yet)
2004-07-08 19:39:00 +00:00
mycroft a127f24934 Program the "MaxFrameSize" register so that it's correct for VLAN
encapsulation, per PR 20195.
2004-07-08 18:27:14 +00:00
kleink 1cc7b8c1ac Fix AUDIO_DEBUG printf formats. 2004-07-08 18:08:58 +00:00
martin 4e55ebafa5 Give a magic value a name - inspired by a post on the FreeBSD isdn mailing
list.
2004-07-06 08:53:16 +00:00
mycroft 3b5c748c56 Regen. 2004-07-05 19:13:17 +00:00
mycroft 96c64a8768 Add the CSB5 LPC bridge. 2004-07-05 19:12:30 +00:00
mycroft 1fc8e6461a Support for the VS-Com PCI-210H 2s/1p card, from PR 18478. 2004-07-04 10:02:03 +00:00
wiz d05ee1275d regen from pcidevs, so that this file has the correct CVS Id. 2004-07-04 08:37:58 +00:00
mycroft e8dd6e3b10 Update Serverworks chip IDs, per:
http://www.plasma-online.de/english/identify/picture/serverworks.html
This seems remarkably more sane.
2004-07-04 05:51:58 +00:00
is 020c431dc5 disestablish the interupt if we fail to (among other things) download
the firmware successfully. This prevents the kernel from crashing later
at interupt enable time, if firmware download fails like with my 3c990B
card.
2004-07-01 08:34:24 +00:00
mycroft d5be908514 This should be done in the HAL, but until then...
Hack the match function to accept an alternate Atheros vendor ID by munging it
to look like the expected one.  This is needed for DWL-G520 cards (which
otherwise "just work").
2004-06-30 05:58:17 +00:00
kleink eb97ad7f0b Remove redundant tga_getconf() and tga_identify() prototypes. 2004-06-29 21:32:42 +00:00
briggs e5c5b706bc When the Silicon Image 3112 retries a PCI memory read command, it
may retry it as a memory read multiple command under some circumstances.
This can totally confuse some PCI controllers, so ensure that it
will never do this by making sure that the Read Threshold (FIFO
Read Request Control) field of the FIFO Valid Byte Count and Control
registers for both channels (BA5 offset 0x40 and 0x44) are set to
be at least as large as the cacheline size register (the unit of
measure for these registers is 32 bytes).
2004-06-23 14:40:13 +00:00
bouyer dac9c603d0 Regen for pcidevs 1.628: Add the Netelligent 10/100 TX variant found on the
Compaq Proliant Professional Workstation 5100.
2004-06-15 19:48:27 +00:00
bouyer 96e377add1 Apply patch from kern/25936 by Michael Blake: Add support for the
Netelligent 10/100 TX variant found on the Compaq Proliant Professional
Workstation 5100.
2004-06-15 19:47:23 +00:00
bouyer 851ca6fa98 Don't try to bus_space_subregion() registers that didn't get mapped.
Problem reported and fix tested by Kurt Schreiner on port-alpha.
2004-06-04 21:15:00 +00:00
thorpej 85c0b77956 twe_ccb_map(): Remove the DEBUG panic case of "unknown" S/G list offset.
In all likelihood, this is a command passed from userspace management
tools where no S/G list is needed because no data is being passed.
2004-06-04 20:11:17 +00:00
heas 4a60d04fc7 Double the time we wait for the attention bit following a soft reset (and make
the timeout message just a bit clearer), as the latest firmware appears to be
a bit slower.
OK from Jason Thorpe.
2004-06-03 18:07:30 +00:00
christos aead610d35 Apply patch from "pandre" at netbsd.ports.i386, stops panic during attachment. 2004-06-02 18:36:06 +00:00
mrg 30005fde6f #include <sys/device.h>
call ether_ifdetach() and if_detach() if attaching fails...
2004-06-01 15:17:49 +00:00
toshii da3514b79e rcsid 2004-05-30 03:51:48 +00:00
toshii 4b54ec9a22 Fix brokenness I introduced while debugging.
- initialize rxlenmask when 8139C+
  - remove meaningless memsets.
2004-05-30 03:50:52 +00:00
thorpej 1c7d20a00d satalink now needs the "sata" attribute. 2004-05-28 23:27:28 +00:00
thorpej 9eb22bdbc9 Use the common sata_speed() routine. 2004-05-28 23:26:58 +00:00
toshii 4ee3a39f89 Add re(4) RealTek 8139C+/8169/8169S/8110S PCI ethernet adapter driver,
from FreeBSD.
I haven't tested this code very well, but it seems to work fairly well
for me.
2004-05-28 15:35:41 +00:00
thorpej ef42d1cdb3 Add a "flush" operation so the array's write cache is flushed on
close and at shutdown.
2004-05-27 23:48:34 +00:00
thorpej a8d1145d1b Rename twe_tweio_command_handler() to twe_ccb_wait_handler() and expose it. 2004-05-27 23:47:23 +00:00
christos 3c138a44de Regen 2004-05-27 20:21:12 +00:00
christos 19bc1974d9 PR/25731: Adam K kirchhoff: Audigy support with the emuxki driver. 2004-05-27 20:20:52 +00:00
abs 30a421e70b regen from pcidevs 1.626: Add ALI 'M5257 PCI Software Modem' 2004-05-27 11:10:45 +00:00
abs 29d7222fab Add ALI 'M5257 PCI Software Modem' 2004-05-27 11:09:45 +00:00
kleink d42e56f0d5 General mixer initialization improvements around the MONO_IN/MONO_OUT/
PreAmp register, including a new MONO_IN mixer stage bypass mixer control;
inspired by (and fixing) PR kern/18342 from Stephen Ma.
2004-05-25 21:38:11 +00:00
kleink 26897a3b9b Fix a shift-by-one-bit glitch in the MONO_OUT mixer register's definition;
from Stephen Ma in PR kern/18342.
2004-05-25 20:59:37 +00:00
thorpej 2ecdd552dc Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers.  Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
2004-05-25 20:42:40 +00:00
atatat 16122fe06c Remaining sysctl descriptions under hw subtree (ath and bge) 2004-05-25 04:38:36 +00:00
kleink 5c1882fdb9 Fix a glitch in the initial import: The XMAC hash function is actually
based on CRC32-_LE_.

From Christian Weisgerber in private mail.
2004-05-24 20:12:01 +00:00
kleink eb8c340ab9 In sk_init_yukon(), don't open-code clearing the multicast filter but
go via the normal filter setup path instead.  The old behaviour only
worked ok as long as the init function was exclusively called at attach
time, when there was no configuration to be lost.

From Christian Weisgerber in private mail.
2004-05-24 10:06:59 +00:00
tsutsui a714bd16ef Add some byteswap ops around DMA descriptors for big endian machines.
Tested on macppc by matthew green.

XXX This driver completely lacks bus_dmamap_sync(9) ops.
2004-05-23 11:37:25 +00:00
kochi d8c488d1ef Fix typo (func8 -> func7) 2004-05-17 16:57:49 +00:00
thorpej 47e9c860d9 Add flow control support, based on work by HITOSHI Osada. 2004-05-16 02:34:47 +00:00
thorpej f3eaee75cf Add PAUSE-related event counters for sip(4) and gsip(4), slightly modified
from a patch supplied by HITOSHI Osada.
2004-05-15 22:33:13 +00:00
thorpej ffa382bf7c Patch from HITOSHI Osada:
* On the DP83820, don't set PCR_PS_DA if the PAUSE packet address is
  not registered in the multicast filter.
2004-05-15 22:26:49 +00:00
thorpej 9ac446650a Patch from HITOSHI Osada:
* SiS900 chips require the address of the PAUSE packet to be registered
  in the multicast filter.
2004-05-15 22:24:51 +00:00
thorpej b7d5c113dd Add PAUSE-related event counters. Slightly modified from patch supplied by
HITOSHI Osada.
2004-05-15 22:19:27 +00:00
thorpej 34b8c2c481 Patches from HITOSHI Osada:
* Set buffer management high water marks for MTU > 1514.
* Set BGE_MAX_RX_FRAME_LOWAT (from Linux driver).
2004-05-15 21:58:40 +00:00
wiz 901973874a Fix typo in comment; from Robert Nagy via OpenBSD. 2004-05-12 20:43:17 +00:00
wiz a8c55b7623 Add one more unofficial leadtek PCI vendor id; from Robert Nagy
via OpenBSD.
2004-05-12 20:42:10 +00:00
tron 6a835c2b56 Regen for PR kern/25166. 2004-05-12 07:07:53 +00:00
tron 71c703ffaa Add support for Broadcom BCM5788 GbE. Patches supplied by FUKAUMI Naoki
in PR kern/25166.
2004-05-12 07:07:34 +00:00
thorpej 4a923452bb Handle the i6300ESB IDE / SATA controllers. These are apparently just ICH5. 2004-05-11 23:15:37 +00:00
thorpej 0af0ae5e3a Regen: Add i6300ESB IDE / SATA controller PCI IDs. 2004-05-11 23:14:40 +00:00
thorpej e4aad9e9a3 Add i6300ESB IDE / SATA controller PCI IDs. 2004-05-11 23:14:17 +00:00
wiz 8989ce5fa0 Fix typo in comment; from Sergey Svishchev. 2004-05-11 22:45:09 +00:00
lukem 9b4a373ddf regen for: add Nvidia GeForce4 Ti 4200 Go AGP 8x (0x286) 2004-05-10 23:30:40 +00:00
lukem 814f993a36 add Nvidia GeForce4 Ti 4200 Go AGP 8x (0x286) 2004-05-10 23:29:40 +00:00
gendalia 4ff7407fae Add support for Adaptec AAR 2810SA raid controller. 2004-05-10 06:21:09 +00:00
gendalia 2f085ffee7 regen (Add support for Adaptec AAR 2810SA raid controller.) 2004-05-10 06:20:39 +00:00
gendalia f0491fe6e7 Add support for Adaptec AAR 2810SA raid controller. 2004-05-10 06:18:53 +00:00
thorpej 216e5888a5 Fix a couple of whitespace nits. 2004-05-10 02:36:56 +00:00
fair 4521e00533 Two changes:
1. ifdef out the restriction that the SiS 900 has only one PHY
This is demonstrably false; the SiS 960 super south bridge in
PR 18590 has a SiS 900 rev 1 core in it.

2. bitbang the MII for all versions of the SiS 900; this is the
only way that the PHYs on this system answer.

Also, I suspect that SIS900_REV_960 constant in if_sipreg.h is
incorrectly labelled - there were later revisions of the super
south bridge (e.g. the 961, 962, and 963), and I suspect the
SiS 900 revision code there refers to one of those.
2004-05-09 03:03:55 +00:00
christos 956dab9c37 GC pci_{g,s}et_powerstate into pci_powerstate(). Idea from mycroft and gimpy.
Nothing uses them yet.
2004-05-08 23:41:40 +00:00
sekiya 5090104da8 regen. 2004-05-07 13:02:50 +00:00
sekiya e9c3c4204d Add support for Silicon Image 3512 chip to satalink driver -- treat it as
a 3112 variant (without RAID support), which does the right thing with the
controller on my K8NNXP.
2004-05-07 13:01:49 +00:00
kleink aa32e8bbf1 Add an additional multicast hash function for Yukon. 2004-05-07 00:03:39 +00:00
jdolecek fb0f244182 match Adaptec 2410SA
XXX we should probably match all cards with product ID ASR2200S
2004-05-06 15:26:37 +00:00
ragge f62c3ab365 Remove the "panic("wm_init: MCLBYTES > 2048 not supported.");" stuff,
the driver works very well with larger MCLBYTES.
2004-05-06 10:06:50 +00:00
bouyer 02bbaa62b0 default_chip_map(): We can't use pciide_mapchan() here, because
pciide_mapchan() will attach an atabus, and we don't know yet if this
channel is enabled or not.
Fix kern/25455 by Dave Huang.
2004-05-05 17:56:14 +00:00
dyoung b32860f8ab Synchronize with FreeBSD by adding two comments. 2004-04-30 22:19:33 +00:00
simonb 8d2f7d069d Set the WAVCACHE_CHCTL_U8 flag for both specific-endian unsigned
linear 8 bit encodings as well as for native.
Fixes problems with playing 8 bit .wav files on my Dell Inspiron 5000e.
2004-04-30 14:14:55 +00:00
jonathan 8457f71310 Identify AES-capable chips (7955, 7956) in the driver attach message. 2004-04-29 01:46:06 +00:00
briggs 76578c302d Add a default case to the product ID attachment to print the chip
description and revision information if a chip is matched and this
switch statement isn't updated to match.  Addresses PR kern/18019.
2004-04-28 04:12:16 +00:00
itojun 6123043789 pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
2004-04-23 21:13:05 +00:00
joda 7b46861a55 fix obvious past-o where the activity led register gets overwritten by
the traffic meter led register
2004-04-23 16:03:33 +00:00
simonb 9bc855a931 s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
2004-04-23 02:58:27 +00:00
skd 98e8625653 Added initial support for SIS 180 SATA controller. Patterned after
VIA 8237 support.
2004-04-22 11:30:04 +00:00
skd a9ec362b00 regen. 2004-04-22 11:27:45 +00:00
skd ed76ce2d2b Added support for new sis south bridge and 180 sata controller. 2004-04-22 11:27:19 +00:00
enami 0041584094 If defined(DP83820), (always) drop IFF_OACTIVE if we got txintr.
Otherwise, the driver simply stuck once we face tx resource shortage.
2004-04-22 06:11:38 +00:00
itojun aca4c091d3 sprintf -> snprintf 2004-04-22 00:17:10 +00:00
matt be6867a460 Regen. 2004-04-17 01:56:31 +00:00
matt fd311156d1 Add devid of Marvell MV6436x System Controller 2004-04-17 01:56:10 +00:00
thorpej 6837b365dd Assign a syslog priority to the AEN codes and use that priority when
logging the error message.  Potentially allows critical messages to be
noticed much more quickly.
2004-04-15 02:03:03 +00:00
ragge 34edcc4638 The 82597 chip may write back some receive descriptors off-by-one when
the PCIX bus start to get heavily loaded.  This only happen when using
chained descriptors, therefore work-around it by providing a private
pool of receive buffers able to contain a full-sized packet.
2004-04-14 17:31:02 +00:00
ragge ef66f543d0 Make it possible to use 16k MTU. 2004-04-13 11:40:06 +00:00
jmmv 8d3610f027 Be consistent with other messages: output "VIA Technologies" instead of
only "VIA".  Also add a missing "Audio" word to a message.
Closes PR kern/25152 by Nicolas Joly.
2004-04-12 15:44:53 +00:00
thorpej 466915b256 Flow control support for DP83820 and SiS900. From HITOSHI Osada. 2004-04-11 21:16:00 +00:00
thorpej 21cfdb75e2 Improvements to DP83820 support, from HITOSHI Osada:
- Fix jumbo frame support.
- Disable interrupts at the chip in sip_intr().
- Disable checksum offloading if MTU > 8109 - the hardware is broken
  in this case.
- Use the interrupt hold-off timer.
- Correct the Tx FIFO size.
- Add Pause Control/Status register definitions.
2004-04-11 16:57:44 +00:00
thorpej 4c019a313e Add 802.3x flow control support. From HITOSHI Osada. 2004-04-10 19:23:49 +00:00
thorpej c235249183 Add support for 64-bit PCI DMA addressing. 2004-04-09 17:51:18 +00:00
keihan fef14e4cd8 s/netbsd.org/NetBSD.org/g 2004-04-06 08:48:55 +00:00
jonathan e05bba34d6 Fix mistaken arguments to bge_set_thresh(); the prior revision would
pass the bge_softc * to a function expecting the struct ifnet*,
triggering a panic every time the Rx-mitigation value is changed via sysctl.
(Testing via kernel debugger before Andrew's recent sysctl(9) changes
was done with the exact same mistaken argument.)
2004-04-04 00:43:25 +00:00
martti 6f941c9322 Added another SB Live! 5.1 soundcard and joystick version 2004-04-03 10:49:13 +00:00
mycroft 00284f9931 Add RealTek RT8180. 2004-04-03 00:41:10 +00:00
tron 6c6ce42725 Regen from "pcidevs". 2004-04-01 08:00:32 +00:00
tron f62c4c4623 Correct entry for PCI vendor id 0x11af. It is assigned to Avid Technology
Inc. and not to Pro-Log Corporation. Problem reported by Chris Tribo
in PR kern/25004 and verified at http://www.pcidatabase.com/.
2004-04-01 08:00:01 +00:00
jmcneill e927880cc0 Don't allow block sizes < 288 bytes on VT823x chips (patch from kent@).
Fixes kern/22788.
2004-03-31 21:10:04 +00:00
nakayama 3e7562330f Add some initialization code for TI bridges.
Mostly from FreeBSD, and tested on i386 w/ PCI1250 and sparc64 w/ PCI1410.
2004-03-28 09:49:31 +00:00
nakayama 86cb1865fd Avoid use of wi_pci_reset when it uses other chip like PLX bridge chip.
This solves PCI bus error on sparc64 with Eumitcom WL11000P.
2004-03-28 09:44:59 +00:00
atatat b233127eb3 GC ath_node_root as well, but modify to work around the single
(tightly scoped) reason for recording the node address by recording
the assigned number.  Dink pci/if_bge.c to match, since ic/ath.c was
used as the archetype.
2004-03-27 04:37:59 +00:00
atatat de94728620 GC bge_node_root, since it's not needed and probably wrong. 2004-03-27 04:25:12 +00:00
jonathan c13c949dac Update yesterday's if_bge sysctl hooks for hw.bge.* (based on
yesterday's sys/dev/ic/ath.c) to match today's ath.c driver.
Commit now in the hope that Andrew Brown will pick up this file for
any more pending changes.
2004-03-27 01:17:49 +00:00
gendalia c2db9e9c90 Add support for Adaptec 2200S (Vulcan 2M) and Dell PERC 320/DC 2004-03-26 22:11:46 +00:00
gendalia 5193b56f46 regen for Adaptect 2200S (Vulcan 2M) / Dell PERC 320/DC 2004-03-26 22:06:31 +00:00
gendalia 1fc9784029 Add Adaptec 2200S Vulcan 2M / Dell PERC 320/DC 2004-03-26 22:05:08 +00:00
xtraeme 1b33913193 err fix previous (return -> break) in case statement. 2004-03-25 23:07:09 +00:00
xtraeme 8ded9ee13c There are two revisions of the VT8235 audio chipset (0x50 and 0x60), so
print any of them as VT8235, approved by martin@.
2004-03-25 22:48:43 +00:00
drochner 75109b28b4 regen 2004-03-25 14:10:08 +00:00
drochner 4f0192e97e recognize both parts of the AMD8151 AGP tunnel (see PR kern/24838 by
Nicolas Joly), and improve AMD8131
2004-03-25 14:09:46 +00:00
martin 82ebc8b5ab Better identify some revisions of via 823* audio chips.
From PR kern/24906.
2004-03-25 10:20:27 +00:00
drochner ef369e0ed6 remove license clauses 3 and 4 from my cpoyright notices 2004-03-24 17:26:53 +00:00
pk bfe932f43b sparc: OF_instance_to_package => prom_instance_to_package 2004-03-22 10:06:31 +00:00
martin a4ec3066f6 Adapt to promlib changes on sparc. 2004-03-22 08:36:28 +00:00
jdolecek 2151f6ca26 eliminate redundant aperture size printouts
reported in PR kern/24859 by Nicolas Joly
2004-03-20 14:00:40 +00:00
jonathan b9aa680ef2 Add a table of Rx interrupt-threshold register values for mitigating
Rx interrupts, functions to post a request for new table entries, and
code to apply pending Rx-interrupt control values at the next hardware
interrupt.

As used in a third-party proprietary tree since at least March 2003.
As discussed on tech-kern/tech-net in January 2004 (in the context of
NetBSD for packet capture, bpf, and FreeBSD-sylte IFF_POLL), and as
posted to tech-net for comments in mid-March 2004.

Still missing sysctl or other knobs to acutally change the config-time
values, due to my ignorance of any accepted per-device sysctl namespace.
2004-03-20 02:04:07 +00:00
jonathan 73e79089ee Possibloe fix for some bge chip revisions taking a long time to reset
(e.g., polling for a half-second or more at splnet(), blocking most
interrupts, durin an ifconfig down/ifconfig up).

Appears to help for a 5704C rev A3, which is the only chip I've
ever seen that had even a mild version of the reported problem.
2004-03-20 01:58:51 +00:00
jonathan 426b3e3a08 Check for BGE_PCI_PCISTATE register failing to revert on reset.
if it occurs, print a message indicating why the reset took so long.
2004-03-20 01:42:21 +00:00
bouyer 4f04c7872f Use the bus_space_*_stream_* methods to access the chip's registers.
As we turn the chip to big-endian mode on big-endian systems, we should
never byte-swap the data read/written from/to registers. Tested on sparc64.
Finally fix kern/13341 by Jason R. Thorpe (really, the hard work of putting
bus_dmamap_sync() calls at the right places has been done my Jason mid-2001 :)
2004-03-18 23:20:32 +00:00
bouyer 6e20098871 cur_rx->ti_vlan_tag holds the 802.1q VLAN tag and the 802.1p priority.
Trimm the priority, as the upper layers won't do it and will drop the packet
if priority is not 0.
While there, print the revision in the "unsupported chip revision" printf.
2004-03-18 22:45:35 +00:00
scw 6946234e5e Use PRIu64 and PRIx64 in place of %llu and %llx format strings for
printing variables of type u_int64_t.
2004-03-17 20:27:57 +00:00
martin fde39f7603 For sparc*: myetheraddr is no more 2004-03-17 13:54:09 +00:00
martin ac3bee274a Fix hme for pci based sparcs (krups). 2004-03-17 08:58:23 +00:00
simonb 98cd2fe77e Fix an assigned-to-but-not-used variable in the non AHC_ALLOW_MEMIO case. 2004-03-16 05:32:09 +00:00
ragge 3bb5e65a6b Add driver for Intel PRO/10GbE ethernet adapter. Now NetBSD has no
problem with intercontinental TCP connections of over 4Gbit/s, which is
where my test hardware runs out of bus bandwidth.

Stuff that is on the TODO list:
*      HW VLAN support.
*      Large jumbo buffers (16k).
*      TCP Segmentation Offload
*      RAIDC (receive interrupt delay adaptation)
*      Understand how to use memory above 4GB.
2004-03-12 13:46:52 +00:00
drochner 8acd734e5f deal with 82801EB/ER (ICH5) Network Controller 2004-03-12 13:22:28 +00:00
drochner b7fc89cd4c regen 2004-03-12 13:21:22 +00:00
drochner 51968004e2 add ICH5 builtin ethernet 2004-03-12 13:20:49 +00:00
matt 02fd2a994a Fixes for that only support for the 2030 can be compiled in. 2004-03-10 22:42:47 +00:00
bouyer f0816e2b90 Enable ATA-133 for AMD8111. From Nicolas Joly in kern/24729.
pciide_apollo_reg.h already contains the Ultra133 timming values for amd.
2004-03-10 22:16:04 +00:00
bouyer eefc140c02 The 1010-66 always generate AIP values on the bus, regardless of the SCNTL4
settings. Disable AIP completely, as this confuse pre-Ultra160 drives.
From FreeBSD.
2004-03-10 22:02:53 +00:00
bouyer b08ad7c74c Add the HPT370 DPLL output frequency register. 2004-03-10 21:55:21 +00:00