[UPDATE] RFC: snd_hda(4) -- Intel High Definition Audio driver

Kevin Kramer kramer at centtech.com
Mon Sep 11 07:54:15 PDT 2006


sorry


pcm0: <Intel 82801G High Definition Audio Controller> mem 
0xdfffc000-0xdfffffff
irq 21 at device 27.0 on pci0
pcm0: [MPSAFE]
pcm0:        Vendor: 0x00008384
pcm0:        Device: 0x00007690
pcm0:      Revision: 0x00000022
pcm0:      Stepping: 0x00000001
pcm0: PCI Subvendor: 0x01cc1028
pcm0:         Nodes: start=2 endnode=21 total=19
pcm0: sndbuf_setmap 3e880000, 4000; 0xe7c3c000 -> 3e880000
pcm0: sndbuf_setmap 3e866000, 4000; 0xe7c40000 -> 3e866000
pcm0: <HDA Driver Revision: 20060907_002>
pcm0:
pcm0: +-------------------+
pcm0: | DUMPING HDA NODES |
pcm0: +-------------------+
pcm0:
pcm0: Default Parameter
pcm0: -----------------
pcm0:      Stream cap: 0x00000001
pcm0:          Format: PCM
pcm0:         PCM cap: 0x000e07e0
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 11 16 22 32 44 48
pcm0:          IN amp: 0x00000000
pcm0:         OUT amp: 0x80051f1f
pcm0:
pcm0:             nid: 2 [ANALOG]
pcm0:            name: audio output
pcm0:      widget_cap: 0x000d0401
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000000
pcm0:      Stream cap: 0x00000001
pcm0:          Format: PCM
pcm0:         PCM cap: 0x000e07e0
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 11 16 22 32 44 48
pcm0:     connections: 0
pcm0:
pcm0:             nid: 3 [ANALOG]
pcm0:            name: audio input
pcm0:      widget_cap: 0x001d0541
pcm0:     Parse flags: 0x00000002
pcm0:       Ctl flags: 0x00000800
pcm0:      Stream cap: 0x00000001
pcm0:          Format: PCM
pcm0:         PCM cap: 0x000e07e0
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 11 16 22 32 44 48
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=10 [audio selector]
pcm0:
pcm0:             nid: 4 [DIGITAL] [DISABLED]
pcm0:            name: audio input
pcm0:      widget_cap: 0x00140311
pcm0:     Parse flags: 0x00000000
pcm0:       Ctl flags: 0x00000000
pcm0:      Stream cap: 0x00000005
pcm0:          Format: AC3 PCM
pcm0:         PCM cap: 0x000e0160
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 22 44 48
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=8 [pin: SPDIF in (none)] [DISABLED]
pcm0:
pcm0:             nid: 5 [DIGITAL] [DISABLED]
pcm0:            name: audio output
pcm0:      widget_cap: 0x00040211
pcm0:     Parse flags: 0x00000000
pcm0:       Ctl flags: 0x00000000
pcm0:      Stream cap: 0x00000005
pcm0:          Format: AC3 PCM
pcm0:         PCM cap: 0x000e01e0
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 22 32 44 48
pcm0:     connections: 0
pcm0:
pcm0:             nid: 6 [DIGITAL] [DISABLED]
pcm0:            name: vendor widget
pcm0:      widget_cap: 0x00f30201
pcm0:     Parse flags: 0x00000000
pcm0:       Ctl flags: 0x00000000
pcm0:     connections: 0
pcm0:
pcm0:             nid: 7 [ANALOG]
pcm0:            name: audio selector
pcm0:      widget_cap: 0x00300901
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000081
pcm0:     connections: 3
pcm0:           |
pcm0:           + <- nid=2 [audio output] (selected)
pcm0:           |
pcm0:           + <- nid=8 [pin: SPDIF in (none)] [DISABLED]
pcm0:           |
pcm0:           + <- nid=10 [audio selector]
pcm0:
pcm0:             nid: 8 [DIGITAL] [DISABLED]
pcm0:            name: pin: SPDIF in (none)
pcm0:      widget_cap: 0x00430681
pcm0:     Parse flags: 0x00000000
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x00010024
pcm0:                  IN EAPD : UNSOL
pcm0:     Pin control: 0x00000020 IN
pcm0:            EAPD: 0x00000002
pcm0:     connections: 0
pcm0:
pcm0:             nid: 9 [DIGITAL] [DISABLED]
pcm0:            name: pin: SPDIF out (jack)
pcm0:      widget_cap: 0x00400301
pcm0:     Parse flags: 0x00000000
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x00000010
pcm0:                  OUT
pcm0:     Pin control: 0x00000040 OUT
pcm0:            EAPD: 0x00000000
pcm0:     connections: 2
pcm0:           |
pcm0:           + <- nid=5 [audio output] [DISABLED]
pcm0:           |
pcm0:           + <- nid=10 [audio selector]
pcm0:
pcm0:             nid: 10 [ANALOG]
pcm0:            name: audio selector
pcm0:      widget_cap: 0x0030090d
pcm0:     Parse flags: 0x00000002
pcm0:       Ctl flags: 0x00000881
pcm0:      Output amp: 0x80050f00
pcm0:                  mute=1 step=15 size=5 offset=0
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=12 [audio selector]
pcm0:
pcm0:             nid: 11 [ANALOG]
pcm0:            name: audio selector
pcm0:      widget_cap: 0x00300105
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000000
pcm0:      Output amp: 0x80051f1f
pcm0:                  mute=1 step=31 size=5 offset=31
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=7 [audio selector]
pcm0:
pcm0:             nid: 12 [ANALOG]
pcm0:            name: audio selector
pcm0:      widget_cap: 0x0030010d
pcm0:     Parse flags: 0x00000006
pcm0:       Ctl flags: 0x00000081
pcm0:      Output amp: 0x270400
pcm0:                  mute=0 step=4 size=39 offset=0
pcm0:     connections: 5
pcm0:           |
pcm0:           + <- nid=16 [pin: Mic in (jack)] (selected)
pcm0:           |
pcm0:           + <- nid=15 [pin: Mic in (fixed)]
pcm0:           |
pcm0:           + <- nid=14 [pin: speaker (fixed)]
pcm0:           |
pcm0:           + <- nid=13 [pin: headphones out (jack)]
pcm0:           |
pcm0:           + <- nid=18 [pin: CD (none)]
pcm0:
pcm0:             nid: 13 [ANALOG]
pcm0:            name: pin: headphones out (jack)
pcm0:      widget_cap: 0x00400181
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x0000003f
pcm0:                  ISC TRQD HP OUT IN : UNSOL
pcm0:     Pin control: 0x000000c0 HP OUT
pcm0:            EAPD: 0x00000000
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=11 [audio selector]
pcm0:
pcm0:             nid: 14 [ANALOG]
pcm0:            name: pin: speaker (fixed)
pcm0:      widget_cap: 0x00400181
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x0000003f
pcm0:                  ISC TRQD HP OUT IN : UNSOL
pcm0:     Pin control: 0x00000040 OUT
pcm0:            EAPD: 0x00000000
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=11 [audio selector]
pcm0:
pcm0:             nid: 15 [ANALOG]
pcm0:            name: pin: Mic in (fixed)
pcm0:      widget_cap: 0x00400181
pcm0:     Parse flags: 0x00000002
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x00000037
pcm0:                  ISC TRQD OUT IN : UNSOL
pcm0:     Pin control: 0x00000020 IN
pcm0:            EAPD: 0x00000000
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=11 [audio selector]
pcm0:
pcm0:             nid: 16 [ANALOG]
pcm0:            name: pin: Mic in (jack)
pcm0:      widget_cap: 0x00400181
pcm0:     Parse flags: 0x00000002
pcm0:       Ctl flags: 0x00000081
pcm0:         Pin cap: 0x00001737
pcm0:                  ISC TRQD OUT IN : UNSOL
pcm0:     Pin control: 0x00000020 IN
pcm0:            EAPD: 0x00000000
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=11 [audio selector]
pcm0:
pcm0:             nid: 17 [ANALOG]
pcm0:            name: pin: speaker (none)
pcm0:      widget_cap: 0x00400104
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x00000010
pcm0:                  OUT
pcm0:     Pin control: 0x00000040 OUT
pcm0:            EAPD: 0x00000000
pcm0:      Output amp: 0x80051f1f
pcm0:                  mute=1 step=31 size=5 offset=31
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=19 [audio mixer]
pcm0:
pcm0:             nid: 18 [ANALOG]
pcm0:            name: pin: CD (none)
pcm0:      widget_cap: 0x00400001
pcm0:     Parse flags: 0x00000002
pcm0:       Ctl flags: 0x00000000
pcm0:         Pin cap: 0x00000020
pcm0:                  IN
pcm0:     Pin control: 0x00000020 IN
pcm0:            EAPD: 0x00000000
pcm0:     connections: 0
pcm0:
pcm0:             nid: 19 [ANALOG]
pcm0:            name: audio mixer
pcm0:      widget_cap: 0x00200100
pcm0:     Parse flags: 0x00000001
pcm0:       Ctl flags: 0x00000000
pcm0:     connections: 1
pcm0:           |
pcm0:           + <- nid=7 [audio selector]
pcm0:
pcm0:             nid: 20 [ANALOG]
pcm0:            name: beep widget
pcm0:      widget_cap: 0x0070000c
pcm0:     Parse flags: 0x00000000
pcm0:       Ctl flags: 0x00000021
pcm0:      Output amp: 0x80170303
pcm0:                  mute=1 step=3 size=23 offset=3
pcm0:     connections: 0
pcm0:
pcm0: +-----------------------------------+
pcm0: | DUMPING HDA AUDIO/VOLUME CONTROLS |
pcm0: +-----------------------------------+
pcm0:
pcm0: Master Volume (OSS: vol)
pcm0:    |
pcm0:    +-  nid: 12 index:  0           mute: 0 step:   4 size:  39 
off:   0 di
r=0x1
pcm0:    |
pcm0:    +-  nid: 20 index:  0           mute: 1 step:   3 size:  23 
off:   3 di
r=0x1
pcm0:
pcm0: Microphone Volume (OSS: mic)
pcm0:    |
pcm0:    +-  nid: 12 index:  0           mute: 0 step:   4 size:  39 
off:   0 di
r=0x1
pcm0:
pcm0: Line-in Volume (OSS: line)
pcm0:    |
pcm0:    +-  nid: 12 index:  0           mute: 0 step:   4 size:  39 
off:   0 di
r=0x1
pcm0:
pcm0: Recording Level (OSS: rec)
pcm0:    |
pcm0:    +-  nid: 10 index:  0           mute: 1 step:  15 size:   5 
off:   0 di
r=0x1
pcm0:
pcm0: Speaker/Beep (OSS: speaker)
pcm0:    |
pcm0:    +-  nid: 20 index:  0           mute: 1 step:   3 size:  23 
off:   3 di
r=0x1
pcm0:
pcm0: Recording sources:
pcm0:
pcm0:     nid=12 [audio selector]
pcm0:       |
pcm0:       + <- nid=16 [pin: Mic in (jack)] [recsrc: vol, mic]
pcm0:       |
pcm0:       + <- nid=15 [pin: Mic in (fixed)]
pcm0:       |
pcm0:       + <- nid=14 [pin: speaker (fixed)]
pcm0:       |
pcm0:       + <- nid=13 [pin: headphones out (jack)]
pcm0:       |
pcm0:       + <- nid=18 [pin: CD (none)]
pcm0:
pcm0: +--------------------------------------+
pcm0: | DUMPING PCM Playback/Record Channels |
pcm0: +--------------------------------------+
pcm0:
pcm0:    PCM Playback: 1
pcm0:      Stream cap: 0x00000001
pcm0:          Format: PCM
pcm0:         PCM cap: 0x000e07e0
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 11 16 22 32 44 48
pcm0:
pcm0:      PCM Record: 1
pcm0:      Stream cap: 0x00000001
pcm0:          Format: PCM
pcm0:         PCM cap: 0x000e07e0
pcm0:        PCM size: 16 20 24
pcm0:        PCM rate: 11 16 22 32 44 48

