1. 28 6月, 2013 1 次提交
  2. 25 6月, 2013 1 次提交
    • T
      ALSA: hda - Add auto_mute_via_amp flag to generic parser · 7eebffd3
      Takashi Iwai 提交于
      Add a new flag, auto_mute_via_amp, to determine the behavior of the
      headphone / line-out auto-mute.  When this flag is set, the generic
      driver mutes the speaker and line outputs via the amp mute of each
      pin, instead of changing the pin control values.
      
      This is introduced for devices that don't work expectedly with the pin
      control values; for example, some devices are known to keep enabling
      the speaker outputs no matter which pin control values are set on the
      speaker pins.
      
      The driver doesn't check actually whether the pins have the output amp
      caps, but assumes that the proper mixer (mute) controls are created on
      all these pins.  If not the case, you can't use this flag for your
      device.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7eebffd3
  3. 03 6月, 2013 3 次提交
    • T
      ALSA: hda/via - Clean up duplicated codes · 963afde9
      Takashi Iwai 提交于
      The previous commit was written in the way to make the backport to
      3.9.y easier, and left the duplicated open codes intentionally.
      Now let's clean up the duplicated codes.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      963afde9
    • T
      ALSA: hda - Add keep_eapd_on flag to generic parser · 05909d5c
      Takashi Iwai 提交于
      VT1802 codec seems to reset EAPD of other pins in the hardware level,
      and this was another reason of the silent headphone output on some
      machines.  As a workaround, introduce a new flag indicating to keep
      the EPAD on to the generic parser, and set it in patch_via.c.
      Reported-by: NAlex Riesen <raa.lkml@gmail.com>
      Cc: <stable@vger.kernel.org> [v3.9]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      05909d5c
    • T
      ALSA: hda - Allow setting automute/automic hooks after parsing · 77afe0e9
      Takashi Iwai 提交于
      Some codec drivers (VIA codecs and some Realtek fixups) set the
      automute and automic hooks after calling
      snd_hda_gen_parse_auto_config().  In the current code, the hook
      pointers are referred only in snd_hda_gen_parse_auto_config() and
      passed to snd_hda_jack_detect_enable_callback(), thus changing the
      hook values won't change the actually called callbacks properly.
      
      This patch fixes this bug by setting the static functions as the
      primary callback functions for the jack detection, and let them
      calling the appropriate hooks dynamically.
      
      Cc: <stable@vger.kernel.org> [v3.9]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      77afe0e9
  4. 16 5月, 2013 1 次提交
  5. 16 4月, 2013 2 次提交
    • T
      ALSA: hda - Use the primary DAC for all aamix outputs · 5ead56f2
      Takashi Iwai 提交于
      When setting up the aamix output paths, use the primary DAC instead of
      the individual DAC for each output as default.  Otherwise multiple
      DACs will be turned on for a single aamix widget, which results in
      doubly or more volumes, because the duplicated signals will be sent
      through all these DACs for a single stream.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5ead56f2
    • T
      ALSA: hda - Fix aamix activation with loopback control on VIA codecs · 65033cc8
      Takashi Iwai 提交于
      When we have a loopback mixer control, this should manage the state
      whether the output paths include the aamix or not.  But the current
      code blindly initializes the output paths with aamix = true, thus the
      aamix is enabled unless the loopback mixer control is changed.
      
      Also, update_aamix_paths() called by the loopback mixer control put
      callback invokes snd_hda_activate_path() with aamix = true even for
      disabling the mixing.  This leaves the aamix path even though the
      loopback control is turned off.
      
      This patch fixes these issues:
      - Introduced aamix_default() helper to indicate whether with_aamix is
        true or false as default
      - Fix the argument in update_aamix_paths() for disabling loopback
      Reported-by: NLydia Wang <LydiaWang@viatech.com.cn>
      Cc: <stable@vger.kernel.org> [v3.9+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      65033cc8
  6. 11 4月, 2013 2 次提交
  7. 05 4月, 2013 1 次提交
  8. 22 3月, 2013 3 次提交
  9. 18 3月, 2013 1 次提交
  10. 11 3月, 2013 1 次提交
  11. 08 3月, 2013 5 次提交
  12. 13 2月, 2013 1 次提交
    • T
      ALSA: hda - Increase badness for missing multi-io · 1d739066
      Takashi Iwai 提交于
      The current badness value used for the missing multi-io seems too
      weak, and the multi-io tends to be skipped for desktop configurations
      when no enough DACs are available.  It's because the total badness of
      the multi-io becomes often larger than the badness with assigning an
      individual DAC to a headphone jack.  This is good for one side, but it
      seems that the surround outputs are more demanded by that.
      
      This patch increases the badness value for the missing multi-io
      slightly so that the multi-io would be preferred than the individual
      headphone DAC if they conflict.  Through the tests with hda-emu,
      mostly only desktop configurations with ALC662/663 and CMI codecs are
      affected by this change, and all look reasonable.
      Reported-by: NRaymond Yau <superquad.vortex2@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1d739066
  13. 07 2月, 2013 2 次提交
  14. 26 1月, 2013 1 次提交
    • T
      ALSA: Make snd_printd() and snd_printdd() inline · 86b27237
      Takashi Iwai 提交于
      Because currently snd_printd() and snd_printdd() macros are expanded
      to empty when CONFIG_SND_DEBUG=n, a compile warning like below
      appears sometimes, and we had to covert it by ugly ifdefs:
        sound/pci/hda/patch_sigmatel.c: In function ‘stac92hd71bxx_fixup_hp’:
        sound/pci/hda/patch_sigmatel.c:2434:24: warning: unused variable ‘spec’ [-Wunused-variable]
      
      For "fixing" these issues better, this patch replaces snd_printd() and
      snd_printdd() definitions with empty inline functions instead of
      macros.  This should have the same effect but shut up warnings like
      above.
      
      But since we had already put ifdefs, changing to inline functions
      would trigger compile errors.  So, such ifdefs is removed in this
      patch.
      
      In addition, snd_pci_quirk name field is defined only when
      CONFIG_SND_DEBUG_VERBOSE is set, and the reference to it in
      snd_printdd() argument triggers the build errors, too.  For avoiding
      these errors, introduce a new macro snd_pci_quirk_name() that is
      defined no matter how the debug option is set.
      Reported-by: NStratos Karafotis <stratosk@semaphore.gr>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      86b27237
  15. 25 1月, 2013 1 次提交
  16. 24 1月, 2013 3 次提交
  17. 22 1月, 2013 5 次提交
  18. 21 1月, 2013 5 次提交
  19. 18 1月, 2013 1 次提交
    • T
      ALSA: hda - Fix the wrong adc_idx for capture source · 2a8d5391
      Takashi Iwai 提交于
      The patch "ALSA: hda - fix wrong adc_idx in generic parser" fixed the
      adc_idx for the capture volume and capture switch controls.  But also
      modified the adc_idx retrieval for the capture source controls
      wrongly.  As multiple capture source controls are created in a single
      shot with counts > 1, the id.index doesn't contain the real value.
      The real index has to be taken via snd_ctl_get_ioffidx() as in the
      original code.
      
      This patch reverts the fixes partially to recover from the
      regression.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2a8d5391