Commit Graph

2601 Commits

Author SHA1 Message Date
augustss 3f41adf3be When the DAC claims to support variable rate it doesn't seem to
always do this, so do some extra chechs and fall back on fixed rate.
2002-04-11 10:54:23 +00:00
martin f12d3f51e7 Remove some redundant tries to disable interupts. We already avoided enabling
them.
Fix a stupid typo when enabling/disabling interrupts: we clear pending
interrupts when enabling, not disbling isac interrupts.
2002-04-10 23:51:06 +00:00
martin 58502ab93e Combine sc_enabled and sc_dying into one field sc_intr_valid, they are used
for the same purpose (ignoring invalid interrupts).

For cards that are not able to stop all interrupts (or we don't know a way
to do that in software, at least) run the clearirq callback even when
ignoring an interrupt because we are not enabled. Otherwise the card would
stop interrupting.

Reserve a driver specific callout handle and an int value in the generic
isic_softc to allow card drivers to implement fancy blinkenlights.
2002-04-08 12:20:49 +00:00
martin d3630a1e0f Ooops, forgot to adopt this to the previous change of isic_isac_intr. 2002-04-06 22:26:38 +00:00
thorpej f92912592f Reenable DMA on the Symphony/Winbond chips. The lossage I saw was
due to a broken pmap_extract() on ARM.
2002-04-05 22:16:28 +00:00
mycroft aa29eff103 Regen. 2002-04-05 20:38:31 +00:00
mycroft c1928e026d Update some ServerWorks and VIA IDs. Add the ServerWorks CSB5 southbridge and
the Apollo ProMedia 133 chipset.
2002-04-05 20:37:45 +00:00
bouyer e5727031fb Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
2002-04-05 18:27:45 +00:00
mjacob 1ed2e354da Fix:
...trm.c:578: warning: too many arguments for format

problem.
2002-04-05 03:13:48 +00:00
thorpej d69bb1b3d9 Hm, Symphony/Winbond support doens't seem to work quite right
yet; disable it for now.
2002-04-04 23:47:39 +00:00
thorpej 769ca97e2b Address Intel 82801BA/82801BAM Specification Update, Errata #30:
The ICH on-board Ethernet and some i82559 chips have a bug which
will cause a PCI protocol violation if the chip receives a CU_RESUME
command as it is entering the IDLE state by deasserting #CLKRUN.
(This is the so-called "resume bug" that we previously had an incomplete
work-around for on ICH chipsets.)

The work-around is to disable Dynamic Standby Mode, such that the
chip will never deasert #CLKRUN.  Dynamic Standby Mode is disabled
by clearing a bit in the EEPROM and updating the EEPROM (and EEPROM
checksum).

Unfortunately, the chip will only consult the EEPROM setting after
a PCI bus reset, so a system reboot is required once the EEPROM
has been updated (the EEPROM update only needs to happen once,
and the driver usses a warning instructing the user to reboot the
system once the work-around has been applied).

