1. 07 9月, 2013 2 次提交
  2. 06 9月, 2013 1 次提交
    • T
      ALSA: hda - Add dock speaker support for ASUS TX300 · 7bba2157
      Takashi Iwai 提交于
      ASUS TX300 has a built-in speaker in the tablet part and in the dock
      part, and the tablet speaker is supposed to be unused while the
      machine is docked.  The current HD-audio driver, however, doesn't
      support the dock speaker, partly because BIOS doesn't set up the pin
      for the corresponding output.
      
      But, not only the missing pin config, also the missing unsol event
      handling is another issue.  Otherwise the automatic switching via
      dock/undock won't work.
      
      Through debugging sessions, we found out that the dock speaker pin is
      NID 0x1b, and it generates an unsol event at docking/undocking, the
      docking state can be inquired via the normal pin detection verb.
      Also, it's turned out that GPIO 2 is needed as an amp.  So, all
      materials are ready to cook.
      
      This patch provides the basic dock speaker support with TX300:
      - The dock speaker is turned on/off via "Dock Speaker" mixer mute.
      - The dock speaker is automatically muted when docked.  This is
        independently from the mixer mute switch, just like the headphone
        auto-mute function.
      
      The implementation is a bit tricky.  Since we want to handle it as a
      secondary speaker, we set it up a pin as a speaker with a jack
      detection.  Then, the fixup function registers the own unsol callback
      for this pin because the standard automute can't handle the thing like
      a "speaker jack".  In the own automute hook, we apply the mute of the
      tablet speaker in addition by checking the dock state.
      
      Also, the speaker control names are slightly shuffled because the
      generic parser doesn't give good names but blindly assumes a bass
      speaker as a secondary speaker.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59791Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7bba2157
  3. 03 9月, 2013 1 次提交
    • T
      ALSA: hda - Re-setup HDMI pin and audio infoframe on stream switches · b054087d
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      b054087d
  4. 02 9月, 2013 6 次提交
  5. 01 9月, 2013 4 次提交
    • F
      ASoC: mxs-sgtl5000: Configure the dai_links as unidirectional · a90e6053
      Fabio Estevam 提交于
      On a mx28 board, running "aplay -l" and "arecord -l" results in the following:
      
      $ aplay -l
      **** List of PLAYBACK Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 0: Playback sgtl5000-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 0: mxssgtl5000 [mxs_sgtl5000], device 1: Capture sgtl5000-1 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      $ arecord -l
      **** List of CAPTURE Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 0: Playback sgtl5000-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 0: mxssgtl5000 [mxs_sgtl5000], device 1: Capture sgtl5000-1 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      ,which is not correct because we got a capture device listed in aplay and a
      playback device listed in arecord.
      
      On mx28 there are two serial audio interface ports (SAIF0 and SAIF1) and each
      one of them are unidirectional.
      
      Allow to specify a dai link as 'playback_only' or 'capture_only', which suits
      well for this case.
      
      After this change we can correctly report the capabilities as follows:
      
      $ aplay -l
      **** List of PLAYBACK Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 0: HiFi Playback sgtl5000-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      $ arecord -l
      **** List of CAPTURE Hardware Devices ****
      card 0: mxssgtl5000 [mxs_sgtl5000], device 1: HiFi Capture sgtl5000-1 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      Also tested playback and capture on the mx28evk board.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      a90e6053
    • F
      ASoC: soc-pcm: Allow to specify unidirectional dai_link · d6bead02
      Fabio Estevam 提交于
      Add 'playback_only' and 'capture_only' fields that can be used for specifying
      that a dai_link has a unidirectional capability.
      
      The motivation for this is for the cases of systems, such as Freescale MX28,
      that has two unidirectional DAIs.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      d6bead02
    • M
      6b4c80f9
    • L
      ASoC: ssm2602: Fix cache sync · 9d863b88
      Lars-Peter Clausen 提交于
      The ssm2602 uses regmap for caching not soc-cache, so we need to use
      regcache_sync() instead of snd_soc_cache_sync().
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      9d863b88
  6. 31 8月, 2013 5 次提交
  7. 30 8月, 2013 14 次提交
  8. 29 8月, 2013 4 次提交
  9. 28 8月, 2013 1 次提交
  10. 27 8月, 2013 2 次提交