aboutsummaryrefslogtreecommitdiff
path: root/sound/pci
AgeCommit message (Collapse)AuthorFilesLines
2009-06-10Merge branch 'topic/ca0106' into for-linusGravatar Takashi Iwai 1-1/+9
* topic/ca0106: ALSA: ca0106 - Fix master volume scale ALSA: ca0106 - Add missing card->mixername field setup ALSA: ca0106 - Add missing registrations of vmaster controls
2009-06-10Merge branch 'topic/au88x0' into for-linusGravatar Takashi Iwai 1-5/+5
* topic/au88x0: ALSA: au88x0: fix wrong period_elapsed() call ALSA: au88x0: fix .pointer callback
2009-06-09ALSA: ctxfi - Clear PCM resources at hw_params and hw_freeGravatar Takashi Iwai 2-3/+17
Currently the PCM resources are allocated only once and ever in prepare callback, assuming that the PCM parameters are never changed. But it's not true. This patch adds the call of atc->pcm_release_resources() at hw_params and hw_free callbacks to assure that the PCM setup is done correctly for each h/w parameter changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-09ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacksGravatar Takashi Iwai 1-0/+4
The SRC instances may not exist when PCM pointer callback is called at the state before initialization is finished. Add the NULL check just to be sure. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-09ALSA: ctxfi - Add missing start check in atc_pcm_playback_start()Gravatar Takashi Iwai 1-0/+4
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Add use_system_timer module optionGravatar Takashi Iwai 1-3/+6
Added use_system_timer module option to force to use the system timer instead of emu20k1 timer irq for debugging. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Fix wrong model id for UAAGravatar Takashi Iwai 2-9/+10
CTUAA should be checked instead of CTHENDRIX. The latter is for 20k2 chip. Also, fixed the detection of UAA/HENDRIX models by fixing the mask bits. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Clean up probe routinesGravatar Takashi Iwai 7-174/+135
Clean up probe routines and model detection routines so that the driver won't call and check the PCI subsystem id at each time. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: hda - Fix the previous tagra-8ch patchGravatar Takashi Iwai 1-2/+2
- Fix a typo in the patch - Adapted to follow the recent change for unsol event handling Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: hda - Add 7.1 support for MSI GX620Gravatar David Heidelberger 1-8/+107
Added 7.1 support for MSI GX620 and jack quirk. Reference: kernel bug#13430 http://bugzilla.kernel.org/show_bug.cgi?id=13430 Signed-off-by: David Heidelberger <d.okias@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: emu10k1 - Fix minimum periods for efx playbackGravatar Takashi Iwai 1-1/+1
EFX playback stream should have periods_min = 2 to avoid the buffer position overflow (due to restrictions of the pcm-indirect helper). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Fix / clean up hw20k2 chip codeGravatar Takashi Iwai 1-169/+177
- Clean up Hungarian coding style - Don't use static variables for I2C information; this unables to use multiple instances. Now they are stored in struct hw20k2 fields. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Fix possible buffer pointer overrunGravatar Takashi Iwai 1-0/+4
Fix possible buffer pointer overruns. Back to zero when it's equal or over the buffer size. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Remove useless initializations and castGravatar Takashi Iwai 11-297/+301
Remove useless variable initializations and cast at the beginning of functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Fix DMA mask for emu20k2 chipGravatar Takashi Iwai 1-6/+8
Allow 64bit DMA mask for emu20k2 chip, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Make volume controls more intuitiveGravatar Takashi Iwai 1-17/+32
Change the volume control to dB scale (as the raw data seems so). Also added the TLV dB-scale information. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ca0106 - Fix master volume scaleGravatar Takashi Iwai 1-1/+1
The master volume dB scale was wrongly defined as 0.50dB setp while it must be 0.25dB step. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Optimize the native timer handling using wc counterGravatar Takashi Iwai 3-28/+55
Optimize the timer update routine to look up wall clock once instead of checking the position of each stream at each timer update. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Add missing inclusion of linux/math64.hGravatar Takashi Iwai 1-0/+1
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: Clean up 64bit division functionsGravatar Takashi Iwai 2-6/+5
Replace the house-made div64_32() with the standard div_u64*() functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Set device 0 for mixer control elementsGravatar Takashi Iwai 1-1/+1
Mixer control elements are usually assigned to device 0. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Clean up / optimizeGravatar Takashi Iwai 6-248/+243
- Use static tables instead of assigining each funciton pointer - Add __devinit* to appropriate places; pcm, mixer and timer cannot be marked because they are kept in the function table that lives long - Move create_alsa_devs function out of struct ct_atc to mark it __devinit Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Set periods_min to 2Gravatar Takashi Iwai 1-2/+2
Set 2 to minimal periods of playback pcm setups, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Use native timer interrupt on emu20k1Gravatar Takashi Iwai 9-105/+543
emu20k1 has a native timer interrupt based on the audio clock, which is more accurate than the system timer (from the synchronization POV). This patch adds the code to handle this with multiple streams. The system timer is still used on emu20k2, and can be used also for emu20k1 easily by changing USE_SYSTEM_TIMER to 1 in cttimer.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Fix previous fix for 64bit DMAGravatar Takashi Iwai 1-5/+4
Remove unneeded substitution to 32bit int to make it really working. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: support Sony Vaio TTGravatar Guido Günther 1-0/+45
with BIOS probing only we offer a non functional headphone swith and volume slider. Signed-off-by: Guido Günther <agx@sigxcpu.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Fix endian-dependent codesGravatar Takashi Iwai 1-9/+9
The UAA-mode check in hwct20k1.c is implemented with the endian-dependent codes. Fix to be more portable (and readable). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Allow 64bit DMAGravatar Takashi Iwai 1-3/+7
emu20kx chips support 64bit address PTE. Allow the DMA bit mask to accept 64bit address, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-04ALSA: hda_intel: fix build error when !PMGravatar Alexander Beregalov 1-1/+4
Fix this build error when CONFIG_PM is not set: ound/pci/hda/hda_intel.c: In function 'azx_bus_reset': sound/pci/hda/hda_intel.c:1270: error: implicit declaration of function 'snd_pcm_suspend_all' sound/pci/hda/hda_intel.c:1271: error: implicit declaration of function 'snd_hda_suspend' sound/pci/hda/hda_intel.c:1272: error: implicit declaration of function 'snd_hda_resume' Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-04ALSA: hda - More Aspire 8930G fixesGravatar Hector Martin 1-11/+54
Enable all three capture channels, including the missing nid 7 which is the only one capable of capturing DMIC input Enable Headphone amp for the HP jack. This causes a volume boost for headphones, but does not cause any noticeable effect for light loads like other amps, so there is no need to make it configurable. Add Input Mix capture mux setting to capture the output of the playback input mux (that is, what goes out the speakers except for PCM) Hack another coef register because the stereo DMIC for some reason produces a nonstandard sum/difference signal. I found a bit to make it just use the sum signal for both channels, which makes it behave like a standard mono microphone. The stereo is useless anyway (they're 1cm apart). Tested working: Three capture channels, mic in, line in, DMIC. Tested not working: CD. Not sure why, might be unconnected in the actual hardware or a CD drive issue. Also looked at SPDIF. It appears to work (emitter lights up inside the HP out jack) but I lack a proper miniTOSLINK cable to test it. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99Gravatar Takashi Iwai 1-0/+2
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ca0106 - Add missing card->mixername field setupGravatar Takashi Iwai 1-0/+2
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02Merge branch 'topic/ctxfi-fix' into topic/ctxfiGravatar Takashi Iwai 9-108/+92
2009-06-02ALSA: ctxfi - Support SG-buffersGravatar Takashi Iwai 4-37/+30
Use SG-buffers instead of contiguous pages. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Remove PAGE_SIZE limitationGravatar Takashi Iwai 5-37/+30
Remove the limitation of PAGE_SIZE to be 4k by defining the own page size and macros for 4k. 8kb page size could be natively supported, but it's disabled right now for simplicity. Also, clean up using upper_32_bits() macro. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Fix supported PCM formatsGravatar Takashi Iwai 2-13/+7
The device seems supporting only U8, S16, S24_3LE, S32. Other linear formats result in bad outputs. Also, added the support for 32bit float format, which wasn't listed in the original code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Fix PCM device namingGravatar Takashi Iwai 3-10/+8
PCM names for surround streams should be also fixed as well as the mixer element names. Also, a bit clean up for PCM name setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Fix surround mixer namesGravatar Takashi Iwai 1-4/+4
We usually pick up "Surround" mixer for the rear output, and "Side" for the extra surround. Fix the channel mapping to follow it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ALSA: ctxfi - Release PCM resources at each prepare callGravatar Takashi Iwai 1-0/+9
The prepare callback can be called multiple times, thus it needs to release and acquire the resource again by itself at the second or later call. Simply add pcm_release_resources() at the beginning of each prepare callback in ctatc.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: Remove invalid GENERIC_MIX PCM sublassGravatar Takashi Iwai 2-2/+0
SNDRV_PCM_SUBCLASS_GENERIC_MIX is mostly for h/w multi-stream playback devices, but ca0106 and emu10k1x don't support it (unlike emu10k1). We shouldn't set that flag to avoid confusion. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02Merge branch 'topic/hda-ctl-reset' into topic/hdaGravatar Takashi Iwai 4-33/+69
2009-06-02ALSA: ca0106 - Add missing registrations of vmaster controlsGravatar Takashi Iwai 1-0/+6
Although the vmaster controls are created, they aren't registered thus they don't appear in the real world. Added the missing snd_ctl_add() calls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-06-02ALSA: hda - Acer Aspire 8930G supportGravatar Hector Martin 1-5/+94
Short story: this laptop has 5.1 built-in speakers which you *really* want to use (the not-so-"sub" woofer is what makes the audio above average for a laptop), so 6-channel support is important (plus a decent asound.conf to upmix stereo). It also has the 3 typical jacks that ought to have a selectable mode. And it's based on ALC889, which sucks. Rationale/explanations: The const_channel_count stuff was added because, for a laptop like this, you always have 6 channels available (internal speakers) but still need to set the mode for the 3 external jacks. Therefore, the device always needs to be in 6-channel mode but there still needs to be a mixer control for the jack mode. You could use line/mic-in at the same time as the 6 internal speakers, for example. You might be tempted to make it even smarter by dynamically switching the max channel count when headphones are plugged in (therefore muting the internal speakers and reducing the physical channel count to the jack channel mode), but as a user I consider this to be harmful because I want the audio to blow up to 6 channels / upmixed as soon as I unplug the headphones, and having opened the device while in 2-channel mode would prevent this from working (and always making 6-channel mode available doesn't do any harm). The hardware needs EAPD turned on and the DACs routed to the internal speaker pins, so the patch adds those verbs. The ALC889 CLFE and subsequent (side/aux, here unused) DACs do NOT work by default, at least here. I wasted much time trying to talk to Realtek/pshou about this, but they just kept sending me useless updates to patch_realtek.c that did nothing relevant. In the end I gave up and brute forced the issue by trying to flip every bit in the proprietary coefficient registers, and eventually found the two magic registers that need to be cleared to enable all DACs. I have only heard Acer users complain, but that might be because ALC889 is pretty new and using 5.1 (and noticing the missing center/lfe channels) might not be that common. If this is a generalized issue with all ALC889 systems then those verbs should probably be moved to a common verb array. The internal mic is untested and probably doesn't work. These settings will probably work for other Acer Gemstone laptops with the same 5.1 speaker config. When identified, those should be added to the PCI subsystem ID list. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Fix a typo in MODULE_LICENSEGravatar Takashi Iwai 1-1/+1
A space has to be put between GPL and v2. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Fix Oops at mmappingGravatar Takashi Iwai 4-16/+13
Replace a spinlock with a mutex protecting the vm block list at mmap / munmap calls, which caused Oops like below: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 32065, name: xine Pid: 32065, comm: xine Tainted: P 2.6.29.4-75.fc10.x86_64 #1 Call Trace: [<ffffffff81040685>] __might_sleep+0x105/0x10a [<ffffffff810c9fae>] kmem_cache_alloc+0x32/0xe2 [<ffffffffa08e3110>] ct_vm_map+0xfa/0x19e [snd_ctxfi] [<ffffffffa08e1a07>] ct_map_audio_buffer+0x4c/0x76 [snd_ctxfi] [<ffffffffa08e2aa5>] atc_pcm_playback_prepare+0x1d7/0x2a8 [snd_ctxfi] [<ffffffff8105ef3f>] ? up_read+0x9/0xb [<ffffffff81186b61>] ? __up_read+0x7c/0x87 [<ffffffffa08e36a6>] ct_pcm_playback_prepare+0x39/0x60 [snd_ctxfi] [<ffffffffa0886bcb>] snd_pcm_do_prepare+0x16/0x28 [snd_pcm] [<ffffffffa08867c7>] snd_pcm_action_single+0x2d/0x5b [snd_pcm] [<ffffffffa08881f3>] snd_pcm_action_nonatomic+0x52/0x6a [snd_pcm] [<ffffffffa088a723>] snd_pcm_common_ioctl1+0x404/0xc79 [snd_pcm] [<ffffffff810c52c8>] ? alloc_pages_current+0xb9/0xc2 [<ffffffff810c9402>] ? new_slab+0x1a5/0x1cb [<ffffffff810ab9ea>] ? vma_prio_tree_insert+0x23/0xc1 [<ffffffffa088b411>] snd_pcm_playback_ioctl1+0x213/0x230 [snd_pcm] [<ffffffff810b6c20>] ? mmap_region+0x397/0x4c9 [<ffffffffa088bd9b>] snd_pcm_playback_ioctl+0x2e/0x36 [snd_pcm] [<ffffffff810ddc64>] vfs_ioctl+0x2a/0x78 [<ffffffff810de130>] do_vfs_ioctl+0x462/0x4a2 [<ffffffff81029cef>] ? default_spin_lock_flags+0x9/0xe [<ffffffff81374647>] ? trace_hardirqs_off_thunk+0x3a/0x6c [<ffffffff810de1c5>] sys_ioctl+0x55/0x77 [<ffffffff8101133a>] system_call_fastpath+0x16/0x1b Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Limit codec-verb retry to limited hardwaresGravatar Takashi Iwai 4-11/+15
The reset of a BUS controller during operations is somehow risky and shouldn't be done inevitably for devices that have apparently no such codec-communication problems. This patch adds the check of the hardware and limits the bus-reset capability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Add codec bus reset and verb-retry at critical errorsGravatar Takashi Iwai 3-23/+55
Some machines machine cause a severe CORB/RIRB stall in certain weird conditions, such as PA access at the start up together with fglrx driver. This seems unable to be recovered without the controller reset. This patch allows the bus controller reset at critical errors so that the communication gets recovered again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Reorder and clean-up ALC268 quirk tableGravatar Takashi Iwai 1-7/+6
Rearrange alc268_cfg_tbl[] in the order of vendor id, and group some entries using SND_PCI_QUIRK_MASK(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - fix audio on LG R510Gravatar Ozan Çağlayan 1-0/+1
Currently, LG R510 is only able to produce sound on headphones, the internal speakers are not working. The user tested and confirmed that with model=Dell headphones, internal speakers and the microphone are working flawlessly. Tested-by: Serdar Soytetir <tulliana@gmail.com> Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Macbook[Pro] 5 6ch supportGravatar Kacper Szczesniak 1-15/+65
this is a patch against current snapshot that adds: 6 channels support for the MB5 model Signed-off-by: Kacper Szczesniak <kacper@qwe.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>