1. 03 Sep, 2013 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Re-setup HDMI pin and audio infoframe on stream switches · b054087d
      Takashi Iwai authored
      When the transcoder:port mapping on Haswell HDMI/DP audio is changed
      during the stream playback, the sound gets lost.  Typically this
      problem is seen when the user switches the graphics mode from eDP+DP
      to DP-only configuration, where CRTC 1 is used for DP in the former
      while CRTC 0 is used for the latter.
      
      The graphics controller notifies the change via the normal ELD update
      procedure, so we get the intrinsic event.  For enabling the sound
      again, the HDMI audio driver needs to reset the pin and set up the
      audio infoframe again.
      
      This patch achieves it by:
      - keep the current status of channels and info frame setup in per_pin
        struct,
      - check the reconnection in the intrinsic event handler,
      - reset the pin and the re-invoke hdmi_setup_audio_infoframe()
        accordingly.
      
      The hdmi_setup_audio_infoframe() function has been changed, too, so
      that it can be invoked without passing the substream instance.
      
      The patch is mostly based on the work by Mengdong Lin.
      
      Cc: Mengdong Lin <mengdong.lin@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b054087d
  2. 02 Sep, 2013 2 commits
    • Takashi Iwai's avatar
      Merge tag 'asoc-v3.12-3' of... · c8ead415
      Takashi Iwai authored
      Merge tag 'asoc-v3.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
      
      ASoC: Final updates for v3.12
      
      A few final updates for v3.12 - some cleanups, a bug fix for ssm2602,
      pop removal for rt5640 and fixes for the reporting of unidirectional
      links in the MXS SGTL5000 driver.
      c8ead415
    • Anssi Hannula's avatar
      ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA · 18e39186
      Anssi Hannula authored
      hdmi_channel_allocation() tries to find a HDMI channel allocation that
      matches the number channels in the playback stream and contains only
      speakers that the HDMI sink has reported as available via EDID. If no
      such allocation is found, 0 (stereo audio) is used.
      
      Using CA 0 causes the audio causes the sink to discard everything except
      the first two channels (front left and front right).
      
      However, the sink may be capable of receiving more channels than it has
      speakers (and then perform downmix or discard the extra channels), in
      which case it is preferable to use a CA that contains extra channels
      than to use CA 0 which discards all the non-stereo channels.
      
      Additionally, it seems that HBR (HD) passthrough output does not work on
      Intel HDMI codecs when CA is set to 0 (possibly the codec zeroes
      channels not present in CA). This happens with all receivers that report
      a 5.1 speaker mask since a HBR stream is carried on 8 channels to the
      codec.
      
      Add a fallback in the CA selection so that the CA channel count at least
      matches the stream channel count, even if the stream contains channels
      not present in the sink speaker descriptor.
      
      Thanks to GrimGriefer at OpenELEC forums for discovering that changing
      the sink speaker mask allowed HBR output.
      
      Reported-by: GrimGriefer
      Reported-by: Ashecrow
      Reported-by: default avatarFrank Zafka <kafkaesque1978@gmail.com>
      Reported-by: default avatarPeter Frühberger <fritsch@xbmc.org>
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      18e39186
  3. 01 Sep, 2013 7 commits
  4. 31 Aug, 2013 4 commits
  5. 30 Aug, 2013 15 commits
  6. 29 Aug, 2013 5 commits
  7. 27 Aug, 2013 6 commits