1. 04 7月, 2013 1 次提交
    • T
      ALSA: hda - Fix EAPD vmaster hook for AD1884 & co · 8f0b3b7e
      Takashi Iwai 提交于
      ad1884_fixup_hp_eapd() tries to set the NID for controlling the
      speaker EAPD from the pin configuration.  But the current code can't
      work expectedly since it sets spec->eapd_nid before calling the
      generic parser where the autocfg pins are set up.
      
      This patch changes the function to set spec->eapd_nid after the
      generic parser call while it sets vmaster hook unconditionally.  The
      spec->eapd_nid check is moved in the hook function itself instead.
      
      Cc: <stable@vger.kernel.org> [v3.9+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8f0b3b7e
  2. 18 3月, 2013 1 次提交
  3. 24 1月, 2013 1 次提交
  4. 23 1月, 2013 3 次提交
  5. 22 1月, 2013 2 次提交
    • T
      ALSA: hda - Add SPDIF mux control to AD codec auto-parser · 272f3ea3
      Takashi Iwai 提交于
      AD codecs have strange implementations for choosing the SPDIF-output
      mux source: the digital audio out widget may take the sources from
      multiple connections, where 0x01 indicates it's a PCM while others
      point ADCs.  It's obviously invalid in the HD-audio spec POV, but it's
      somehow convincing, too.  And, to make things more complex, AD1988A
      and AD1882 have deeper connection routes that aren't expressed
      correctly.
      
      In this patch, the SPDIF mux control is implemented in two ways:
      - For easier one like AD1981, AD1983, AD1884 and AD1984, where the
        SPDIF audio out widget takes just two or three sources, we can
        simply implement via the normal input_mux and connection verb
        calls.
      
      - For the complex routes like AD1988A (but not AD1988B) or AD1882, we
        prepare "faked" paths represented statically, and switch the paths
        using these static ones, instead of parsing the routes from the
        widget tree.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      272f3ea3
    • T
      ALSA: hda - Add aamix NID to AD codecs · f2f8be43
      Takashi Iwai 提交于
      The aamix NIDs are also missing for AD codecs.  All AD codecs seem to
      have a (more or less) working aamix widget.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f2f8be43
  6. 21 1月, 2013 1 次提交
  7. 18 1月, 2013 1 次提交
  8. 12 1月, 2013 1 次提交
    • T
      ALSA: hda - Add generic parser support to Analog Device codec driver · 78bb3cb0
      Takashi Iwai 提交于
      This patch adds the support for the generic auto-parser to AD codec
      driver.  For AD1988, the old code is replaced simply with the new
      generic parser.  For other codecs, new model "auto" is added and
      directed to use the generic parser.
      
      No fixup codes have been implemented yet as of now.  Eventually we'd
      replace each static quirk with the generic parser + fixup.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      78bb3cb0
  9. 10 1月, 2013 1 次提交
  10. 28 11月, 2012 1 次提交
    • T
      ALSA: hda - Call snd_array_init() early and only once · 361dab3e
      Takashi Iwai 提交于
      This is a preliminary patch for introducing a protection to access
      races of snd_array instances.  Call snd_array_init() appropriately
      at the initialization time and don't call it twice.
      
      Also the allocations of codec-spec structs are cleaned up by helper
      functions in patch_sigmatel.c and patch_analog.c.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      361dab3e
  11. 21 11月, 2012 1 次提交
  12. 05 11月, 2012 1 次提交
  13. 19 9月, 2012 1 次提交
  14. 30 8月, 2012 1 次提交
  15. 15 8月, 2012 1 次提交
    • T
      ALSA: hda - Add 3stack-automute model to AD1882 codec · 1c868452
      Takashi Iwai 提交于
      Added a simple support of automute for the front HP jack to AD1882
      stack model.  Such an addition is basically an exception -- we really
      want to avoid the static quirk codes, but AD1882 parser isn't still
      ready for moving to the BIOS auto-parser yet.  So, as a quick fix, I
      merged it for now.
      
      In near future, we really need the big clean up of patch_analog.c to
      move on to the auto-parser...
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1c868452
  16. 03 7月, 2012 1 次提交
  17. 09 5月, 2012 1 次提交
  18. 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
  19. 12 3月, 2012 1 次提交
  20. 10 3月, 2012 1 次提交
    • T
      ALSA: hda - Initialize vmaster slave volumes · 18478e8b
      Takashi Iwai 提交于
      When the driver is changed to use vmaster or a new slave element is
      added by the improvement of the parser code, user may face often the
      silent output because of the muted slave mixer although Master volume
      is properly set.  And they complain.  And I get upset.
      
      Although such a mixer element should be initialized via "alsactl init",
      it'd be more user-friendly if the known output slaves are unmuted and
      set to 0dB so that user can control the volume only with Master as
      default.  Since Master is still set muted as default even with this
      change, no risk of the speaker blow up, too.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      18478e8b
  21. 03 2月, 2012 1 次提交
    • T
      ALSA: hda - Add suffix argument to snd_hda_add_vmaster() · 9322ca54
      Takashi Iwai 提交于
      In most cases, the slave strings for vmaster are identical between
      volumes and switches except for "xxx Volume" and "xxx Switch" suffix.
      Now snd_hda_add_vmaster() takes the optional suffix argument so that
      each string can be composed with the given suffix, and we can share the
      slave name strings in both volume and switch calls nicely.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9322ca54
  22. 16 11月, 2011 1 次提交
    • 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
  23. 01 11月, 2011 1 次提交
  24. 23 9月, 2011 1 次提交
    • R
      ALSA: HDA - Add Independent Headphone for all models of ad1988/ad1989 · 34588709
      Raymond Yau 提交于
      - Add "AD198x Headphone" playback device for independent headphone playback
        while playing 7.1 surround using rear panel audio jacks.
      
      - Remove "6stack-dig-fp" model since "Headphone Playback Volume" control using
        DAC0 instead of DAC1 (HDA_FRONT) was already added to all models.
      
      - Add "Independent HP" switch to enable/disable this playback device.
        When the switch is OFF, headphone use "copy front" mode to get the front
        channel as the green jack.
        When the switch is ON, you can play stereo sound through "AD198x Headphone"
        device to headphone while playing 7.1 surround sound through "AD198x Analog"
        device.
        The switch cannot be changed when either "AD198x Headphone" or "AD198X Analog"
        is open.
      Signed-off-by: NRaymond Yau <superquad.vortex2@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      34588709
  25. 12 9月, 2011 1 次提交
  26. 26 7月, 2011 1 次提交
  27. 10 6月, 2011 1 次提交
  28. 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
  29. 03 6月, 2011 2 次提交
  30. 25 5月, 2011 1 次提交
  31. 20 5月, 2011 1 次提交
  32. 02 5月, 2011 2 次提交
  33. 26 4月, 2011 1 次提交
  34. 25 3月, 2011 1 次提交