1. 26 11月, 2013 1 次提交
  2. 08 11月, 2013 1 次提交
    • J
      ALSA: hda_intel: ratelimit "spurious response" message · 3b70a67d
      Joe Perches 提交于
      dmesg here has a 100+ consecutive lines of:
      
      [ 1464.219446] hda-intel 0000:00:14.2: spurious response 0x0:0x0, last cmd=0x170500
      [ 1464.219451] hda-intel 0000:00:14.2: spurious response 0x0:0x0, last cmd=0x170500
      [ 1464.219454] hda-intel 0000:00:14.2: spurious response 0x0:0x0, last cmd=0x170500
      ...
      
      Ratelimit the message to reduce the dmesg log noise.
      
      Coalesce the format while at it.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3b70a67d
  3. 06 11月, 2013 2 次提交
  4. 05 11月, 2013 2 次提交
  5. 24 10月, 2013 1 次提交
    • T
      ALSA: hda - Fix mute LED on HP laptops in runtime suspend · 95f74c41
      Takashi Iwai 提交于
      When HP laptops with mute and mic-record LEDs go to runtime suspend,
      these LEDs are turned on forcibly no matter whether GPIO pis are on or
      off.  This strange behavior seems triggered by resetting the HD-audio
      bus link at azx_rutime_suspend().  So, just add a new hda_bus flag to
      avoid the link reset at runtime suspend and set it for these HP
      machines.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      95f74c41
  6. 09 9月, 2013 1 次提交
  7. 29 8月, 2013 1 次提交
    • D
      snd/hda: add runtime suspend/resume on optimus support (v4) · 246efa4a
      Dave Airlie 提交于
      Add support for HDMI audio device on VGA cards that powerdown
      to D3cold using non-standard ACPI/PCI infrastructure (optimus).
      
      This does a couple of things to make it work:
      
      a) add a set of power ops for the hdmi domain, and enables them
      via vga_switcheroo when we are a switcheroo controlled card. This
      just replaces the runtime resume operation so that when the card
      is in D3cold the userspace pci config space access via sysfs,
      the vga switcheroon runtime resume gets called first and it calls
      the GPU resume callback before calling the sound card runtime
      resume.
      
      b) standard ACPI/PCI stacks won't put a device into D3cold without
      an ACPI handle, but since the hdmi audio devices on gpus don't have
      an ACPI handle, we need to manually force the device into D3cold
      after suspend from the switcheroo path only.
      
      c) don't try and do runtime s/r when the GPU is off.
      
      d) call runtime suspend/resume during switcheroo suspend/resume
      this is to make sure the runtime stack knows to try and resume
      the hdmi audio device for pci config space access.
      
      v2: fix incorrect runtime call suspend->resume.
      
      v3: rework irq handler to avoid false irq when we are resuming
      but haven't runtime resumed yet, don't bother trying D3cold,
      it won't work, just set it manually ourselves, move runtime s/r
      calls outside the main s/r hook. enable dnyamic pm properly by
      dropping reference.
      
      v4: put back irq handler check just wrap it with cap check
      Acked-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      246efa4a
  8. 19 8月, 2013 1 次提交
  9. 29 7月, 2013 1 次提交
    • W
      ALSA: hda - WAKEEN feature enabling for runtime pm · 7d4f606c
      Wang Xingchao 提交于
      With runtime power save feature enabled, Headphone hotplug
      event will not be detected while controller/codec in D3. HDA has
      feature WAKEEN to let codec wake up system if controller is in D3 or
      system in S3.(HDA Spec 4.5.9.2/3). Codec can send out INT or wake up
      controller depending on whether CIE or GIE enabled.(Figure 4, Interupt
      structure).
      
      The controller must be in RESET mode after enter runtime-suspend, otherwise
      it will not be waken up even if codec send out wake-up event. And STATESTS
      will be cleared after controller brought out of RESET mode.
      
      This patch only enable WAKEEN for runtime-suspend(Controller D3) mode,
      not for system S3 mode. with tool "evtest", Headphone hotplug events
      could be cought and reported successfully.
      
      [fixed an unused variable warning by tiwai]
      Signed-off-by: NWang Xingchao <xingchao.wang@linux.intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7d4f606c
  10. 24 7月, 2013 1 次提交
  11. 25 6月, 2013 1 次提交
  12. 24 6月, 2013 1 次提交
  13. 06 6月, 2013 4 次提交
  14. 29 5月, 2013 1 次提交
    • T
      ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove · 20a24225
      Takashi Iwai 提交于
      As drvdata is cleared to NULL at probe failure or at removal by the
      driver core, we don't have to call pci_set_drvdata(pci, NULL) any
      longer in each driver.
      
      The only remaining pci_set_drvdata(NULL) is in azx_firmware_cb() in
      hda_intel.c.  Since this function itself releases the card instance,
      we need to clear drvdata here as well, so that it won't be released
      doubly in the remove callback.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      20a24225
  15. 17 5月, 2013 1 次提交
  16. 03 5月, 2013 1 次提交
  17. 16 4月, 2013 1 次提交
  18. 09 4月, 2013 1 次提交
  19. 05 4月, 2013 1 次提交
  20. 04 4月, 2013 1 次提交
    • T
      Revert "ALSA: hda - Allow power_save_controller option override DCAPS" · 8fc24426
      Takashi Iwai 提交于
      This reverts commit 6ab31741.
      
      The commit [6ab31741: ALSA: hda - Allow power_save_controller option
      override DCAPS] changed the behavior of power_save_controller so that
      it can override the driver capability.  This assumed that this option
      is rarely changed dynamically unlike power_save option.  Too naive.
      
      It turned out that the user-space power-management tool tries to set
      power_save_controller option to 1 together with power_save option
      without knowing what's actually doing.  This enabled forcibly the
      runtime PM of the controller,  which is known to be broken om many
      chips thus disabled as default.
      
      So, the only sane fix is to revert this commit again.  It was intended
      to ease debugging/testing for runtime PM enablement, but obviously we
      need another way for it.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=56171Reported-and-tested-by: NNikita Tsukanov <keks9n@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8fc24426
  21. 21 3月, 2013 1 次提交
    • T
      ALSA: hda - Fix abuse of snd_hda_lock_devices() for DSP loader · eb49faa6
      Takashi Iwai 提交于
      The current DSP loader code abuses snd_hda_lock_devices() for ensuring
      the DSP loader not conflicting with the other normal operations.  But
      this trick obviously doesn't work for the PM resume since the streams
      are kept opened there where snd_hda_lock_devices() returns -EBUSY.
      That means we need another lock mechanism instead of abuse.
      
      This patch provides the new lock state to azx_dev.  Theoretically it's
      possible that the DSP loader conflicts with the stream that has been
      already assigned for another PCM.  If it's running, the DSP loader
      should simply fail.  If not -- it's the case for PM resume --, we
      should assign this stream temporarily to the DSP loader, and take it
      back to the PCM after finishing DSP loading.  If the PCM is operated
      during the DSP loading, it should get an error, too.
      Reported-and-tested-by: NDylan Reid <dgreid@chromium.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      eb49faa6
  22. 14 2月, 2013 1 次提交
  23. 10 2月, 2013 2 次提交
  24. 08 2月, 2013 1 次提交
  25. 01 2月, 2013 1 次提交
  26. 30 1月, 2013 1 次提交
  27. 29 1月, 2013 1 次提交
  28. 12 1月, 2013 1 次提交
    • T
      ALSA: hda - Check CORB overflow · 3bcce5c0
      Takashi Iwai 提交于
      Add an overflow check of CORB in HD-audio controller and codec drivers
      so that flood of sequential writes would work properly.
      In the controller side, add a check of CORB read-pointer to make
      returning -EAGAIN when it's full.  Meanwhile in the codec side, when
      -EAGAIN error is received, it retries the write after flushing the
      pending verbs (calling get_response() essentially does it).
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3bcce5c0
  29. 09 1月, 2013 2 次提交
  30. 19 12月, 2012 1 次提交
  31. 12 12月, 2012 3 次提交
    • T
      ALSA: hda - Move runtime PM check to runtime_idle callback · 6eb827d2
      Takashi Iwai 提交于
      The runtime_idle callback is the right place to check the suspend
      capability, but currently we do it wrongly in the runtime_suspend
      callback.  This leads to a kernel error message like:
         pci_pm_runtime_suspend(): azx_runtime_suspend+0x0/0x50 [snd_hda_intel] returns -11
      and the runtime PM core would even repeat the attempts.
      Reported-and-tested-by: NBorislav Petkov <bp@alien8.de>
      Cc: <stable@vger.kernel.org> [v3.7]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6eb827d2
    • T
      ALSA: hda - Avoid doubly suspend after vga switcheroo · c5c21523
      Takashi Iwai 提交于
      The HD-audio driver artificially calls the suspend and the resume code
      path in the VGA switcheroo state changes.  When a machine goes to
      suspend, it tries to suspend the device again, and it stalls at
      snd_power_wait().
      
      This patch adds checks whether the devices were already in (forced)
      suspend in PM callbacks for avoiding the doubly suspend.
      Reported-by: NDaniel J Blueman <daniel@quora.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c5c21523
    • T
      ALSA: hda - Check validity of CORB/RIRB WP reads · cc5ede3e
      Takashi Iwai 提交于
      When the HD-audio controller is disabled (e.g. via vga switcheroo) but
      the driver is still accessing it, it spews floods of "spurious
      response" kernel messages.  It's because CORB/RIRB WP reads 0xff, and
      the driver tries to fill up until this number.
      
      This patch changes the CORB/RIRB WP reads to word instead of byte, and
      add the check of the read value.  If it's 0xffff, the controller is
      supposed to be disabled, so the further action will be skipped.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cc5ede3e