Commit Graph

18069 Commits

Author SHA1 Message Date
xtraeme
2f0a18e581 Add another case to match "PCI_PRODUCT_INTEL_82815_FULL_HUB"
(Intel 82815 Hub) in agp_i810_attach(), closes PR 27863.

Ok'ed christos@
2004-11-06 07:43:30 +00:00
kent
11b301d4f7 print cluster information if UAUDIO_DEBUG is defined. 2004-11-05 19:08:29 +00:00
kent
321c2fdbdc print cluster information if UAUDIO_DEBUG is defined. 2004-11-05 17:46:14 +00:00
kent
fa8bbe4c5e add the follwings:
- ulinear16_to_mulaw_le()
 - ulinear16_to_mulaw_be()
 - slinear16_to_mulaw_be()
 - ulinear16_to_alaw_le()
 - ulinear16_to_alaw_be()
2004-11-05 16:31:14 +00:00
scw
393556db2e Match Sealevel Systems' uftdi-based USB <-> Serial adapter.
This is just an FT8U232AM with custom vendor/device IDs.
2004-11-05 13:53:29 +00:00
scw
ca9032dd96 Regen for SEALEVEL 2004-11-05 13:51:52 +00:00
scw
45c758823b Add vendor SEALEVEL, plus an entry for their uftdi-based USB <-> Serial
converter.
2004-11-05 13:51:16 +00:00
rjs
77c10163bb Add AEI USB to LAN. 2004-11-03 22:59:31 +00:00
yamt
e89aeb518a make recording of clct(4) work. namely,
- cs4281_intr: advance a pointer after copying data.
- cs4281_trigger_input: fix an inverted condition about dma mode.
2004-11-02 00:40:08 +00:00
mycroft
74c82c0ec4 Some miscellaneous cleanup:
* Encapsulate all the ring-specific variables into a substructure.  (This will
  help with some potential code sharing.)
* Don't bother with "last buffer complete" interrupts -- we should be taking an
  interrupt anyway because we set IOC on every buffer.
* Likewise, ignore CELV; it's meaningless to us.
* Get rid of the FIFO error counters, since this doesn't actually happen any
  more.
2004-11-01 06:25:35 +00:00
mycroft
170f82c2c3 Copyright maintenance. 2004-10-31 20:15:16 +00:00
mycroft
43670bc418 More code reduction.
Also, allow any sample rate between 8000 and 48000Hz.  (This range should
probably be larger, but this is what's known to work.)

Another 180 bytes shaved.
2004-10-31 20:00:42 +00:00
mycroft
62405c408b Shave another 112 bytes by reducing some divisions to shifts. 2004-10-31 19:28:31 +00:00
mycroft
53a18a1af1 Fix a regression -- my previous changes made the kernel slightly larger. 2004-10-31 18:30:52 +00:00
mycroft
f37709ef90 In the trigger routines, start *all* the blocks, not just the first one. This
was causing some "fifo under/overrun" errors during the initial trigger.

Also fixes a ring synchronization problem introduced in the earlier changes.

This should completely fix the FIFO errors with auich.
2004-10-31 16:49:27 +00:00
he
6ef865c900 Include the <sys/bufq.h> header to allow these to compile again. 2004-10-31 12:52:55 +00:00
mycroft
04699fb576 Reorder some register writes just to be safe. 2004-10-31 06:25:55 +00:00
mycroft
91c9307af1 Attempt to mitigate "fifo underrun" errors in two ways:
1) Update the queue pointers any time we get a block completion interrupt,
   not just when we hit the last block.
2) Set the "back-to-back enable" bit.
In addition:
3) Make sure we ack every block we transfer; there was a bug that could cause
   the audio layer to get out of sync.
2004-10-31 05:50:58 +00:00
thorpej
bebd825b66 iee_ioctl(): Make this look like other drivers, fixing a missing "splx(s)"
as a side-effect.  Don't bother handling IFF_PROMISC here, because
ether_ioctl() already calls (*if_init)() to handle flags changes.

When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 23:52:22 +00:00
thorpej
559857f039 - qtinit(): Don't skip initialization if we're already marked RUNNING.
ether_ioctl() will call (*if_init)() when flags change.  Instead, do
  what other drivers do and stop the interface in this case before
  re-initializing.
- qtioctl(): Now that qtinit() does the right thing, remove the check
  for IFF_PROMISC change.

  When adding/deleting multicast addresses, only whack the address
  filter if the interface is marked RUNNING.

  Fixes kern/27678.
2004-10-30 23:45:10 +00:00
thorpej
711247fa68 When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 23:33:29 +00:00
bouyer
c31b572a47 Allow polled commands to be queued, if ata_exec_xfer() is called in thread
context. For this introduce 3 new xfer tags:
- C_WAIT, equivalent of AT_WAIT
- C_WAITACT, when there is a thread waiting on this xfer to become the active
  one (that is, to be at the head of the queue)
