88addcbe26
- Enable and handle unsolicited responses from digital display pins, reporting connection and EDID-Like Data (ELD) validity status changes. - Fetch ELD data, describing connected digital display device audio capabilities. These data not really used at the moment (user is not denied to use audio formats not supported by the device), only printed to verbose logs. But they are useful for debugging. The fact that ELD was received tells that HDMI link was established and video driver enabled HDMI audio passthrough. Some old chips may not return ELD, so lack of it is not necessary a problem. - Add some more points to CODEC configuration sequence: - For converter widgets, supporting more then two channels (HDMI/DP converter widgets support 8), set number of channels to handle. - For digital display pins (HDMI/DP) fill audio infoframe, reporting connected device about number of channels and speakers allocation. - For digital display pins (HDMI/DP) set mapping between channels seen by software and channels transferred via HDMI/DisplayPort. - Allow more audio formats, not used for analog connections because of stereo pairs orientation, but easily applicable to HDMI/DisplayPort: 2.1, 3.0, 3.1, 4.1, 5.0, 6.0, 6.1, 7.0. That list may be filtered later using info from ELD. - Disable MSI interrupts for NVIDIA HDA controllers before GT520. At this point I can successfully play audio over HDMI from NVIDIA GT210 and GT520 cards with nvidia-driver-290.10 driver to Marantz SR4001 receiver in 2.0, 2.1, 3.0, 4.0, 4.1, 5.0 and 5.1 PCM formats at 44, 48, 88 and 96KHz at 16 and 24 bits, same as do AC3/DTS passthrough. 6.0, 6.1, 7.0 and 7.1 PCM formats are not working for me, but I think it is because of receiver age. MFC after: 2 months Sponsored by: iXsystems, Inc. |
||
---|---|---|
.. | ||
hda | ||
als4000.c | ||
als4000.h | ||
atiixp.c | ||
atiixp.h | ||
aureal.c | ||
aureal.h | ||
cmi.c | ||
cmireg.h | ||
cs4281.c | ||
cs4281.h | ||
csa.c | ||
csapcm.c | ||
csareg.h | ||
csavar.h | ||
ds1-fw.h | ||
ds1.c | ||
ds1.h | ||
emu10k1.c | ||
emu10kx-midi.c | ||
emu10kx-pcm.c | ||
emu10kx.c | ||
emu10kx.h | ||
emuxkireg.h | ||
envy24.c | ||
envy24.h | ||
envy24ht.c | ||
envy24ht.h | ||
es137x.c | ||
es137x.h | ||
fm801.c | ||
ich.c | ||
ich.h | ||
maestro3.c | ||
maestro_reg.h | ||
maestro.c | ||
neomagic-coeff.h | ||
neomagic.c | ||
neomagic.h | ||
solo.c | ||
spicds.c | ||
spicds.h | ||
t4dwave.c | ||
t4dwave.h | ||
via82c686.c | ||
via82c686.h | ||
via8233.c | ||
via8233.h | ||
vibes.c | ||
vibes.h |