1. 13 1月, 2016 2 次提交
  2. 11 1月, 2016 1 次提交
  3. 31 12月, 2015 2 次提交
  4. 29 12月, 2015 2 次提交
  5. 22 12月, 2015 6 次提交
  6. 21 12月, 2015 4 次提交
  7. 18 12月, 2015 1 次提交
    • X
      ALSA: hda - Set SKL+ hda controller power at freeze() and thaw() · 3e6db33a
      Xiong Zhang 提交于
      It takes three minutes to enter into hibernation on some OEM SKL
      machines and we see many codec spurious response after thaw() opertion.
      This is because HDA is still in D0 state after freeze() call and
      pci_pm_freeze/pci_pm_freeze_noirq() don't set D3 hot in pci_bus driver.
      It seems bios still access HDA when system enter into freeze state,
      HDA will receive codec response interrupt immediately after thaw() call.
      Because of this unexpected interrupt, HDA enter into a abnormal
      state and slow down the system enter into hibernation.
      
      In this patch, we put HDA into D3 hot state in azx_freeze_noirq() and
      put HDA into D0 state in azx_thaw_noirq().
      
      V2: Only apply this fix to SKL+
          Fix compile error when CONFIG_PM_SLEEP isn't defined
      
      [Yet another fix for CONFIG_PM_SLEEP ifdef and the additional comment
       by tiwai]
      Signed-off-by: NXiong Zhang <xiong.y.zhang@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3e6db33a
  8. 17 12月, 2015 4 次提交
  9. 15 12月, 2015 6 次提交
  10. 10 12月, 2015 6 次提交
    • T
      ALSA: hda - Move audio component accesses to hdac_i915.c · e2dc7d7d
      Takashi Iwai 提交于
      A couple of i915_audio_component ops have been added and accessed
      directly from patch_hdmi.c.  Ideally all these should be factored out
      into hdac_i915.c.
      
      This patch does it, adds two new helper functions for setting N/CTS
      and fetching ELD bytes.  One bonus is that the hackish widget vs port
      mapping is also moved to hdac_i915.c, so that it can be fixed /
      enhanced more cleanly.
      Reviewed-by: NVinod Koul <vinod.koul@intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e2dc7d7d
    • T
      ALSA: hda - Use component ops for i915 HDMI/DP audio jack handling · 788d441a
      Takashi Iwai 提交于
      Since we have a new audio component ops to fetch the current ELD and
      state now, we can reduce the usage of unsol event of HDMI/DP pins.
      The unsol event isn't only unreliable, but it also needs the power
      up/down of the codec and link at each time, which is a significant
      power and time loss.
      
      In this patch, the jack creation and unsol/jack event handling are
      modified to use the audio component for the dedicated Intel chips.
      
      The jack handling got slightly more codes than a simple usage of
      hda_jack layer since we need to deal directly with snd_jack object;
      the hda_jack layer is basically designed for the pin sense read and
      unsol events, both of which aren't used any longer in our case.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      788d441a
    • T
      ALSA: hda - Fix superfluous HDMI jack repoll · 9a5e5234
      Takashi Iwai 提交于
      The recent commit [e90247f9: ALSA: hda - Split ELD update code
      from hdmi_present_sense()] rewrote the HDMI jack handling code, but a
      slight behavior change sneaked in unexpectedly.  When the jack isn't
      connected, it tries repoll unnecessarily.
      
      This patch addresses the flaw, to the right behavior as before.
      
      Fixes: e90247f9 ('ALSA: hda - Split ELD update code from hdmi_present_sense()')
      Reported-and-tested-by: NDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9a5e5234
    • T
      ALSA: hda - Allow i915 binding later in codec driver · 55913110
      Takashi Iwai 提交于
      Due to the recent change, HDA controller driver for Intel PCH tries to
      bind i915 audio component always at the probe time no matter whether
      HDMI/DP codec is found.  This is, however, superflulous for old
      chipsets (e.g. on IVB) where they don't have always the HDMI/DP codecs
      but  often have only a discrete GPU instead.
      
      For the newer chipsets, we need already the i915 binding from the
      beginning due to power well control.  Meanwhile, for older chipsets
      where we don't need power well, we don't need the i915 binding at the
      controller level.
      
      This patch removes again the i915 binding in the HDA controller driver
      for old Intel PCHs, but adds the binding in HDMI/DP codec driver
      instead.  This allows still the use of the direct notification from
      the graphics driver while we can avoid the unnecessary load of i915
      driver for machines only with another GPU.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      55913110
    • T
      ALSA: hda - Optimize audio component check in patch_hdmi.c · f4e3040b
      Takashi Iwai 提交于
      The audio component is enabled only when CONFIG_SND_HDA_I915 is set.
      Give a dummy macro for allowing the compiler optimize out the relevant
      codes when this Kconfig isn't set.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f4e3040b
    • G
      ALSA: hda/ca0132 - quirk for Alienware 17 2015 · 5328e1ea
      Gabriele Martino 提交于
      The Alienware 17 (2015) has the same card and pin configuration of the
      Alienware 15, so the same quirks must be applied.
      Signed-off-by: NGabriele Martino <g.martino@gmx.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5328e1ea
  11. 09 12月, 2015 4 次提交
    • T
      ALSA: hda - Fix noise problems on Thinkpad T440s · 9a811230
      Takashi Iwai 提交于
      Lenovo Thinkpad T440s suffers from constant background noises, and it
      seems to be a generic hardware issue on this model:
        https://forums.lenovo.com/t5/ThinkPad-T400-T500-and-newer-T/T440s-speaker-noise/td-p/1339883
      
      As the noise comes from the analog loopback path, disabling the path
      is the easy workaround.
      
      Also, the machine gives significant cracking noises at PM suspend.  A
      workaround found by trial-and-error is to disable the shutup callback
      currently used for ALC269-variant.
      
      This patch addresses these noise issues by introducing a new fixup
      chain.  Although the same workaround might be applicable to other
      Thinkpad models, it's applied only to T440s (17aa:220c) in this patch,
      so far, just to be safe (you chicken!).  As a compromise, a new model
      option string "tp440" is provided now, though, so that owners of other
      Thinkpad models can test it more easily.
      
      Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=958504Reported-and-tested-by: NTim Hardeck <thardeck@suse.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9a811230
    • T
      ALSA: hda - Don't try to bind i915 unless CONFIG_SND_HDA_I915 is set · fbaf9f9f
      Takashi Iwai 提交于
      snd-hda-intel driver tries to bind with i915 audio component always
      when AZX_DCAPS_I915_POWERWELL is set in the driver caps.  This was
      mostly OK in the past, as the flag was applied only to a limited set
      of devices, namely, Haswell and Broadwell.  On these machines, i915
      graphics is almost mandatory as long as HDMI/DP is concerned.
      
      Recently the application of i915 binding was widened to more Intel
      chips.  On these chips, the chance of a kernel without i915 graphics
      is much higher, and such user would hit an error like:
      
       snd_hda_intel 0000:00:1b.0: failed to add i915 component master (-19)
      
      Although the error itself is harmless, it's certainly superfluous even
      to try binding with i915, if we already know that there isn't any.
      
      This patch fixes it by simply defining AZX_DCAPS_I915_POWERWELL as 0
      in the case without i915.  Then all codes referring to this flag will
      be optimized out by the compiler.
      
      Fixes: 6603249d ('ALSA: hda - Enable audio component for old Intel PCH devices')
      Reported-by: Nkernel test robot <ying.huang@linux.intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fbaf9f9f
    • T
      ALSA: hda - Less grumbling about lack of i915 binding · 6ee8eeb4
      Takashi Iwai 提交于
      The recent commit [6603249d: ALSA: hda - Enable audio component
      for old Intel PCH devices] enabled the i915 binding for HDMI/DP on old
      Intel PCHs.  But many boards are without HDMI/DP, and they actually
      don't need i915 binding, and yet the driver has a check of i915
      binding and complains like
      	Haswell must be built with CONFIG_SND_HDA_I915
      This error is false-positive, and it should be put only for HSW/BDW,
      instead of all devices that may be bound with i915.
      
      This patch fixes the condition to check, as well as rephrasing the
      message specific to HSW/BDW HDMI/DP.
      
      Fixes: 6603249d ('ALSA: hda - Enable audio component for old Intel PCH devices')
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6ee8eeb4
    • T
      ALSA: hda - Implement loopback control switch for Realtek and other codecs · e7fdd527
      Takashi Iwai 提交于
      Many codecs, typically found on Realtek codecs, have the analog
      loopback path merged to the secondary input of the middle of the
      output paths.  Currently, we don't offer the dynamic switching in such
      configuration but let each loopback path mute by itself.
      
      This should work well in theory, but in reality, we often see that
      such a dead loopback path causes some background noises even if all
      the elements get muted.  Such a problem has been fixed by adding the
      quirk accordingly to disable aamix, and it's the right fix, per se.
      The only problem is that it's not so trivial to achieve it; user needs
      to pass a hint string via patch module option or sysfs.
      
      This patch gives a bit improvement on the situation: it adds "Loopback
      Mixing" control element for such codecs like other codecs (e.g. IDT or
      VIA codecs) with the individual loopback paths.  User can turn on/off
      the loopback path simply via a mixer app.
      
      For keeping the compatibility, the loopback is still enabled on these
      codecs.  But user can try to turn it off if experiencing a suspicious
      background or click noise on the fly, then build a static fixup later
      once after the problem is addressed.
      
      Other than the addition of the loopback enable/disablement control,
      there should be no changes.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e7fdd527
  12. 08 12月, 2015 2 次提交