Commit Graph

3215 Commits

Author SHA1 Message Date
yamt
2e29ebca4d fix typos; "wiseman" is 82542, not 82452. 2002-10-18 00:56:16 +00:00
fair
8459c79958 Change the "dontcare" bits argument of ifmedia_init() to IFM_IMASK,
so that PHY instance is not siginificant in ifmedia_match(). This
is done to support multiple PHYs on the MII. Without this change,
ifmedia_set() would panic the system when no PHYs were matched.

I ran into this on an AMD EasyNow PC, which is built around SiS
system chips with an embedded SiS 900 core, and an external AMD
Am79c901 PHY, which presents two PHYs on the MII: one for HomePNA,
and one for standard 10base-T. The 10base-T PHY ends up with instance
number 1...
2002-10-17 01:17:30 +00:00
jdolecek
4f2f1a6fd4 match the joystick device on Creative SBLive! card; note this only works
when emuxki(4) driver is compiled into the kernel, it has to enable
the joystick port
2002-10-16 21:09:31 +00:00
kent
565a6b3384 Support for 4ch/6ch audio playback with VT8233/VT8235. 2002-10-16 15:27:28 +00:00
leo
8ad35e6ebd Regen. 2002-10-16 15:00:50 +00:00
leo
6a4a98f7a2 Add Fritz!PCI v2.0 ISDN Interface 2002-10-16 14:55:26 +00:00
wiz
0db3e0b3d6 Fix typo in comment. 2002-10-12 19:45:54 +00:00
someya
21249921f3 add autri_flags_codec() from OpenBSD, reported by grendel@zeitbombe.org 2002-10-12 08:42:21 +00:00
kent
3d86014c1c Kick auich_calibrate() by config_interrupts().
auichi_calibrate(): If the measured rate is less than 48k, use
48k.
2002-10-11 04:11:28 +00:00
thorpej
b4d9be67e5 Fix up IPKDB_NE_PCI option dependencies:
* IPKDB_NE_PCISLOT does not need any dependencies (it is merely a
  required parameter for IPKDB_NE_PCI).
* IPKDB_NE_PCI does should not have an option-dependency on IPKDB_NE_PCISLOT.
  While IPKDB_NE_PCISLOT is a required parameter, that is not how option-
  dependencies work, and we don't want IPKDB_NE_PCI to imply IPKDB_NE_PCISLOT,
  as that would cause a bogus value for IPKDB_NE_PCISLOT to be used.

Also, the IPKDB_NE_PCI selector should be lower-case; make it so.
2002-10-11 00:57:59 +00:00
pooka
fec12d1505 make a few debug printf's match reality 2002-10-10 15:39:01 +00:00
jdolecek
d679e94c87 tlp_pci_vpc_21140_quirks(): make agnostic to signed/unsigned char; fixes
compile on cats
2002-10-09 16:59:19 +00:00
minoura
5139f048fb Add quirk for Connectix VirtualPC emulated 21140, just to print the name
from the SROM.
2002-10-08 15:09:54 +00:00
kent
54419c891c - Enable in-kernel sampling rate conversion for fixed-rate codec
- Remove VRA/VRM enabling in auvia_attach()
- Use ac97_codec_if::set_rate()
- Return no AUDIO_PROPS_MMAP for fixed-rate codec
- Remove unused variables in auvia_softc
2002-10-08 13:10:24 +00:00
kent
376a43fb3d auvia:
- Add aurateconv
 - Update comment
2002-10-08 13:09:18 +00:00
kent
d3307382f1 auich_set_params(): Don't return in the for loop. 2002-10-08 12:31:45 +00:00
kent
1adb5c1562 auich_softc:
Remove sc_fixed_rate and sc_ac97rate.  ac97_softc has such
information.

auich_attach():
Remove VRA/VRM enabling code.  ac97_attach() does it.

auich_set_rate():
Use ac97_codec_if::set_rate().

auich_get_props():
Return no AUDIO_PROP_MMAP if the codec is fixed-rate.

auichreg.h:
Remove unnecessary ICH_PM_*.
2002-10-08 10:25:45 +00:00
kent
e3b5b1897b Revive VIA8233_RP_DXS_[LR]VOL in auvia_trigger_*(). 2002-10-07 16:28:24 +00:00
kristerw
e367c94b9c Do not try to print uninitialized variable. 2002-10-06 23:34:56 +00:00
kent
bebbf91a39 - auvia_trigger_output(): correct register;
AUVIA_RP_CONTROL -> AUVIA_RP_MODE
- auvia_trigger_output(), auvia_trigger_input(): Remove DXS_[LR]VOL setting.
- whitespace
2002-10-06 23:14:25 +00:00
kent
f06ae93219 Add some constant symbols for AC97 registers and values based on OpenBSD.
Rename some symbols to sync with OpenBSD:
	AC97_REG_EXTENDED_ID
	-> AC97_REG_EXT_AUDIO_ID
	AC97_REG_EXTENDED_STATUS
	-> AC97_REG_EXT_AUDIO_CTRL
	AC97_CODEC_DOES_VRA/AC97_ENAB_VRA
	-> AC97_EXT_AUDIO_VRA
	AC97_CODEC_DOES_MICVRA/AC97_ENAB_MICVRA
	-> AC97_EXT_AUDIO_VRM

ac97feature: "mic channel" -> "dedicated mic channel"
ac97_attach(): print extended capabilities; VRA, DRA, SPDIF, VRM, CDAC,
SDAC, LDAC.
2002-10-06 16:33:35 +00:00
kent
550acc6c64 Add support for VIA VT8233/VT8235. The patch was provided by Ola Eriksson
<ola at mreriksson dot net> in PR kern/18375.  It is based on auvia of
OpenBSD.
2002-10-05 18:08:30 +00:00
kent
5636e4e770 Add support for VIA VT8235 2002-10-05 17:07:32 +00:00
kent
527d1dafae regen 2002-10-05 17:04:28 +00:00
kent
36f44886c1 - Broadcom BCM4401
- VIA VT8235
 - Modify description of VT8233_AC97: "VT8233 AC-97 ..." -> "VT8233/VT8235 AC-97 ..."
2002-10-05 17:01:50 +00:00
kent
839ec5d8cb Improve nForce MCP support.
Submitted by: FUKAUMI Naoki <naoki at fukaumi dot org>
PR: kern/18524
2002-10-04 14:33:30 +00:00
kent
c51dca5ba6 Remove a line added accidentally(?) at revision 1.21. 2002-10-02 17:08:10 +00:00
thorpej
b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej
9b2c2ec24d Add trailing ; to CFATTACH_DECL. 2002-10-02 16:50:59 +00:00
thorpej
434631fe62 Remove unnecessary extern decl of fpa_ca. 2002-10-02 02:16:36 +00:00
onoe
25c18040cf make it compilable with CBB_DEBUG. 2002-10-01 14:30:54 +00:00
haya
f7568c1e88 Use LIST in sys/queue. Add some comments. 2002-10-01 09:09:16 +00:00
thorpej
f59e5352f2 Use CFATTACH_DECL(). 2002-10-01 04:21:32 +00:00
thorpej
563cc48dad Remove uneecessary extern decl of de_ca. 2002-10-01 01:39:38 +00:00
thorpej
387fc6dc87 Use CFATTACH_DECL(). 2002-09-30 20:37:04 +00:00
onoe
2f8340c369 Nuke unneeded member sc_ifp and use #define sc_if instead,
to prepare jumbo commit for wi.c
2002-09-30 06:29:29 +00:00
scw
b9ca9c375c Before declaring pci_conf_interrupt(), check to see if it's
already defined as a CPP macro, which is the case for SH5 at least.
2002-09-28 10:31:02 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
itojun
1eb6ef2a80 don't go into D3 state if revision <= 82558_B0. PR 18011 2002-09-27 14:54:08 +00:00
thorpej
6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej
d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
pooka
218f60746c Driver for Winbond W6692 passive ISDN cards.
Ported from the FreeBSD driver by Ilpo Ruotsalainen <lonewolf@cubical.fi>,
and reviewed by Martin.
2002-09-24 22:05:19 +00:00
uwe
be3f67ca41 Add some preliminary support for setting up the CyberPro in Netwinder.
Setup sequence obtained from Krups OFW with some CyberPro-specific
magic from Linux driver.  The driver still has a lot of hardcoded
stuff, but it is useful enough to bring up wscons on netwinder.

