1. Oct 25, 2013
    • Anssi Hannula's avatar
      ALSA: hda - hdmi: Add HBR bitstreaming support for ATI/AMD HDMI codecs · 461cf6b3
      Anssi Hannula authored
      ATI/AMD HDMI codecs do not include standard HDA HDMI HBR support (which
      is required for bitstreaming DTS-HD and Dolby TrueHD), instead they have
      custom verbs for checking and enabling it.
      
      Add support for the ATI/AMD HDMI HBR verbs.
      
      The specification is available at:
      http://www.x.org/docs/AMD/AMD_HDA_verbs_v2.pdf
      
      
      
      v2: adapted to hdmi_ops infrastructure
      
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
      Tested-by: Peter Frühberger <fritsch@xbmc.org> # v1
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      461cf6b3
    • Anssi Hannula's avatar
      ALSA: hda - hdmi: Add ELD emulation for ATI/AMD codecs · 89250f84
      Anssi Hannula authored
      ATI/AMD HDMI/DP codecs do not include standard HDA ELD (EDID-like data)
      support.
      
      In place of providing access to an ELD buffer, various vendor-specific
      verbs are provided to provide the relevant information. Revision ID 3
      and later (0x100300 as reported by procfs codec#X) have support for
      providing more information than the previous revisions (but only if
      supported by the display driver).
      
      Generate ELD from the information provided by the vendor-specific verbs
      on ATI/AMD codecs.
      
      The specification is available at:
      http://www.x.org/docs/AMD/AMD_HDA_verbs_v2.pdf
      
      
      
      v2: moved code to hda_eld.c and cleaned it up
      v3: adapted to hdmi_ops infrastructure
      
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
      Tested-by: Peter Frühberger <fritsch@xbmc.org> # v2
      Tested-by: Olivier Langlois <olivier@trillion01.com> # v2
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      89250f84
    • Anssi Hannula's avatar
      ALSA: hda - hdmi: Add ATI/AMD multi-channel audio support · 5a613584
      Anssi Hannula authored
      ATI/AMD codecs do not support all the standard HDA HDMI/DP functions,
      instead various vendor-specific verbs are provided.
      
      This commit addresses these missing functions:
      - standard channel mapping support
      - standard infoframe configuration support
      
      ATI/AMD provides their own verbs that allow the following:
      - setting CA for infoframe
      - setting down-mix information for infoframe
      - channel pair remapping
      - individual channel remapping (revision ID 3+, 0x100300+)
      
      The documentation for the verbs has now been released by AMD:
      http://www.x.org/docs/AMD/AMD_HDA_verbs_v2.pdf
      
      
      
      Add support for the ATI/AMD specific verbs and use them instead of the
      generic methods on ATI/AMD codecs. This allows multi-channel PCM audio
      to work.
      
      Channel remapping is restricted to pairwise mapping on codecs with
      revision ID 2 (0x100200 as reported by procfs codec#X) or lower. This
      means cards up to Radeon HD7670 as far as I know. This will not affect
      standard multi-channel modes since these codecs support automatic
      FC-LFE swapping for HDMI.
      
      ATI/AMD codecs do not advertise all of their supported rates, formats
      and channel counts, therefore that information is forced accordingly so
      that all HDMI 1.x PCM parameters are marked as supported.
      
      Support for multiple ports is also added to patch_atihdmi so that
      0x1002aa01 codecs with multiple ports will work properly when switched
      back to that patch.
      
      v2: splitted ELD emulation to a separate patch, tlv fixes
      v3: adapted to the new hdmi_ops infrastructure, fixed rev3+ vendor id
      
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
      Tested-by: Peter Frühberger <fritsch@xbmc.org> # v2
      Tested-by: Olivier Langlois <olivier@trillion01.com> # v2+rev3fix
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5a613584
    • Anssi Hannula's avatar
      ALSA: hda - hdmi: Allow HDA patches to customize more operations · 307229d2
      Anssi Hannula authored
      
      
      Upcoming AMD multichannel support requires many customized operations
      (channel mapping, ELD, HBR) but can otherwise share most of its code
      with the generic patch.
      
      Add a local struct hdmi_ops containing customizable HDMI-specific
      callbacks and move the current code to those callbacks. Functionality is
      unaltered.
      
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      307229d2
  2. Oct 24, 2013
  3. Oct 22, 2013
  4. Oct 21, 2013