On Mon, Oct 7, 2013 at 8:45 AM, Jethro Beekman dri-devel@jbeekman.nl wrote:
On 06-10-13 15:00, Dave Airlie wrote:
On Mon, Oct 7, 2013 at 7:04 AM, Jethro Beekman dri-devel@jbeekman.nl wrote:
Even with Dave Airlie's recent patch set ( http://lists.freedesktop.org/archives/dri-devel/2013-August/042854.html ), I'm still having trouble getting HDMI audio to work on my optimus laptop. I'm running Linux 3.12.0-rc3 on a Lenovo ThinkPad T420s. When I set my BIOS graphics option to 'Discrete', I get the following two devices in lspci:
01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [Quadro NVS 4200M] (rev a1) 01:00.1 Audio device: NVIDIA Corporation HDMI Audio stub (rev a1)
When I set the option to 'Optimus', the 01:00.1 device disappears completely. This is dmesg when loading nouveau in the Optimus configuration:
pci 0000:01:00.0: optimus capabilities: enabled, status dynamic power, hda bios codec supported VGA switcheroo: detected Optimus DSM method _SB_.PCI0.PEG_.VID_ handle [drm] hdmi device not found 1 0 1
I modified snd-hda-intel to report which devices it's probing, this is the only one that shows up:
hda-intel: azx_probe: 0000:00:1b.0
Any ideas what's going on?
Wierd, I wonder does it route the codecs via the other device, though I can't remember how to see what codecs are available.
/proc/asound/card0/ lists only a single codec which is for analog i/o.
The other thing would be to try and hack on the hdmi stub using the code in my patches that does it after s/r but do it at startup.
Could you be a little more specific? I tried moving nouveau_get_hdmi_dev() later so we have drm->device setup and then adding the 'do magic' nv_mask() call before that. That's either not working or something more needs to happen to make it work.
yeah doing the do magic might not work though since Linux would have to rescan the PCI bus for the hdmi driver to detect it, I wonder can you poke registers from grub, or maybe geneate some sort of pci hotplug even so the other layers notice.
Dave.