XXX: Proper console attachment needs to be written (the driver was
originally developed on sparc, where our approach to attaching console
is totally different).

Caveat emptor!
2002-09-24 18:17:24 +00:00
pooka
5993927201 regen 2002-09-24 09:25:47 +00:00
pooka
3cd6af88f6 Fix Asus ISDN card ID to be the actual device ID instead of the vendor ID 2002-09-24 09:24:40 +00:00
thorpej
8972c9d466 Make the PCI reset more robust. From David Young <dyoung@ojctech.com>. 2002-09-23 14:12:35 +00:00
drochner
69ea314996 call the capability list ptr by its name 2002-09-21 19:14:14 +00:00
drochner
7bc4622603 correct caplist head for Cardbus bridges 2002-09-21 18:56:03 +00:00
drochner
ec517fd6a5 -corrected "MSI" capability
-added some new subclasses and capabilities
-move capability list printing into a separate function and call it
 for each header type (not type 0 only)
2002-09-21 16:19:34 +00:00
drochner
8dba6ca13a -correct the "MSI" capability
-add some new subclasses and capability IDs
2002-09-21 16:16:31 +00:00
pooka
e59b54da09 regen 2002-09-20 15:03:22 +00:00
pooka
c19950f9de Add vendor Dynalink and a few devices by other manufacturers for use
in the iwic ISDN driver.
2002-09-20 14:59:58 +00:00
nathanw
4b6782ddb3 Slight wording cleanup in a comment. 2002-09-19 19:04:50 +00:00
nathanw
4a30a46eca Regen. 2002-09-19 18:53:00 +00:00
nathanw
d6e8dbd366 Add AMD 761 system controller and ppb. 2002-09-19 18:50:45 +00:00
abs
332c0b2de1 Recognise the Intel PRO/100 VM Network Controller as seen in the HP
omnibook 6100.
2002-09-18 16:45:01 +00:00
mycroft
e9e73c9a7d Force GPSR to 0 before a blit, so my text doesn't get shifted to the right... 2002-09-16 17:12:07 +00:00
mycroft
05d15857f0 Copy forwards even when moving to the right, if the regions do not overlap. 2002-09-16 16:40:57 +00:00
mycroft
6db8861212 Simplify the blitting code slightly, and fix fenceposts. 2002-09-16 16:33:13 +00:00
bouyer
f30ddf1a29 Fix typo in comment. From Alexander Yurchenko <grange@rt.mipt.ru> 2002-09-15 20:27:09 +00:00
bouyer
2bbf86d46b Regen: add 2 acard pciide controllers. 2002-09-11 20:43:42 +00:00
bouyer
60f292630a Add 2 accard pciide controllers. From linux. 2002-09-11 20:43:07 +00:00
uwe
d7b7f858cb Regen for Integraphics Systems CyberPro 2000 and 2010. 2002-09-06 23:58:11 +00:00
uwe
5619fe21f9 Add product ids for Integraphics Systems CyberPro 2000 and 2010. 2002-09-06 23:41:56 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
thorpej
467482eee8 Add support for memory-mapped PCnet-PCI chips. 2002-09-04 01:36:07 +00:00
augustss
405cd45f89 Replace the mr driver with the gtp driver. From OpenBSD. 2002-09-03 18:54:41 +00:00
ad
e7ab6ca550 Nuke incorrect mailbox length defines and just use 13 everywhere. May help
with PR/14266.
2002-08-31 05:18:03 +00:00
dsainty
278bea1a2b Fix playback at 48kHz sample rate (integer overflow bug introduced in 1.18) 2002-08-28 10:51:03 +00:00
toshii
e2d964c3ec Remove a superfluous interrupt request bit in yuvpack_prog,
which confuses the state machine in common_bktr_intr.
This makes "mplayer -tv ..." work (but only with NTSC).
2002-08-28 06:06:10 +00:00
thorpej
d8e650d53a * The Netgear GA-621 is a 64-bit card, so add it to the 64-bit
quirk table.
* We want to hardwire BMSR_EXTSTAT, not BMSR_EXTCAP, when reading
  the TBI BMSR.
* Fetch the GPIO bits from the GPIOR register after an auto-load,
  rather than reading from the EEPROM directly.
2002-08-26 22:52:02 +00:00
ad
fba11cbab8 Handle aincent firmware as found on EISA/MCA boards. Untested. 2002-08-26 15:27:12 +00:00
itojun
9287c3fbb9 need to set wantinit variable 2002-08-26 07:38:34 +00:00
itojun
3931bcf3a3 suppress some of debugging output (IFF_DEBUG will re-enable it). PR 18069 2002-08-26 07:37:26 +00:00
bouyer
9ca1f94f72 Support Ultra/133 on promise controllers that can do it. 2002-08-25 17:26:58 +00:00
bouyer
a9d165fd6a Correct setup for Ultra133 capable VIA chipsets, From Matthias Drochner
on current-users, with cross-check and some improvement from linux-2.4.19
and FreeBSD-current.
Also don't set the APO_UDMA_CLK66 bit for Ultra/100 capable chipset, and
support Ultra/133 for the VT8233A.
2002-08-25 17:25:33 +00:00
itojun
a8b4aa9a72 #if 0 out call to rnd_add_uint32() in interrupt logic until thorpej
measures performance differences.
2002-08-23 16:30:10 +00:00
bouyer
0d17a940f8 Add support for HPT372. From sdegler@kashmir.degler.net in kern/17908,
with some improvement from me, and from FreeBSD.
2002-08-23 16:24:54 +00:00
bouyer
1a7bae9619 Add support for Promise Ultra133TX2 and Ultra133TX2v2, from FreeBSD and
stephen@degler.net in kern/17509.
2002-08-23 16:02:32 +00:00
bouyer
ea9862cb62 Regen: Add Promise Ultra133TX2 and Ultra133TX2v2 PCI ID 2002-08-23 15:57:04 +00:00
bouyer
f49156d31c Add Promise Ultra133TX2 and Ultra133TX2v2 PCI ID. 2002-08-23 15:56:30 +00:00
itojun
e68a39d27b attach random number source. 2002-08-23 07:45:39 +00:00
augustss
7ad63025e4 Fix an error message. 2002-08-22 02:54:18 +00:00
itojun
7b0ecaee62 use RND_ENABLED() to avoid unneeded function call. should help if_gsip case. 2002-08-21 03:59:31 +00:00
itojun
76f65d83e3 attach random number source. 2002-08-20 00:35:46 +00:00
thorpej
3e3fdc01e9 * After testing for DD on a descriptor, and finding it clear,
sync that descriptor with PREREAD to make sure that it is evicted
  from the data cache.  From Allen Briggs.
* With the above bug fixed, stop using BUS_DMA_COHERENT, resulting in
  a fairly decent performance improvement on systems where BUS_DMA_COHERENT
  causes descriptors to be accessed uncached (most painful in wm_start()).
2002-08-17 20:58:04 +00:00
heinz
306c75457d regen 2002-08-16 15:08:08 +00:00
heinz
fb31736257 Add Lucent/Agere FW322/323 IEEE 1394 controller 2002-08-16 15:03:02 +00:00
kent
4cb030f3b9 Fix division-by-zero when auich_set_params() is called before auich_calibrate(). 2002-08-16 11:22:13 +00:00
thorpej
b9d86783bf * Hard-code EXTSR_1000XFDX|EXTSR_1000XHDX for reads of the MII_EXTSR
in the TBI case.
* Force BMSR_ANEG | BMSR_EXTCAP to be returned for reads of the MII_BMSR
  in the TBI case.
