Commit Graph

2829 Commits

Author SHA1 Message Date
thorpej 8c51a03d7e If the upper layer says Write/Invalidate is okay, then make sure
it's enabled in the PCI CSR.
2002-02-28 23:52:37 +00:00
thorpej 2ba5de1eb1 Change the default Rx FIFO drain threshold to 128 bytes; this
reduces the likelihood of Rx FIFO overruns on machines with wimpy
PCI busses, while still allowing the interface to burst with a
reasonable size.
2002-02-28 20:08:11 +00:00
thorpej 07e108c7dc * On the DP83820, make sure to make the Tx DMA map large enough for
jumbo frames.
* Work around broken PXE firmware on some boards, which leave the ROM
  BAR enabled even after the PXE stack has been unloaded.
* Set up the initial values for sc_tx_fill_thresh, sc_tx_drain_thresh, and
  sc_rx_drain_thresh in sip_attach(), rather than in sip_init().
2002-02-28 19:10:16 +00:00
junyoung 66900b849e Regen. 2002-02-28 03:40:43 +00:00
junyoung c1670f1122 Oops, readd an ID for Rage XL which was removed in previous commit. 2002-02-28 03:39:37 +00:00
junyoung 36dc3b5f36 Regen; fix for duplicate ATI Rage Pro. 2002-02-28 02:34:15 +00:00
junyoung 1ce4367071 Better fix of duplicate ATI Rage Pro IDs. `_B' and `_P' mean BGA and
PQFP, respectively.
2002-02-28 02:32:50 +00:00
christos d487168d5f PR/15754: Sean Davis: Initialize if_softc before calling the mii init
routines to avoid NULL pointer de-referencing in the callbacks.
2002-02-28 00:52:21 +00:00
martin fe3a97c935 regen 2002-02-27 21:01:55 +00:00
martin b6b3e04f66 Avoid duplicate define for ATI Rage Pro PCI 2002-02-27 21:00:28 +00:00
junyoung 53e222d45c Regen. 2002-02-27 16:38:08 +00:00
junyoung ab2517393d Fully revise product IDs for ATI Mach64 and Rage graphics cards.
XXX Rage 128 not revised.
2002-02-27 16:36:41 +00:00
joda b57f5ccbca in esa_resume, call esa_codec_reset; makes it much more happy after a
suspend on my O500 (snatched from FreeBSD)
2002-02-26 11:05:05 +00:00
kleink 764103c61c Regen: add IBM 82660 PowerPC to PCI Bridge and Memory Controller. 2002-02-24 01:44:00 +00:00
kleink 914e8aef4a Add IBM 82660 PowerPC to PCI Bridge and Memory Controller. 2002-02-24 01:42:36 +00:00
mjacob 91f80cf3fc Implement F/W crashdumps for 2200 && 2300 cards (kernel compile option).
Distinguish between 2312 and 2300 cards (they *are* different). Enable
RIO (Reduced Interrupt Operation) for the LVD cards (hey- I've seen
batched completions of the 30 commands at a time with this,....)...

If we get a Port Logout on local loop topologies, we have to force the
f/w to log back in. The easiest way (for us) to do this is to force
a LIP. This also will wake up the disk that probably just had a f/w crash.

Implement mailbox 'continuations'- this allows interrupts to re-drive
a mailbox command if it's one that just essentially repeats the previous
mailbox command (e.g., f/w download). This saves a boatload of sleep/wakeup
twitches.