------------------------------

Kevin Kramer
Sr. Systems Administrator
512.418.5725
Centaur Technology, Inc.
www.centtech.com



Ariff Abdullah wrote the following on 09/11/06 09:42:
> On Mon, 11 Sep 2006 09:09:24 -0500
> Kevin Kramer <kramer at centtech.com> wrote:
>   
>> i have tinkered a bit with this and i'm getting very loud output.
>> i've  got the /us/sbin/mixer set to 0:0
>>
>> using gzine with it's mixer/amplifier set to 0. if i move the gxine 
>> amplifier setting to 1.0 and the gxine volume to 1.0, i get what i
>> would  expect. but when i move the volume back to 0.0, it does not
>> reduce. the  volume changes do change the /usr/sbin/mixer settings
>> as expected. now  with the gxine volume still at 0.0, the default
>> gxine amplifier setting  was 100, now when i go to 10.0 it is too
>> loud for my laptop. i was using  the hacked hdac.ko driver prior to
>> this and gxine worked fine.
>>
>> i almost blew my laptop (Latitude D820) speakers when the mixer was
>> at 75:75
>>
>>     
> Thanks, but I'm sorry, this is not enough. I need your verbose
> dmesg.
>
> http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-September/004720.html
>
> [...]
>   
>> i don' have a hint.pcm.0.softpcmvol sysctl 
>>
>>     
> It is not sysctl. It is kernel hint. use kenv(8) to set it (reload
> the module), or put it in /boot/device.hints (need a reboot).
>
>
> --
> Ariff Abdullah
> FreeBSD
>   


More information about the freebsd-multimedia mailing list