- C_FREE, set by ata_free_xfer() when it can't free the xfer because it's
  still in use. The holder should then free the xfer ASAP.

If ata_exec_xfer() is called with (C_POLL | C_WAIT), and there is already
xfers to be processed, assert C_WAITACT and sleep.
atastart() checks for C_WAITACT, and wakeup the thread waiting for this xfer
to become active if set. atastart() won't process this xfer, it's the
responsability of the thread waked up to handle it.

Fix (the right way) kern/27421 by Martin Husemann.
2004-10-30 23:10:37 +00:00
thorpej
e9818f5b5e When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 18:08:34 +00:00
bouyer
235e7412c1 Revert 1.215, with a comment explaining why we can't use interrupts here. 2004-10-30 17:17:21 +00:00
kent
2027395f9c * uaudio_chan_open()
Call uaudio_set_speed() if and only if the selected Audio Streaming
interface supports multiple sampling rates.
  Address PR#27237
2004-10-29 17:12:53 +00:00
kent
acac7b4b51 replace printf() inside UAUDIO_DEBUG with logprintf() 2004-10-29 16:42:47 +00:00
hannken
3404c7af50 Move the inclusion of <sys/bufq.h> from fss.c to fssvar.h to make
an FSS-enabled kernel compile again.
2004-10-29 15:39:38 +00:00
yamt
18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
bouyer
2bdbaab58f Call xfer->c_start() with the channel from the xfer, not the one from the
thread. They may be different if we have a shared queue.
2004-10-28 20:11:41 +00:00
cube
cce3c2a9eb Add support for the BCM575x variants. They're close to the 5705 one, with
some special cases for the PCI-Express versions.  As there is no
documentation available, all of this is inspired from Linux or taken from
FreeBSD (itself inspired from Linux).  There are a lot of magic numbers.

Tested on two BCM5751 devices as found in newer Dell computers.
2004-10-28 07:36:05 +00:00
martti
05e2eaf818 Regen for Dell PERC 4/SC 2004-10-28 07:29:07 +00:00
cube
64b1795875 Add support for the PHY found with BCM575x chips. Beware the magic
numbers!

From FreeBSD.
2004-10-28 07:26:17 +00:00
martti
ac15c84040 Align all SYMBIOS entries 2004-10-28 07:26:09 +00:00
cube
d3f031a415 Regen. 2004-10-28 07:23:24 +00:00
cube
69295b9741 Add an entry for the PHY found with BCM575x chips. 2004-10-28 07:23:00 +00:00
martti
0ae886cb1b Added Dell PERC 4/SC 2004-10-28 07:22:23 +00:00
yamt
05f25dcc2a move buffer queue related stuffs from buf.h to their own header, bufq.h. 2004-10-28 07:07:35 +00:00
yamt
043a545875 hide bufq_state from userland. 2004-10-28 06:59:18 +00:00
kent
15afb616fc add "hw.auichN.ac97rate" sysctl MIB to specify AC'97 link rate.
It is needed because automatic calibration by auich_calibrate() is not
so precise.

- Why not ioctl?
  It is not good idea to add a new ioctl operation to MI audio for
a specific audio device.
- Why not mixerctl item?
  AC'97 linke rate is not related to audio mixing.
2004-10-27 13:26:43 +00:00
augustss
3f877f0787 Regen. 2004-10-27 07:03:16 +00:00
augustss
a546123041 Add some products from FreeBSD. 2004-10-27 07:02:47 +00:00
heas
6df21a5e13 GC some trailing WS. 2004-10-26 22:52:44 +00:00
thorpej
e2be7a929e Implement the DIOCCACHESYNC ioctl; we just pass it along to the parent. 2004-10-26 22:50:16 +00:00
thorpej
c22daf01f0 Implement the DIOCCACHESYNC ioctl. 2004-10-26 22:46:13 +00:00
thorpej
f64a29d708 Implement the DIOCCACHESYNC ioctl; we simply pass it through to each
underlying component.
2004-10-26 22:44:45 +00:00
bouyer
01d27a59a7 wdc_drvprobe(): don't poll for the IDENTIFY, use interrupts. There's no
reasons to not use interrupts here, and polling cause problems when there is
a shared queue between 2 channels.
Fix kern/27421 by Martin Husemann.
2004-10-26 21:21:59 +00:00
augustss
d32a749096 Allow strings descriptor 0 to be fetched. It's the default language index. 2004-10-26 20:46:16 +00:00
augustss
2d3b68ad83 Add some medis defines. 2004-10-26 17:28:52 +00:00
augustss
547cfc9779 Protect MII reads and writes properly against multiple access.
Set full duplex mode when status tells us to.
(I can now get 4Mbyte/s instead of 20kbyte/s rx speed.)
2004-10-26 17:20:47 +00:00
augustss
b729362224 Regen. 2004-10-26 11:31:17 +00:00