If we're not a 2300 and we're about to return with a 'bogus interrupt'- check
the semaphore register to be non-zero at all and outgoing mailbox 0- this
seems to be where some of the lost ISP1080 commands came from.
2002-02-21 22:32:40 +00:00
kleink e9dc13b243 As discussed with Jason Thorpe: while the `cacheline_size\' argument is
a byte-size quantity, the CacheLine Size configuration register specifies
the system cacheline size in units of 32-bit words; per PCI Local Bus
Specification, rev. 2.1, section 6.2.4.
2002-02-21 20:22:48 +00:00
simonb b0a8050029 regen: Use BCM prefix instead of SB prefix in previous. 2002-02-21 00:00:28 +00:00
simonb 1d958329b8 Use BCM prefix instead of SB prefix in previous. 2002-02-20 23:59:58 +00:00
simonb 1df79a37a8 regen: Add the SiByte/Broadcom SB1250 PCI and LDT bridge IDs. 2002-02-20 23:53:32 +00:00
simonb 034caadcd2 Add the SiByte/Broadcom SB1250 PCI and LDT bridge IDs. 2002-02-20 23:53:01 +00:00
simonb ee0bfb00bf regen: Rename the SIBYTE entry to "Broadcom Corp. (SiByte)". 2002-02-20 23:46:55 +00:00
simonb e4007a266b Rename the SIBYTE entry to "Broadcom Corp. (SiByte)". 2002-02-20 23:45:50 +00:00
thorpej 3285e44973 Regen: Add the Elan SC520 System Controller. 2002-02-16 16:36:36 +00:00
thorpej 1b6c81cacd Add the AMD Elan SC520 System Controller. 2002-02-16 16:35:48 +00:00
augustss 77beb7e099 Use the correct years for copyright. 2002-02-14 21:58:30 +00:00
augustss 4cb7d87b12 Oops, I messed up the last commit, try again. 2002-02-14 12:52:01 +00:00
chs 4ee45f845f add support for Adaptec ANA-69xx multi-port cards. 2002-02-14 07:59:55 +00:00
augustss 076c2a2de8 Make fixed rate codecs work. From Tsuyoshi Iguchi in kern/15606. 2002-02-14 03:22:36 +00:00
kleink 4691174484 Move the declaration of pci_conf_hook down to <machine/pci_machdep.h>;
a port may choose to implement it not as a function but i.e. as a
pci_chipset_tag_t function vector.
2002-02-11 17:24:00 +00:00
wiz 6d119b5202 pcmcia -> pci in comment. 2002-02-10 12:26:23 +00:00
thorpej 8edba68a05 Fix problems associated with the SiS 635/735 on-board Ethernet,
from Stephen Degler <sdegler@degler.net>, port-i386/15261.
2002-02-09 21:04:02 +00:00
briggs 269d70f6e7 Dup 53c1010-33 entry for 53c1010-66 (PCI_PRODUCT_SYMBIOS_1010_2). 2002-02-08 04:07:34 +00:00
christos 7555da491d Turn on mii on 3C980CTXM 2002-02-07 01:32:19 +00:00
tsutsui 552bb9895a TAB/space cosmetics 2002-02-06 12:43:05 +00:00
eeh 94a482c8a0 Fix a blatant inconsistency in PCI_PRODUCT handling. 2002-02-05 01:51:51 +00:00
junyoung 956ac1ab10 Regen. 2002-02-04 16:57:57 +00:00
junyoung 1c782b74b1 Add some more product ID's for ATI Mach64 graphics cards. 2002-02-04 16:56:49 +00:00
tsutsui 425a197cab Remove chip description which is also mentioned in dev/ic/rtl81x9.c. 2002-02-04 16:33:15 +00:00
jdolecek f32b3f4f89 Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
2002-02-02 18:37:38 +00:00
jdolecek 34b1784adf enable the joystick port on attach, too 2002-02-02 18:10:28 +00:00
tsutsui 8cfcd66841 Regen; add Initio INIC-850/1060 SCSI and variants. 2002-02-02 11:58:28 +00:00
tsutsui 2f9238db1b Add Initio INIC-850/1060 SCSI and variants. 2002-02-02 11:56:43 +00:00
tsutsui 8c857ca266 Regen; add HiNT Corp. HB1 PCI-PCI bridge. 2002-02-02 11:30:04 +00:00
tsutsui 3800e16a5a Add HiNT Corp. HB1 PCI-PCI bridge. 2002-02-02 11:28:46 +00:00
augustss 6462ad0b3c Fix typo so that 48kHz can be set. From Stephen Ma in kern/15456. 2002-02-02 11:18:42 +00:00
augustss e16f901581 Make auich support variable rate codec, and suspend/resume.
From URA Hiroshi in PR kern/15431 (partly from OpenBSD).
2002-02-02 11:13:44 +00:00
ad 888b6f3f26 Bare-bones driver for AMI RAID. Parts taken from FreeBSD. This was tried a
good while ago and it had problems under load. Changes were made to address
that, but I don't have the ability to test them. So, I'm committing it
before it rots.
2002-01-30 14:35:43 +00:00
tron abd441c487 Regen. 2002-01-30 01:53:00 +00:00
tron e978c223ad Fix vendor entry for "Rendition Inc.". This patch was supplied by
Paul Shupak in PR kern/15367.
2002-01-30 01:52:32 +00:00
bouyer 8b9a58198e Support Ultra/100 on Intel 830M. From ks@ub.uni-mainz.de on -current-users. 2002-01-29 21:13:17 +00:00
junyoung b265127f06 Regen. 2002-01-29 06:08:35 +00:00
junyoung 78d2285773 - s/INTERGRAPHICS/INTEGRAPHICS/
- Add two product IDs for Integraphics Systems graphics cards.
2002-01-29 06:07:16 +00:00
nisimura 5060825752 DANAS (disable autonegotiation) bit of BCR32 takes its effect when
set, not cleared.
2002-01-29 04:45:47 +00:00
thorpej c5b600d0bc Regen: Add product ID for the Intel i82544GC 64-bit variant. 2002-01-28 19:57:00 +00:00
thorpej 16fe240828 Add product ID for the Intel i82544GC 64-bit variant. 2002-01-28 19:55:15 +00:00
bouyer 6d7c6c755b In hpt_pci_intr(): There is interrupt pending once IDEDMA_CTL_ACT is
turned off. It seems that IDEDMA_CTL_INTR is asserted before DMA transfer
is complete, leading to race condition in case of interrupt sharing.
Discovered reading the FreeBSD code.
2002-01-28 15:30:29 +00:00
jdolecek 1731882d0a emuxki_set_params(): don't try to set parameters if the appropriate
'voice' is not initialized
This fixes kern/15394 by Onno van der Linden.

Code fragment to trigger the bug:

	AUDIO_INITINFO(&info);
	info.mode = AUMODE_PLAY;
	info.play.channels = 2;
	fd = open("/dev/audioctl0", O_RDWR);
	(void)ioctl(fd, AUDIO_SETINFO, &info);

emuxki_voice_set_audioparms(): g/c check for voice == NULL, this is
never called with null voice
some minor style changes in emuxki_open()/emuxki_close()
2002-01-27 20:38:07 +00:00
tron 6b3f95eac6 Regen. 2002-01-26 22:41:46 +00:00
tron 0f7d8365c0 Add missing names for devices supported by puc(4).
This patch was supplied by Paul Shupak in PR  kern/15368.
2002-01-26 22:40:46 +00:00
ichiro a66a4379d2 regen 2002-01-26 16:31:18 +00:00
ichiro ee79a9205a OCHI -> OHCI 2002-01-26 16:30:00 +00:00
ad 49849b4d3a - Always validate the return value read from the outbound FIFO.
- Copy access method info into the softc so we don't double dereference.
- Remove static on functions.
2002-01-25 16:10:35 +00:00
pooka 7eb7ad4b7e free memory allocated for suspend save area in detach 2002-01-23 11:27:59 +00:00
augustss fd7f5e11ae Don't pretend we can handle i830; it needs a somewhat different AGP driver.
(I added i830 to quickly.)
2002-01-22 17:29:36 +00:00
junyoung bb6d64e459 Regen. 2002-01-22 08:33:15 +00:00
junyoung 4d71cd5c7f Rename RAGEXL to MACH64_GR. 2002-01-22 08:32:08 +00:00
junyoung 7ef377f884 Regen. Add Mach64 GS. 2002-01-22 02:39:59 +00:00
junyoung 1e4a315dcc Add ATI Mach64 GS. 2002-01-22 02:35:46 +00:00
ichiro a319f48222 regen 2002-01-21 21:45:46 +00:00
ichiro c1b363222f fixed some products name 2002-01-21 21:43:55 +00:00
eeh e0747a992d Regen. 2002-01-21 18:55:26 +00:00
eeh e7a70bc9de Add the device id for something that claims to be an ATI Rage XL. 2002-01-21 18:51:44 +00:00
thorpej efc5b2fd84 Regen; Broadcom BCM570x-related IDs. 2002-01-21 17:20:05 +00:00
thorpej 2177c5565c * Add Broadcom Corporation vendor ID.
* Add 3Com 3c996 product ID.
* Add Alteon "Tigon 3" (Broadcom BCM570x) product IDs.
* Add Broadcom Corporation BCM570x product IDs.
2002-01-21 17:19:23 +00:00
thorpej 7f29645d87 Regen; add Intel i82544GC Gig-E. 2002-01-15 20:16:36 +00:00
thorpej 4f2478ee1d Add the Intel i82544GC Gig-E. 2002-01-15 20:14:47 +00:00
augustss 5fff88daf1 Note to self: set variable before using it. 2002-01-15 13:50:59 +00:00
pooka 09dfdacac8 Use standard PCI power management definitions from pcireg.h instead
of homegrown ones.

suggested by Soren
2002-01-14 19:24:39 +00:00
tsutsui ab04f9daae Call malloc(9) with M_ZERO flag instead of bzero() after malloc().
XXX It seems these attachments need to be rewritten for modern config(9)..
2002-01-14 13:39:14 +00:00
tsutsui 448d063b57 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-14 13:23:36 +00:00
augustss 626454530f Regen. 2002-01-14 03:57:11 +00:00
augustss a7bd403449 Fix typo. 2002-01-14 03:56:33 +00:00
augustss 916552082d Add i830M to agp chip tables. 2002-01-14 01:38:25 +00:00
augustss 18a4a5a899 Regen. 2002-01-14 01:37:35 +00:00
augustss 0694a51a97 Add 82201CA to the chip table. 2002-01-14 01:35:39 +00:00
augustss ef12cd1620 Change some names that I added earlier. 2002-01-14 01:35:05 +00:00
augustss 27a315e2c8 Add i830M to the chip list. 2002-01-14 01:29:13 +00:00
augustss a80d13d476 Cosmetic error message fix. 2002-01-13 19:40:51 +00:00
augustss e4f23fb652 Add code to handle PCMCIA cards placed on a PCI card with the PLX chip.
From OpenBSD and FreeBSD.
2002-01-13 19:38:25 +00:00
jmcneill e52f30dc7a Every card I've seen has had their channels swapped with respect
to the mixer. Ie:
 $ mixerctl -w outputs.master=0,191
Would result in the _right_ speaker being turned off.

So, we will swap the left and right mixer channels to compensate
for this.
2002-01-13 15:07:28 +00:00
jmcneill a3e1dd7338 Remove unnecessary (also unused) AC'97 definitions -- they already exist
in syssrc/sys/dev/ic/ac97reg.h.
2002-01-13 14:48:01 +00:00
jmcneill 4d4665161a Use malloc's M_ZERO flag instead of malloc/memset. 2002-01-13 14:44:15 +00:00
pooka 284103af4a Add support for the driver to work after suspend/resume. Does nothing
fancy, works for the basic output case, but does not support programs
which use playback while going into suspend.

Sketched after code found in FreeBSD and Linux drivers.
2002-01-13 10:06:51 +00:00
pooka 2e156f09dc * add power definitions
* fix a few (hidden) typos in the definitions
2002-01-13 10:02:58 +00:00
augustss 1a2fda613e Regen. 2002-01-13 03:14:22 +00:00
augustss 99d55e5ea2 Add 3Com 3crwe777a AirConnect. 2002-01-13 03:13:39 +00:00
tsutsui b87a051ec8 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
enami 68f9f4a5d4 Make ehci_pci.c compiles again. 2002-01-12 02:06:23 +00:00
enami 0cd298f02e Skip not yet emulated 8bit ulinear encoding correctly. 2002-01-12 00:13:42 +00:00
haya 1e4fff76f0 Bug fix: correct chattering suppressor. Card insertion will be
detected properly by this fix.
2002-01-10 10:30:08 +00:00
someya 02501f9aa4 remove a unnecessary message print 2002-01-10 10:17:55 +00:00
augustss 43aeee0fe8 Split out some code so you can have cardbus ehci without pci. 2002-01-09 22:56:22 +00:00
augustss 1a1f9d7acf Regen. 2002-01-09 19:29:39 +00:00
augustss 03027531da Add Intel 82801 and 82830. 2002-01-09 19:29:07 +00:00
bouyer 2e06a41ea8 Fix typo in comment. Reported by Alexander Yurchenko in private mail. 2002-01-08 11:47:27 +00:00
jmcneill fad06cc1a6 Re-enable radio at bktr, only if NRADIO > 0 and an FM tuner is present. 2002-01-07 18:05:33 +00:00
drochner db154a4d20 "attach radio at radio":
using one word as both attribute and device doesn't work well,
radio.c is pulled in even with no such device in the configuration,
and the kernel doesn't link due to missing "radio_cd".
So call the attribute "radiodev" to avoid confusion.
2002-01-07 17:44:42 +00:00
tron 559521efa3 Disable broken radio(4) support for bktr(4). The configuration code doesn't
even check if the TV card has a radio tuner.
2002-01-07 12:12:55 +00:00
tron 2f741a258e Backout revision 1.155 which caused build failures if bktr(4) is used
without radio(4).
2002-01-07 11:58:28 +00:00
tron 65aa7d5e7c Clean up preprocess handling of optional radio(4) support a little bit. 2002-01-07 10:43:43 +00:00
jmcneill 311329a369 Integrate recording support into the driver. Not very heavily tested yet. 2002-01-07 07:33:09 +00:00
tron 6a997e3c73 Compile in radio(4) only it is activated in the kernel configuration. 2002-01-06 23:19:18 +00:00
augustss f0b744e0cf Note that Don Kim wrote the original Linux driver. 2002-01-06 16:58:23 +00:00
jmcneill 244caf0f16 Import driver for the ESS Allegro-1 / Maestro-3 based PCI Audio Accelerators. 2002-01-06 16:06:14 +00:00
augustss 4fee2664e3 Change copyright somewhat. (These are not TNF copyright templates so I
removed the advertising clause.)
2002-01-06 15:41:00 +00:00
jmcneill 58d1fe0d04 Add missing definition of STATUSBIT_STEREO. 2002-01-06 15:37:08 +00:00
augustss 9a0fd5e477 Part of the ESS Allegro-1 & Maestro3 driver. 2002-01-06 15:17:28 +00:00
jmcneill a17eec36aa Add radio support to bktr. 2002-01-06 02:47:36 +00:00
jmcneill 1eb3eee47c Add basic support for the radio(4) interface. 2002-01-06 02:42:45 +00:00
junyoung 83ad3c8a91 Regen. 2002-01-05 16:36:59 +00:00
junyoung 7f0a4dd3c9 Remove Mach64 B that conflicts with Mach64 GP. 2002-01-05 16:35:52 +00:00
augustss b915c78113 Regen. 2002-01-05 00:16:42 +00:00
augustss 0bb5b26936 Add a bunch of PCI-wireless PCMCIA adapters. They are probably all based
on a PLX chip.  (For which we have no driver yet.)
2002-01-04 18:26:20 +00:00
martin 99772f59c4 Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h
containing the userland visible thinks (i.e. ioctl definitions).

Remove all (both) old ioctls, as they had a brain dead API and made keeping
binary compatibility more or less impossible.

Replace by several new ioctls. While there, remove any arbitrary limits
(resulting from the old, broken ioctls) and allow any length of names
and passwords.
2002-01-04 12:21:24 +00:00
thorpej 43b6b4ca49 Need ibm561.c for TGA. 2002-01-03 05:35:31 +00:00
rafal e444b1434a Regen (added Rainbow Technologies & Rainbow's CryptoSwift 200). 2002-01-03 05:27:39 +00:00
rafal cee4ea6496 Add Rainbow Technologies vendor ID & Rainbow CryptoSwift 200 PKI accelerator
(CS200/PCI).
2002-01-03 05:25:48 +00:00
augustss 1c06f6a40f Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov
for OpenBSD, from where it was imported.
2002-01-01 21:51:38 +00:00
augustss cdf2a29382 Regen. 2002-01-01 21:47:34 +00:00
augustss ec0a570a33 Add a radio card. 2002-01-01 21:47:08 +00:00
hpeyerl 739775cbbb Add stanza for PC Weasel/PCI. 2002-01-01 16:49:05 +00:00
hpeyerl e59c0dedfb Watchdog back-end driver for PC Weasel/PCI serial console and remote
management board.  Written by hpeyerl@realweasel.com and
thorpej@wasabisystems.com.  Requires Weasel firmware v2.04 and later.
2002-01-01 16:48:34 +00:00
thorpej f9df4d877e Avoid an "unmamed fields" warning (gcc 3.1). 2001-12-31 22:06:47 +00:00
someya a0d9eb8746 add powerhook support to resume correctly, fix PR#13079. 2001-12-30 19:33:15 +00:00
ichiro 23d158a3e8 regen 2001-12-30 12:46:10 +00:00
ichiro 3276c42a93 add
TSB43AA22 OHCI IEEE 1394 Host Controller
2001-12-30 12:45:32 +00:00
ichiro 2e72aee615 regen 2001-12-29 22:31:10 +00:00
ichiro 35012be445 add products
VT6305 OCHI IEEE 1394 Controller
VT3606 OCHI IEEE 1394 Controller
2001-12-29 22:30:33 +00:00
itohy 818f391658 Move this figure to more suitable place:
http://www.netbsd.org/Documentation/Hardware/Chips/C-Media/cmi8738-mixer.fig
2001-12-28 14:02:48 +00:00
itohy 74f17f2922 Analyzed structure of CMI8738/PCI-6ch-* mixer
for the benefit of those who edit the driver.

This is a Fig file.  Use Xfig to edit/view, use Transfig
package to convert to other graphic formats.
2001-12-27 14:20:30 +00:00
itohy f741672ddc Fix comment. 2001-12-27 14:17:04 +00:00
someya 09638d7a55 add 600 times dummy read from codec for YMF744 (revision < 2). 2001-12-25 16:55:50 +00:00
christos d3d8a33acf change if defined foo to ifdef foo and change a c++ comment into a c comment. 2001-12-24 09:41:34 +00:00
jdolecek a89c5fcfcb Merge in changes sent by Michael Shalayeff, from OpenBSD port of this driver:
- use better default for DAC level (previous produced distorted output)
- preserve DAC setting in between openings
2001-12-23 23:14:59 +00:00
jdolecek c4e01300ad Add the AC97_HOST_SWAPPED_CHANNELS quirk for emuxki, and do some
whitespace cleanup. Streight from Yannick Montulet.
2001-12-23 22:54:08 +00:00
jdolecek 0a96b4c675 Whitespace cleanup, streight from Yannick Montulet. 2001-12-23 22:52:49 +00:00
thorpej 16c96355a8 Fetch the MAC address from the NVRAM on the SiS 630 built-in Ethernet.
Based on PR 14665, Stephen Borrill <netbsd@precedence.co.uk>.
2001-12-20 03:32:31 +00:00
thorpej f1b4fd111e Regen; added SiS 630 PCI-Host bridge. 2001-12-20 03:24:58 +00:00
thorpej 694fcc51c0 Add the product ID for the SiS 630 PCI-Host bridge. 2001-12-20 03:24:22 +00:00
bouyer 5938b2bd62 Ops, a Ultra100>=TX2 is always in native mode ! 2001-12-18 16:40:51 +00:00
bouyer 787b934e1e The CMD0649 has 2 truly independant channel. tested by and patch from
Love <lha@stacken.kth.se>.
I suspect this is true for the 648 too; if someone with a 648 and one device
on each channel could test that all works with one_channel = 1, it would
be great !
2001-12-18 16:32:54 +00:00
bouyer a9f41fe33b dd support for the Promise Ultra100TX2, Promise Ultra100TX2v2 and Ultra133
IDE controllers. In part from OpenBSD via ragge, in part from FreeBSD.
2001-12-16 23:35:52 +00:00
thorpej cb2d65aaf9 Fix a minor typo. 2001-12-16 22:23:01 +00:00
thorpej 23dfa29697 Add the serial port on the Middle Digital, Inc. PCI Weasel. 2001-12-16 22:22:04 +00:00
thorpej fd8e4d1653 Regen:
Add Middle Digital, Inc. vendor ID.  Add product IDs for the
Middle Digital PCI-Weasel Virtual VGA, Serial Port, and Control
registers.
2001-12-16 22:00:41 +00:00
thorpej f7b4a308a9 Add Middle Digital, Inc. vendor ID. Add product IDs for the
Middle Digital PCI-Weasel Virtual VGA, Serial Port, and Control
registers.
2001-12-16 21:59:47 +00:00
tsutsui 7d563fd40e malloc() + memset() -> malloc() with M_ZERO flag 2001-12-16 04:17:02 +00:00
soren 3514260fd4 Regen. 2001-12-15 13:18:10 +00:00
soren c425f6ea72 Add Cologne Chip Designs ISDN controller. 2001-12-15 13:17:49 +00:00
mjacob 219d22404b Major restructuring for swizzling to the request queue and unswizzling from
the response queue. Instead of the ad hoc ISP_SWIZZLE_REQUEST, we now have
a complete set of inline functions in isp_inline.h. Each platform is
responsible for providing just one of a set of ISP_IOX_{GET,PUT}{8,16,32}
macros.

The reason this needs to be done is that we need to have a single set of
functions that will work correctly on multiple architectures for both little
and big endian machines. It also needs to work correctly in the case that
we have the request or response queues in memory that has to be treated
specially (e.g., have ddi_dma_sync called on it for Solaris after we update
it or before we read from it).

One thing that falls out of this is that we no longer build requests in the
request queue itself. Instead, we build the request locally (e.g., on the
stack) and then as part of the swizzling operation, copy it to the request
queue entry we've allocated. I thought long and hard about whether this was
too expensive a change to make as it in a lot of cases requires an extra
copy. On balance, the flexbility is worth it. With any luck, the entry that
we build locally stays in a processor writeback cache (after all, it's only
64 bytes) so that the cost of actually flushing it to the memory area that is
the shared queue with the PCI device is not all that expensive. We may examine
this again and try to get clever in the future to try and avoid copies.

Another change that falls out of this is that MEMORYBARRIER should be taken
a lot more seriously. The macro ISP_ADD_REQUEST does a MEMORYBARRIER on the
entry being added. But there had been many other places this had been missing.
It's now very important that it be done.

For NetBSD, it does a ddi_dmamap_sync as appropriate. This gets us out of
the explicit ddi_dmamap_sync on the whole response queue that we did for SBus
cards at each interrupt.

Set things up so that platforms that cannot have an SBus don't get a lot of
the SBus code checks (dead coded out).

Additional changes:

Fix a longstanding buglet of sorts. When we get an entry via isp_getrqentry,
the iptr value that gets returned is the value we intend to eventually plug
into the ISP registers as the entry *one past* the last one we've written-
*not* the current entry we're updating. All along we've been calling sync
functions on the wrong index value. Argh. The 'fix' here is to rename all
'iptr' variables as 'nxti' to remember that this is the 'next' pointer-
not the current pointer.

Devote a single bit to mboxbsy- and set aside bits for output mbox registers
that we need to pick up- we can have at least one command which does not
have any defined output registers (MBOX_EXECUTE_FIRMWARE).

Explicitly decode GetAllNext SNS Response back *as* a GetAllNext response.
Otherwise, we won't unswizzle it correctly.

Nuke some additional __P macros.
2001-12-14 00:13:44 +00:00
bouyer 71e063c830 pdc202xx_setup_channel: remove a duplicate line. 2001-12-13 20:57:22 +00:00
bouyer ca9f8b13da Regen: Add some promise controllers, from FreeBSD 2001-12-13 20:41:05 +00:00
bouyer b981b05472 Add some promise controllers, from FreeBSD 2001-12-13 20:40:28 +00:00
junyoung 9dbc5fd199 ANSIfication & KNF fixes. 2001-12-13 08:38:35 +00:00
tacha cba701fed7 remove bogus printf. 2001-12-13 02:50:30 +00:00
elric 51b292ea65 Added support for the PowerStorm 4d20, initial support that is.
I plan on cleaning a few things up over the next few days, but this
appears to be working for me.
2001-12-12 07:50:05 +00:00
augustss 1ad59a57f2 Recognized Danube chip as well.
Small cleanup.
2001-12-11 21:34:06 +00:00
ad f1e83bd500 Regen. 2001-12-11 11:21:56 +00:00
ad a2b8531ff3 Add some Intel/ICP-Vortex/Compaq products. 2001-12-11 11:21:01 +00:00
kleink b327c956d1 Regen: add product ID for the Motorola MPC107. 2001-12-11 11:00:45 +00:00
kleink 4e24ace442 Add product ID for the Motorola MPC107. 2001-12-11 10:57:50 +00:00
matt ee7afa77b2 Fix sense of if to grab address from alternation if srom is not in isv
format on Davicom chips.  Add sparc specific case in this case to call
myetheraddr if oui is all 0s (for Netra X1).
2001-12-07 21:13:58 +00:00
onoe e7357c0007 Regen: Add HPB and LPC functions of 82801BAM. 2001-12-07 08:00:35 +00:00
onoe c971f89005 Add HPB and LPC functions of 82801BAM. 2001-12-07 07:59:24 +00:00
augustss bd8b498c42 Do SIR framing on incoming frames. 2001-12-05 15:51:11 +00:00
wiz 31fcd50433 Use defparam instead of defflags for some bktr(4) related options that need
a value.  Add BKTR_REVERSE_MUTE to defflags.
2001-12-05 11:41:16 +00:00
simonb a9f73b2015 s/defopt/defparam/ in previous; from lukem. 2001-12-05 03:50:09 +00:00
simonb 8a32c6fbfa Change PCI_NETBSD_ENABLE_IDE back to a defopt - it's a mask. 2001-12-05 03:24:57 +00:00
augustss 1db6a7d9df Simplify interface to irframe. 2001-12-04 19:56:17 +00:00
augustss 194762be5b Touch up a little. No functional change. 2001-12-02 20:29:55 +00:00
augustss 766e28edd3 Add driver for the Toshiba's Oboe IrDA chip. From Jan Sparud. 2001-12-02 16:30:30 +00:00
thorpej 33bfd7be53 Fix typo in copyright notice. 2001-11-29 17:15:44 +00:00
wiz e0492a661d Update note about ioctl tsleep error with error report. 2001-11-29 15:01:19 +00:00
thorpej 636e9cd08b Add a "cacheline_size" argument to pci_configure_bus(). It is used
to set the cacheline size in the BHLC register.  This should be the
size of the largest D-cache line on a system.
2001-11-28 23:48:34 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
onoe afdb23ddea Set ONES (must be ones) bits in tmd1 of tx descriptors.
This fix avoids VMware 3.0/WinXP to crash.
2001-11-27 13:49:03 +00:00
itojun 969cf96980 make it compile without INET 2001-11-26 02:41:20 +00:00
jonathan 879d358535 * Add entry for Dolphin Peripherals 4036 dual-serial card.
(Note: PCI ID conflicts with Dolphin Peripherals 4025; a 4025 may
   attach two serial units, but I cannot find one to test).
2001-11-26 00:41:24 +00:00
wiz 1f1e26bd6d Presence looks better with a 'c' instead of an 's'. 2001-11-21 19:01:31 +00:00
wiz 55e6492076 Explicitly write explicitly without a second e. 2001-11-21 17:33:26 +00:00
christos 56cffa29dc Add Titan 200H (from Wojciech Puchar) 2001-11-18 20:20:25 +00:00
augustss 99c9ca8ab5 ANSIfy driver. 2001-11-18 17:15:48 +00:00
augustss bf5b461387 Don't use a static variable in the power hook. It doesn't work with more
than one device.
2001-11-18 16:59:08 +00:00
tsutsui acd87a7687 Misc cleanups:
- correct trm_clock_period[] value
 - pass BUS_DMA_{READ,WRITE,STREAMING} to bus_dmamap_load() as appropriate
 - make sure to call bus_dmamap_unload() even after request sense
 - saved srb params on request sense do not seem to be used,
   so remove them from struct trm_srb
 - handle target status more properly in trm_srb_done() and no need
   to handle error retry in lower driver layer
 - fix some comments

XXX Maybe need more cleanup around TQING for MI SCSI callback..
2001-11-18 13:02:30 +00:00
someya 275c5352b7 add Trident 4DWAVE based (4DWAVE DX/NX,SiS 7018,ALi M5451) PCI audio driver 2001-11-18 03:16:02 +00:00
bouyer 1952efa437 Support Ultra/100 on CMD 0649. 2001-11-15 20:48:17 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem 9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
lukem 57119f25e5 cleanup RCSID 2001-11-13 07:35:02 +00:00
lukem ab5d9d2b0c add RCSIDs 2001-11-13 07:24:43 +00:00
enami e5a47b8cfa Include stdio.h when compiled in userland to pull in declaration of printf etc. 2001-11-13 03:12:44 +00:00
tsutsui 78b0b559e3 - Fix some bogus comments.
- Add a missed splx(s) in error case.
2001-11-11 05:28:55 +00:00
augustss 3d3d59f852 Fill the companion controller array. 2001-11-10 17:07:21 +00:00
thorpej b1ec255377 Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
2001-11-09 19:29:12 +00:00
thorpej 716af300ee In query_bus(), use the parent pciconf_bus_t's PCI chipset tag,
not the new bus's (which is potentially uninitialized when some
calls are made).
2001-11-09 19:20:19 +00:00
thorpej 4cd18f3872 Fix the Bridge Control Register bit definitions, add ones that
appeared in PCI 2.2.
2001-11-08 03:18:12 +00:00
thorpej ea1dce5b44 Regen; correct i80312 description. 2001-11-07 21:13:26 +00:00
thorpej 4fd2586143 Correct i80312 description. 2001-11-07 21:12:49 +00:00
thorpej a3c15f8aaf Regen; add Cyclone PCI-700 (IQ80310). 2001-11-07 18:55:29 +00:00
thorpej bbc76f7954 Add product ID for the Cyclone PCI-700 (IQ80310). 2001-11-07 18:53:51 +00:00
augustss 7ae1e6394f Add some data structures to keep enable finding companion controllers
for EHCI.
2001-11-06 03:17:36 +00:00
tsutsui 3b0f229027 Fix a couple of bugs:
- make sure to allocate memory for sc_tempsrb properly.
 - correct links of SRB queue in trm_link_srb().
Now trm driver works on arc.
2001-11-04 17:17:22 +00:00
itohy bd78bc67aa Re-implement the mixer
o  Implement SPDIF selection/monitoring function.
    Now, say, playback to both analog output and SPDIF is possible.

 o  Implement support of AUX input, MIC preamp and MIC recording gain.

 o  L-R selection of record source doesn't seem to work on cmpci.
    Therefore, the *.swap mixer functions are and deleted.

 o  Following SB mixer registers don't exist on cmpci, and they are removed.
	input gain, output gain, AGC, equalization (bass, treble)

 o  Other mixer changes, including
	inputs.XXX.mute -> (deleted)
	outputs.XXX.mute -> inputs.XXX.mute
	inputs.pc_speaker -> inputs.speaker
	spdif.* -> reorganized to spdif.input.*, spdif.output.*

 o  Current status:
      I have tested these and confirmed to work fine.
	- Output and recording from Line-in, AUX, CD and MIC analog inputs,
	- Output and recording from FM synthesizer,
	- Output from PC speaker input,
	- Output wave playback.
	- SPDIF (44.1kHz) input selection (#1, #2 (6ch version only),
	  wave to spdin), phase selection, monitoring and recording,
	- SPDIF (44.1kHz) playback, through (SPDIF in to SPDIF out)
	  and monitoring.

      I haven't tested these but may work.
	- SPDIF 48kHz input and output,
	- Full-duplex operation,
	- Recording wave output.

      I don't think these are working.
	- Legacy (wave + FM synthesizer) to SPDIF output (and the monitoring),
	- Exchanging front and rear outputs,
	- Surround.

      These are not implemented.
	- 4ch / 6ch support,
	- Joystick port support.
2001-11-04 06:57:40 +00:00
tsutsui d3701fc18a Add a driver for the Tekram DC-395U/UW/F and DC-315/U SCSI host adapters,
which have the Tekram TRM-S1040 ASIC.
This driver is written by Rui-Xiang Guo <rxg@ms25.url.com.tw>,
and a number of cosmetic changes by me.
Tested on i386 by the author, and on macppc and sparc64 by me.

XXX On arc, kernel got panic in ltsleep() called from scsipi_execute_xs(),
XXX but I'm not sure what is wrong...
2001-11-03 17:01:16 +00:00
itojun 9d7baa72da recognize fxp on IBM thinkpad T23. from akimichi@wide.ad.jp 2001-11-02 03:40:47 +00:00
haya 2c903bf2c0 Add PCI power management control. If the power state of a bridge is
not D0 at device attaching or resuming, set the bridge D0 mode.
2001-11-02 03:32:33 +00:00
uch 6195437083 missing NBPFILTER > 0 2001-11-01 17:32:33 +00:00
augustss 53adfd4111 Add Via KT266 as an ATA100 controller. 2001-10-26 10:38:12 +00:00
augustss d148d21082 Regen. 2001-10-25 11:57:44 +00:00
augustss bee35a9613 Add some VIA KT266 numbers. 2001-10-25 11:57:15 +00:00
augustss 61406d282b Force BIOS out of the game by setting the LEGSUP register to its default
value.
2001-10-25 01:46:26 +00:00
thorpej 9b17b651ee Regen; Add product IDs for the Powerhouse Systems PowerPro and PowerTop
PowerPC system controllers.
2001-10-24 00:19:21 +00:00
thorpej 7bbddedbbd Add product IDs for the Powerhouse Systems PowerPro and PowerTop
PowerPC system controllers.
2001-10-24 00:18:49 +00:00
thorpej d9756b0f59 Regen; more Intel Gig-E fixup, and add Intel i82544 IDs. 2001-10-24 00:14:47 +00:00
thorpej 1d548d2778 More Intel Gig-E ID fixups, and add Intel i82544 Gig-E IDs. 2001-10-24 00:13:41 +00:00
jdolecek 7a27cbb4a3 De-__P()ify. Suggested by Lennart Augustsson. 2001-10-22 20:31:26 +00:00
thorpej 5f6fd54ec7 Add a config flag (0x02) that can force DMA to be *disabled* on
chipsets for which it would otherwise be enabled by default.
2001-10-21 18:55:14 +00:00
thorpej 132fdb30e6 Make the various timing, etc. tables const, and add the __unused__
attribute to them, just in case something other than the pciide driver
proper needs to pull in the header.
2001-10-21 18:49:19 +00:00
jdolecek d9e921bd84 Fix obviously wrong printf() format in pci_intr_establish() failure case.
Pointed out by Chuck Silvers.
XXX This has compiled without a warning for me - what's up?

Add sc->sc_dev.dv_xname in another failure printf()
2001-10-18 19:15:38 +00:00
wiz 7c90b959da Fix check in device open.
Patch by KUROSAWA Takahiro in kern/14289.
2001-10-18 16:08:05 +00:00
thorpej 62577b1c53 Remove more cruft left over from copying bits of other drivers. 2001-10-18 15:09:15 +00:00
thorpej dcd30fd216 Add a missing return statement in an error case, and g/c some
cruft that's not relevant in the PCI world.
2001-10-18 06:29:55 +00:00
thorpej c616253896 Remove some more stuff left over from copying bits of the HME driver. 2001-10-18 06:28:17 +00:00
thorpej d44a5ae87c Remove some unneeded stuff from the gem_pci_softc. 2001-10-18 06:14:33 +00:00
thorpej c559c94a45 Add goo to fetch the MAC address from OpenFirmware on the macppc
port.  Copied from the macppc "gmac" driver, but otherwise untested.
2001-10-18 03:55:07 +00:00
thorpej 285d37822b - The GEM registers are always memory type registers. Don't use a
broken hueristic to determine memory vs. i/o (one should never make
  an assumption that the bus_space_tag_t is a pointer, as this code
  did).
- Fix the "can't map registers" error message.
- Garbage-collect some code that is not relevant to the GEM (which
  was already #if 0'd out).
- Cluster all the SPARC-specific code into one place (will be
  replaced with Properties once that is fleshed out).
2001-10-18 03:48:48 +00:00
thorpej 397a84f51a Fix the semantics of __PCI_DEV_FUNCORDER so that they're actually useful:
If __PCI_DEV_FUNCORDER is defined, don't do the song-and-dance to check if
a device is multi-function; machdep code is going to tell us exactly which
functions to probe.

Note this required changing how pci_func_devorder() works in the
sparc64 PCI machdep code; now the "curnode" is assumed to point
to the bus, rather than some function (typically 0) on the device,
just as pci_bus_devorder() makes that assumption.

All this should allow the PCI code to actually locate the second
HME device on a Sun Netra t1, which is at 3,1 -- previously, the
PCI code would have missed it because there is no device at 3,0.

(Sun deserves a brick to the head for this one -- this seems clearly
out of line with the PCI spec.)
2001-10-17 22:16:41 +00:00
jdolecek d4df209cbd Add driver for Creative Labs SBLive! EMU10000, possibly also PCI512.
Written by Yannick Montulet (thanks!), with only couple minor touches by me.
2001-10-17 18:39:41 +00:00
haya 5f75bfa4ba Move some chip initialise code into pccbb_chipinit() function. 2001-10-17 10:25:51 +00:00
tron b7ca23147b Add UDMA/100 support for SiS chipsets 645, 650 and 730. 2001-10-16 08:22:50 +00:00
tron 5858458732 Regen. 2001-10-16 08:15:01 +00:00
tron 7c4f946401 Add host bridges of SiS 645, 650 and 730 chipsets. 2001-10-16 08:14:15 +00:00
tron 40dc031852 Add missing timings for Ultra DMA modes 3 to 5 on SiS hostadapters.
Problem pointed out by IWAMOTO Toshihiro on "tech-kern@netbsd.org".
2001-10-16 08:10:24 +00:00
tron 1e022c27b4 Use UDMA/100 on SiS 735 chipset. 2001-10-14 11:21:10 +00:00
ichiro cbcfff63ec Add Intersil Prism2.5 Mini-PCI wavelan. 2001-10-13 15:00:23 +00:00
ichiro c0e7956031 regen. 2001-10-13 07:44:21 +00:00
ichiro 8afd8ee7a9 add vendor & product ID
Intersil PRISM2.5 Mini-PCI WLAN
2001-10-13 07:43:42 +00:00
tron eea6d83f4b Regen. 2001-10-11 14:31:58 +00:00
tron fa5ea802e9 Add host bridge of the SiS 735 chipset. 2001-10-11 14:30:21 +00:00
ad 08632b145a Back out previous - it causes panics. 2001-10-10 09:33:36 +00:00
mjacob c0018ebdfe The flow control registers are 16 bits wide, not 32. 2001-10-10 03:41:24 +00:00
mjacob daf0329c3c Respect QLogic's errata- read BIU_ISR even on the 2300
to see if there's an interrupt (avoids PCI parity errors
which can occur on the 2312 if you access some registers
from the host at the same time the RISC on the 2312 is
accessing them).
2001-10-06 20:33:24 +00:00
thorpej 01b2f9b5c4 Remove and unnecessary cast, and avoid a memory leak in the event
allocation of the GATT fails.
2001-10-06 02:48:50 +00:00
thorpej c2a1bef2f3 Create the Tx DMA maps with a size large enough for a jumbo Ethernet
frame.
2001-10-06 00:14:59 +00:00
thorpej 0d4d2293bb Minor tidying up of the HME driver attach:
- Print nicer-looking message.
- Use bus_space_subregion() when appropriate, rather than arithmetic
  on a bus_space_handle_t.
2001-10-05 17:49:43 +00:00
simonb f13f663c13 Regen: Minor correction to the name of the 405GP PCI bridge. 2001-10-03 12:07:08 +00:00
simonb f3706d5650 Minor correction to the name of the 405GP PCI bridge. 2001-10-03 12:05:49 +00:00
augustss 1339e88a86 Add a new optional method, dev_ioctl, to the audio hardware driver interface.
It is called when an unrecognized ioctl() is performed on a device,
thus allowing ioctl()s that frob the hardware driver (like loading
microcode).
2001-10-03 00:04:47 +00:00
fvdl 9706e581b2 Don't map the aperture into KVA, it isn't needed. 2001-10-01 21:54:48 +00:00
fvdl 408e1d1b10 Fix bogus vdir offset calculation. 2001-10-01 14:41:09 +00:00
thorpej 4e77e1ee5f Regen; added product ID for RealTek 8139[BC]. 2001-10-01 00:28:02 +00:00
thorpej 2b02410c00 Add product ID for the RealTek 8139[BC]. 2001-10-01 00:27:33 +00:00
yamt cf2debbc86 force 0x1000 align for memory base before
calling rbus_space_alloc().
resource management may be inconsistent without it.
2001-09-30 06:32:02 +00:00
thorpej 5c2e2edf22 Regen; more corrections to Intel Gig-e product IDs. 2001-09-28 22:06:25 +00:00
thorpej 435e4031ad More corrections to Intel Gig-e product IDs. 2001-09-28 22:06:04 +00:00
chs 984d30ac45 don't depend on other headers to include sys/proc.h for us. 2001-09-28 12:36:48 +00:00
tsutsui 19e9d87b56 Include uvm/uvm_extern.h for PAGE_SIZE. 2001-09-27 15:12:30 +00:00
itojun 646869b6cd regen 2001-09-27 07:10:37 +00:00
itojun 2a47bfbf34 add 4DWAVE and SiS sound devices. 2001-09-27 07:09:27 +00:00
eeh 98ecb5b215 getprop* -> PROM_getprop* 2001-09-26 20:53:05 +00:00
bouyer 92aaf348cf Ali M5229 IDE controllers: tweak the rigth 0x79 register (the one from the
pci/isa bridge, not the one from the IDE controller).
2001-09-24 20:03:47 +00:00
eeh 1e7d8c3a11 Print out device details. 2001-09-24 04:39:40 +00:00
ad 5ed7f8b717 Save some info about the board for dpti. 2001-09-22 13:05:36 +00:00
ad ec1f68e931 Use bus_dma to get temporary I/O buffers. 2001-09-20 22:09:44 +00:00
fvdl 4d0be45902 Add message to explain failure if the internal i810 config registers
weren't found.
2001-09-20 20:00:16 +00:00
bouyer dfa5bf68d9 - Allocate control structures at attach time rather than at init time.
Avoids using bus_dmamem_alloc/bus_dmamem_map at interrupt time.
  Should fix PRs kern/13924 and kern/13979 from dive@endersgame.net
- while I'm there convert to use ether_ioctl.
2001-09-20 10:04:10 +00:00
wiz 9fa0b17629 Give initiali[sz]e all the "i"s it deserves. 2001-09-18 18:15:49 +00:00
thorpej 75fc05bc1e agp_generic_bind_memory(): Don't return NULL if we can't malloc
memory, return ENOMEM.
2001-09-16 18:33:08 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
thorpej fe8546c37d AGP registers are in memory space on the AMD-751. 2001-09-16 03:42:12 +00:00
eeh 345c4a7b0d Driver for Sun GEM gigabit ethernet, Sun ERI 10/100, and Apple GMAC. 2001-09-16 00:11:41 +00:00
chs 64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
thorpej 02951c2ac6 agpopen(): check for NULL softc before dereferencing it. 2001-09-15 18:03:35 +00:00
chris b9335fd2c8 Regen 2001-09-15 13:13:53 +00:00
chris f80b0e499b Add voodoo 4/5 entry for 3DFX. 2001-09-15 13:11:42 +00:00
drochner 9ac7c1121f normalize error message if agp_map_aperture() fails 2001-09-15 13:01:44 +00:00
thorpej e3d4f375aa Give each AGP controller its own attribute, and let the "agpbus"
device (rather, the device that carries that attribute) also
carry one or more attributes indicating which type of controller
it might be.

This will allow systems that might have AGP, but would never have
e.g. an Intel PCI-Host bridge, to trim out code that won't be used.
2001-09-15 01:32:10 +00:00
thorpej 8f077d92cc Move the AGP device declaration stuff into files.agp. 2001-09-15 01:10:09 +00:00
thorpej c1e6d1c91f Use bus_space_mmap() to mmap the aperture. 2001-09-15 00:52:15 +00:00
thorpej 0019ea5ce6 Clean up the AGP match/attach code somewhat. 2001-09-15 00:24:59 +00:00
thorpej 915af95ac0 Gather information about the mappable regions of the card at
attach time.  Allow access to these regions in vga_pci_mmap().

Note: we also have to allow access to the legacy ISA "hole" in
vga_pci_mmap(), since the X server needs to be able to read
the legacy BIOS on many cards.

XXX Need to address the PCI Expansion ROM.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
2001-09-14 16:54:20 +00:00
drochner 9771bc6656 -plug some resource leaks
-don't clear memory ranges on "release"

The X server survives a screen switch now.
2001-09-14 12:09:14 +00:00
drochner f53f5d923d make the hardware cursor work 2001-09-14 12:05:03 +00:00
thorpej 5b09c93a50 Add ioctl and mmap entry points for PCI VGA. ioctl provides
passthrough for PCI config space read/write.  mmap currently
returns error (to be addressed in a future revision).
2001-09-14 06:46:08 +00:00
simonb 999cfd0c61 Fix tyop. 2001-09-14 06:09:42 +00:00
thorpej b9fffe1967 Allow bus front-end to provide both ioctl and mmap entry points,
and also the wsdisplay type.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
2001-09-14 01:10:11 +00:00
thorpej be6841f414 Oops, didn't intend to enable pcimmap() yet. 2001-09-13 22:00:58 +00:00
thorpej 76aa38a6aa Install pcidevs.h, pcidevs_data.h, pciio.h, pcireg.h. 2001-09-13 21:52:30 +00:00
thorpej 23763f2f28 Add an ioctl interface to the PCI bus. Add ioctls to read/write
PCI configuration space registers, and to fetch bus info.
2001-09-13 21:49:40 +00:00
thorpej 829747c527 Allow this file to be used in userspace, as well. 2001-09-13 21:42:57 +00:00
thorpej a3dfe45752 ANSI'ify. 2001-09-13 18:25:45 +00:00
drochner 875a8b9cee -allocate DMA maps as large as necessary in the worst case
-Add a really bad hack: The X server (4.1.0 afaict) appearently overwrites
 the PGTBL_CTL which contains the base address of the pseudo-GATT.
 Restore the original value if we notice this happened.
The X server works now, but only with soft cursor.
2001-09-13 16:18:53 +00:00
drochner e52f69d4e2 -allocate DMA maps as large as necessary in the worst case
-allocate space for DMA segments as much as necessary
-fix format warnings in a debug output
-don't try to access AGP capability stuff in the PCI config header
 if it doesn't exist (as on the i810)
2001-09-13 16:14:16 +00:00
fvdl 71fb506f0b Fix i810/other intel chipsets attach mishap. 2001-09-11 06:51:47 +00:00
fvdl 6b43a561dd Don't forget to install the pointer to the chip-specific chipc. 2001-09-11 06:30:38 +00:00
eeh 7c233db184 Regen. 2001-09-10 15:09:48 +00:00
eeh 16d8807932 Add Sun GEM gigabit network card. 2001-09-10 15:07:50 +00:00
fvdl 377864623b Fix reversed if condition in agp_i810_vgamatch. 2001-09-10 12:51:42 +00:00
fvdl ac50343c76 Add a pci_find_device function, to find a PCI device using a match
function on all (probed) PCI buses:

int     pci_find_device(struct pci_attach_args *pa,
                        int (*match)(struct pci_attach_args *));

The pci_attach_args structure pointed to by pa is filled in if the
device is found, and 1 is returned. Otherwise 0 is returned.

This function is, unfortunately, needed by the i810 agp code. It's
also of use for LKMs.

Also frob pci_probe_bus to take 2 extra args when used by pci_find_device.
2001-09-10 10:04:49 +00:00
fvdl a3130cfbe2 AGP GART support code. Originally written by Doug Rabson for FreeBSD,
modifications to fit it into the NetBSD device/config structure and
to use bus_dma by me.
2001-09-10 10:01:00 +00:00
enami ba91e134c8 Fix sample code in comment; pci_conf_print() takes three arguments. 2001-09-09 01:45:29 +00:00
drochner fda9e2aea5 regen 2001-09-05 13:47:59 +00:00
drochner 2fb05724bd we (research center Juelich) are a PCISIG member now - add the vendor ID
and some products
2001-09-05 13:46:51 +00:00
thorpej bf1843f270 Regen; added Intel IXP1200 Network Processor. 2001-09-04 21:06:07 +00:00
thorpej 0234925705 Add product ID for the Intel IXP1200 Network Processor. 2001-09-04 20:51:44 +00:00
pooka ffb40898f7 regen.. again.. *sigh* 2001-09-04 15:37:30 +00:00
pooka 4fb856e4eb add Allegro-1 ID
also from Jared D. McNeill
2001-09-04 15:37:00 +00:00
pooka 98f97b89ce regen 2001-09-04 15:24:59 +00:00
pooka c68e12b73b add another device ID for the ESS Maestro3
from Jared D. McNeill
2001-09-04 15:24:35 +00:00
itohy 95411a84f0 Add "opl at cmpci" and "mpu at cmpci" attachment. 2001-09-04 13:37:29 +00:00
itohy 6bdd186c4e - Add opl at cmpci attachment.
- Add mpu at cmpci attachment.
- Fix panic during attach on alpha.
- Change register of SPDIF input phase (but undocumented, either).
- Change code for mixer initialization.
- Return 1, not 0, when an interrupt is processed.

More changes to the mixer are pending....
2001-09-04 13:36:07 +00:00
itohy 5934ac98b2 MPU-401 compatible MIDI UART driver for C-Media CMI8x38 2001-09-04 13:07:59 +00:00
itohy d655e11596 OPL3 driver for C-Media CMI8x38 2001-09-04 13:07:11 +00:00
thorpej 150e62c0f9 Use bus_space_mmap(). 2001-09-04 06:59:10 +00:00
reinoud e8858886be Fixed compiling error when AUDIO_DEBUG was switched on ... 2001-09-03 15:07:37 +00:00
thorpej a73a7f44bd Bump MAX_CONF_DEV to 32, add some missing newlines in error
messages, and add a TODO item (allocate all metadata dynamically).
2001-09-03 03:46:26 +00:00
enami 26ea33d355 Fix an obvious typo found while reading the source. 2001-09-02 13:17:54 +00:00
mjacob 6bb9f4a949 Add support for 2 Gigabit cards (2300/2312). This necessitated a change
in how interrupts are down- the 23XX has not only a different place to check
for an interrupt, but unlike all other QLogic cards, you have to read the
status as a 32 bit word- not 16 bit words. Rather than have device specific
functions as called from the core module (in isp_intr), it makes more sense
to have the platform/bus modules do the gruntwork of splitting out the
isr, semaphore register and the first outgoing mailbox register (if needed)
*prior* to calling isp_intr (if calling isp_intr is necessary at all).
2001-09-01 07:12:23 +00:00
briggs e6ca9b3514 Fix use of uninitialized variable. Missed by gcc, spotted by enami. 2001-08-31 01:00:16 +00:00
soren 9b39be0b69 Regen. 2001-08-30 16:22:48 +00:00
soren 6863a605e0 Add some more Hifn chips. 2001-08-30 16:21:42 +00:00
haya 2228225e5c Add some register definitions for TI PCI12XX and Toshiba ToPIC.
Add ToPIC97 and ToPIC100 chip initialisation routine.
Add more TI PCI12XX chip initialisation.
2001-08-30 09:20:17 +00:00
briggs 6017201500 Rename PCI_MAPREG_TYPE_ROM to PCI_MAPREG_ROM_ENABLE to keep up with pciconf.? 2001-08-30 02:53:56 +00:00
briggs e4f8f2f2da Respect __PCI_BUS_DEVORDER.
If all devices can handle 66MHz, then use 66MHz.
Triple the number of configured I/O ranges that we can handle on a bus
  (8 was insufficient--originally didn't consider multifunction devices)
Allow one to specify which types of memory to configure, I/O, ROM, or
  MEM--for example, one could configure only ROM or only non-ROM.
Ensure that the ROM is disabled if we're not configuring it.
Only set PCI_COMMAND_IO_ENABLE/PCI_COMMAND_MEM_ENABLE if there are valid
  memory ranges configured.
2001-08-30 02:52:41 +00:00
tsubai de0feee64b Regen. 2001-08-28 23:54:14 +00:00
tsubai 7cba152e7c Add more Apple devices. 2001-08-28 23:53:14 +00:00
thorpej 14f612c5b3 - Swap the bytes OR'd into init_ladrf[], for big-endian machines.
- Make sure to sync the init block.

Pointed out by Izumi Tsutsui.
2001-08-28 15:22:30 +00:00
thorpej 2e4bdfe678 Add a TODO item: Do this in 2 passes. One pass that configures the
bus (and optionally maps expansion ROMs), and an optional second
pass to disable expansion ROMs that are mapped.  This would allow
MD code to possibly execute the expansion ROMs (possibly in an x86
emulator) to configure a device (e.g. a VGA card, which pretty much
needs to be configured by its ROM).
2001-08-28 15:13:48 +00:00
thorpej cdf824bfb6 If MD code doesn't provide pci_conf_hook(), then default to not mapping
the expansion ROMs on cards, since address decoders may be shared between
the ROM and PCI memory space on some cards (i.e. "only map the ROM if you're
going to use it, and then unmap it when you're done" is the intended
usage).
2001-08-28 15:09:10 +00:00
thorpej fdb02063d2 Print "auto-FDX" for the second "autoselect" instance. Pointed out
by Izumi Tsutsui.
2001-08-28 14:15:18 +00:00
eeh 8949c133a4 Get rid of debug printf. 2001-08-27 22:38:34 +00:00
augustss 8afb9f3591 Use #include <machine/intr.h> instead of #include <machine/cpu.h> to
improve portability.
2001-08-27 22:37:33 +00:00
augustss 7b55182d7d Remove an unneeded #include. This makes the file compilable on more
platforms.
2001-08-27 22:18:49 +00:00
augustss 3346d43a5b Make it compile. 2001-08-27 22:17:29 +00:00
thorpej 1930fec887 New driver for the AMD PCnet-PCI family of Ethernet chips. This
driver uses direct DMA to mbufs (like other PCI network drivers,
and unlike the old "le at pci" driver), and also supports communication
with the MII-connected PHYs on the 10/100 boards.
2001-08-27 19:42:18 +00:00
eeh b22154dd79 Make the LMC driver bus_dma and endian clean (big-endian mode does not appear
to work on LMC cards).
2001-08-27 17:47:35 +00:00
enami 4f924773b7 Regen. 2001-08-27 14:10:20 +00:00
enami 02d004f2c8 Sort Intel products by id and kill duplicated entries. 2001-08-27 14:04:47 +00:00
ad 13bc6b2e19 Use PWAIT for the lock, not 0. 2001-08-27 11:24:38 +00:00
ad ffb2d70070 Regen. 2001-08-27 08:03:37 +00:00
ad 8fb0b8c6dc Add a DPT PCI-PCI bridge. 2001-08-27 08:02:52 +00:00
haya 45e61b5399 Buf fix: use PWAIT priority and do not set PCATCH. 2001-08-24 10:55:53 +00:00
tsutsui b6e4b26d3b Check 80 pins cable in acard_setup_channel() for Acard ATP860. 2001-08-23 10:02:25 +00:00
thorpej 29bfa727c1 Regen; take part numbers out of PCnet-PCI product descriptions. 2001-08-23 03:42:26 +00:00
thorpej 16efbbf387 Take part numbers out of the PCnet-PCI product descriptions. 2001-08-23 03:41:36 +00:00
thorpej 2c469bbf82 Regen; Add Promise ATA/100 TX2. 2001-08-23 03:32:24 +00:00
thorpej 915a8ef871 Add Promise ATA/100 TX2 device ID. 2001-08-23 03:31:55 +00:00
thorpej 10591340be Add a PCI_NETBSD_ENABLE_IDE option, that goes along with
PCI_NETBSD_CONFIGURE, which tells machine dependent code
to enable the specified (by a bitmask) PCI IDE channels in
the southbridge, in the event that system firmware does not
do so.
2001-08-22 00:36:57 +00:00
fvdl b9f24a3dd1 Regen. 2001-08-20 19:29:59 +00:00
fvdl 69906a3032 Add some entries for the AMD 76x chipset for completeness. 2001-08-20 19:29:08 +00:00
wiz 1e378c4c12 precede, not preceed. 2001-08-20 12:00:46 +00:00
gehenna fb5869c240 Regen 2001-08-20 03:48:29 +00:00
gehenna f0dd0ada57 Add NEC USB2.0 Host Controller 2001-08-20 03:45:55 +00:00
kanaoka 13f671edcf Improve intr_ack code to support for 3c556,3c556B.
Some cards don't have an interrupt acknowledge
  register in PCI config space, so we map and write
  it, such as CardBus driver does.
2001-08-18 05:49:28 +00:00
thorpej 2d4c311492 Regen; added Avance Logic ALS4000. 2001-08-18 05:00:51 +00:00
thorpej 563f369b78 Add Avance Logic ALS4000 Audio. 2001-08-18 05:00:21 +00:00
matt 864924f7f3 regen. 2001-08-17 23:14:40 +00:00
matt 211070f3bd Add Apple Uni-N (as used in QuickSilver) product IDs. 2001-08-17 23:14:00 +00:00
mrg 4f3eac8332 mtod() with uintptr_t, not bus_addr_t. 2001-08-14 11:57:26 +00:00
mrg c9fa7a702a add (u_long) casts for sparc64. 2001-08-14 11:55:38 +00:00
cjs 6c1314f4b8 Add Transmeta and products, and an ALI integrated sound/modem device. 2001-08-13 08:51:38 +00:00
bouyer efdadcb7dc Properly set/clear IFF_OACTIVE. 2001-08-07 16:53:06 +00:00
soren 3c508a8790 Add support for the PCI-400 card and correct the clock rate for all the
VScom/Titan cards.
2001-08-06 22:25:36 +00:00
bouyer 5243b06e38 Improvement: allocate one page of dmamem for Rx, Tx and nullbuff instead of
3 different ones.
Also pass the rigth seg/nseg to bus_dmamem_free().
Correct types in debug printf's
2001-08-06 19:20:26 +00:00
thorpej de108bd82d Add enable/disable hooks on devices that have ACPI power management
capability, using D3 and D0 power states.  This saves me quite a bit
of battery when not using the built-in Ethernet on my IBM T-20 during
long IETF meetings.
2001-08-05 23:39:59 +00:00
jdolecek 74954dadf9 use unsigned variable types as appropriate 2001-08-05 18:07:51 +00:00
jdolecek fcc522e5ce It seems the fixed rate versions are actually fixed at 48 kHz, not 44.1 kHz. 2001-08-04 22:15:56 +00:00
bouyer 7c292e3d22 - kill the carrier detect code. It's not usefull any more and can give
false informations on a loaded ethernet segement.
- convert to bus_dma(9) (better late than never :)
- add proper le32toh/htole32 so that it works on big-endian system (tested
  on macppc).
Close PR kern/10327.
2001-08-03 16:53:08 +00:00
ad e7021f649d Remove unnecessary test. 2001-08-03 14:10:16 +00:00
tsutsui 38016b0ba8 Fix some typos in newer ALi M5229 support. Approved by bouyer. 2001-08-03 01:31:08 +00:00
ad aaf3c7c88b Hook in the mly control interface on i386. 2001-08-01 20:54:16 +00:00
tsutsui 2c44aa6dfd Remove unused pciide_print() declaration. From OpenBSD. 2001-08-01 16:29:21 +00:00
matt f8e21592da regen 2001-07-31 22:30:07 +00:00
matt b2c29c20ae Add pci ids for the Intel 80312 I/O companion chip for the
Intel 80200 XScale processor.
2001-07-31 22:27:25 +00:00
ad aae284be36 Oops, put back the initalization of "done" in mly_thread(). 2001-07-31 02:07:14 +00:00
ad 5226d11119 Assume that me->lun contains the device number if this event is for a
logical device.
2001-07-30 23:49:51 +00:00
ad 2fa020ae0b - Forget to report events from logical devices.
- Cosmetic changes.
2001-07-30 23:46:28 +00:00
ad 12c4049d31 Don't match boards with a PCI class code of `I2O'. 2001-07-30 23:29:08 +00:00
thorpej 8fc6974449 Oops, make Rx interrupt deferral actually work. 2001-07-30 20:12:10 +00:00
ad 3b1828355b Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6
firmware. Based off the FreeBSD driver, and re-worked by tls, erh and I.
2001-07-30 19:59:04 +00:00
tsutsui 690c5b1ae3 Enable the Acard UIDE controllers by default.
My WDC MDMA-only (non-UDMA) drives did not work on the Acard controllers,
but it turns out that the problem was not Acard specific.
These WDC drives do not work on the ESS ISAPnP wdc port nor on
macppc obio wdc port neither, and another Quantum MDMA-only drive
works fine on the Acard.

