1. 19 Apr, 2012 1 commit
  2. 02 Mar, 2012 1 commit
  3. 29 Feb, 2012 1 commit
    • 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>
  4. 23 Jan, 2012 1 commit
  5. 10 Jan, 2012 1 commit
  6. 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>
  7. 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>
    • 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>
    • 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>
    • 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>
  8. 09 Nov, 2011 1 commit
  9. 31 Oct, 2011 1 commit
  10. 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>
    • 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>
  11. 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
      Signed-off-by: default avatarDaniel Suchy <danny@danysek.cz>
      Cc: <stable@kernel.org> [3.0+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
  12. 25 Aug, 2011 1 commit
  13. 24 Aug, 2011 2 commits
  14. 23 Aug, 2011 1 commit
  15. 26 Jul, 2011 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Allow codec-specific set_power_state ops · 4d7fbdbc
      Takashi Iwai authored
      The procedure for codec D-state change may have exceptional cases
      depending on the codec chip, such as a longer delay or suppressing D3.
      This patch adds a new codec ops, set_power_state() to override the system
      default function.  For ease of porting, snd_hda_codec_set_power_to_all()
      helper function is extracted from the default set_power_state() function.
      As an example, the Conexant codec-specific delay is removed from the
      default routine but moved to patch_conexant.c.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
  16. 11 Jul, 2011 1 commit
  17. 29 Jun, 2011 2 commits
  18. 28 Jun, 2011 2 commits
  19. 10 Jun, 2011 1 commit
  20. 06 Jun, 2011 1 commit
    • Stephen Warren's avatar
      ALSA: hda: Virtualize SPDIF out controls · 74b654c9
      Stephen Warren authored
      The SPDIF output controls apply to converter widgets. A future change
      will create a PCM device per pin widget, and hence a set of SPDIF output
      controls per pin widget, for certain HDMI codecs. To support this, we
      need the ability to virtualize the SPDIF output controls. Specifically:
      * Controls can be "unassigned" from real hardware when a converter is
        not used for the PCM the control was created for.
      * Control puts only write to hardware when they are assigned.
      * Controls can be "assigned" to real hardware when a converter is picked
        to support output for a particular PCM.
      * When a converter is assigned, the hardware is updated to the cached
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
  21. 25 May, 2011 1 commit
  22. 24 May, 2011 1 commit
  23. 23 May, 2011 3 commits
  24. 17 May, 2011 5 commits
  25. 16 May, 2011 3 commits