1. 05 11月, 2012 3 次提交
  2. 17 10月, 2012 1 次提交
    • T
      ALSA: hda - Add workaround for conflicting IEC958 controls · dcda5806
      Takashi Iwai 提交于
      When both an SPDIF and an HDMI device are created on the same card
      instance, multiple IEC958 controls are created with indices=0, 1, ...
      But the alsa-lib configuration can't know which index corresponds
      actually to which PCM device, and both the SPDIF and the HDMI
      configurations point to the first IEC958 control wrongly.
      
      This patch introduces a (hackish and ugly) workaround: the IEC958
      controls for the SPDIF device are re-labeled with device=1 when HDMI
      coexists.  The device=1 corresponds to the actual PCM device for
      SPDIF, so it's anyway a better representation.  In future, HDMI
      controls should be moved with the corresponding PCM device number,
      too.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      dcda5806
  3. 10 10月, 2012 2 次提交
  4. 08 10月, 2012 1 次提交
  5. 13 9月, 2012 1 次提交
  6. 11 9月, 2012 2 次提交
  7. 22 8月, 2012 1 次提交
  8. 03 7月, 2012 1 次提交
  9. 09 5月, 2012 1 次提交
  10. 20 4月, 2012 2 次提交
    • T
      ALSA: hda - Add snd_hda_get_default_vref() helper function · 4740860b
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      4740860b
    • T
      ALSA: hda - Introduce snd_hda_set_pin_ctl*() helper functions · cdd03ced
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      cdd03ced
  11. 02 3月, 2012 1 次提交
  12. 01 2月, 2012 1 次提交
    • D
      ALSA: hda - Fix calling cs_automic twice for Cirrus codecs. · f70eecde
      Dylan Reid 提交于
      If cs_automic is called twice (like it is during init) while the mic
      is present, it will over-write the last_input with the new one,
      causing it to switch back to the automic input when the mic is
      unplugged. This leaves the driver in a state (cur_input, last_input,
      and automix_idx the same) where the internal mic can not be selected
      until it is rebooted without the mic attached.
      
      Check that the mic hasn't already been switched to before setting
      last_input.
      Signed-off-by: NDylan Reid <dgreid@chromium.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f70eecde
  13. 10 1月, 2012 1 次提交
  14. 08 1月, 2012 3 次提交
  15. 28 11月, 2011 1 次提交
  16. 23 11月, 2011 1 次提交
  17. 17 11月, 2011 1 次提交
  18. 16 11月, 2011 5 次提交
    • T
      ALSA: hda - Give more unique names by snd_hda_get_pin_label() · 201e06ff
      Takashi Iwai 提交于
      The function now gives more unique names for the output pins by adding
      some prefix and suffix for the location and the channels.  Otherwise, it
      can pass the index number.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      201e06ff
    • T
      ALSA: hda - Manage unsol tags in hda_jack.c · 3a93897e
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      3a93897e
    • T
      ALSA: hda - Create jack-detection kcontrols · 01a61e12
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      01a61e12
    • T
      ALSA: hda - Cache the jack-detection value · 1835a0f9
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      1835a0f9
    • T
      ALSA: hda - Introduce snd_hda_get_pin_label() · 04f5ade6
      Takashi Iwai 提交于
      Create a new helper function snd_hda_get_pin_label() for getting a label
      string for both input and output pins.  hda_get_input_pin_label() is
      obsoleted by this function, and the callers are replaced appropriately
      now by this patch.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      04f5ade6
  19. 01 11月, 2011 1 次提交
  20. 14 9月, 2011 1 次提交
  21. 20 8月, 2011 1 次提交
  22. 26 7月, 2011 1 次提交
    • T
      ALSA: hda - Cirrus Logic CS421x support · 56487c27
      Tim Howe 提交于
      This update includes the changes necessary for supporting the
      CS421x family of codecs.  Previously this file only supported
      the CS420x family of codecs.
      
      This file also contains init verbs to correct several issues in
      the CS421x hardware.
      
      Behavior between the CS421x and CS420x codec families is similar,
      so several functions have been reused with "if" statements to
      determine which codec family (CS421x or CS420x) is present.
      
      Also, this file will be updated sometime in the near future in
      order to add support for a system using CS421x that requires
      mono mix on the speaker output only.
      
      [Fix const usages and adaption for new APIs by tiwai]
      Signed-off-by: NTim Howe <tim.howe@cirrus.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      56487c27
  23. 29 6月, 2011 1 次提交
  24. 06 6月, 2011 1 次提交
    • S
      ALSA: hda: Virtualize SPDIF out controls · 74b654c9
      Stephen Warren 提交于
      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
        configuration.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      74b654c9
  25. 17 5月, 2011 3 次提交
  26. 02 5月, 2011 1 次提交
  27. 03 3月, 2011 1 次提交