Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jan 2012 13:30:50 +0100
From:      Rainer Hurling <rhurlin@gwdg.de>
To:        Alexander Motin <mav@FreeBSD.org>
Cc:        freebsd-multimedia@FreeBSD.org, FreeBSD current <freebsd-current@freebsd.org>
Subject:   Re: [RFT] Major snd_hda rewrite
Message-ID:  <4F0ED27A.8070600@gwdg.de>
In-Reply-To: <4F0EC17B.8040908@FreeBSD.org>
References:  <4F0DE3FD.2020203@FreeBSD.org> <20120112115220.1c32b3e2@ernst.jennejohn.org> <4F0EC17B.8040908@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12.01.2012 12:18 (UTC+1), Alexander Motin wrote:
> On 01/12/12 12:52, Gary Jennejohn wrote:
>> On Wed, 11 Jan 2012 21:33:17 +0200
>> Alexander Motin<mav@FreeBSD.org> wrote:
>>> I would like request for testing of my work on further HDA sound driver
>>> improvement.
>>
>> [big snip]
>>
>>> Patch can be found here:
>>> http://people.freebsd.org/~mav/hda.rewrite.patch
>>>
>>> Patch was generated for 10-CURRENT, but should apply to fresh 9-STABLE
>>> and 8-STABLE branches also.
>>
>> The patch doesn't apply cleanly to r230008; hdac.c.rej is 15661 bytes
>> in size (mostly the section which deletes all the manufacturer-specific
>> defines at the top of the file).
>
> That is probably because of $FreeBSD$ macro resolution. Here is version
> with present value from 10-CURRENT SVN (sources from CVS or STABLE will
> need that patch line modified respectively) and some minor additional
> improvements like CODEC ODs and some more sysctls:
> http://people.freebsd.org/~mav/hda.rewrite2.patch


I just patched 10.0-CURRENT (amd64) r230009 against hda.rewrite2.patch. 
All went fine so far. My box is now running again with following messages:

hdacc0: <NVidia (Unknown) HDA CODEC> at cad 0 on hdac0
hdaa0: <NVidia (Unknown) HDA CODEC Audio Function Group> at nid 1 on hdacc0
pcm0: <NVidia (Unknown) HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa0
hdacc1: <NVidia (Unknown) HDA CODEC> at cad 1 on hdac0
hdaa1: <NVidia (Unknown) HDA CODEC Audio Function Group> at nid 1 on hdacc1
pcm1: <NVidia (Unknown) HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa1
hdacc2: <NVidia (Unknown) HDA CODEC> at cad 2 on hdac0
hdaa2: <NVidia (Unknown) HDA CODEC Audio Function Group> at nid 1 on hdacc2
pcm2: <NVidia (Unknown) HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa2
hdacc3: <NVidia (Unknown) HDA CODEC> at cad 3 on hdac0
hdaa3: <NVidia (Unknown) HDA CODEC Audio Function Group> at nid 1 on hdacc3
pcm3: <NVidia (Unknown) HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa3
hdacc4: <Realtek ALC892 HDA CODEC> at cad 0 on hdac1
hdaa4: <Realtek ALC892 HDA CODEC Audio Function Group> at nid 1 on hdacc4
pcm4: <Realtek ALC892 HDA CODEC PCM (Rear Analog 7.1/2.0)> at nid 
20,22,23,21 and 24,26 on hdaa4
pcm5: <Realtek ALC892 HDA CODEC PCM (Front Analog)> at nid 27 and 25 on 
hdaa4
pcm6: <Realtek ALC892 HDA CODEC PCM (Rear Digital)> at nid 30 on hdaa4
pcm7: <Realtek ALC892 HDA CODEC PCM (Onboard Digital)> at nid 17 on hdaa4

I am using pcm4 with 5.1 surround sound and pulseaudio. All seems to 
work fine :-)

The mainboard is an Asus M4A88TD-V EVO/USB3, the graphics card is a 
NVidia GeForce GTS 450. The Realtek ALC892 is regocnized by the driver, 
the NVidia HDMI sound device is not.

I am looking forward to the commit of this patch!


>> After fixing that per hand I was able to make a kernel with which sound
>> still works. Here the relevant bits from dmesg:
>>
>> hdac0:<NVidia (Unknown) HDA Controller> mem 0xfcffc000-0xfcffffff irq
>> 18 at device 0.1 on pci1
>> hdac1:<ATI SB600 HDA Controller> mem 0xfe024000-0xfe027fff irq 16 at
>> device 20.2 on pci0
>> hdacc0:<NVidia GT21x HDA CODEC> at cad 0 on hdac0
>> hdaa0:<NVidia GT21x HDA CODEC Audio Function Group> at nid 1 on hdacc0
>> pcm0:<NVidia GT21x HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa0
>> hdacc1:<NVidia GT21x HDA CODEC> at cad 1 on hdac0
>> hdaa1:<NVidia GT21x HDA CODEC Audio Function Group> at nid 1 on hdacc1
>> pcm1:<NVidia GT21x HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa1
>> hdacc2:<NVidia GT21x HDA CODEC> at cad 2 on hdac0
>> hdaa2:<NVidia GT21x HDA CODEC Audio Function Group> at nid 1 on hdacc2
>> pcm2:<NVidia GT21x HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa2
>> hdacc3:<NVidia GT21x HDA CODEC> at cad 3 on hdac0
>> hdaa3:<NVidia GT21x HDA CODEC Audio Function Group> at nid 1 on hdacc3
>> pcm3:<NVidia GT21x HDA CODEC PCM (DisplayPort 8ch)> at nid 5 on hdaa3
>> hdacc4:<Realtek ALC889A HDA CODEC> at cad 0 on hdac1
>> hdaa4:<Realtek ALC889A HDA CODEC Audio Function Group> at nid 1 on hdacc4
>> pcm4:<Realtek ALC889A HDA CODEC PCM (Rear Analog 7.1/2.0)> at nid
>> 20,22,21,23 and 24,26 on hdaa4
>> pcm5:<Realtek ALC889A HDA CODEC PCM (Front Analog)> at nid 27 and 25
>> on hdaa4
>> pcm6:<Realtek ALC889A HDA CODEC PCM (Rear Digital)> at nid 30 and 31
>> on hdaa4
>>
>> I particularly like that the messages now show which jack corresponds to
>> which pcm - makes deciding which jack to use much simpler.
>
> Thank you for the report.
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F0ED27A.8070600>