- 22 7月, 2014 5 次提交
-
-
由 Takashi Iwai 提交于
Dell XPS 15 (1028:05fe) gives the bad feedback noise from analog loopback line even if the channels are muted. The similar problem has been seen on XPS 13, and it was fixed by simply disabling loopback. The same fixup was confirmed to be applicable and fix the problem on XPS 15, too. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80821Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
Add a new quirk table to make sure that pin quirks have a higher priority than quirks that apply to an entire vendor. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
Previously, calling one quirk function first and another later would make the latter one take priority, this is now changed to make the former take priority. By adding two special values for fixup_id we can also get rid of the fixup_forced flag. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Drake 提交于
The Gigabyte BRIX BXBT-2707 is a mini-PC with Realtek ALC283 HDA, exposing a single headset jack. However, the default pin config information only suggests that one pin is connected: a HP out jack (pin 0x21, default config 0x04211010). The microphone input is behind pin 0x19, which has default config 0x411111f0 (i.e. unused), so it does not show up in userspace, and no microphone input is possible via the headset. Override the pin config so that the headset mic can be used. [rearranged the fixup entry position by tiwai] Signed-off-by: NDaniel Drake <drake@endlessm.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
This makes the mute LED work on a HP 15 touchsmart machine. BugLink: https://bugs.launchpad.net/bugs/1334950Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 21 7月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
I forgot to add the new fields in sw_params to 32bit compat layer. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
For controlling the new fields more strictly, add sw_params.proto field indicating the protocol version of the user-space. User-space should fill the SNDRV_PCM_VERSION value it's built with, then kernel can know whether the new fields should be evaluated or not. And now tstamp_type field is evaluated only when the valid value is set there. This avoids the wrong override of tstamp_type to zero, which is SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 7月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
Since devptr can be NULL due to asynchronous probe, all PM ops should have NULL checks at the beginning. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Dan Carpenter 提交于
I previously added an integer overflow check here but looking at it now, it's still buggy. The bug happens in snd_compr_allocate_buffer(). We multiply ".fragments" and ".fragment_size" and that doesn't overflow but then we save it in an unsigned int so it truncates the high bits away and we allocate a smaller than expected size. Fixes: b35cc822 ('ALSA: compress_core: integer overflow in snd_compr_allocate_buffer()') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 15 7月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
NID 0x10 seems corresponding to the bass speaker. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
When the initialization of Intel HDMI controller fails due to missing i915 kernel symbols (e.g. HD-audio is built in while i915 is module), the driver discontinues the probe. However, since the probe was done asynchronously, the driver object still remains, thus the relevant PM ops are still called at suspend/resume. This results in the bad access to the incomplete audio card object, eventually leads to Oops or stall at PM. This patch adds the missing checks of chip->init_failed flag at each PM callback in order to fix the problem above. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=79561 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 14 7月, 2014 1 次提交
-
-
由 Takashi Iwai 提交于
We got a regression report for 3.15.x kernels, and this turned out to be triggered by the fix for stream assignment order. On reporter's machine with Intel controller (8086:1e20) + VIA VT1802 codec, the first playback slot can't work with speaker outputs. But the original commit was actually a fix for AMD controllers where no proper GCAP value is returned, we shouldn't revert the whole commit. Instead, in this patch, a new flag is introduced to determine the stream assignment order, and follow the old behavior for Intel controllers. Fixes: dcb32ecd ('ALSA: hda - Do not assign streams in reverse order') Reported-and-tested-by: NSteven Newbury <steve@snewbury.org.uk> Cc: <stable@vger.kernel.org> [v3.15+] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 7月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
For allowing adjusting the timestamp type on the fly, add it to sw_params. The existing ioctl is still kept for compatibility. Along with this, increment the PCM protocol version. The extension was suggested by Clemens Ladisch. Acked-by: NJaroslav Kysela <perex@perex.cz> Reviewed-by: NMark Brown <broonie@linaro.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
No functional change. Acked-by: NJaroslav Kysela <perex@perex.cz> Reviewed-by: NMark Brown <broonie@linaro.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 7月, 2014 3 次提交
-
-
由 Hui Wang 提交于
Now the led_power_filter() needs to handle 3 situations: - only mute_led_nid is set - only cap_mute_led_nid is set - both mute_led_ind and cap_mute_led_nid are set BugLink: https://bugs.launchpad.net/bugs/1329580 Cc: David Henningsson <david.henningsson@canonical.com> Cc: Kailang Yang <kailang@realtek.com> Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Hui Wang 提交于
BugLink: https://bugs.launchpad.net/bugs/1329580 Cc: David Henningsson <david.henningsson@canonical.com> Cc: Kailang Yang <kailang@realtek.com> Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Aaron Plattner 提交于
Vendor ID 0x10de0070 is used by a yet-to-be-named GPU chip. Signed-off-by: NAaron Plattner <aplattner@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 07 7月, 2014 3 次提交
-
-
由 Thierry Reding 提交于
The hda_tegra_disable_clocks() function is only used by the suspend and resume code, so it needs to be included in the #ifdef CONFIG_PM_SLEEP block to prevent the following warning: CC sound/pci/hda/hda_tegra.o sound/pci/hda/hda_tegra.c:238:13: warning: 'hda_tegra_disable_clocks' defined but not used [-Wunused-function] static void hda_tegra_disable_clocks(struct hda_tegra *data) ^ Signed-off-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Hui Wang 提交于
BugLink: https://bugs.launchpad.net/bugs/1329580Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Joe Perches 提交于
print_nid_path has a possible buffer overflow if struct nid_path.path values are > 256. Avoid this and neaten the output to remove the leading ':' Neaten debug_badness to always verify arguments. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 04 7月, 2014 2 次提交
-
-
由 Konstantinos Tsimpoukas 提交于
This small patch completes #defines for Control/Status Register, adds comments for the missing ones there and on the Interrupt Mask Register and additionally corrects "#define ICE1712_SERR_LEVEL 0x04 -> 0x08", according to documentation. Signed-off-by: NKonstantinos Tsimpoukas <kostaslinuxxx@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mengdong Lin 提交于
For HSW/BDW display HD-A controller, hda_set_bclk() is defined to set BCLK by programming the M/N values as per the core display clock (CDCLK) queried from i915 display driver. And the audio driver will also set BCLK in azx_first_init() since the display driver can turn off the shared power in boot phase if only eDP is connected and M/N values will be lost and must be reprogrammed. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 01 7月, 2014 6 次提交
-
-
由 Sachin Kamat 提交于
'status' is not used in the function. Remove it. Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com> Tested-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Sachin Kamat 提交于
'err' is not used in the function. Remove it. Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Sachin Kamat 提交于
'chip' is not used in the function. Remove it. Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The "list" field has been omitted from struct azx, but its initialization remained mistakenly in hda_tegra.c, which leads to a compile error: sound/pci/hda/hda_tegra.c: In function 'hda_tegra_create': sound/pci/hda/hda_tegra.c:481:22: error: 'struct azx' has no member named 'list' Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Fixes: 9a34af4a ('ALSA: hda - Move more PCI-controller-specific stuff from generic code') Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Sachin Kamat 提交于
'prev' is not used in the function. Remove it. Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Sachin Kamat 提交于
'private_data' is not used in the function. Remove it. Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 30 6月, 2014 1 次提交
-
-
由 Takashi Iwai 提交于
The recent commit [6194b99d: ALSA: hda - Kill the rest of snd_print*() usages] changed the callback map_slaves(), but one call was forgotten to be replaced due to the cast, which leads to kernel Oops due to invalid function. This patch replaces it with a proper function. Fixes: 6194b99d ('ALSA: hda - Kill the rest of snd_print*() usages') Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 27 6月, 2014 9 次提交
-
-
由 Takashi Iwai 提交于
The similar fixup as T440 is needed for supporting the dock on T540. Reported-by: NJim Minter <jminter@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
Another quirk to make the headset mic work on some new Dell machines. Cc: Hui Wang <hui.wang@canonical.com> BugLink: https://bugs.launchpad.net/bugs/1297581Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
ICH6_ prefix doesn't mean that it's specific to ICH6 chipset but rather its generic for all HD-audio (or "Azalia") devices. Use AZX_ prefix instead to align with other constants. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
It's no longer referred by anyone after standardizing with dev_*() macros. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The defined numbers of SDs are specific to hda-intel, so move them to there. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The very same notifier code is used in both hda_intel.c and hda_tegra.c. Move it to the generic code. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Just move struct fields between struct azx and struct hda_intel, and move some definitions from hda_priv.h to hda_intel.c. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
... and move most parts into hda_intel.c from the generic controller code. This is a clean up, and there should be no functional change by this patch. Now, struct azx obtains the generic callbacks for getting the position and the delay. As default NULL, posbuf is read. These replace the old position_fix[], and each is implemented as a callback. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
MAX_AZX_DEV is no longer referred anywhere, let's kill it. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 26 6月, 2014 2 次提交
-
-
由 Mengdong Lin 提交于
For Intel Haswell/Broadwell display HD-A controller, the 24MHz HD-A link BCLK is converted from Core Display Clock (CDCLK): BCLK = CDCLK * M / N And there are two registers EM4 and EM5 to program M, N value respectively. The EM4/EM5 values will be lost and when the display power well is disabled. BIOS programs CDCLK selected by OEM and EM4/EM5, but BIOS has no idea about display power well on/off at runtime. So the M/N can be wrong if non-default CDCLK is used when the audio controller resumes, which results in an invalid BCLK and abnormal audio playback rate. So this patch saves and restores valid M/N values on controller suspend/resume. And 'struct hda_intel' is defined to contain standard HD-A 'struct azx' and Intel specific fields, as Takashi suggested. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
When a USB-audio device is disconnected while PCM is still running, we still see some race: the disconnect callback calls snd_usb_endpoint_free() that calls release_urbs() and then kfree() while a PCM stream would be closed at the same time and calls stop_endpoints() that leads to wait_clear_urbs(). That is, the EP object might be deallocated while a PCM stream is syncing with wait_clear_urbs() with the same EP. Basically calling multiple wait_clear_urbs() would work fine, also calling wait_clear_urbs() and release_urbs() would work, too, as wait_clear_urbs() just reads some fields in ep. The problem is the succeeding kfree() in snd_pcm_endpoint_free(). This patch moves out the EP deallocation into the later point, the destructor callback. At this stage, all PCMs must have been already closed, so it's safe to free the objects. Reported-by: NAlan Stern <stern@rowland.harvard.edu> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-