From owner-freebsd-multimedia@FreeBSD.ORG Sat Jan 14 02:28:55 2012 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1B9F106564A; Sat, 14 Jan 2012 02:28:55 +0000 (UTC) (envelope-from schnell@s-tlk.org) Received: from mail.s-tlk.org (s-tlk.org [178.63.70.119]) by mx1.freebsd.org (Postfix) with ESMTP id 40ED88FC0A; Sat, 14 Jan 2012 02:28:54 +0000 (UTC) Received: from [10.0.3.6] (unknown [10.0.3.6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.s-tlk.org (Postfix) with ESMTPSA id 503BFAE0D9E; Sat, 14 Jan 2012 03:10:50 +0100 (CET) Date: Sat, 14 Jan 2012 03:10:44 +0100 (CET) From: Michael Schnell X-X-Sender: michi@priv.s-tlk.org To: Yuri Pankov In-Reply-To: <20120112130404.GD1429@procyon.xvoid.org> Message-ID: References: <4F0DE3FD.2020203@FreeBSD.org> <20120112121853.GC1429@procyon.xvoid.org> <4F0ED8D0.8080403@FreeBSD.org> <20120112130404.GD1429@procyon.xvoid.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-multimedia@freebsd.org, Alexander Motin , FreeBSD current Subject: Re: [RFT] Major snd_hda rewrite X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jan 2012 02:28:55 -0000 On Thu, 12 Jan 2012, Yuri Pankov wrote: > On Thu, Jan 12, 2012 at 02:57:52PM +0200, Alexander Motin wrote: >> On 01/12/12 14:18, Yuri Pankov wrote: >>> On Wed, Jan 11, 2012 at 09:33:17PM +0200, Alexander Motin wrote: >>>> I would like request for testing of my work on further HDA sound driver >>>> improvement. >>> [...] >>>> 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. >>> >>> Patch applied cleanly to r230008 using `svn patch`. >>> >>> hdacc0: at cad 0 on hdac0 >>> hdaa0: at nid 1 on hdacc0 >>> pcm0: at nid 5 on hdaa0 >>> hdacc1: at cad 1 on hdac0 >>> hdaa1: at nid 1 on hdacc1 >>> pcm1: at nid 5 on hdaa1 >>> hdacc2: at cad 2 on hdac0 >>> hdaa2: at nid 1 on hdacc2 >>> pcm2: at nid 5 on hdaa2 >>> hdacc3: at cad 3 on hdac0 >>> hdaa3: at nid 1 on hdacc3 >>> pcm3: at nid 5 on hdaa3 >>> hdacc4: at cad 0 on hdac1 >>> hdaa4: at nid 1 on hdacc4 >>> pcm4: at nid 13 and 11 on hdaa4 >>> pcm5: at nid 15 and 24 on hdaa4 >>> pcm6: at nid 30 on hdaa4 >>> >>> pcm4 (builtin speakers) and pcm5 (headphones) seem to work fine, however >> >> Thank you. >> >>> I'm not getting anything out of pcm0-pcm3 (connected to a TV via HDMI), >>> mplayer just pauses at the beggining, trying to cat anything to >>> /dev/dsp{0-3}.0 gives: >>> >>> pcm0: chn_write(): pcm0:virtual:dsp0.vp0: play interrupt timeout, channel dead >>> >>> It was the same with the old driver and I'm not sure if it's (most >>> likely) my misconfiguration or a driver problem. >> >> It sounds more like a driver problem. HDMI audio is still not very well >> discovered area, and, according to ALSA reading, NVidia HDMI is also not >> very standard. Probably I'll finally have to buy something to >> experiment. What card do you have? > > It's a laptop with "nVidia Corporation GT216 [GeForce GT 230M]" (as > identified by x11/nvidia-driver). > > The verbose dmesg is at: > > https://www.xvoid.org/stuff/spica.dmesg I had the same problem for some time and I was going over the code and honestly I took some inspiration of how the linux kernel handle this and added some quirks to the code to get it working. However, after some time I realize that a sysctl dev.hdac..0.polling=1 will do something similar and this also works for me. I don't think this polling mechanism is a good idea, better would be some interrupt for state updates but anyway, I was glad that I can here (digital) music over my receiver with my laptop. I have an NVS 3100M graphic card and it is connected over a (fragile) Displayport-HDMI adapter. I would gladly test this with Alexanders patch, but I only have an 9.0-RELEASE and I already tried to port the patch back, but this would take some effort. In addition this is my production system and I already messed it up enough. ;) Greetings Michael