Issue pointed out by David Brownlee, and code more-or-less lifted
from FreeBSD.
2002-04-04 23:15:43 +00:00
uwe 9a60c7f6ae Nuke ugly ms-IIep specific hack now that mspcic knows about phys->pci
address translation.
2002-04-04 18:50:28 +00:00
jdolecek 46d335a320 move wi_pci_reset() from ic/wi.c to pci/if_wi_pci.c, where is belongs 2002-04-04 17:43:31 +00:00
jdolecek e9ee3f796e fix sligh confusion on whether or not to supply dv_xname to printf() in
error cases of attach
Noticed in kern/16197 by George E Sollish.
2002-04-04 17:30:32 +00:00
chs e340f273c4 add support for Cogent EM100 (aka Adaptec ANA-6910) TX and FX. 2002-04-04 05:45:54 +00:00
thorpej a1808a4556 Add support for the Netwinder on-board 21143 (but don't try using it
yet; there are still some problems).
2002-04-03 20:52:42 +00:00
thorpej 5eb4257b8e Add bus master DMA support for the Symphony Labs 82C105 PCI IDE
controller.  This part is also found in the Winbond 83C553 Southbrige.
2002-04-03 17:02:21 +00:00
fvdl 03295688de Return 0 when no interrupt was handled. 2002-04-02 16:02:38 +00:00
uwe 4e7d1a999f Add (unfinished) igsfb driver.
While here g/c stale cprofb entry, it's not in the tree and I plan to
support CyberPro cards with igsfb driver eventually (where is my netwinder?)
2002-03-30 20:21:21 +00:00
uwe 782296b588 First cut at framebuffer driver for Integraphics Systems IGA1682.
It's not finished yet, but it can do enough to get wscons working for
Krups JavaStation.
2002-03-30 19:48:55 +00:00
martin e5c92d53f8 Be a nice citizen, enable interrupts only when we are ready to talk
to the ISDN (i.e. when userland has /dev/isdn open).
2002-03-30 19:13:44 +00:00
martin e14f4779db Avoid duplicate expensive lookups by passing a pointer to the call
descriptor/a pointer to the layer 3 state directly to driver functions,
instead of their ID/index.
2002-03-30 11:15:41 +00:00
martin f5e2c967fc Split BRI attaching into two phases, so lower layer drivers can get their
BRI identifier and L3 driver state early on, then finish initializing and
announce the controller to userland when it's ready.
2002-03-29 20:29:53 +00:00
thorpej 5f0f48a9f2 Device driver for the Intel i82542, i82542, and i82544 Gigabit
Ethernet interfaces.
2002-03-28 04:54:35 +00:00
briggs 6c8500d5e4 Erf. Actually use the symbolic name for the 630ET instead of a constant. 2002-03-27 21:42:45 +00:00
briggs 8faf9264bb Print the chip revision in the attach function.
Treat revision 0x84 of the SiS like other SIS630 variants.
Call revision 0x84 the 630ET (name from OpenBSD).
2002-03-27 21:41:35 +00:00
abs 1aa20af166 Regen for 'CONEXANT 56KFAXMODEM 0x1085 HW 56K Fax Modem' 2002-03-27 13:12:11 +00:00
abs 4b98be096f Add 'CONEXANT 56KFAXMODEM 0x1085 HW 56K Fax Modem' 2002-03-27 13:11:37 +00:00
martin ebd73ccd11 After Jason Thorpe explained to me how it is supposed to work, implement
(de)activate for pcmcia cards.
Implement detach/(de)activate for PCI cards.
Clean up internal state (free call-descriptors) if a controller is
detached while it has open connections.
2002-03-27 07:39:35 +00:00
thorpej dde8f75509 Only build pciconf.o if pci is configured. 2002-03-26 19:31:40 +00:00
chs 23825982c3 add support for SMC 9332DST. 2002-03-26 07:57:16 +00:00
thorpej 7c7c319cb3 There is no need to use a kthread to read the VIA environment
sensors.
2002-03-25 21:29:58 +00:00
martin 0db68b667b Now that we have all pieces in place (and enough granularity to specify
B-channel and D-channel drivers separately) split the Fritz!PCI card
driver out of the isic driver.

The new device is called "ifpci" and uses the same D-channel driver as the
isic devices, but has it's own B-channel driver.
2002-03-25 16:39:52 +00:00
martin 909e313a80 Remove a leftover from the BRI registry at layer 2.
Initialize layer 2's idea of it's BRI id after attaching.
2002-03-25 14:44:46 +00:00
martin 0bc69b6498 Now that we have all the pieces of the puzzle available start to unriddle
and move them in their proper places.

