- 26 11月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
Use bus->power_keep_link_on instead. The controller shouldn't go to D3 when the link isn't reset, so essentially avoiding the link reset means avoiding the runtime PM. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 11月, 2013 1 次提交
-
-
由 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>
-
- 06 11月, 2013 2 次提交
-
-
由 Takashi Iwai 提交于
"HDA Intel MID" is no correct name for Haswell HDMI controllers. Give them a better name, "HDA Intel HDMI". Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Haswell HDMI audio controllers seem to get stuck when unaligned buffer size is used. Let's enable the buffer alignment for the corresponding entries. Since AZX_DCAPS_INTEL_PCH contains AZX_DCAPS_BUFSIZE that disables the buffer alignment forcibly, define AZX_DCAPS_INTEL_HASWELL and put the necessary AZX_DCAPS bits there. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=60769Reported-by: NAlexander E. Patrakov <patrakov@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 05 11月, 2013 2 次提交
-
-
由 Clemens Ladisch 提交于
The device IDs of the AMD Cypress/Juniper/Redwood/Cedar/Cayman/Antilles/ Barts/Turks/Caicos HDMI HDA controllers weren't added explicitly because the generic entry works, but it made the device appearing as "Generic", and people are confused as if it's no proper HDMI controller. Add them so that the name shows up properly as "ATI HDMI" instead of "Generic". According to Takashi's tests and the lack of complaints, these devices work fine without disabling snooping. Signed-off-by: NClemens Ladisch <clemens@ladisch.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 James Ralston 提交于
This patch adds the HD Audio Device IDs for the Intel Wildcat Point-LP PCH. Signed-off-by: NJames Ralston <james.d.ralston@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 24 10月, 2013 1 次提交
-
-
由 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>
-
- 09 9月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
Toshiba Satellite C870 shows interrupt problems occasionally when certain mixer controls like "Mic Switch" is toggled. This seems worked around by not using MSI. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=833585 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 8月, 2013 1 次提交
-
-
由 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>
-
- 19 8月, 2013 1 次提交
-
-
由 David Henningsson 提交于
If compiled without CONFIG_SND_HDA_I915, the audio driver cannot request power well. However, if the power well is on for other reasons, maybe audio can still work. Therefore, do not skip the card completely if compiled without CONFIG_SND_HDA_I915. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 7月, 2013 1 次提交
-
-
由 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>
-
- 24 7月, 2013 1 次提交
-
-
由 Wang Xingchao 提交于
Register STATESTS is 16-bit length, use correct API for read/write. Signed-off-by: NWang Xingchao <xingchao.wang@linux.intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 6月, 2013 1 次提交
-
-
由 Mengdong Lin 提交于
This patch is a cleanup to the previous patch "reset hda link during system/ runtime suspend". In this patch - azx_enter_link_reset() and azx_exit_link_reset() are defined for entering and exiting the link reset respectively. azx_link_reset() is no longer used and replaced by azx_enter_link_reset(). - azx_reset() reuses the above two new functions for a link reset cycle Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 24 6月, 2013 1 次提交
-
-
由 Mengdong Lin 提交于
If all the codecs report ClkStopOK (OK to stop bus clock) after being put to D3, this patch will reset the HDA link before the controller is put to D3. So the link will be in reset during system or runtime suspend, the bus clock stops and the codecs are in D3(ClkStop) state. This may help to reduce power consumption by dozens of mW on some peripheral hda codecs. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 06 6月, 2013 4 次提交
-
-
由 Wang Xingchao 提交于
For Intel Haswell chip, HDA controller and codec have power well dependency from GPU side. This patch added support to request/release power well in audio driver. Power save feature should be enabled to get runtime power saving. There's deadlock when request_module(i915) in azx_probe. It looks like: device_lock(audio pci device) -> azx_probe -> module_request (or symbol_request) -> modprobe (userspace) -> i915 init -> drm_pci_init -> pci_register_driver -> bus_add_driver -> driver_attach -> which in turn tries all locks on pci bus, and when it tries the one on the audio device, it will deadlock. This patch introduce a work to store remaining probe stuff, and let request_module run in safe work context. Signed-off-by: NWang Xingchao <xingchao.wang@linux.intel.com> Reviewed-by: NTakashi Iwai <tiwai@suse.de> Reviewed-by: NLiam Girdwood <liam.r.girdwood@intel.com> Reviewed-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Takashi Iwai 提交于
This is a preliminary work for the upcoming Haswell HDMI audio fixes. azx_first_init() function can be safely called after the f/w loader, since the f/w loader doesn't require the sound hardware initialization beforehand. Moving it into azx_probe_continue() cleans up the code flow a bit. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Wang Xingchao 提交于
The device can support runtime PM no matter whether it support signal wakeup or not. For some chips like Haswell which doesnot support PME by default, this patch let haswell Display HD-A controller enter runtime suspend, and bring more power saving whith power-well feature enabled. Signed-off-by: NWang Xingchao <xingchao.wang@linux.intel.com> Reviewed-by: NTakashi Iwai <tiwai@suse.de> Reviewed-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
由 Takashi Iwai 提交于
When a codec is powered off, some systems don't respond properly after D3 FG transition, while the driver still expects the response and tries to fall back to different modes (polling and single-cmd). When the fallback happens, the driver stays in that mode, and falling back to the single-cmd mode means it'll loose the unsol event handling, too. The unresponsiveness at D3 isn't too serious, thus this fallback is mostly superfluous. We can gracefully ignore the error there so that the driver keeps the normal operation mode. This patch adds a new bit flag for codec read/write, set in the power transition stage, which is notified to the controller driver via a new bus->no_response_fallback flag. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 5月, 2013 1 次提交
-
-
由 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>
-
- 17 5月, 2013 1 次提交
-
-
由 Chew, Chiau Ee 提交于
Add HD Audio Device PCI ID for the Intel BayTrail platform. Signed-off-by: NChew, Chiau Ee <chiau.ee.chew@intel.com> Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 03 5月, 2013 1 次提交
-
-
由 Mike Travis 提交于
The audio driver mistakenly allows 64 bit addresses to be created for the audio driver on Nvidia GPUs. Unfortunately, the hardware normally only supports up to 40 bits of DMA. This can cause system panics as well as misdirected data when the address is > 40 bits as the upper part the address is truncated. Signed-off-by: NMike Travis <travis@sgi.com> Reviewed-by: NMike Habeck <habeck@sgi.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 4月, 2013 1 次提交
-
-
由 Dylan Reid 提交于
For capture, the delay through the codec contributes to the time stamp of the sample recorded at the A to D. Rename the codec time stamp function appropriately. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 09 4月, 2013 1 次提交
-
-
由 Dylan Reid 提交于
For playback add the codec-side delay to the timestamp, for capture subtract it. This brings the timestamps in line with the time that was recently added to the delay reporting. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 05 4月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
Add a new codec PCM ops, get_delay(), to obtain the codec/stream- specific PCM delay count. When it's NULL, nothing changes. This new feature was requested for CA0132, which has significant delays in the path depending on the running DSP code. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 04 4月, 2013 1 次提交
-
-
由 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>
-
- 21 3月, 2013 1 次提交
-
-
由 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>
-
- 14 2月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
We've got a regression report wrt the IRQ issue related with the power-save on a Dell machine, and disabling runtime PM works around. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=53441 Cc: <stable@vger.kernel.org> [v3.7+] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 2月, 2013 2 次提交
-
-
由 Takashi Iwai 提交于
This patch fixes a few obvious bugs in DSP loader stuff: - Fix possible memory leaks in the error path - Avoid double-free calls in dma_reset() - Properly set/unset WC bits for DMA buffers - Add missing error status checks Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 James Ralston 提交于
This patch adds the HD Audio Device IDs for the Intel Wellsburg PCH Signed-off-by: NJames Ralston <james.d.ralston@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 2月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
... looks like we need this for stable operations. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 01 2月, 2013 1 次提交
-
-
由 Wang Xingchao 提交于
Add new PCI ID 0x0a0c for Haswell ULT platform. Signed-off-by: NWang Xingchao <xingchao.wang@linux.intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 30 1月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
For non-snoop mode, we fiddle with the page attributes of CORB/RIRB and the position buffer, but also the ring buffers. The problem is that the current code blindly assumes that the buffer is contiguous. However, the ring buffers may be SG-buffers, thus a wrong vmapped address is passed there, leading to Oops. This patch fixes the handling for SG-buffers. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=800701 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 1月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
Currently we use LPIB forcibly for both playback and capture for Poulsbo and Oaktrail devices, and this seems rather problematic. The recent fix for LPIB delay count seems working well with these devices, so let's enable it instead. Reported-by: NMartin Weishart <martin.weishart@telosalliance.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 12 1月, 2013 1 次提交
-
-
由 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>
-
- 09 1月, 2013 2 次提交
-
-
由 Takashi Iwai 提交于
Change the power_save_controller option to bint from bool so that user can override the runtime PM capability bit and force to enable or disable the runtime PM. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
We've got a few bug reports that the runtime D3 results in the dead HD-audio controller. It seems that the problem is in a deeper level than the sound driver itself, so as a temporal solution, disable the feature for these controllers again. Reported-and-tested-by: NVincent Blut <vincent.debian@free.fr> Reported-and-tested-by: NMaurizio Avogadro <mavoga@gmail.com> Cc: <stable@vger.kernel.org> [v3.7] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 19 12月, 2012 1 次提交
-
-
由 Daniel J Blueman 提交于
Resuming a switcheroo'd HDA controller hangs since the completion is one-shot (thus works the first time). Fix by using completions that explictly need rearming, so remain fired before. Signed-off-by: NDaniel J Blueman <daniel@quora.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 12 12月, 2012 3 次提交
-
-
由 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>
-
由 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>
-
由 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>
-