1. 16 6月, 2015 1 次提交
  2. 15 6月, 2015 1 次提交
    • T
      ALSA: hda - Fix audio crackles on Dell Latitude E7x40 · 8b99aba7
      Takashi Iwai 提交于
      We still got a report that the audio crackles and noises occur with
      the recent 4.1 kernels on Dell machines.  These machines seem to need
      similar workarounds that have been applied to the recent Dell XPS 13
      models.  Since the codec of these machines (Dell Latitute E7240 and
      E7440) is different from XPS 13's one, we need a new fixup entry.
      
      Also, it was confirmed that the previous workaround to disable the
      widget power-save (commit [219f47e4: ALSA: hda - Disable widget
      power-saving for ALC292 & co]) is no longer needed after this fix.
      So, this patch includes the partial revert of the commit, too.
      Reported-and-tested-by: NMihai Donțu <mihai.dontu@gmail.com>
      Tested-by: NJonathan McDowell <noodles@earth.li>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8b99aba7
  3. 03 6月, 2015 1 次提交
  4. 29 5月, 2015 2 次提交
  5. 28 5月, 2015 1 次提交
  6. 27 5月, 2015 1 次提交
  7. 26 5月, 2015 1 次提交
  8. 20 5月, 2015 1 次提交
  9. 18 5月, 2015 2 次提交
  10. 11 5月, 2015 1 次提交
  11. 05 5月, 2015 1 次提交
  12. 04 5月, 2015 1 次提交
  13. 01 5月, 2015 1 次提交
  14. 27 4月, 2015 1 次提交
    • T
      ALSA: hda - Fix click noise at start on Dell XPS13 · 3e1b0c4a
      Takashi Iwai 提交于
      Dell XPS13 produces a click noise at boot up, and Gabriele spotted out
      that it's triggered by the initial pin control of the mic (NID 0x19).
      This has to be set to Hi-Z Vref while the driver initializes to Vref
      80% as a normal mic.
      
      This patch fixes the generic parser code not to override the target
      vref if it has been already set by the driver, and adds a proper
      initialization of the target vref for this pin in the Realtek driver
      side.
      Reported-and-tested-by: NGabriele Mazzotta <gabriele.mzt@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3e1b0c4a
  15. 24 4月, 2015 1 次提交
  16. 23 4月, 2015 1 次提交
  17. 21 4月, 2015 1 次提交
  18. 20 4月, 2015 1 次提交
  19. 13 4月, 2015 1 次提交
  20. 11 4月, 2015 1 次提交
  21. 10 4月, 2015 1 次提交
  22. 09 4月, 2015 2 次提交
    • T
      ALSA: hda/realtek - Fix the regression by widget power-saving · cffd3966
      Takashi Iwai 提交于
      While enabling the widget power-saving for ALC269 & co, the important
      setup was forgotten -- stream_pm ops.  Without this setup, the paths
      for PCM won't be powered up at all.
      
      Also, the power_filter callbacks used in ALC269 & co need to chain to
      the default snd_hda_gen_path_power_filter().
      Tested-by: NHui Wang <hui.wang@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cffd3966
    • T
      ALSA: hda - Fix headphone pin config for Lifebook T731 · cc7016ab
      Takashi Iwai 提交于
      Some BIOS version of Fujitsu Lifebook T731 seems to set up the
      headphone pin (0x21) without the assoc number 0x0f while it's set only
      to the output on the docking port (0x1a).  With the recent commit
      [03ad6a8c: ALSA: hda - Fix "PCM" name being used on one DAC when
       there are two DACs], this resulted in the weird mixer element
      mapping where the headphone on the laptop is assigned as a shared
      volume with the speaker and the docking port is assigned as an
      individual headphone.
      
      This patch improves the situation by correcting the headphone pin
      config to the more appropriate value.
      Reported-and-tested-by: NTaylor Smock <smocktaylor@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cc7016ab
  23. 08 4月, 2015 3 次提交
  24. 04 4月, 2015 2 次提交
  25. 26 3月, 2015 1 次提交
  26. 24 3月, 2015 1 次提交
  27. 23 3月, 2015 3 次提交
    • T
      ALSA: hda - Use regmap for command verb caches, too · a551d914
      Takashi Iwai 提交于
      Like the previous patches, this patch converts also to the regmap, at
      this time, the cached verb writes are the target.  But this conversion
      needs a bit more caution than before.
      
      - In the old code, we just record any verbs as is, and restore them at
        resume.  For the regmap scheme, this doesn't work, since a few verbs
        like AMP or DIGI_CONVERT are asymmetrical.  Such verbs are converted
        either to the dedicated function (snd_hda_regmap_xxx_amp()) or
        changed to the unified verb.
      
      - Some verbs have to be declared as vendor-specific ones before
        accessing via regmap.
      
      Also, the minor optimization with codec->cached_write flag is dropped
      in a few places, as this would confuse the operation.  Further
      optimizations will be brought in the later patches, if any.
      
      This conversion ends up with a drop of significant amount of codes,
      mostly the helper codes that are no longer used.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      a551d914
    • T
      ALSA: hda - Use regmap for amp accesses · eeecd9d1
      Takashi Iwai 提交于
      This patch converts the amp access functions to the regmap helpers.
      The amp values were formerly cached in the own hash table.  Now it's
      dropped by the regmap's cache.
      
      The only tricky conversion is snd_hda_codec_amp_init().  This function
      shouldn't do anything if the amp was already initialized.  For
      achieving this behavior, a value is read once at first temporarily in
      the cache-only mode.  Only if it returns an error,  i.e. the item
      still doesn't exist in the cache, it proceeds to the update.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      eeecd9d1
    • T
      ALSA: hda - Move a part of hda_codec stuff into hdac_device · 7639a06c
      Takashi Iwai 提交于
      Now some codes and functionalities of hda_codec struct are moved to
      hdac_device struct.  A few basic attributes like the codec address,
      vendor ID number, FG numbers, etc are moved to hdac_device, and they
      are accessed like codec->core.addr.  The basic verb exec functions are
      moved, too.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7639a06c
  28. 18 3月, 2015 1 次提交
    • T
      ALSA: hda - Simplify PCM setup overrides · fb83b635
      Takashi Iwai 提交于
      This patch does two things:
      - code refactoring with a local helper function,
      - allow codec drivers to provide the specific PCM stream info pointers
        only for overriding the non-NULL entries, instead of copying the
        whole.
      
      This simplifies the codec driver side (currently the only user is
      alc269's 44kHz fixed rate).
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fb83b635
  29. 06 3月, 2015 1 次提交
  30. 03 3月, 2015 1 次提交
    • T
      ALSA: hda - Allocate hda_pcm objects dynamically · bbbc7e85
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      bbbc7e85
  31. 23 2月, 2015 1 次提交
    • T
      ALSA: hda - Bind codecs via standard bus · d8a766a1
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      d8a766a1
  32. 13 2月, 2015 1 次提交