1. 08 May, 2012 1 commit
  2. 20 Apr, 2012 2 commits
    • Takashi Iwai's avatar
      ALSA: hda - Add snd_hda_get_default_vref() helper function · 4740860b
      Takashi Iwai authored
      
      
      Add a new helper function to guess the default VREF pin control bits
      for mic in.  This can be used to set the pin control value safely
      matching with the actual pin capabilities.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4740860b
    • Takashi Iwai's avatar
      ALSA: hda - Introduce snd_hda_set_pin_ctl*() helper functions · cdd03ced
      Takashi Iwai authored
      
      
      For setting the pin-control values more safely to match with the
      actual pin capability bits, a copule of new helper functions,
      snd_hda_set_pin_ctl() and snd_hda_set_pin_ctl_cache(), are
      introduced.  These are simple replacement of the codec verb write with
      AC_VERB_SET_PIN_WIDGET but do more sanity checks and filter out
      superfluous pin-control bits if they don't fit with the corresponding
      pin capabilities.
      
      Some codecs are screwed up or ignore the command when such a wrong bit
      is set.  These helpers will avoid such secret errors.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cdd03ced
  3. 19 Apr, 2012 2 commits
  4. 10 Apr, 2012 1 commit
  5. 07 Apr, 2012 6 commits
  6. 05 Apr, 2012 1 commit
  7. 13 Mar, 2012 2 commits
  8. 12 Mar, 2012 1 commit
  9. 02 Mar, 2012 1 commit
  10. 29 Feb, 2012 2 commits
    • Takashi Iwai's avatar
      ALSA: hda/conexant - Clear unsol events on unused pins · 07cafff2
      Takashi Iwai authored
      
      
      It seems that Lenovo machines (or codec chip itself?) leave the unsol
      event tags and the enablement-flag from other pins bogusly even on the
      unused pins.  Although this shouldn't be too critical, it's better to
      clear them up sanely.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      07cafff2
    • Takashi Iwai's avatar
      ALSA: hda - Add a fake mute feature · 3868137e
      Takashi Iwai authored
      Some codecs don't supply the mute amp-capabilities although the lowest
      volume gives the mute.  It'd be handy if the parser provides the mute
      mixers in such a case.
      
      This patch adds an extension amp-cap bit (which is used only in the
      driver) to represent the min volume = mute state.  Also modified the
      amp cache code to support the fake mute feature when this bit is set
      but the real mute bit is unset.
      
      In addition, conexant cx5051 parser uses this new feature to implement
      the missing mute controls.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42825
      
      
      
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3868137e
  11. 28 Feb, 2012 1 commit
  12. 21 Feb, 2012 1 commit
  13. 03 Feb, 2012 2 commits
  14. 02 Feb, 2012 1 commit
  15. 23 Jan, 2012 1 commit
  16. 10 Jan, 2012 1 commit
  17. 01 Dec, 2011 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Integrate input-jack stuff into kctl-jack · 31ef2257
      Takashi Iwai authored
      
      
      Instead of managing input-jack stuff separately, call all stuff inside
      the kctl-jack creation, deletion and report.  The caller no longer needs
      to care about input-jack.
      
      The better integration between input-jack and kctl-jack should be done
      in the upper layer in near future, but for now, it's implemented locally
      for more tests.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      31ef2257
  18. 16 Nov, 2011 4 commits
    • Takashi Iwai's avatar
      ALSA: hda - Merge input-jack helpers to hda_jack.c · aad37dbd
      Takashi Iwai authored
      
      
      We can use the very same table in hda_jack.c for managing the list for
      input-jack elements, too.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      aad37dbd
    • Takashi Iwai's avatar
      ALSA: hda - Manage unsol tags in hda_jack.c · 3a93897e
      Takashi Iwai authored
      
      
      Manage the tags assigned for unsolicited events dynamically together
      with the jack-detection routines.  Basically this is almost same as what
      we've done in patch_sigmatel.c.  Assign the new tag number for each new
      unsol event, associate with the given NID and the action type, etc.
      
      With this change, now all pins looked over in snd_hda_jack_add_kctls()
      are actually enabled for detection now even if the pins aren't used for
      jack-retasking by the driver.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3a93897e
    • Takashi Iwai's avatar
      ALSA: hda - Create jack-detection kcontrols · 01a61e12
      Takashi Iwai authored
      
      
      Create kcontrols for pin jack-detections, which work similarly like
      jack-input layer.  Each control will notify when the jack is plugged or
      unplugged, and also user can read the value at any time via the normal
      control API.
      
      The control elements are created with iface=CARD, so that they won't
      appear in the mixer apps.
      
      So far, only the pins that enabled the jack-detection are registered.
      For covering all pins, the transition of the common unsol-tag handling
      would be needed.  Stay tuned.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      01a61e12
    • Takashi Iwai's avatar
      ALSA: hda - Cache the jack-detection value · 1835a0f9
      Takashi Iwai authored
      
      
      Introduce a table containing the pins and their jack-detection states
      for avoiding the unnecessary verbs to check the pin status at each time.
      
      When the unsol event is enabled via snd_hda_jack_detect_enable(), it
      automatically adds the given NID to the table.  Then the driver supposes
      that the codec driver will set the dirty flag appropariately when an
      unsolicited event is invoked for that pin.
      
      The behavior for reading other pins that aren't registered in the table
      doesn't change.  Only the pins assigned to the table are cached, so far.
      
      In near futre, this table can be extended to use the central place for
      the unsolicited events of all pins, etc, and eventually include the
      jack-detect kcontrols that replace the current input-jack stuff.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      1835a0f9
  19. 09 Nov, 2011 1 commit
  20. 31 Oct, 2011 1 commit
  21. 27 Oct, 2011 2 commits
    • Takashi Iwai's avatar
      ALSA: hda - Fix ADC input-amp handling for Cx20549 codec · 6b452142
      Takashi Iwai authored
      
      
      It seems that Conexant CX20549 chip handle only a single input-amp even
      though the audio-input widget has multiple sources.  This has been never
      clear, and I implemented in the current way based on the debug information
      I got at the early time -- the device reacts individual input-amp values
      for different sources.  This is true for another Conexant codec, but it's
      not applied to CX20549 actually.
      
      This patch changes the auto-parser code to handle a single input-amp
      per audio-in widget for CX20549.  After applying this, you'll see only a
      single "Capture" volume control instead of separate "Mic" or "Line"
      captures when the device is set up to use a single ADC.
      
      We haven't tested 20551 and 20561 codecs yet.  If these show the similar
      behavior like 20549, they need to set spec->single_adc_amp=1, too.
      
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6b452142
    • Takashi Iwai's avatar
      ALSA: hda - Keep EAPD turned on for old Conexant chips · 254f2968
      Takashi Iwai authored
      
      
      In the old Conexant chips (5045, 5047, 5051 and 5066), a single EAPD
      may handle both headphone and speaker outputs while it's assigned only
      to one of them.  Turning off dynamically leads to the unexpected silent
      output in such a configuration with the auto-mute function.
      
      Since it's difficult to know how the EAPD is handled in the actual h/w
      implementation, better to keep EAPD on while running for such codecs.
      
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      254f2968
  22. 18 Oct, 2011 1 commit
    • Daniel Suchy's avatar
      ALSA: HDA: conexant support for Lenovo T520/W520 · ca201c09
      Daniel Suchy authored
      
      
      This is patch for Conexant codec of Intel HDA driver, adding new quirk
      for Lenovo Thinkpad T520 and W520. Conexant autodetection works fine for
      T520 (similar subsystem ID is used also in W520 model) and detects more
      mixer features compared to generic (fallback) Lenovo quirk with
      hardcoded options in Conexant codec.
      
      Patch was activelly tested with Linux 3.0.4, 3.0.6 and 3.0.7 without any
      problems.
      
      Signed-off-by: default avatarDaniel Suchy <danny@danysek.cz>
      Cc: <stable@kernel.org> [3.0+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ca201c09
  23. 25 Aug, 2011 1 commit
  24. 24 Aug, 2011 2 commits
  25. 23 Aug, 2011 1 commit