Move the BRI registry from layer 2 (duh!) to layer 4, so active cards
(which don't have layer 3 or layer 2 in their driver). Remove all remaining
hard coded controller and driver types. Remove any arbitrary hard coded
limits, at least those that show up in the internal API.

This fixes PR 15950.
2002-03-24 20:35:43 +00:00
bouyer 21ac4c9d76 Add support for the AMD768. Tested by Murray Armfield <murray@river-styx.org>. 2002-03-24 16:58:12 +00:00
jmcneill 2000b295ed Fix suspend/resume. Previously, suspending/resuming while playback was active
would either:

 1. Cause the machine to stop responding, or
 2. Cause the currently playing voices to stop output.

With this change, voices are stopped on suspend, and continue from where they
left off on resume.
2002-03-24 14:17:35 +00:00
is 6963fa721e use the right endian ether_crc32 function in the multicast hash table computation 2002-03-24 11:00:17 +00:00
kent a37082a494 whitespace and folding fix. 2002-03-23 17:17:10 +00:00
hamajima e33fdf6c62 add WinFast VC100 2002-03-23 09:27:50 +00:00
drochner b8d0641b68 iadd subclass codes from the 2.3 spec 2002-03-22 20:03:20 +00:00
mjacob d76d04685a Handle Port Unavailable the same as Port Logout (i.e., send a LIP).
Unconst pointer to f/w in the ispdv structure. Too many compilers get
unhappy over our walking the array. Make casts as appropriate so that
initialization in structure is still happy.

Limit length of fabric to 256. This will all go away soon.

Do a cleaner case of keeping multiple CPUs/threads from reading the
same response queue entries.
2002-03-22 02:34:05 +00:00
kent 4c9cd8bc91 Apply a patch by Mark Davies.
http://mail-index.netbsd.org/port-i386/2002/03/18/0000.html

Check codec status in auich_read/write_codec().
2002-03-21 09:17:20 +00:00
eeh 67d8d816ca Use bus_space_vaddr() correctly. (Why use bus_space_vaddr() at all?) 2002-03-20 17:32:23 +00:00
bouyer 9a2eeadc6c Regen: add AMD768 devices 2002-03-19 22:03:06 +00:00
bouyer 54c7295e52 Add AMD768 devices, from
http://members.hyperlink.net.au/~chart/download/pcidevs.txt
2002-03-19 22:02:36 +00:00
martin e2c42aeaa8 Remove all knowledge about specific application (layer 4) drivers from
the generic layer 4 and layer 3 management system.

This should make the layer 4 driver API LKM clean - finaly.

Make the Fritz!PCI driver work again after resent changes (oops!),
noted by Frank Kardel (PR 15948) and Matthias Scheeler.
2002-03-17 20:54:04 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
jmcneill 94e84af5fb Backout addition of the VIA VT8233. 2002-03-16 21:45:49 +00:00
chs 9a418970cf decode the sub-system IDs on adaptec cards so we can differentiate between
multi-port cards (which need the shared-rom/intr stuff) and single-port cards
(which must not have it).  previously we enabled sharing for all adaptec cards,
which caused problems if you had multiple single-port cards on the same PCI bus.
2002-03-16 18:44:17 +00:00
jmcneill 5f17e8f802 Add support for the VT8233 AC'97. 2002-03-16 17:20:05 +00:00
jmcneill 9bcb29f652 Add multiple voice support to the ESS Allegro-1 / Maestro-3 family of
audio accelerators.

Mixing is done in hardware by the ASSP, but is limited to 4 simultaneous
channels due to the restricted "minisrc" image that we are currently
working with.

Due to limitations in the audio subsystem, I'm currently attaching multiple
'audio' devices to 'esa', one for each voice. Because of this hack, the
default ESA_NUM_VOICES is 1.
2002-03-16 14:34:00 +00:00
tacha 52d9a1d306 Use appropriate emulation functions and set ADC rate(not DAC date!) for recording.
Now /dev/audio with auich becomes usable.
2002-03-15 07:16:10 +00:00
wiz 3c20f3f606 Fix some typos in comments. 2002-03-13 22:23:50 +00:00
ad b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
chs 5d8f761ba0 support the 4-port boards with the Cogent OUI as well. 2002-03-13 05:05:38 +00:00
chs fcbc075a7a support ANA-6944A boards (in addition to ANA-6922). 2002-03-13 04:15:05 +00:00
joda 642cb4cedf regen 2002-03-11 23:19:01 +00:00
joda e981250262 some devices found in a dell machine 2002-03-11 23:17:37 +00:00
kent 8574f78760 auich_set_params() sets 2 to hw_channels whenever monaural format is requested. 2002-03-10 16:48:58 +00:00
jmcneill 023d9c6eb8 Correctly enable/disable the low-pass filter, depending on the sample rate.
This fixes timing issues when playing back at 48kHz (noticable using
pkgsrc/graphics/mplayer and DivX ;-) streams).
2002-03-10 14:57:31 +00:00
kent a1f23f2a90 Move sampling rate conversion functions to aurateconv.c.
Introduce "aurateconv" attribute for audio devices.
Add aurateconv to uaudio and auich.
(due to kern/15845 and kern/15848)
2002-03-09 20:30:42 +00:00
christos 833f408cd1 stupid void pointers... tl_init() needs struct ifnet *... 2002-03-07 21:42:20 +00:00
kent c329c38eef Sampling rate and mono-stereo conversion described in
http://mail-index.netbsd.org/tech-kern/2002/03/04/0005.html

auconv.c: Add conversion functions

audio.c: Sample alignment, calling conversion functions, etc.

audio_if.h: Add four hw_* members to "struct audio_params"

audiovar.h: Add conversion buffers, etc.

auich and uaudio: Add conversion request code to *_set_params().
2002-03-07 14:37:02 +00:00
jmcneill 9481b68d9a Fix another typo that I missed last time (foo -> ESA_foo) 2002-03-06 18:30:31 +00:00
jmcneill b9083c85dc Fix a few typos (foo -> ESA_foo). 2002-03-06 18:28:07 +00:00
tsutsui c155b0375f Major overhaul of trm(4) driver:
- Change structures for each device to make them more suitable with
  our scsipi mid-layer.
- Use ADAPTER_REQ_SET_XFER_MODE callback.
- Cleanup misc functions/structures/style.

XXX Tagged queuieng support is disabled for now.
XXX Maybe we should have common library of the scsi protocol engine
XXX to share it among all other drivers..
2002-03-06 12:32:49 +00:00
haya cff90ff521 Enforce 10-bit width for I/O addresses of 16-bit PC Cards when I/O
start address is assigned by a driver.
2002-03-05 11:56:33 +00:00
itojun ac36f7cb2c bring in latest ALTQ from kjc. ALTQify some of the drivers. 2002-03-05 04:12:57 +00:00
simonb 64c7743a05 Don't "extern int cold;" - this is in <sys/kernel.h>. 2002-03-04 02:19:07 +00:00
kleink 6d484242b0 Regen: add Motorola Raven, Falcon and Hawk product IDs. 2002-03-01 13:48:59 +00:00
kleink b1c2f47c30 Add Motorola Raven, Falcon and Hawk product IDs. 2002-03-01 13:47:30 +00:00
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