[Intel-gfx] HDMI Audio Channels mis-detected on i915
Jeremy Bush
contractfrombelow at gmail.com
Mon May 23 15:39:06 CEST 2011
On May 23, 2011, at 8:32 AM, Wu Fengguang wrote:
> Hi Jeremy,
>
>> I have my machine hooked up to an Onkyo TX-SR607 7.2-Channel receiver. Yet when the machine boots, HDMI detection mis-detects the hardware on the other end of the HDMI cable:
>>
>> [ 2.090473] HDMI: detected monitor at connection type HDMI
>> [ 2.090475] HDMI: available speakers: FL/FR
>> [ 2.090477] HDMI: supports coding type LPCM: channels = 2, rates = 44100 48000 88200, bits = 16
>> [ 2.090480] HDMI hot plug event: Pin=6 Presence_Detect=1 ELD_Valid=1
>
> That information is filled by BIOS or VBIOS. There are 3 possibilities
> 1) BIOS provides some dumb EDID-Like Data (ELD) regardless of the HDMI sink
> 2) BIOS does not parse EDID correctly
> 3) your TX-SR607 EDID data is broken
>
> I'm writing a drm patch to do ELD for audio in the graphics driver,
> which will address problems caused by (1) and (2). I've done the
> scratch patch, but will need more tests before sending it out.
>
> For now you may still manually correct ELD with this command:
>
> echo speakers 0 > '/proc/asound/card0/eld#3.0'
>
> By clearing the speakers setting, the audio driver will assume your
> HDMI sink supports all speakers.
Hrm, just tried that, but speaker-test is still failing:
htpc ~ # echo speakers 0 > /proc/asound/card1/eld#3.0
htpc ~ # cat /proc/asound/card1/eld#3.0
monitor_present 1
eld_valid 1
monitor_name
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0x0
product_id 0x0
port_id 0x0
support_hdcp 1
support_ai 0
audio_sync_delay 0
speakers [0x0]
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0xe0] 44100 48000 88200
sad0_bits [0x20000] 16
htpc ~ # speaker-test -c 8 -t wav
speaker-test 1.0.23
Playback device is default
Stream parameters are 48000Hz, S16_LE, 8 channels
WAV file(s)
Channels count (8) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument
>
>> You can see my whole alsa info (including it actually detecting the hardware can do 7.1 [note Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP]) here: http://www.alsa-project.org/db/?f=5b55a63fea6580dfcbf1a85c7c734f977df798f1
>
> This is the Intel HDMI port's audio capability and is always
> 8-channels. In contrast the ELD describes how many speakers (and hence
> channels) are attached to the HDMI sink device (TX-SR607 in your case).
>
>> Is this a known problem?
>>
>> My machine specs are as follows:
>>
>> Intel i3 2100T
>> MSI H67MA-E45 (with Realtek ALC892 audio chip)
>>
>> I'm using HDMI output only.
>
> Will you try the above workaround command first? For the long term
> solution, if you are ready to compile new kernels, I can send you the
> patch for testing.
I'm running gentoo, so I compile kernels regularly :)
Jeremy
More information about the Intel-gfx
mailing list