These WDC drives work fine on my i386 pciide (which is initialized
by the BIOS), so maybe we have to do something in MI wdc to initialize
such drives properly...
2001-07-28 12:07:11 +00:00
pooka 4ec277f9ee regen 2001-07-28 00:33:43 +00:00
pooka 70cd305a5d 3c556 V.90 MiniPCI modem 2001-07-28 00:33:01 +00:00
thorpej fab087b3a2 Tell the MII layer to advertise PAUSE capability, and configure
the chip's PAUSE threshold.
2001-07-27 22:46:20 +00:00
bouyer 8e2205572d Better support for newer ALI M5229 chipsets: support Ultra/66 for rev >= 0xC2,
Ultra/100 for revs >= 0xC4.
The the generic PCIIDE interupt routine for chipsets rev >= 0xC2 in native
mode, it seems that newer chipsets don't have the ACER_CHIDS register :(
From Linux and FreeBSD.
2001-07-26 20:02:21 +00:00
ad 4950b7867f Map both memory and IO space, but prefer using memory space. 2001-07-26 15:35:20 +00:00
ad 7a92f3b65a Don't map I/O space if we have already have a good memory mapping. 2001-07-26 12:36:16 +00:00
thorpej 799abef5f4 Jumbo frames do not currently work (chip goes catatonic -- silicon bug?),
so don't set the capability.
2001-07-25 15:44:48 +00:00
thorpej 1dfe605642 Match the Antares Gigabit Ethernet. 2001-07-25 01:48:14 +00:00