2002-08-16 07:10:56 +00:00
thorpej
00a0212e10 Update a comment; TCP/IP checksum offloading is fixed! 2002-08-15 18:35:25 +00:00
briggs
8d5eb3e93d On transmit, zero the upper 32 bits of the address in the tx descriptor.
The descriptor may have been used as as context descriptor in the past,
in which case this field will be non-zero.  h/w checksum offload works now.
2002-08-15 18:29:02 +00:00
mjacob
93ad4971f1 Various changes to allow for overriding just loopid and/or iid.
Fix a random 23XX ISR reading bug. Be chattier about HBA_BOTCH
errors. More f/w cashdump layering.
2002-08-12 21:33:39 +00:00
drochner
29c16c72fb -avoid lock leak in error case
-Free AGP memory on close, to avoid a memory leak in case
 the X server doesn't free it explicitely.
 (It appears that the X server never calls AGPIOC_DEALLOCATE.)
 Fixes PR kern/17869 by Emmanuel Dreyfus.
2002-08-11 12:40:47 +00:00
drochner
ce5452e87b update the is_bound flag for local memory too 2002-08-11 12:36:21 +00:00
thorpej
1fa46f89f9 Preliminary support for the ten-bit interface on the DP83820. This
code needs more testing, and more bug fixing.
2002-08-10 22:57:15 +00:00
thorpej
5689818798 Don't treat the "reset complete" interrupts as errors. Doing so
causes us to go into a reset/interrupt/reset/... loop.
2002-08-10 22:54:54 +00:00
toshii
16a190bb23 Use UDMA/100 on SiS745 chipset. 2002-08-10 16:33:23 +00:00
toshii
7576c71257 Regen; added SiS745 host bridge. 2002-08-10 16:30:45 +00:00
toshii
a4e64b08d4 Add SiS745 host bridge. 2002-08-10 16:26:14 +00:00
itojun
514ea24105 audit bitmask test mistake (s/&&/&/). from openbsd 2002-08-08 15:08:55 +00:00
drochner
681c8f675a regen 2002-08-08 09:57:21 +00:00
drochner
fa4f52ebfd addanother ppb 2002-08-08 09:56:38 +00:00
thorpej
2b615e62c4 Add support for the new i82540, i82545, and i82546 Gig-E chips. The
i82546 chip has 2 Gig-E interfaces in a single chip.

The main difference is these chips have a special handshaking protocol
for accessing the EEPROM (due to the shared nature on the i82546).
2002-08-08 00:12:08 +00:00
kent
3898bab95a - Port clock calibration code (auich_calibrate) from ich.c of FreeBSD to solve
kern/16373.
- SiS 7012 support from kern/17716 submitted by Quentin Garnier.
- ICH4 support
- Experimental support for nForce MCP, AMD768 and AMD8111.
- Rename the short name for ICH3: "i830M" -> "ICH3"
2002-08-07 10:31:09 +00:00
simonb
d436dc19f3 Fix a typo in a comment. 2002-08-07 04:53:18 +00:00
simonb
fdfab8da56 Fix a typo in a comment. 2002-08-06 23:51:43 +00:00
augustss
61a3b5e422 Pull in tea5757.c for the mr driver. Fixes kern/17864. 2002-08-06 23:09:10 +00:00
kim
462f87e7fd Missing comma in aenfmt array initialization. 2002-08-06 20:47:44 +00:00
thorpej
82421f1fdb Regen; added ADI BECC product ID. 2002-08-04 21:47:58 +00:00
thorpej
4da9d49d31 Add product ID for the ADI i80200 Big Endian Companion Chip. 2002-08-04 21:47:25 +00:00
kent
78f533176c regen 2002-08-03 17:12:42 +00:00
kent
dc268b4f91 Add the following:
- SiS 7012 AC-97 (kern/17716)
 - NVIDIA nForce MCP AC-97
 - AMD 8111 AC-97
