PCM has been broken for me since December 1999. I would very much
appreciate if someone could help me fix it before the code freeze (cg,
dfr and tanimura CC'd).
I have an unknown MSS-compatible non-PnP ISA sound card, which
identifies itself as a CS4231. Unknown, because it's inside a
laptop. Before you ask, it has always been identified as a CS4231, and
always worked very well. The last kernel that I have which still works
is dated 6 Dec 1999, and I'm playing mp3's with it right now. Here's
its verbose boot message:
mss_detect - chip revision 0x0a
mss_detect() - Detected CS4231
pcm0: <CS4231> at port 0x530-0x53f,0x310-0x311 irq 5 drq 1 flags 0xa210
on isa0
pcm: setmap 30000, ff00; 0xc8421000 -> 30000
pcm: setmap 40000, ff00; 0xc8431000 -> 40000
isa_probe_children: probing PnP devices
Kernels built after 26 Dec 1999 print the following:
mss_detect - chip revision 0x0a
mss_detect() - Detected CS4231
pcm0: <CS4231> at port 0x530-0x537,0x538-0x539 irq 5 drq 1 flags 0xa110
on isa0
pcm: setmap 30000, ff00; 0xc840e000 -> 30000
pcm: setmap 40000, ff00; 0xc841e000 -> 40000
isa_probe_children: probing PnP devices
mss_intr: irq, but not from mss
and screw up the card - there is no sound and the driver gets stuck in
"pcmwr". Something was committed between the 6th and 26th of December
that broke pcm. The question is: which commit broke it?
What has changed?
1) I/O port allocation and flags in dmesg: 0x310-0x311 vs 0x538-0x539,
and 0xa210 vs 0xa110
2) The "mss_intr: irq, but not from mss" line
Why? My config file hasn't changed a bit, neither has my hardware or
BIOS setup. I don't have "controller pnp" in my config file, so it
probably has nothing to do with PnP.
The list of commits that might have broken it is appended below for your
convenience. Please let me know if I have missed something obvious.
Thank you for your attention
Alex
-----------------------------
cg 1999/12/11 18:18:59 PST
Modified files:
sys/dev/sound/pcm datatypes.h dsp.c sound.c sound.h
Log:
move channel-swapping support to the hardware driver since it knows
the card
state best
Revision Changes Path
1.6 +3 -1 src/sys/dev/sound/pcm/datatypes.h
1.11 +2 -11 src/sys/dev/sound/pcm/dsp.c
1.11 +8 -1 src/sys/dev/sound/pcm/sound.c
1.7 +2 -3 src/sys/dev/sound/pcm/sound.h
cg 1999/12/12 19:29:10 PST
Modified files:
sys/dev/sound/pcm channel.c channel.h datatypes.h dsp.c
Log:
more dma underrun fixes, using a per-channel 2nd buffer
Submitted by: tanimura
Revision Changes Path
1.10 +247 -87 src/sys/dev/sound/pcm/channel.c
1.4 +10 -1 src/sys/dev/sound/pcm/channel.h
1.7 +2 -1 src/sys/dev/sound/pcm/datatypes.h
1.12 +2 -2 src/sys/dev/sound/pcm/dsp.c
cg 1999/12/18 14:24:50 PST
Modified files:
sys/dev/sound/pcm channel.c
Log:
fix the buffer repetition on ^c problem
Revision Changes Path
1.11 +10 -13 src/sys/dev/sound/pcm/channel.c
cg 1999/12/19 07:27:26 PST
Modified files:
sys/dev/sound/pcm sound.c
Log:
move make_dev operations for audio channels to pcm_addchan(). in
theory,
with modifications to MAKEDEV this will allow use of multiple output
streams
on cards supporting it, eg trident 4dwave.
Revision Changes Path
1.12 +12 -11 src/sys/dev/sound/pcm/sound.c
cg 1999/12/19 14:32:56 PST
Modified files:
sys/dev/sound/pcm channel.c
Log:
stop playing if we underrun; if there is more data to come, the next
write
will restart
Revision Changes Path
1.12 +3 -1 src/sys/dev/sound/pcm/channel.c
cg 1999/12/19 16:56:53 PST
Modified files:
sys/dev/sound/pcm sound.c
Log:
allow (broken) apps to use mixer ioctls on dsp devices. eg: vmware
Submitted by: "Vladimir N. Silyaev" <[EMAIL PROTECTED]>
Revision Changes Path
1.13 +5 -2 src/sys/dev/sound/pcm/sound.c
cg 1999/12/20 06:57:46 PST
Modified files:
sys/dev/sound/isa sb.c
sys/dev/sound/pcm channel.c
Log:
minor cosmetics
Revision Changes Path
1.42 +1 -2 src/sys/dev/sound/isa/sb.c
1.13 +6 -7 src/sys/dev/sound/pcm/channel.c
cg 1999/12/21 00:43:28 PST
Modified files:
sys/dev/sound/isa mss.c
sys/dev/sound/pcm channel.c
Log:
minor cleanup
Parts Submitted by: Ville-Pertti Keinonen <[EMAIL PROTECTED]>
Revision Changes Path
1.38 +20 -23 src/sys/dev/sound/isa/mss.c
1.14 +2 -13 src/sys/dev/sound/pcm/channel.c
peter 1999/12/21 06:09:22 PST
Modified files:
sys/dev/sound/isa mss.c
Log:
Collapse a bunch of unused MD_CS42nn tags into a single one. This
saves
going to a lot of trouble to identify it and set the tag and then not
use
it. Convert the pnp id matching to the preferred table based system.
@@@0001 (CMI8330 ldn 0) is a mss, not a SB.
Revision Changes Path
1.39 +37 -90 src/sys/dev/sound/isa/mss.c
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message