| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
much of lock/unlock contentions within the interrupt handler. Most
of these drivers only need PCMTRIG_START or STOP (ABORT).
Discussed with: scottl
|
|
|
|
|
|
| |
mishaps for emu10k1 [1] and few other places.
Reported/Submitted/Tested by: Ed Schouten <ed@fxq.nl> [1]
|
|
|
|
|
|
| |
PR: kern/105600
Submitted by: rotus <rotus@takamanohara.dyndns.org>
Approved by: ariff
|
|
|
|
|
| |
internal bus_dmammem_alloc() for greater flexibility on setting up DMA /
page attributes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
confusions and panic provided that the following conditions are met:
1) WITNESS is enabled (watch/trace).
2) Using modules, instead of statically linked (Not a strict
requirement, but easier to reproduce this way).
3) 2 or more modules share the same mtx type ("sound softc").
- They might share the same name (strcmp() == 0), but it always
point to different address.
4) Repetitive kldunload/load on any module that shares the same mtx
type (Not a strict requirement, but easier to reproduce this way).
Consider module A and module B:
- From enroll() - subr_witness.c:
* Load module A. Everything seems fine right now.
wA-w_refcount == 1 ; wA-w_name = "sound softc"
* Load module B.
* w->w_name == description will always fail.
("sound softc" from A and B point to different address).
* wA->w_refcount > 0 && strcmp(description, wA->w_name) == 0
* enroll() will return wA instead of returning (possibly unique)
wB.
wA->w_refcount++ , == 2.
* Unload module A, mtx_destroy(), wA->w_name become invalid,
but wA->w_refcount-- become 1 instead of 0. wA will not be
removed from witness list.
* Some other places call mtx_init(), iterating witness list,
found wA, failed on wA->w_name == description
* wA->w_refcount > 0 && strcmp(description, wA->w_name)
* Panic on strcmp() since wA->w_name no longer point to valid
address.
Note that this could happened in other places as well, not just sound
(eg. consider lots of drivers that share simmilar MTX_NETWORK_LOCK).
Solutions (for sound case):
1) Provide unique mtx type string for each mutex creation (chosen)
or
2) Put "sound softc" global variable somewhere and use it.
|
|
|
|
|
|
| |
changes. This should ease the job of maintaining codebase since much
of the regression tests are done across os versions.
- bus_setup_intr() -> snd_setup_intr().
|
|
|
|
|
|
|
|
|
|
| |
Use bus_get_dma_tag() to obtain the parent DMA tag to make the drivers
a little bit more non-ia32/amd64 friendly.
There is no man page for bus_get_dma_tag, so this is modelled after
rev. 1.62 of src/sys/dev/sound/pci/es137x.c by marius.
Inspired by: commit by marius
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many
Approved by: re@
|
|
|
|
| |
Requested by: luigi
|
|
|
|
|
|
|
| |
/usr/share/examples/etc/bsd-style-copyright. I've fixed a
few minor wording and formatting differences.
Approved by: luigi, Hannu Savolainen <hannu@opensound.com>
|
|
|
|
|
| |
Discussed with: rwatson
Approved by: luigi
|
| |
|
|
|
|
| |
machines.
|
|
|
|
|
|
| |
PR: kern/94388
Submitted by: Krzysztof Kotlenga <piernik at gmail dot com>
MFC after: 3 days
|
|
|
|
|
| |
CID: 420
Found with: Coverity Prevent(tm)
|
|
|
|
|
|
|
|
|
|
| |
ess_calcspeed8() and ess_calcspeed9() that need to be fixed as well
(TODO).
Reported by: [1] Claude Buisson <cbuisson at nerim.net>
MFC after: 3 days
[1] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-January/003566.html
|
|
|
|
|
|
|
| |
mask to recdev_l and recdev_r, since each have its own unique mask.
Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
Approved by: netchild (mentor)
|
|
|
|
| |
Noticed by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
|
| |
|
|
|
|
| |
and define there as well. This should fix the pc98 tinderbox.
|
|
|
|
|
|
|
| |
PC98, CS4231A, "pcm0: play interrupt timeout").
PR: 45682
Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
|
|
|
|
|
| |
PR: 45679
Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
|
|
|
|
|
|
|
|
|
|
|
|
| |
believe that there are PC98 systems with an OPTi chip.
I don't know enough about this special PC architecture to be sure about
this, so let's find out by letting people with such a system complain in
case this commit breaks the sound system for them. It's easy to revert
then.
PR: 45673
Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the PR:
---snip---
The vibra16X supports full duplex. I traced the Windows driver, and what is
does is that it programs one DMA channel 8-bit, and the other 16-bit. There
might be some kind of auto detection logic here, because it always uses 8-bit
for playback, even if I play 16-bit sound ...
---snip---
PR: 80977
Submitted by: Hans Petter Selasky <hselasky@c2i.net>
|
|
|
|
| |
Noticed by: njl
|
|
|
|
|
|
|
| |
- Don't mark MPSAFE (yet).
- DSP_CMD_DMAEXIT_8 doesn't work on old cards, use sb_reset_dsp() instead.
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my>
|
|
|
|
|
|
| |
- Don't mark MPSAFE (yet).
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my>
|
|
|
|
| |
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my>
|
|
|
|
|
|
|
| |
enumerates PnP ISA-like devices.
Reported by: Harry Coin harrycoin at qconline dot com
MFC after: 3 days
|
|
|
|
|
| |
preference to some random negative number to allow other drivers a
bite at the apple.
|
|
|
|
|
|
|
| |
mss lock across call.
This allows my Thinkpad 600E to resume with the sound driver loaded and
vchans enabled.
|
| |
|
|
|
|
|
|
|
| |
These devices should be probed first because they are at fixed
locations and cannot be turned off. ISA PNP devices, on the other
hand, can be turned off and often can be flexible in the resources
they use. Probe them last, as always.
|
|
|
|
| |
removed.
|
|
|
|
|
|
|
|
|
|
| |
assign DMA address to the wrong address. It can cause system lockup
or other mysterious errors. Since most sound cards requires low DMA
address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the
audio driver is loaded after long running of operations.
Approved by: jake (mentor)
Reviewed by: truckman, matk
|
|
|
|
|
|
|
|
|
| |
that conjures up the device node so it isn't true PNP. Noticed by jhb@.
* Add an attachment for esscontrol since it too uses ISA_PNP_PROBE.
* Move an attachment from snd_mss to snd_pnpmss. The latter is the real
PNP user.
|
|
|
|
|
|
|
| |
probe and attach when ACPI is enabled.
Submitted by: takawata (sbc fix)
MFC after: 1 day
|
|
|
|
|
|
|
|
|
|
|
| |
calls in sb_cmd2() and sb_getmixer(). The lock has already be grabbed
before these functions are called.
This is a RELENG_5 candidate.
PR: 71189
Submitted by: stephane
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- `sound'
The generic sound driver, always required.
- `snd_*'
Device-dependent drivers, named after the sound module names.
Configure accordingly to your hardware.
In addition, rename the `snd_pcm' module to `sound' in order to sync
with the driver names.
Suggested by: cg
|
|
|
|
| |
Note that DDB is unrelated to the debugger with the same acronym.
|
|
|
|
|
|
|
|
|
|
| |
I added bounds checking to the patch and cg improved
the formular.
Submitted by: Andriy Gapon <avg@icyb.net.ua>
PR: kern/65485
Approved by: cg
Reviewed by: imp, rwatson, le
|
|
|
|
| |
module-friendly midi subsystem to be merged soon.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
proper locking to be checked at runtime.
Remove sb_lock() and sb_unlock() calls from sb_reset_dsp() because the
latter is called from sb_setup() with the lock already held. Add a
call to sb_lockassert().
Surround the call to sb_reset_dsp() in sb16_attach() with sb_lock()
and sb_unlock() calls.
Tested by: Bartek Marcinkiewicz <junior AT p233.if.pwr.wroc.pl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
because they bogusly check for defined(INTR_MPSAFE) -- something which
never was a #define. Correct the definitions.
This make INTR_TYPE_AV finally get used instead of the lower-priority
INTR_TYPE_TTY, so it's quite possible some improvement will be had
on sound driver performance. It would also make all the drivers
marked INTR_MPSAFE actually run without Giant (which does seem to
work for me), but:
INTR_MPSAFE HAS BEEN REMOVED FROM EVERY SOUND DRIVER!
It needs to be re-added on a case-by-case basis since there is no one
who will vouch for which sound drivers, if any, willy actually operate
correctly without Giant, since there hasn't been testing because of
this bug disabling INTR_MPSAFE.
Found by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru>
|
|
|
|
|
| |
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
|
|
|
|
| |
Approved by: tanimura (mentor)
|
|
|
|
|
|
| |
been created. This has been sitting in my local tree for
far too long; I can't believe noone else has come across this
yet.
|
|
|
|
| |
removed in the world although the correct one was removed in the universe.
|
|
|
|
| |
ns16550.h is now sufficient.
|