kern/63204: [sound] /dev/mixer broken with ESS Maestro-2E
(still on 5.4)
Ariff Abdullah
skywizard at MyBSD.org.my
Sat Dec 17 04:12:18 PST 2005
On Wed, 14 Dec 2005 10:48:38 +0900
Pyun YongHyeon <pyunyh at gmail.com> wrote:
> On Tue, Dec 13, 2005 at 08:16:44PM -0500, Steven S. wrote:
> >
> >
> > I tried that patch and no difference.
> >
> > if it helps here is the verbose ssndstat output
> >
> >
> > Installed devices:
> > pcm0: <ESS Technology Maestro-2E> port 0xfc00-0xfcff irq 11 at
> > device 12.0 on pci0 (4p/1r/4v channels duplex default)
> > [pcm0:play:0]: spd 44100, fmt 0x10000010, flags
> > 0x00001000,
> > 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_vchan_s16(0x10000010) -> {hardware}
> > [pcm0:play:1]: spd 44100, fmt 0x10000010, flags
> > 0x00000000,
> > 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x10000010) -> {hardware}
> > [pcm0:play:2]: spd 0, fmt 0x00000000/0x00000008, flags
> > 0x00000000,
> > 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x00000000) -> {hardware}
> > [pcm0:play:3]: spd 0, fmt 0x00000000/0x00000008, flags
> > 0x00000000,
> > 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x00000000) -> {hardware}
> > [pcm0:record:0]: spd 0, fmt 0x00000000/0x00000008, flags
> > 0x00000000, 0x00000000
> > interrupts 0, overruns 0, hfree 16384, sfree 0
> > {hardware} -> feeder_root(0x00000000) -> {userland}
> > pcm0:play:0[pcm0:virtual:0]: spd 0, fmt
> > 0x00000000/0x00000008,
> > flags 0x10000000, 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x00000000) -> {hardware}
> > pcm0:play:0[pcm0:virtual:1]: spd 0, fmt
> > 0x00000000/0x00000008,
> > flags 0x10000000, 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x00000000) -> {hardware}
> > pcm0:play:0[pcm0:virtual:2]: spd 0, fmt
> > 0x00000000/0x00000008,
> > flags 0x10000000, 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x00000000) -> {hardware}
> > pcm0:play:0[pcm0:virtual:3]: spd 0, fmt
> > 0x00000000/0x00000008,
> > flags 0x10000000, 0x00000000
> > interrupts 0, underruns 0, ready 0
> > {userland} -> feeder_root(0x00000000) -> {hardware}
> >
> > nothing else changed in dmesg or mixer
> >
>
> Then I have no idea as my system works here. It seems it would be
> difficult to fix the problem without accessing the hardware. :-(
> How about setting hw.pci.enable_io_modes=0 or disabling ACPI in
> loader.conf?
>
> Maybe ariff@ has better idea.(CCed)
>
To be truth, this is one of the issue that keep me puzzled. Lack of
hardware is also an issue for me. One thing to note is, this driver
used to work before the conversion of busdma (<= 5.1-R). The rest:
1) Excessive inlining - maestro.c won't survive if WARN=1. Inlining
failure probably cause incorrect code generation. This need to be
addressed.
2) Delayed interrupt hook - few drivers (ich, atiixp) need to delay
further chip initialization in order to let interrupt works first.
I cannot tell whether this is the right solution, but probably
worth a try.
Anyway, I'll try to get the specific hardware first.
--
Ariff Abdullah
MyBSD
http://www.MyBSD.org.my (IPv6/IPv4)
http://staff.MyBSD.org.my (IPv6/IPv4)
http://tomoyo.MyBSD.org.my (IPv6/IPv4)
More information about the freebsd-multimedia
mailing list