2002-08-03 17:10:35 +00:00
soren
f69878391e Regen. 2002-08-02 19:36:26 +00:00
soren
6d154bbd46 Add O2 Micro Cardbus bridge ID from PR kern/17469 by Nicolas Joly. 2002-08-02 19:35:43 +00:00
ad
22a1da8740 Regen. 2002-08-02 12:45:23 +00:00
ad
7416434a87 PR 17719 from Mark Davies: Additional Adaptec RAID controller types. 2002-08-02 12:44:42 +00:00
bouyer
d9c216c219 Add Siig 20x 8 ports and and Oxford x952 cards. From Paul Shupak in kern/17790. 2002-08-02 10:40:30 +00:00
thorpej
0cb8f6797b Fix a typo which caused the wrong register to be updated when
the media is not full-duplex.
2002-08-02 01:12:32 +00:00
bouyer
8d3ed14056 Regen: remove duplicate entry for 82801DB_LPC. 2002-07-31 11:16:49 +00:00
bouyer
176bb1fe72 Ops, remove duplicate entry for 82801DB_LPC, pointed out by geoff wing. 2002-07-31 11:16:17 +00:00
bouyer
2362df5330 Add support for the 82801DB ICH4 IDE controller, from kern/17757 by
Andreas Wrede <andreas@planix.com>
2002-07-30 21:01:57 +00:00
bouyer
27198fbcab Regen: Add Intel 845G PCI IDs 2002-07-30 20:43:57 +00:00
bouyer
551aeaf8b3 Add Intel 845G PCI IDs, from kern/17743 by Andreas Wrede <andreas@planix.com> 2002-07-30 20:43:12 +00:00
augustss
2dce9e8e5e Number PCI busses using a simple pre-order numbering instead of
some strange binary split numbering that doesn't work with multiple
bridges on the same bus, nor with deeply nested bridges.
2002-07-30 15:00:03 +00:00
augustss
056f94ceb3 Regen. 2002-07-29 20:08:50 +00:00
augustss
ef76dd6ed4 Add a couple of bridge devices. 2002-07-29 20:08:25 +00:00
christos
08ea4bc534 my card prints transmit aborted and then hangs. Let's try to reset it. 2002-07-28 15:41:00 +00:00
wiz
645df36eff Spell '[Rr]ight' correctly. From Jim Bernard. 2002-07-26 14:11:34 +00:00
onoe
46243dd61d Add support of Silicon Image 0680 Ultra ATA/133 ATA Controller.
It's ugly that all register values are written in numeric, but I can't
find any definition of the registers to be written in literal.
2002-07-26 10:23:30 +00:00
onoe
2354f208d4 regen: Add Silicon Image (CMDTECH) 0680 2002-07-26 10:17:21 +00:00
onoe
f0f7c1edb7 Add Silicon Image (CMDTECH) 0680 2002-07-26 10:14:00 +00:00
bouyer
8e745944fe Ops, this had already been commited by cjs.
Still, call the controller ATA133, even though we use it at ATA100 for now ...
2002-07-22 20:56:57 +00:00
bouyer
5f47fb4861 Add VIA VT8233A support (at Ultra/100 until someone can test 133 for me).
From Ryo HAYASAKA, PR kern/17206.
2002-07-22 20:51:02 +00:00
msaitoh
5e26ad6017 add support intel C-ICH's embeded Ether MACs.
Tested on RadiSys Endura CH815C (http://www.radisys.com/)
2002-07-22 08:25:45 +00:00
msaitoh
ef0884e4c6 regen 2002-07-22 07:48:48 +00:00
msaitoh
b03baa8ea5 Add Intel 82801E Communications I/O Controller Hub (C-ICH) 2002-07-22 07:47:44 +00:00
uwe
fee27e724f Add definitions of IGS coprocessor registers (not used yet).
Always init chip via I/O space.
Map only I/O registers we actually need.
Automatically detect if we need to do bswapping
Add (untested) code to use automagic bswap on CyberPro.
Report video memory amount.
Report if/how bswapping is done.
2002-07-21 02:56:35 +00:00
mjl
395027b4be Correct obviously switched args to memset() 2002-07-18 02:07:13 +00:00
bouyer
a07c492369 Add missing BUS_DMA_NOWAIT to bus_dmamap_load_mbuf() calls. Should fix
port-alpha/17615.
2002-07-16 20:20:01 +00:00
drochner
8badbffa2f recognize a SMC9432BTX from PCI subsys id and tell the bus independant
backend that it bas a BNC port (just like the SMC9432BTX1)
2002-07-15 17:23:06 +00:00
thorpej
4616eedacf Document exactly what the problem with TCP/UDP checksum offloading is. 2002-07-14 01:34:00 +00:00
thorpej
bc09351189 And thus spake the manual...
When initializing a TCP/IP context descriptor, even if a checksum
offload feature is not going to be used, the IPCSS and TUCSS fields
must be initialized.
2002-07-14 01:12:28 +00:00
thorpej
209a807d3d Correct the description of two bits in the TCP context descriptor. 2002-07-14 00:56:22 +00:00
thorpej
7ba40961d6 Add a BGE_QUIRK_CSUM_BROKEN quirk, and give it to BCM5700 B0, rather
than testing for the revision all over the driver.  If the chip has
broken checksums, then don't advertise the capability to the stack.
2002-07-13 22:48:40 +00:00
thorpej
0ff52204b9 Give BCM5700 Ax and Bx revs the BGE_QUIRK_LINK_STATE_BROKEN quirk,
and test for that, rather than checking revision where the quirk is
handled.
2002-07-13 22:31:18 +00:00
thorpej
dcebb2bf0d Add a lookup table with ASIC revision, name, and any quirks. Print
ASIC revision at attach time.  Add BCM5703 revisions.
2002-07-13 22:21:20 +00:00
thorpej
7d85789f0a Move the BCM5401 DSP patch out of the bge driver and into
the brgphy driver; all users of the BCM5400 and BCM5401 need
the DSP patch and the sledgehammer-reset-at-media-set-time.

Also add a DSP patch for the BCM5411 gleaned from Apple's
GMAC driver for Darwin.

Tested with a 3Com 3c996-T (BCM5700 + BCM5401).
2002-07-13 01:23:27 +00:00
enami
f216ec52a0 Match Altima AC1001. 2002-07-12 22:29:14 +00:00
enami
2bb480867f Regen. 2002-07-12 22:27:55 +00:00
enami
d5138d122f Add product id of Altima AC1001. 2002-07-12 22:26:32 +00:00
thorpej
37422dde7e Add 64-bit quirk for the Accton EN1407-T/Planex GN-1000TE. IDs provided
by SAITOH Masanobu <msaitoh@netbsd.org>.
2002-07-11 18:07:56 +00:00
christos
bdd3768afd Add missing messages from FreeBSD's driver. Re-organize a bit how the
message is formatted and printed.
2002-07-10 15:37:30 +00:00
matt
e8598c806f Match Apple GMAC id #3. 2002-07-09 23:57:59 +00:00
matt
f695a73e85 Regen. 2002-07-09 23:50:29 +00:00
matt
f3076f3bd7 Add Apple Xserve PCI devices (more UniNorth) stuff. 2002-07-09 23:47:45 +00:00
thorpej
baecca774e * Shuffle the TODO list a bit.
* Fix outbound IPv4 header checksums (missing add of an offset).
* When enabling Rx TCP/UDP checksum offload, make sure that IPv4
  header checksum Rx offload is enabled on the chip, as well.
2002-07-09 21:05:03 +00:00
thorpej
77ef1df52c Don't use internal names to identify chips. Add types for the
i82540, i82545, and i82546 (but don't match them yet).
2002-07-09 19:47:46 +00:00
thorpej
511c4a1947 Regen:
Clean up Intel i8254x product names, and add i82540, i82545, and i82546
product IDs.
2002-07-09 19:43:57 +00:00
thorpej
e62cf5409d Clean up Intel i8254x product names, and add i82540, i82545, and i82546
product IDs.
2002-07-09 19:43:03 +00:00
thorpej
297ae331d6 Make a few performance tweaks:
* Bump the number of Rx descriptors from 128 to 256.
* Don't use a sliding Tx interrupt window.  Instead, just do reap-behind
  when we have <= 1/8 of our available descriptors in wm_start().
* Don't use Tx Queue Empty interrupts, and always set the Tx Interrupt
  Delay bit in the Tx descriptor.
* In wm_intr(), always call wm_rxintr() and wm_txintr(), regardless of
  their respective ISR bits being set.  We're here, might as well do some
  work.
* Adjust the Tx and Rx interrupt delay timer values.  New values from
  Intel's driver for FreeBSD via Allen Briggs.

With these changes, NetBSD can sustain > 900Mb/s userland to userland
*without* using TCP checksum offload using Intel PRO/1000 XT cards.
2002-07-09 14:52:37 +00:00
drochner
32f7789dd7 there is at least one VGA chip (Silicon Motion Lynx EM+) where fast scrolling
by moving the display offset pointer doesn't work
2002-07-08 19:48:37 +00:00
augustss
c1367622d6 Regen. 2002-07-07 19:49:09 +00:00
augustss
5fba395c90 Add some Sandburst products. 2002-07-07 19:48:41 +00:00
enami
c7d782764a Add an entry for Avlab Technology, Inc. Low Profile PCI 4 Serial (in Japan,
sold by Kuroutoshikou as SERIAL4P-LPPCI.)
2002-07-05 14:10:32 +00:00
enami
76899eae10 Regen. 2002-07-05 14:03:33 +00:00
enami
d2235ed345 Add vendor id of Avlab technology, Inc. and product id of Low Profile PCI
4 Serial (but not used actually).
2002-07-05 13:59:14 +00:00
thorpej
6a5e35f6cc Return 0, not NULL, when we mean 0. 2002-07-05 00:16:26 +00:00
rjs
048edd40f2 Regenerate. 2002-07-04 21:00:32 +00:00
rjs
e97486826e Add Peak System Technik CAN Controller. 2002-07-04 20:51:35 +00:00
junyoung
3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
gson
63dd492c1a Mask MCCB interrupts since they are not currently handled
and it is not clear how they should be handled.  Fixes
kern/17071.
2002-07-04 02:20:22 +00:00
msaitoh
37c7dda3e2 regen 2002-07-03 16:51:36 +00:00
msaitoh
e8a90d330f add ServerWorks CMIC LE, CMIC SL and CIOB-X2 2002-07-03 16:51:02 +00:00
drochner
8ae04c4b2c consider all ATI cards broken wrt font handling, as suggested by
Bang Jun-Young <junyoung@mogua.com>, but do it in way which allows
single cards to be declared O.K. in case we find one
2002-07-02 18:17:30 +00:00
thorpej
7ff40c446d Fix multicast filter programming. 2002-07-01 22:42:47 +00:00
thorpej
2555837833 Also save/restore the PCI_INTERRUPT_REG. 2002-07-01 16:15:35 +00:00
thorpej
8eb0145183 Add a table of known-64-bit DP83820-based cards. Use this table
to enable 64-bit data transfers on 64-bit cards when plugged into
a 64-bit slot.  Right know the Asante GigaNIX is listed in that
table.

Sigh, there is an EEPROM bit that can be used to detect 64-bit vs
32-bit cards.  Unfortunately, at least 2 vendors of 32-bit cards
fail to clear the "DATA64_EN" bit in the EEPROM, which causes the
card to lose badly, because it still manages to detect that it's
plugged into a 64-bit PCI slot.  Yay, stupid hardware vendors.
2002-06-30 20:36:06 +00:00
thorpej
145fa4de8a Load configuration data from the EEPROM on the DP83820 differently: rather
than grovel the EEPROM directly, initiate an "EEPROM load" in the PCI
test register, and fetch the values from the CFG register.
2002-06-30 20:04:43 +00:00
thorpej
b77065a9a2 Update the TODO list: We have some Tx interrupt mitigation now, so
we need to do Rx interrupt mitigation next.
2002-06-30 19:13:46 +00:00
thorpej
c9983ba67f Be more aggressive in giving descriptors to the chip in the transmit
path: Instead of waiting for the if_snd queue to be drained before
giving ownership of the frist descriptor to the chip, do it after
sync'ing all the descriptors for a single packet.
2002-06-30 19:11:40 +00:00
thorpej
6caa2f6db1 Implement a sliding interrupt delay window for Tx interrupts. 2002-06-30 18:52:21 +00:00
thorpej
0f2cbd0361 * Give symbolic names to the CFG bits in the EEPROM.
* Get CFG_M64ADDR, CFG_T64ADDR, and CFG_DATA64_EN from the EEPROM.
  Note, we still disable CFG_M64ADDR and CFG_T64ADDR later (XXX need
  PCI bus capability flags for these).
* Print a message if we're in a 64-bit slot and 64-bit data is
  disabled in the EEPROM.  Make sure CFG_DATA64_EN is disabled if
  we're not in a 64-bit slot.
2002-06-30 18:04:12 +00:00
drochner
9b3975fd12 clean up font handling:
-treat the builtin font like any other font at runtime
-for that, copy it to malloc()'d memory during attach()
-in early console initialization, if we have to consider a broken card
 (VGA_CONSOLE_ATI_BROKEN_FONTSEL), copy the builtin font to another
 location in font ram; the attach() code will do the rest
put the "quirk" code into effect again
2002-06-28 22:24:11 +00:00
thorpej
969b2f1817 Fix a comment. 2002-06-28 18:46:46 +00:00
thorpej
9066ce1621 When stopping the various functional blocks of the chip, clear the
bit and then read it back in a loop (with appropriate delays) waiting
for it to read back clear.

This fixes a problem where the bus would hang when bringing down
the interface or changing interface flags on a system with a
sufficiently fast CPU (e.g. 2GHz P4 Xeon).
2002-06-28 18:44:45 +00:00
fvdl
50ade28e9b Rearrange alignment code a bit. 2002-06-28 18:39:45 +00:00
thorpej
6abec8e2a2 Increase previously added delays from 2us to 10us. 2002-06-28 01:10:06 +00:00
thorpej
90bf67b885 * Only set the jumbo frame capability if we are able to allocate
jumbo frame buffers.
* Garbage-collect some stuff we don't need.
* Fix timeout detection in the firmware handshake.
2002-06-28 00:55:20 +00:00
thorpej
7778c16e7c Use a table to match BCM570x products. 2002-06-27 23:56:20 +00:00
thorpej
b7af161065 Don't call m_aux_find() in the inner loop when creating the Tx
descriptor list.  Instead, call it once and remember the result,
and only call it looking for VLAN tags if VLANs are configured
on the interface.
2002-06-27 23:21:34 +00:00
thorpej
68be8ecae4 Put some delay in the loops that poll for MII transaction
completion.  Without this, reading the PHY can hang the bus
on a sufficiently fast CPU.
2002-06-27 22:31:30 +00:00
fvdl
8a454b46d0 Disable TCP/UDP checksums on the receive side again. 2002-06-27 22:10:11 +00:00
drochner
3825b247fb Only allow the bus_dmamem_alloc() code to sleep if no physically contigous
pages are insisted in.
Atm, the pglistalloc code does the same automatically, but this might change.
2002-06-27 18:37:10 +00:00
pooka
48e1ffa97b regen 2002-06-27 09:52:53 +00:00
pooka
107e651a5f two AVM isdn interfaces 2002-06-27 09:50:06 +00:00
junyoung
75cfc612c3 Whitespace KNF. 2002-06-27 06:44:17 +00:00
junyoung
754342aeb8 - Work around a hardware bug that loaded fonts don't work, which is
found on many (all?) of PCI-based ATI graphics cards. It is fully optional
  and can be enabled by adding `options VGA_CONSOLE_ATI_BROKEN_FONTSEL'
  to config file.
- Temporarily remove `quirk' mechanism. Similar code already exists
  in pci_quirks.c.
2002-06-27 06:26:51 +00:00
briggs
bea68a808c Change a 'continue' to a 'break' in switch configuring 64-bit devices.
Add a little more debugging code.
2002-06-27 00:59:21 +00:00
cjs
6f2291b427 Match newer NetGear GA302T cards. 2002-06-26 10:48:18 +00:00
cjs
f4ba5fb7fc Regenerate. 2002-06-26 10:09:16 +00:00
cjs
c3d906554c Add Altima AC9100 Gigabit Ethernet ID. This may not be the correct name.
However, it's the chip on the NetGear GA302T card.
2002-06-26 10:03:58 +00:00
cjs
79a06f07ff Regenerate. 2002-06-26 09:42:44 +00:00
cjs
0ef3b7e33b Add a couple more TI IEEE 1394 host controllers. 2002-06-26 09:33:50 +00:00
drochner
f9d6718ab9 allow to overwrite the builtin VGA font if necessary,
make the number of available font slots variable,
set up a "quirk" mechanism to tell the generic vga code about crippled
VGA adapters which ignore the "fontsel" TS register,
initiate the quirk table with an ATI chip which happened to be on a board
I tested with.
Afaik quite a number of ATI chips suffers from the "loaded fonts don't
work" problem - these should be added.
Bad side effect of my change: The builtin font will be kicked out
always if a VGA_CONSOLE_SCREENTYPE is specified which needs a loaded
font. In early console initialization, we don't know much about the
graphics card, so we have to assume the worst (ie ATI:-).
2002-06-25 21:07:42 +00:00
bouyer
b2533a4c3e Typo fix 2002-06-24 16:55:17 +00:00
fvdl
dd96b79d02 According to the Linux driver from Broadcom, only the 5700 B0 revision had
rx checksum problems. So only disable rx checksum for that revision.
2002-06-24 01:23:11 +00:00
fvdl
4f75cebd06 Add a few revision definitions. 2002-06-24 01:21:39 +00:00
fvdl
34e950c569 Add files for bge at pci attachment. 2002-06-23 20:36:26 +00:00
fvdl
b04a6fd69c Driver for Broadcom 570x / Altima AC 1000 gigabit ethernet cards.
Written by Bill Paul for FreeBSD. This port started out with the
port done to OpenBSD by nate@openbsd.org, but ended up looking much
more like the port of the ti driver done by drochner@netbsd.org
(they are similar in structure).
2002-06-22 14:42:07 +00:00
fvdl
5ae59ad64f Regenerate. 2002-06-22 14:34:49 +00:00
fvdl
1ebb22d9a9 Add Altima PCI Ids. 2002-06-22 14:33:54 +00:00
cjs
36a14b7037 Regenerate. 2002-06-22 08:09:07 +00:00
cjs
f9218e5010 Match PCI IDs of new PRO/100 chips. 2002-06-22 08:09:06 +00:00
cjs
8cf88171bf For new Intel network controllers, update descriptions and fix numbering. 2002-06-22 07:59:09 +00:00
cjs
b24b9d00d6 Add new Intel Ethernet cards. 2002-06-22 07:40:59 +00:00
thorpej
f7fc307366 Regenerate: Add product ID for Intel 82452KX/GX PCI-Host bridge. 2002-06-21 15:56:44 +00:00
thorpej
794412d052 Add product ID for Intel 82452KX/GX PCI-Host bridge.
PR 17353, from MOCHIDA Shuji.
2002-06-21 15:55:52 +00:00
itojun
92cb1aaac7 more proper fix to ex_disable. 2002-06-20 23:47:25 +00:00
itojun
8b835b91d2 make it compile (ex_disable).
not sure if it is 100% right.
2002-06-20 23:38:47 +00:00
itojun
6dc6d89865 minor KNF 2002-06-20 23:02:06 +00:00
thorpej
cba89d9d80 If the chip supports ACPI power management:
* Go to D3 if IFF_UP == 0.
* Go to D0 if IFF_UP == 1.

Saves battery life on my T21, mmm.
2002-06-20 20:17:04 +00:00
tshiozak
fe6f56bfb7 add support for the per-device power management capability.
int pci_set_powerstate(pci_chipset_tag_t pc, pcitag_t tag, int newstate)
	set power state of the device to newstate.
int pci_get_powerstate(pci_chipset_tag_t pc, pcitag_t tag)
	get current power state of the device.

In the future, these functions will be used for ACPI support.
2002-06-18 13:18:37 +00:00
jdolecek
1d64dfa199 regen:
add VIA Technologies VT8653 and VT8633 entries
move VT82C686A_MC97 entry to where it numerically belongs
2002-06-17 14:08:25 +00:00
jdolecek
8a8c3e3040 add VIA Technologies VT8653 and VT8633 entries
move VT82C686A_MC97 entry to where it numerically belongs
2002-06-17 14:07:14 +00:00
mjacob
f76122c26b Make all 23XX cards 'touched'. We seem to, too often, hang when trying
to run ABOUT FIRMWARE at the first isp_reset call. We *do* check for
the registers being set with values which would tell us if there's
firmware running or not- but this seems to not always work. It's not
essential, so move on.
2002-06-15 00:11:36 +00:00
thorpej
05c37016cb Map the device's memory space with BUS_SPACE_MAP_LINEAR, since we
need to be able to access it as such.

Fixes kern/17114.
2002-06-14 15:15:23 +00:00
someya
f4076c7aff Make the yds driver work on big-endian systems. 2002-06-10 16:58:57 +00:00
cjs
a8056945a4 Recognise the VT8233A ATA100 controller and use Ultra-DMA mode 5 with it. 2002-06-10 08:41:11 +00:00
cjs
d4dfe8676c Regenerate. 2002-06-10 08:38:27 +00:00
cjs
405914fc9b Add Viatech VT8233A PCI-ISA Bridge. 2002-06-10 08:30:29 +00:00
taca
3fff4029d4 Add support for VIA Technologies's VT8231 IDE Controller to ATA/100. 2002-06-09 16:52:26 +00:00
taca
800e08ba3b Regen. 2002-06-09 16:51:32 +00:00
taca
5a33c71fcc Add VIA Technologies's VT8231 IDE Controller. 2002-06-09 16:50:51 +00:00
bouyer
8305da0e8f Ops, use the proper setup_channel() function for promise adapters.
Using pdc202xx_setup_channel() for PDC20268 and newer is wrong, and will
cause trap trying to read from a non-existent register on some arches
(e.g. macppc).
pointed out by Makoto Fujiwara on port-macppc.
2002-06-08 17:54:59 +00:00
yamt
310e66f3c9 make an auto const variable static. 2002-06-08 17:10:02 +00:00
bouyer
10f940facc STE_CarrierSenseErrors is 8bit wide, not 16bit.
Reenable statistics interrupts, reading it as 16bit caused it to not be cleared,and thus the eventual interrupt to not be cleared (and this caused an
infinite loop in interrupt routine).
While I'm there count STE_CarrierSenseErrors as oerror (this is incremented
each time we try to send a packet and the link is down).
2002-06-05 16:27:29 +00:00
bouyer
aad58d87e1 Rework transmit underrun logic:
- when a transmit underrun occurs, only reset the transmit logic. This prevents
  the link from going down at the MII level (the same logic can probably
  be used for other transmit errors)
- set the urgent threshold to half the start threshold. From experiments
  this helps a bit decreasing the number of underruns

Now that underruns don't cause the interface to stop for several seconds,
make back out the default transmit threshold to 128.
2002-06-05 15:24:31 +00:00
fvdl
96858fc8b7 AMD 8111 DMA support. 2002-06-04 08:58:20 +00:00
fvdl
b76668d455 Regen. 2002-06-04 08:57:48 +00:00
fvdl
c094984a55 Add AMD 8111 IDE id. 2002-06-04 08:53:47 +00:00
briggs
ea51e618d6 Regen. for MPC8245 host bridge. 2002-06-03 19:53:37 +00:00
briggs
9e338db415 Add Motorola's MPC8245 (Kahlua II) host bridge. 2002-06-03 19:52:18 +00:00
seb
2c69553625 Support Titan PCI-800L, a 8 serial puc card, from PR 17140.
Reviewed/approved by veego@ and martin@.
2002-06-02 18:43:27 +00:00
seb
c5ad00acc6 regen for Titan PCI-800L. 2002-06-02 18:37:25 +00:00
jmcneill
419bcc2917 Fix the mixer controls to work a bit better. 2002-06-02 18:33:06 +00:00
seb
491c3ef8b6 Add product Titan PCI-800L aka VSCom PCI-800L, a 8 serial puc card, from PR
17140.
Reviewed/approved by veego@ and martin@.
2002-06-02 18:32:11 +00:00
enami
461e42e9ef Collect random number from AMD 768MPX power management controller. 2002-06-02 02:44:27 +00:00
lukem
06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
bouyer
10813a14bc Remove the "set south-bridge's enable bit" code. It doens't seems to make
any difference for rev 0xc3 controllers, and hang on 0xc4 controllers.
Fixes kern/16954
2002-06-01 18:07:42 +00:00
bouyer
dc66b51bca When the chip gets a transmit underrun, the driver resets the chip, which
cause the link to go down for several seconds on my Dlink DFE580-TX (quad-port
DL1002). This behavior is unacceptable, especially as the driver usually
gets several underrun at once, causing the link to be almost unaviable
for several 10s of seconds.
Bump the default transmit threshold to 1504 bytes to avoid transmit underrun.
2002-06-01 17:24:38 +00:00
bouyer
208589bfca On a Dlink DFE580-TX (DL-1002), attempting to transmit packets while the link
is down cause the chip to create an IE_UpdateStats condition which can't be
cleared, causing the driver to enter an interrupt loop.
Workaround: mask IE_UpdateStats
2002-06-01 17:20:13 +00:00
simonb
42669ab3a4 Add "__attribute__((__unused__))" to hpt374_pio, hpt374_dma and hpt374_udma. 2002-06-01 12:47:20 +00:00
thorpej
dd82a277b7 * Add __unused___ to lmc_system_errors, since it is not used by
everything which includes if_lmcvar.h.
* #if 0 lmc_status_bits, since it's not used by anything.
2002-05-31 17:53:03 +00:00
mycroft
5ca56020c7 Patch the CLKRUN enable bit on ToPIC chips. 2002-05-31 13:34:03 +00:00
augustss
22023c8988 Some casts in printf(). 2002-05-31 10:54:34 +00:00
haya
a7937db203 Add comment. 2002-05-31 09:54:52 +00:00
someya
153f04daa9 Fix playback problem on SiS7018.
- mute the volume for interrupt channel
 - add some improvements for device initialization

but recording does not work properly.

Reported and tested by Jan Wagner <waja@cyconet.org>. Thanks.
2002-05-30 17:04:13 +00:00
drochner
34c0afbf8d implement a check whether a BAR is present at all at a given configuration
space address and use it where the mappings of the VGA card are registered
before descenting too deep into "memory" type specific code
(pci_mem_find() gets noisy if it doesn't like the register)
2002-05-30 12:06:43 +00:00
bouyer
ec89a92254 When testing for a void region, use PCI_MAPREG_MEM_SIZE() for 32bit memaddr.
If the 32bit mask read is 0, wmask will be 0xffffffff00000000, and
PCI_MAPREG_MEM64_SIZE() won't make this 0.
2002-05-29 14:57:36 +00:00
tron
e10511905f Set initial transmit drain threshold to 1504 to avoid the problem
described in PR kern/16070. Change approved by Jason Thorpe.

XXX We'll should try to find a better adaptive scheme for the next
    NetBSD release.
2002-05-28 20:20:49 +00:00
christos
c5e4481063 regen 2002-05-28 17:46:24 +00:00
christos
6ce1fe0564 add action tec 2002-05-28 17:46:10 +00:00
tron
30e983a763 Regen from "pcidevs". 2002-05-28 17:08:57 +00:00
tron
e3e9ac1e64 Add entries for Intel i850 and i860 chipsets. 2002-05-28 17:08:19 +00:00
drochner
9936deaa92 regen 2002-05-27 08:52:36 +00:00
drochner
67d163e234 add one more of our own products 2002-05-27 08:52:13 +00:00
ichiro
fdb6b41ec7 regen 2002-05-25 07:32:25 +00:00
ichiro
407f8f5b2c add 21555 Non-Transparent PCI-PCI Bridge 2002-05-25 07:28:15 +00:00
christos
7db182d94d NBPG is not constant on the sparc, so don't use CPP tricks. 2002-05-24 18:10:06 +00:00
christos
0c5fed7eec Deal with the NBPG problem in a better way. 2002-05-24 15:58:06 +00:00
lukem
36bbd51aa2 Support NetMos NM9845 Quad UART and 1284 Printer port.
All 4 serial ports and parallel port seem to work.
2002-05-24 12:07:46 +00:00
lukem
863d1b7956 regen for NetMos Quad UART and 1284 Printer port 2002-05-24 11:54:22 +00:00
lukem
ed8833bc78 add NetMos Quad UART and 1284 Printer port 2002-05-24 11:50:20 +00:00
wiz
f7d76b1062 bcmp -> memcmp. 2002-05-22 16:03:14 +00:00
matt
077fee836c Add code to distinguish between apple and sun gem cores. 2002-05-21 19:58:24 +00:00
martin
2fe85a6623 Uniformly pass a "struct isdn_l3_driver *" through layer 2, so we
do not have to search for that driver later while we already knew it
at layer 1.
2002-05-21 10:31:10 +00:00
bouyer
953ad0720e Add support for HPT374. Submited by Matthew Rezny in kern/16897, with
minor adjustements by me.
2002-05-19 17:40:46 +00:00
bouyer
5cf2b73fb8 Regen: add HPT372 and 74 PCI IDE controllers. 2002-05-19 16:02:44 +00:00
bouyer
503b19427a Add HPT372 and 74 PCI IDE controllers. 2002-05-19 16:00:19 +00:00
sommerfeld
404be58a8d Regen 2002-05-19 00:19:22 +00:00
sommerfeld
889b8b80d2 Some E7500 device ids 2002-05-19 00:17:34 +00:00
sommerfeld
d7135de9ea Regen 2002-05-19 00:01:29 +00:00
sommerfeld
11aa3c6a28 Fortunately for us, all interrupt controllers are not 8259's 2002-05-19 00:01:09 +00:00
sommerfeld
60cfb93a0f Some P64H2 device ids 2002-05-18 23:58:00 +00:00
sommerfeld
ce6cc5672c Add "pa_rawintrpin" containing unswizzled interrupt pin to pci_attach_args. 2002-05-18 21:40:41 +00:00
ad
d7e512df18 - Use write barriers.
- NBPG -> PAGE_SIZE.
2002-05-18 20:59:20 +00:00
sommerfeld
314ef13c23 In pci_probe_device(), correct test for whether the device is behind a
pci-pci bridge (and thus needs its interrupts "swizzled").

Formerly, pci_probe_device() assumed pci busses other than bus zero
were bridged; however, much recent x86 hardware supports multiple
primary pci busses differently -- there is a system-wide bus numbering
scheme.  Now, we instead look at the (newly introduced) sc_bridgetag
value in the parent bus to figure out if there's a ppb or equivalent
in the way.

This fixed at least one case where the i386 MP branch gets interrupt
mapping wrong.
2002-05-18 18:14:11 +00:00
matt
77820698c6 Add lfmiop (LSILogic Fusion-MPT I/O Processor) placeholders for
driver to added latter.
2002-05-18 07:23:04 +00:00
matt
cad72c184d Regen. 2002-05-18 07:19:41 +00:00
matt
01b871fa50 Add SYMBIOS FC9[12]9 and 1030R 2002-05-18 07:19:16 +00:00
mjacob
c3514c8f6d Slight touchup on last change- make sure HBA_BOTCH is set (just in case
somebody at a different level does the wrong thing) on ENOMEM/EAGAIN returns
from loading DMA.
2002-05-17 19:05:08 +00:00
thorpej
86b4df33e7 Make sure pa.pa_bus is initialized. (Thanks, uwe!) 2002-05-16 01:03:05 +00:00
thorpej
204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej
dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
thorpej
40116f53dd Put back __PCI_BUS_DEVORDER for now. 2002-05-15 18:39:47 +00:00
thorpej
7c86eb62bc Split the code that enumerates the PCI bus and that actually probes
for a device into two functions:

* pci_probe_device() actually probes/attaches the device specified
  by the provide pcitag_t.

* pci_enumerate_bus() enumerates the bus, and calls pci_probe_device()
  for each device on the bus.  A pci_enumerate_bus_generic() is provided
  which implements the old method of doing this: If something found at
  dev0/func0, determine number of functions and probe each one.

  Machine-dependent code will be able to specify the bus enumeration
  routine in the future.
2002-05-15 18:13:00 +00:00
augustss
b058cf77d2 Adapt to new bridge name. 2002-05-15 14:15:17 +00:00
augustss
437ddd4f05 Regen. 2002-05-15 14:14:57 +00:00
augustss
5919cbff85 Give a more suitable name to the DEC 21554 bridge. 2002-05-15 14:14:34 +00:00
simonb
ee3ab87335 Print some error messages when the codec fails to initialise (some errors
were already reported, others weren't).
Sprinkle some KNF around.
2002-05-15 09:55:45 +00:00
augustss
14389c7b50 Regen. 2002-05-14 12:05:35 +00:00
augustss
72d8d32c1d Add a Heuricon host bridge. 2002-05-14 12:05:13 +00:00
hannken
616dac6232 Add support for NetMos NM9805 1284 Printer port.
Tested by David Kwok <dkwok@iware.com.au>.
2002-05-13 09:19:57 +00:00
matt
403b0fdb73 If a dma map can't be loaded due to resource shortage, make we report that
as a resource shortage instead of a driver stuffup.
2002-05-12 16:51:06 +00:00
matt
48d39d805c Print out interrupt we attached to. 2002-05-09 20:20:18 +00:00
thorpej
3e669d3bca * Increase the number of Tx job queue entries from 32 to 64.
* Garbage-collect some unused stuff.
* Make the Tx window slide along the Tx job queue space, not the
  Tx descriptor space.  We are more likely to run low on DMA maps
  than we are hardware descriptors.
2002-05-09 01:00:12 +00:00
matt
983a0a0749 LMC_CTL_LEN1 and LMC_CTL_LEN2 extracted each other's fields. Stop doing
that.
2002-05-09 00:58:45 +00:00
thorpej
3ce23a4ac6 * Instrument the number of times we force a Tx interrupt.
* When forcing an interrupt, make sure that interrupt-delay-enable is
  cleared (necessary with last change to make sure it's set for all
  descriptors).
* Crank up the Transmit Interrupt Delay Value to 1024 * 1.024 msec.  We
  really want these to be deferred.
2002-05-09 00:41:06 +00:00
thorpej
88f6c3663b Don't set WTX_TCPIP_CMD_TCP or WTX_TCPIP_CMD_IP in the TCP/IP context
descriptor.  Those are apparently only valid if using the Cordova's
"segmentation offload" feature.
2002-05-08 21:43:10 +00:00
thorpej
d680cf3220 * Make sure the interrupt-delay bit gets set on ALL descriptors,
except for the one we want to force a Tx interrupt.
* Tweak the Tx descriptor accounting a little.
2002-05-08 21:22:20 +00:00
thorpej
3992641218 Implement a cache for the outbound IP/TCP/UDP checksum offload
context.
2002-05-08 19:00:27 +00:00
thorpej
935179d022 * Account for the descriptor consumed by the Tx checksum offload
context setup.
* Implement Matt Thomas's sliding Tx interrupt window algorithm,
  forcing an interrupt when the Tx desc list is 2/3 consumed.
* Use the Report Packet Sent interrupt, rather than Report Status,
  since we use the Tx descriptor to count Tx errors.
2002-05-08 17:53:28 +00:00
bouyer
3dc7dba078 It seems that the 1010-33 has a bug: it sometimes generate spurious SCSI gross
errors for narrow transfers after a reselect. FreeBSD sym driver has a comment
about this, but their workaround (disable SCSI gross error reports) doesn't
work for me. Instead dissallow disconnect if the target is not wide
(FreeBSD doens't allow disconnect until the target has been fully probed, which
is why they may not have noticed my problem).
2002-05-04 18:11:06 +00:00
nathanw
f9de3e788b Make pci_conf_print() dump the device-dependent header in userspace, too. 2002-05-03 16:08:36 +00:00
drochner
3c9ad6abb6 make the LEDs work with both channels active, some cleanup and
simplification
2002-05-03 14:12:59 +00:00
augustss
dd51b8be28 Regen. 2002-05-03 12:46:41 +00:00
augustss
a7586eb6dc Add Sandburst. 2002-05-03 12:46:11 +00:00
thorpej
a487a4b57a Bump the number of Tx DMA segments from 8 to 16 (the zero-copy socket
code sometimes sees more than 8).
2002-05-03 00:18:31 +00:00
thorpej
317ab784d9 Bump the number of Tx DMA segments from 8 to 16 (the zero-copy socket
code sometimes sees more than 8).
2002-05-03 00:07:02 +00:00
thorpej
84fbb01984 Fix a comment. 2002-05-02 16:34:47 +00:00
thorpej
c115365b50 * Deal with errata on the i82542 and i82543 chips: The size of the
transmit and receive descriptor rings is limited to 256 descriptors.
  So, set the if_snd queue length to 256 to let the upper layers queue
  lots of packets, and let the driver handle up to 32 of them at a time.
  (We should probably make this change to most Ethernet drivers, since
  it actually saves some resources.)
* Increase the number of Tx DMA segments from 8 to 16.
* Clean up the way we count "how many times did I get a packet with N
  DMA segments".
* Add a missing htole32() in wm_tx_cksum().
* Don't set both RS and RPS in the last Tx descriptor of a packet; just
  use RS.
* Add some more information to the watchdog message.
2002-05-02 16:33:27 +00:00
thorpej
b094ff415f Change the semantics of mbuf external storage "ext_free" routines
so that they're more useful for arbitrary types of external storage:

* Add an "mbuf *" argument to (*ext_free)().  If non-NULL, (*ext_free)()
  is expected to free the mbuf itself.  This allows (*ext_free)() to use
  the mbuf for bookkeeping (e.g. deferring the work to a helper thread).
  If the "mbuf *" argument is NULL, we are assumed to be in a context
  which is safe for performing the destructor operation *now*.
* Adjust MEXTREMOVE() and MFREE() routines for above change.
* Update "ade" and "ti" drivers for new semantics.
2002-05-02 16:22:43 +00:00
nonaka
d58ba5a7b5 Regen. (Added two IBM devices.) 2002-04-29 18:21:32 +00:00
nonaka
1a570698f4 Added two IBM devices. 2002-04-29 18:18:29 +00:00
mjacob
85fc807bc1 suggestion from Jason: have (in non-verbose boot case) card type printed out
on same line as attachment line.
2002-04-28 21:32:14 +00:00
thorpej
fe11f8da0b Use MEXTADD() rather than open-coding it. 2002-04-28 01:00:26 +00:00
thorpej
2ddda24f28 53c1010 chips are ultra3, not ultra2. 2002-04-26 19:44:52 +00:00
ad
9a25612703 Regen. 2002-04-26 14:21:28 +00:00
ad
fda5e53ba0 Oops, add more IDs used by aac_pci.c. 2002-04-26 14:20:59 +00:00
ad
77e08f053a Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
2002-04-26 02:05:07 +00:00
kleink
22e2d71a5f Add a joystick attachment to the ESS Solo-1 driver. 2002-04-25 00:52:21 +00:00
ad
b9e7e28ff4 Match anything with PCI_VENDOR_VORTEX, then use a heuristic to determine the
board's interface, and list only exceptions in icp_pci_ident[].
2002-04-24 15:08:48 +00:00
aymeric
e4f7fab661 OPTi changes:
o keep WDC_CAPABILITY_DATA32 regardless of the version of the chip.
o correct typo to disable DMA correctly
2002-04-24 13:49:34 +00:00
bouyer
cd3578d7ef More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
bouyer
c7454ad973 - factor out parts of (e)siop_attach() to siop_common_attach()
- Add support for DT transfers (aka Ultra/160) in esiop

Note that DT transfers are not enabled for 53c1010-33 rev 0 yet; if I trust
FreeBSD it has a bug which prevent them to do DT properly.
From the same source there may be issues with some revs of 53c1010-66.
2002-04-23 17:33:27 +00:00
bouyer
cf06149dac Enable software LED control based on LED0 feature, not #define.
For now, set the LED0 feature if SIOP_SYMLED is defined in siop_pci_common.c.
From Jason R Thorpe.
2002-04-23 10:38:37 +00:00
bouyer
71103278cf Set SF_CHIP_LEDC for chips that support it. Based on patch sent in private
mail by Jason R Thorpe.
2002-04-23 10:11:39 +00:00
ad
9a09578e25 Add a driver for ICP-Vortex GDT and Intel Storage RAID controllers. Parts
taken from OpenBSD. Test hardware kindly provided by Intel. This still needs
management bits, and doesn't support older controllers, but that shouldn't
be hard to fix.
2002-04-22 21:05:19 +00:00
bouyer
458fca4e6a Add esiop at pci. 2002-04-22 15:45:19 +00:00
augustss
7f7ab48604 Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
2002-04-22 09:41:19 +00:00
bouyer
8cfc41f9ed First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
2002-04-21 22:52:05 +00:00
bouyer
97fe8b91c5 Move a few things around, so that ic/siop_common.c and pci/siop_pci_common.c
can be compiled without including siopvar.h.
2002-04-20 00:15:54 +00:00
drochner
9c80231f6b check interrupt status of the PCI interface chip (if possible)
before calling the (slow) isic handler
being here, remove #ifdefs for FreeBSD and old version support
and add RCS ID tags
2002-04-19 10:55:46 +00:00
thorpej
c685b2c67a Regen: Added Symbios 53c875A product ID. 2002-04-18 20:36:30 +00:00
thorpej
cdd30a00ba Add Symbios 53c875A product ID. 2002-04-18 20:35:39 +00:00
tshiozak
eb4e540b0e add PCI/USB vendor ID for Kurusugawa Electronics, Inc.
PCI-ID: 0x6809, USB-ID: 0x0b7e.
2002-04-18 17:40:56 +00:00
martin
379eadc41a Duh, 0 bits enable interrupts in the IPAC!
So to disable them all better use 0xff instead of 0x00 as mask. Noted
by Matthias Drochner.

Move some initialization unrelated to interrupts back to its place at
attach time.
2002-04-18 15:32:30 +00:00
martin
32b8af4ca2 Be carefull not to cause interrupts while /dev/isdn is not open.
Make the LEDs work.
2002-04-17 17:35:29 +00:00