Turns out hda-verb is somewhat "out of my league". This is what I came up with, but I'm not sure what PARAMETER I should use in order to get something useful, I'm actually not sure if it's the correct nid either. If you could point me (even more) in the correct direction that'd be good, so that I can confirm it.
# hda-verb /dev/snd/hwC2D0 0x0 GET_PIN_SENSE VENDOR_ID
It seems odd that the driver isn't sending monitor_present true, since it very much is present, and used. Then again fglrx aren't the nicest drivers to work with.
On 8 August 2011 11:52, Takashi Iwai tiwai@suse.de wrote:
At Mon, 8 Aug 2011 11:32:43 +0200, Andrée 'Glaucous' wrote:
/proc/asound/Generic/codec#0
Codec: ATI R6xx HDMI Address: 0 AFG Function Id: 0x1 (unsol 0) Vendor Id: 0x1002aa01 Subsystem Id: 0x00aa0100 Revision Id: 0x100200 No Modem Function Group found Default PCM: rates [0x70]: 32000 44100 48000 bits [0x2]: 16 formats [0x5]: PCM AC3 Default Amp-In caps: N/A Default Amp-Out caps: N/A GPIO: io=0, o=0, i=0, unsolicited=0, wake=0 Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital Control: name="IEC958 Playback Con Mask", index=0, device=0 Control: name="IEC958 Playback Pro Mask", index=0, device=0 Control: name="IEC958 Playback Default", index=0, device=0 Control: name="IEC958 Playback Switch", index=0, device=0 Device: name="HDMI 0", type="HDMI", device=3 Converter: stream=1, channel=0 Digital: Enabled Digital category: 0x0 Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital Pincap 0x00000094: OUT Detect HDMI Pin Default 0x18560010: [Jack] Digital Out at Int HDMI Conn = Digital, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT Unsolicited: tag=03, enabled=1 Connection: 1 0x02 <<
Since it's R6xx, it should be processed by patch_generic_hdmi().
patch_hdmi.c ..
id = 0x1002aa01, .name = "R6xx HDMI", .patch = patch_generic_hdmi <<
Although this might not be proof enough, how best would I debug and check if it's using patch_generic_hdmi?
Don't worry, if it has ELD file, it alone means it's generic-HDMI parser.
I also checked the ELD, while outputting video to HDMI (to make sure it's enabled) to the screen.
(Generic is symlink to card2)
/proc/asound/Generic/eld#0.0
monitor_present 0 eld_valid 1 monitor_name connection_type HDMI eld_version [0x0] reserved edid_version [0x0] no CEA EDID Timing Extension block present manufacture_id 0x0 product_id 0x0 port_id 0x0 support_hdcp 0 support_ai 0 audio_sync_delay 0 speakers [0x0] sad_count 0 <<
It seems to think that it's valid at least, but I doesn't seem to output any information about it (speaker count etc).
The monitor isn't present, so it seems that it didn't get ELD info. The information is taken from the pin-sense verb, so you can even get it externally via hda-verb for confirming whether the information is correct or not.
Takashi