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