<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [NVC1] HDMI audio device only visible after rescan"
href="https://bugs.freedesktop.org/show_bug.cgi?id=75985#c78">Comment # 78</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [NVC1] HDMI audio device only visible after rescan"
href="https://bugs.freedesktop.org/show_bug.cgi?id=75985">bug 75985</a>
from <span class="vcard"><a class="email" href="mailto:lukas@wunner.de" title="Lukas Wunner <lukas@wunner.de>"> <span class="fn">Lukas Wunner</span></a>
</span></b>
<pre>(In reply to Daniel Drake from <a href="show_bug.cgi?id=75985#c77">comment #77</a>)
<span class="quote">> MLTF presumably means multifunction and it's exactly the bit we've been
> working with. But I haven't yet managed to get _PS0 to run this code. I get
> to the GGIV(0x01080001) call, but it returns 0, so the bit doesn't get set.
>
> I tried understanding what GGIV() does but nothing is clear there. It ends
> up reading bit 1 from physical memory address 0xfdac0408 which is under:
> pci_bus 0000:00: resource 21 [mem 0xfd000000-0xfe7fffff window]
> and I can't immediately spot any ACPI code that writes to that address.</span >
GGIV is a method name used by many vendors to read a GPIO pin. "Get GPIO Input
Value" or something like that.
Quite likely the GPIO pin in question is attached to HPD of an HDMI or DP port.
So if an external display is attached, GGIV(0x01080001) should return 1 and the
HDA is exposed, else it's hidden.
If the GPIO pin in question is on the PCH then you can download the spec for
the PCH from Intel's website to verify that the MMIO space at 0x01080001 is a
GPIO block. The GPIO pin could also be on the Nvidia card itself, in that case
physical address 0x01080001 would belong to a resource of the GPU's PCI device.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>