An error occurred fetching the project authors.
  1. 03 Mar, 2015 3 commits
    • Takashi Iwai's avatar
      ALSA: hda - Use standard workqueue for unsol and jack events · 2f35c630
      Takashi Iwai authored
      The events that are handled by HD-audio drivers are no frequent and
      urgent ones, so we can use the standard workqueue without any problem
      nowadays.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      2f35c630
    • Takashi Iwai's avatar
      ALSA: hda - Allocate hda_pcm objects dynamically · bbbc7e85
      Takashi Iwai authored
      So far, the hda_codec object kept the hda_pcm list in an array, and
      the codec driver was expected to assign the array.  However, this
      makes the object life cycle management harder, because the assigned
      array is freed at the codec driver detach while it might be still
      accessed by the opened streams.
      
      In this patch, we allocate each hda_pcm object dynamically and manage
      it as a linked list.  Each object has a kref refcount, and both the
      codec driver binder and the PCM open/close touches it, so that the
      object won't be freed while in use.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      bbbc7e85
    • Takashi Iwai's avatar
      ALSA: hda - Add card field to hda_codec struct · 6efdd851
      Takashi Iwai authored
      Allow the codec object to have an individual card pointer.  Not only
      this simplifies the redirections in many places, also this will allow
      us to make each codec assigned to a different card object.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6efdd851
  2. 23 Feb, 2015 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Bind codecs via standard bus · d8a766a1
      Takashi Iwai authored
      Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind
      the codec driver with the codec device over there.  This is the first
      step of the whole transition so that the changes to each codec driver
      are kept as minimal as possible.
      
      Each codec driver needs to register hda_codec_driver struct containing
      the currently existing preset via the new helper macro
      module_hda_codec_driver().  The old hda_codec_preset_list is replaced
      with this infrastructure.  The generic parsers (for HDMI and other)
      are also included in the preset with the special IDs to bind
      uniquely.
      
      In HD-audio core side, the device binding code is split to
      hda_bind.c.  It provides the snd_hda_bus_type implementation to match
      the codec driver with the given codec vendor ID.  It also manages the
      module auto-loading by itself like before: when the matching isn't
      found, it tries to probe the corresponding codec modules, and finally
      falls back to the generic drivers.  (The special ID mentioned above is
      set at this stage.)
      
      The only visible change to outside is that the hdaudio sysfs entry now
      appears in /sys/bus/devices, not as a sound class device.
      
      More works to move the suspend/resume and remove ops will be
      (hopefully) done in later patches.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d8a766a1
  3. 15 Dec, 2014 1 commit
  4. 16 Sep, 2014 2 commits
    • Takashi Iwai's avatar
      ALSA: hda - Remove superfluous hooks from VIA driver · 7c3008c4
      Takashi Iwai authored
      Like the previous fix for STAC/IDT codecs, the automute hooks in VIA
      driver can be also removed by enabling the power control callback for
      all pins.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7c3008c4
    • Takashi Iwai's avatar
      ALSA: hda - Allow multiple callbacks for jack · 1a4f69d5
      Takashi Iwai authored
      So far, hda_jack infrastructure allows only one callback per jack, and
      this makes things slightly complicated when a driver wants to assign
      multiple tasks to a jack, e.g. the standard auto-mute with a power
      up/down sequence.  This can be simplified if the hda_jack accepts
      multiple callbacks.
      
      This patch is such an extension: the callback-specific part (the
      function and private_data) is split to another struct from
      hda_jack_tbl, and multiple such objects can be assigned to a single
      hda_jack_tbl entry.
      
      The new struct hda_jack_callback is passed to each callback function
      now, thus the patch became bigger than expected.  But these changes
      are mostly trivial.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      1a4f69d5
  5. 11 Sep, 2014 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Get rid of action field from struct hda_jack_tbl · 62f949bf
      Takashi Iwai authored
      The action value assigned to each hda_jack_tbl entry is mostly
      superfluous.  The actually used values are either the widget NID or a
      value specific to the callback.
      
      The former case can be simply replaced by a reference to widget NID
      itself.  The only place doing the latter is STAC/IDT codec driver for
      the powermap handling.  But, the code doesn't need to check the action
      field at all -- the function jack_update_power() is called either with
      a specific pin or with NULL.  So the check of jack->action can be
      removed completely there, too.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      62f949bf
  6. 10 Feb, 2014 1 commit
  7. 09 Dec, 2013 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Enable stereo mix as default for AD and VIA codecs · f1e762dd
      Takashi Iwai authored
      AD and VIA codecs had stereo mixer input enabled as default before
      moving to the generic parser, and people think the lack of such a
      regression.  In this patch, the stereo mixer input is added back to
      the input selection if no auto-mic is available, and if it's not
      disabled explicitly via hint.  This should satisfy most of demands,
      i.e. stereo mix on desktop machines like what it worked before, and it
      still keeps the new auto-mic feature on laptops.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f1e762dd
  8. 29 Jul, 2013 1 commit
  9. 25 Jun, 2013 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Use auto_mute_via_amp=1 for VT1708 · eb33ccf7
      Takashi Iwai authored
      We've got bug report wrt many machines with VT1708 (e.g. IBM POS
      machines) showing the broken auto-mute behavior.  It turned out that
      the problem is that the pin control values of the speaker and line-out
      pins are completely ignored.  As a workaround, let's use the newly
      introduced feature of the generic parser, to control the mute via amp
      on pins.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      eb33ccf7
  10. 19 Jun, 2013 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Fix missing Mic Boost controls for VIA codecs · d045c5dc
      Takashi Iwai authored
      Some VIA codecs like VT1708S have Mic boost amps in the mic pins but
      they aren't exposed in the capability bits.  In the past driver code,
      we override the pin caps and create mic boost controls forcibly.
      While transition to the generic parser, we lost the mic boost controls
      although the pin caps are still overridden, because the generic parser
      code checks the widget caps, too.
      
      So this patch adds a new helper function to allow the override of the
      given widget capability bits, and makes VIA codecs driver to add the
      missing input-amp capability bit.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59861
      Cc: <stable@vger.kernel.org> [v3.9+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d045c5dc
  11. 05 Jun, 2013 1 commit
  12. 03 Jun, 2013 3 commits
  13. 22 Mar, 2013 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - VIA prefers side surrounds over HP · 4abdbd1c
      Takashi Iwai authored
      The recent fix for the independent HP reduced the availability of the
      side surround output, because there are only 4 DACs for 7.1 and a HP
      outputs.  Adjust the badness tables for VIA so that 7.1 outputs are
      activated for the cost of missing independent HP.
      
      Once when we implement the dynamic DAC switching to multiple outputs,
      this conflicts will be eased in future...
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4abdbd1c
  14. 07 Feb, 2013 1 commit
  15. 05 Feb, 2013 2 commits
  16. 24 Jan, 2013 2 commits
  17. 21 Jan, 2013 1 commit
  18. 12 Jan, 2013 3 commits
  19. 10 Dec, 2012 2 commits
  20. 30 Nov, 2012 1 commit
  21. 28 Nov, 2012 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Call snd_array_init() early and only once · 361dab3e
      Takashi Iwai authored
      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: default avatarTakashi Iwai <tiwai@suse.de>
      361dab3e
  22. 09 Nov, 2012 1 commit
  23. 08 Nov, 2012 2 commits
  24. 07 Nov, 2012 3 commits
  25. 10 Oct, 2012 1 commit
    • Takashi Iwai's avatar
      ALSA: hda - Add missing hda_gen_spec to struct via_spec · 7819d1c7
      Takashi Iwai authored
      The commit [4b527b65 ALSA: hda - limit internal mic boost for Asus
      X202E] introduced the use of auto-parser code, but it forgot to add
      struct hda_gen_spec at the head of codec->spec which the auto-parser
      assumes silently.  Without this record, it may result in memory
      corruption.
      
      This patch adds the missing piece.
      
      Cc: <stable@vger.kernel.org> [v3.5+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7819d1c7
  26. 08 Oct, 2012 2 commits