summaryrefslogtreecommitdiffstats
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: ctxfi: ct20k1reg: Fix typo in include guardRasmus Villemoes2014-08-221-3/+1
| | | | | Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: ca0132_regs.h: Fix typo in include guardRasmus Villemoes2014-08-221-1/+1
| | | | | Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/hdmi - apply Valleyview fix-ups to Cherryview display codecLibin Yang2014-08-191-4/+7
| | | | | | | | | Valleyview and Cherryview have the same behavior on display audio. So this patch defines is_valleyview_plus() to include codecs for both Valleyview and its successor Cherryview, and apply Valleyview fix-ups to Cherryview. Signed-off-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/hdmi - set depop_delay for haswell plusLibin Yang2014-08-191-2/+1
| | | | | | | | Both Haswell and Broadwell need set depop_delay to 0. So apply this setting to haswell plus. Signed-off-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - restore the gpio led after resumeHui Wang2014-08-191-0/+9
| | | | | | | | | | | | | | | | | | | | | | | On some HP laptops, the mute led is controlled by codec gpio. When some machine resume from s3/s4, the codec gpio data will be cleared to 0 by BIOS: Before suspend: IO[3]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0 After resume: IO[3]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0 To skip the AFG node to enter D3 can't fix this problem. A workaround is to restore the gpio data when the system resume back from s3/s4. It is safe even on the machines without this problem. BugLink: https://bugs.launchpad.net/bugs/1358116 Tested-by: Franz Hsieh <franz.hsieh@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Avoid setting wrong COEF on ALC269 & coTakashi Iwai2014-08-161-5/+12
| | | | | | | | | | | | | | | | | | ALC269 & co have many vendor-specific setups with COEF verbs. However, some verbs seem specific to some codec versions and they result in the codec stalling. Typically, such a case can be avoided by checking the return value from reading a COEF. If the return value is -1, it implies that the COEF is invalid, thus it shouldn't be written. This patch adds the invalid COEF checks in appropriate places accessing ALC269 and its variants. The patch actually fixes the resume problem on Acer AO725 laptop. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=52181 Tested-by: Francesco Muzio <muziofg@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Set TLV_DB_SCALE_MUTE bit for cx5051 vmasterTakashi Iwai2014-08-141-0/+6
| | | | | | | | | | | | | Conexnat HD-audio driver has a workaround for cx5051 (aka CX20561) chip to add fake mute controls to each amp (commit 3868137e). This implies the minimum-as-mute TLV bit in TLV for each corresponding control. Meanwhile we build the virtual master from these, but the TLV bit is missing, even though the slaves have it. This patch simply adds the missing TLV_DB_SCALE_MUTE bit for vmaster, as already done in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/ca0132 - Don't try loading firmware at resume when already failedTakashi Iwai2014-08-101-1/+6
| | | | | | | | | | | | | | | | | CA0132 driver tries to reload the firmware at resume. Usually this works since the firmware loader core caches the firmware contents by itself. However, if the driver failed to load the firmwares (e.g. missing files), reloading the firmware at resume goes through the actual file loading code path, and triggers a kernel WARNING like: WARNING: CPU: 10 PID:11371 at drivers/base/firmware_class.c:1105 _request_firmware+0x9ab/0x9d0() For avoiding this situation, this patch makes CA0132 skipping the f/w loading at resume when it failed at probe time. Reported-and-tested-by: Janek Kozicki <cosurgi@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix pop noises on reboot for Dell XPS 13 9333Gabriele Mazzotta2014-08-101-1/+1
| | | | | | | | | | If nid 0x15 (Headphone Playback Switch) is in D3 and headphones are plugged in when the laptop reboots, a pop noise is generated. Prevent this by keeping nid 0x15 in D0 when headphones are plugged in. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=76611 Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Set internal mic as default input source on Dell XPS 13 9333Gabriele Mazzotta2014-08-101-0/+11
| | | | | | | | | | | | | | If the laptop is powered on with a jack plugged in, independently on what is plugged, the jack is treated as a microphone jack. Initialize the capture source so that by default jacks are treated as headphones jacks. This will also prevent pop noises on boot in case headphones are plugged in since setting/unsetting mic-in as input source causes a pop noise. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=76611 Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix parsing of CMI8888 codecTakashi Iwai2014-08-071-0/+47
| | | | | | | | | | | | | | | | | | CMI8888 codec chip has a boost amp (only) on the headphone pin, and this confuses the generic parser, which tends to pick up the most outside amp. This results in the wrong volume setup, as the driver complains like: hda_codec: Mismatching dB step for vmaster slave (-100!=1000) For avoiding this problem, rule out the amp on NID 0x10 and create "Headphone Amp" volume control manually instead. Note that this patch still doesn't fix all problems yet. The sound output from the line out seems still too low. It will be fixed in another patch (hopefully). Reported-and-tested-by: Vincent Lejeune <vljn@ovi.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix probing and stuttering on CMI8888 HD-audio controllerTakashi Iwai2014-08-071-0/+7
| | | | | | | | | | | | | | | | ASUS Phoebus with CMI8888 HD-audio chip (PCI id 13f6:5011) doesn't work with HD-audio driver as is because of some weird nature. For making DMA properly working, we need to disable MSI. The position report buffer doesn't work, thus we need to force reading LPIB instead. And yet, the codec CORB/RIRB communication gives errors unless we disable the snooping (caching). In this patch, all these workarounds are added as a quirk for the device. The HD-audio *codec* chip needs yet another workaround, but it'll be provided in the succeeding patch. Reported-and-tested-by: Vincent Lejeune <vljn@ovi.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Fixed ALC286/ALC288 recording delay for Headset MicKailang Yang2014-08-071-0/+22
| | | | | | | | | | | It will be recording voice delay for resume back recording for Headset Mic. This alc286 will quickly open Headset Mic, to prevent avoid recording files are missing. The issue was fixed. This is follow ALC286 programing guide. [fix build error, add static and renamed the function by tiwai] Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: add Xonar Essence STX II supportClemens Ladisch2014-08-043-4/+13
| | | | | | | | | | | Just add the PCI ID for the STX II. It appears to work the same as the STX, except for the addition of the not-yet-supported daughterboard. Tested-by: Mario <fugazzi99@gmail.com> Tested-by: corubba <corubba@gmx.de> Cc: <stable@vger.kernel.org> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: riptide: fix %d confusingly prefixed with 0x in format stringsHans Wennborg2014-08-041-2/+2
| | | | | Signed-off-by: Hans Wennborg <hans@hanshq.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - add codec ID for Braswell display audio codecLibin Yang2014-08-041-0/+2
| | | | | | | | This patch adds codec ID (0x80862883) and module alias for Braswell display codec. Signed-off-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - add PCI IDs for Intel BraswellLibin Yang2014-08-041-0/+3
| | | | | | | | | | Add HD Audio Device PCI ID for the Intel Braswell platform. It is an HDA Intel PCH controller. AZX_DCAPS_ALIGN_BUFSIZE is not necessary for this controller. Signed-off-by: Libin Yang <libin.yang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'for-next' into for-linusTakashi Iwai2014-08-0425-3745/+841
|\
| * ALSA: hda - add mic mute led hook for dell machinesHui Wang2014-07-312-0/+89
| | | | | | | | | | | | | | | | | | | | The mic mute led on dell laptops is controlled by the wmi driver. Followed this part being merged to the kernel, we add the mic mute led hook in the hda driver. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix loopback noise on Dell XPS 15Takashi Iwai2014-07-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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=80821 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Make vendor quirks lowest prio for ALC2xxDavid Henningsson2014-07-221-4/+10
| | | | | | | | | | | | | | | | 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: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Refactor quirk picking and change quirk priorityDavid Henningsson2014-07-226-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | 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: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add mic fixup for Gigabyte BXBT-2807Daniel Drake2014-07-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Daniel Drake <drake@endlessm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add mute LED pin quirk for HP 15 touchsmartDavid Henningsson2014-07-221-0/+11
| | | | | | | | | | | | | | | | This makes the mute LED work on a HP 15 touchsmart machine. BugLink: https://bugs.launchpad.net/bugs/1334950 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add NULL check to all PM ops in hda_intel.cTakashi Iwai2014-07-161-10/+35
| | | | | | | | | | | | | | Since devptr can be NULL due to asynchronous probe, all PM ops should have NULL checks at the beginning. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add the pin fixup for HP Envy TS bass speakerTakashi Iwai2014-07-151-0/+11
| | | | | | | | | | | | NID 0x10 seems corresponding to the bass speaker. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'for-linus' into for-nextTakashi Iwai2014-07-155-8/+17
| |\ | | | | | | | | | | | | | | | | | | Since init_failed flag was moved to struct hda_intel, its access in the commit [4da63c6f: ALSA: hda - Fix broken PM due to incomplete i915 initialization] is also replaced with hda->init_failed appropriately.
| * | ALSA: hda - add capture mute led support in led_power_filterHui Wang2014-07-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - fix a typo by changing mute_led_nid to cap_mute_led_nidHui Wang2014-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/1329580 Cc: David Henningsson <david.henningsson@canonical.com> Cc: Kailang Yang <kailang@realtek.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add several entries for enabling HP mute ledHui Wang2014-07-071-0/+4
| | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/1329580 Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix and neaten print_nid_path/debug_badnessJoe Perches2014-07-071-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Joe Perches <joe@perches.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: ice1712: Correcting/completing #defines for REGSKonstantinos Tsimpoukas2014-07-041-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Konstantinos Tsimpoukas <kostaslinuxxx@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'for-linus' into for-nextTakashi Iwai2014-07-044-41/+79
| |\ \ | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/hda_intel.c
| * | | ALSA: hda: Remove unused variableSachin Kamat2014-07-011-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'status' is not used in the function. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Tested-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: mixart: Remove unused variableSachin Kamat2014-07-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'err' is not used in the function. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: echoaudio: Remove unused variableSachin Kamat2014-07-011-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'chip' is not used in the function. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix build error in hda_tegra.cTakashi Iwai2014-07-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: kbuild test robot <fengguang.wu@intel.com> Fixes: 9a34af4a3327 ('ALSA: hda - Move more PCI-controller-specific stuff from generic code') Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: trident: Remove unused variable in trident_memory.cSachin Kamat2014-07-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'prev' is not used in the function. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: trident: Remove unused variable in trident_main.cSachin Kamat2014-07-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'private_data' is not used in the function. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'topic/hda-cleanup' into for-nextTakashi Iwai2014-07-016-394/+422
| |\ \ \
| | * | | ALSA: hda - Replace ICH6_ prefixTakashi Iwai2014-06-263-116/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Remove obsoleted SFX definitionsTakashi Iwai2014-06-262-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's no longer referred by anyone after standardizing with dev_*() macros. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Move SD nums definitions to hda_intel.cTakashi Iwai2014-06-262-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The defined numbers of SDs are specific to hda-intel, so move them to there. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Use common reboot notifierTakashi Iwai2014-06-264-51/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Move more PCI-controller-specific stuff from generic codeTakashi Iwai2014-06-262-70/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Make position_fix as generic callbackTakashi Iwai2014-06-265-129/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... 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: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Remove superfluous MAX_AZX_DEVTakashi Iwai2014-06-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MAX_AZX_DEV is no longer referred anywhere, let's kill it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Fix invalid function call in snd_hda_add_vmaster()Takashi Iwai2014-06-301-2/+7
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 6194b99de9f5 ('ALSA: hda - Kill the rest of snd_print*() usages') Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'for-linus' into for-nextTakashi Iwai2014-06-266-315/+321
| |\ \ \
| * | | | ALSA: hda - Remove the obsoleted static quirk codes from patch_cmedia.cTakashi Iwai2014-06-251-615/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The static quirk code has been disabled for a while and it seems working fine, so it's time to actually get rid of it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud