summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2009-06-22ALSA: ctxfi - Add PM supportWai Yew CHAY
Added the suspend/resume support to ctxfi driver. The team tested on the following seems ok: AMD Athlon 64 3500+ / ASUS A8N-E / 512MB DDR ATI / Radeon X1300 20k1 & 20k2 cards Signed-off-by: Wai Yew CHAY <wychay@ctl.creative.com> Singed-off-by: Ryan RICHARDS <ryan_richards@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-22ALSA: ctxfi - Allow unknown PCI SSIDsTakashi Iwai
Allow unknown PCI SSIDs for emu20k1 and emu20k2 as "unknown" model. Also, add a black-list check in case any device has to be listed as "unsupported". It has a negative value in the pci quirk entry. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-15ALSA: ctxfi - Fix deadlock with xfi-timerTakashi Iwai
The PCM x-fi native update routine can cause deadlocks when the trigger(START) is called while the stream is running. This patch fixes the deadlock by just postponing the pcm period update to the next possible wake-up. Also it adds the flip of ti->running flag (just to be sure as now). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-13ALSA: ctxfi - Replace atc lock to mutexTakashi Iwai
The spinlock in atc can cause a sleep in lock: Kernel failure message 1: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 2537, name: gstreamer-prope Pid: 2537, comm: gstreamer-prope Tainted: P 2.6.29.4-167.fc11.x86_64 #1 Call Trace: [<ffffffff8103ff0f>] __might_sleep+0x10b/0x110 [<ffffffff810cd734>] __kmalloc+0x73/0x130 [<ffffffffa0b4b142>] ? daio_rsc_init+0xaa/0x125 [snd_ctxfi] [<ffffffffa0b4b212>] dao_rsc_init+0x55/0x1c0 [snd_ctxfi] [<ffffffffa0b4b3d2>] dao_rsc_reinit+0x55/0x5d [snd_ctxfi] [<ffffffff813abd6c>] ? _spin_lock_irqsave+0x32/0x3b [<ffffffffa0b454fe>] atc_spdif_out_passthru+0x92/0x136 [snd_ctxfi] ... Since the lock path is no critical path, it can be gracefully replaced with a mutex. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-09ALSA: ctxfi - Clear PCM resources at hw_params and hw_freeTakashi Iwai
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 callbacksTakashi Iwai
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()Takashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Add use_system_timer module optionTakashi Iwai
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 UAATakashi Iwai
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 routinesTakashi Iwai
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: ctxfi - Fix / clean up hw20k2 chip codeTakashi Iwai
- 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 overrunTakashi Iwai
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 castTakashi Iwai
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 chipTakashi Iwai
Allow 64bit DMA mask for emu20k2 chip, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: ctxfi - Make volume controls more intuitiveTakashi Iwai
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: ctxfi - Optimize the native timer handling using wc counterTakashi Iwai
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.hTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Set device 0 for mixer control elementsTakashi Iwai
Mixer control elements are usually assigned to device 0. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Clean up / optimizeTakashi Iwai
- 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 2Takashi Iwai
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 emu20k1Takashi Iwai
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 DMATakashi Iwai
Remove unneeded substitution to 32bit int to make it really working. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: ctxfi - Fix endian-dependent codesTakashi Iwai
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 DMATakashi Iwai
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-02Merge branch 'topic/ctxfi-fix' into topic/ctxfiTakashi Iwai
2009-06-02ALSA: ctxfi - Support SG-buffersTakashi Iwai
Use SG-buffers instead of contiguous pages. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: ctxfi - Remove PAGE_SIZE limitationTakashi Iwai
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 formatsTakashi Iwai
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 namingTakashi Iwai
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 namesTakashi Iwai
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 callTakashi Iwai
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: ctxfi - Fix a typo in MODULE_LICENSETakashi Iwai
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 mmappingTakashi Iwai
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-05-26ALSA: ctxfi - Add missing module parameter definitionsTakashi Iwai
Added missing module_param*() and MODULE_PARM*(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-20ALSA: ctxfi - Add depends on X86Takashi Iwai
The ctxfi driver requires explicitly the 4k page size, and gives a build error on architectures with non-4k pages. As a workaround, just add the kconfig dependency on X86, which is the only architecture ever tested. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14ALSA: ctxfi - Add prefix to debug printsTakashi Iwai
Added ctxfi: prefix to each debug print. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14ALSA: ctxfi - Avoid unneeded pci_read_config_*() callsTakashi Iwai
Use struct pci subsystem_device and revision fields instead of unneeded calls of pci_read_config_*(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14ALSA: ctxfi - Move PCI ID definitions to linux/pci_ids.hTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14ALSA: ctxfi - Add missing inclusion of linux/delay.hTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14ALSA: SB X-Fi driver mergeWai Yew CHAY
The Sound Blaster X-Fi driver supports Creative solutions based on 20K1 and 20K2 chipsets. Supported hardware : Creative Sound Blaster X-Fi Titanium Fatal1ty® Champion Series Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series Creative Sound Blaster X-Fi Titanium Professional Audio Creative Sound Blaster X-Fi Titanium Creative Sound Blaster X-Fi Elite Pro Creative Sound Blaster X-Fi Platinum Creative Sound Blaster X-Fi Fatal1ty Creative Sound Blaster X-Fi XtremeGamer Creative Sound Blaster X-Fi XtremeMusic Current release features: * ALSA PCM Playback * ALSA Record * ALSA Mixer Note: * External I/O modules detection not included. Signed-off-by: Wai Yew CHAY <wychay@ctl.creative.com> Singed-off-by: Ryan RICHARDS <ryan_richards@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08Linux 2.6.30-rc5v2.6.30-rc5Linus Torvalds
2009-05-08Merge git://git.infradead.org/mtd-2.6Linus Torvalds
* git://git.infradead.org/mtd-2.6: mtd: fix timeout in M25P80 driver mtd: Bug in m25p80.c during whole-chip erase mtd: expose subpage size via sysfs mtd: mtd in mtd_release is unused without CONFIG_MTD_CHAR
2009-05-08Merge branch 'x86-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: MCE: make cmci_discover_lock irq-safe x86: xen, i386: reserve Xen pagetables x86, kexec: fix crashdump panic with CONFIG_KEXEC_JUMP x86-64: finish cleanup_highmaps()'s job wrt. _brk_end x86: fix boot hang in early_reserve_e820() x86: Fix a typo in a printk message x86, srat: do not register nodes beyond e820 map
2009-05-08Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6Linus Torvalds
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (w83781d) Fix W83782D support (NULL pointer dereference) hwmon: (asus_atk0110) Fix compiler warning
2009-05-08Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds
* 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix return value for sys_ipc microblaze: Storage class should be before const qualifier
2009-05-08kprobes: fix to use text_mutex around arm/disarm kprobeMasami Hiramatsu
Fix kprobes to lock text_mutex around some arch_arm/disarm_kprobe() which are newly added by commit de5bd88d5a5cce3cacea904d3503e5ebdb3852a2. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-08hwmon: (w83781d) Fix W83782D support (NULL pointer dereference)Jean Delvare
Commit 360782dde00a2e6e7d9fd57535f90934707ab8a8 (hwmon: (w83781d) Stop abusing struct i2c_client for ISA devices) broke W83782D support for devices connected on the ISA bus. You will hit a NULL pointer dereference as soon as you read any device attribute. Other devices, and W83782D devices on the SMBus, aren't affected. Reported-by: Michel Abraham Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Michel Abraham
2009-05-08hwmon: (asus_atk0110) Fix compiler warningLuca Tettamanti
atk_sensor_type is only used when DEBUG is defined. Signed-off-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2009-05-08mtd: fix timeout in M25P80 driverPeter Horton
Extend erase timeout in M25P80 SPI Flash driver. The M25P80 drivers fails erasing sectors on a M25P128 because the ready wait timeout is too short. Change the timeout from a simple loop count to a suitable number of seconds. Signed-off-by: Peter Horton <zero@colonel-panic.org> Tested-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-05-08x86: MCE: make cmci_discover_lock irq-safeHidetoshi Seto
Lockdep reports the warning below when Li tries to offline one cpu: [ 110.835487] ================================= [ 110.835616] [ INFO: inconsistent lock state ] [ 110.835688] 2.6.30-rc4-00336-g8c9ed89 #52 [ 110.835757] --------------------------------- [ 110.835828] inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. [ 110.835908] swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes: [ 110.835982] (cmci_discover_lock){?.+...}, at: [<ffffffff80236dc0>] cmci_clear+0x30/0x9b cmci_clear() can be called via smp_call_function_single(). It is better to disable interrupt while holding cmci_discover_lock, to turn it into an irq-safe lock - we can deadlock otherwise. [ Impact: fix possible deadlock in the MCE code ] Reported-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <4A03ED38.8000700@jp.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Reported-by: Shaohua Li<shaohua.li@intel.com>