Age | Commit message (Collapse) | Author |
|
* topic/intel8x0:
ALSA: intel8x0 - Fix PCM position craziness
|
|
* topic/hda:
ALSA: hda - Add quirk for Acer Aspire 6935G
|
|
* topic/ctxfi:
ALSA: ctxfi - Fix deadlock with xfi-timer
ALSA: ctxfi - Replace atc lock to mutex
|
|
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>
|
|
The PCM pointer callback sometimes returns invalid positions and this
screws up the hw_ptr updater in PCM core. Especially since now the
jiffies check is optional with xrun_debug, the invalid position is
handled as is, and causes serious sound skips, etc.
This patch simplifies the position-fix strategy in intel8x0 to be more
robust:
- just falls back to the last position if bogus position is detected
- another sanity check for the backward move of the position due to
a race of register update and the base-index update
This patch is applicable also for 2.6.30.
Tested-by: David Miller <davem@davemloft.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Added model=acer-aspire-8930g for Acer Aspire 6935G (1025:0146).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
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>
|
|
* topic/lx6464es:
ALSA: lx6464es - support standard alsa module parameters
|
|
* topic/hda:
ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)
|
|
trivial patch to support the alsa module parameters `index', `id'
and `enable'
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
A quirk is required for 8086:284b (rev 03) [Subsystem: 161f:2073].
The following has been tested with Alsa 1.0.20 (git master).
Background details can be found at
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4561
http://forum.ubuntu-gr.org/viewtopic.php?f=38&t=5290
Tested-by: Theodora Iliopoulou <th30dr@gmail.com>
Signed-off-by: Simos Xenitellis <simos@gnome.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
* topic/seq-kconfig-cleanup:
ALSA: clean up the logic for building sequencer modules
|
|
* topic/riptide:
ALSA: riptide - Fix joystick resource handling
ALSA: riptide - Code clean up
|
|
* topic/pcm-subclass-fix:
ALSA: Remove invalid GENERIC_MIX PCM sublass
|
|
* topic/oxygen:
sound: virtuoso: add Xonar Essence ST support
sound: virtuoso: enable HDAV S/PDIF input
sound: virtuoso: add another DX PCI ID
sound: oxygen: reset DMA when stream is closed
|
|
* topic/misc:
ALSA: sgio2audio.c: clean up checking
ALSA: burgundy: timeout message is off by one.
ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99
ALSA: parisc/harmony: fix printk format warning
ALSA: keywest: Get rid of useless i2c_device_name() macro
|
|
* topic/maya44:
ALSA: ice1724 - Add ESI Maya44 support
ALSA: ice1724 - Allow spec driver to create own routing controls
ALSA: ice1724 - Add PCI postint to reset sequence
ALSA: ice1724 - Clean up definitions of DMA records
ALSA: ice1724 - Check error in set_rate function
|
|
* topic/lx6464es:
ALSA: Add missing description of lx6464es to ALSA-Configuration.txt
ALSA: lx6464es - Disable lx_message_send()
ALSA: lx6464es - Use snd_card_create()
ALSA: lx6464es - driver for the digigram lx6464es interface
|
|
* topic/hdsp:
ALSA: hdsp - Add a comment about external firmwares for hdsp
ALSA: hdsp: allow firmware loading from inside the kernel
|
|
* topic/hda: (51 commits)
ALSA: hda - Fix the previous tagra-8ch patch
ALSA: hda - Add 7.1 support for MSI GX620
ALSA: support Sony Vaio TT
ALSA: hda_intel: fix build error when !PM
ALSA: hda - More Aspire 8930G fixes
ALSA: hda - Acer Aspire 8930G support
ALSA: hda - Limit codec-verb retry to limited hardwares
ALSA: hda - Add codec bus reset and verb-retry at critical errors
ALSA: hda - Reorder and clean-up ALC268 quirk table
ALSA: hda - fix audio on LG R510
ALSA: hda - Macbook[Pro] 5 6ch support
ALSA: hda-intel: improve initialization for ALC262_HP_BPC model
ALSA: hda - Jack Mode changes for Sigmatel boards
ALSA: hda - Support NVIDIA 8 channel HDMI audio
ALSA: hda - Fix a typo in the previous patch
ALSA: hda - Fix reverted LED setup for HP
ALSA: hda - Add more register bits definitions
ALSA: hda - Always sync writes in single_cmd mode
ALSA: hda - Support sync after writing a verb
ALSA: hda - Allow concurrent RIRB access in single_cmd mode
...
|
|
* topic/emu10k1:
ALSA: emu10k1 - Fix minimum periods for efx playback
|
|
* topic/div64-cleanup:
ALSA: Clean up 64bit division functions
|
|
* topic/ctxfi: (35 commits)
ALSA: ctxfi - Clear PCM resources at hw_params and hw_free
ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks
ALSA: ctxfi - Add missing start check in atc_pcm_playback_start()
ALSA: ctxfi - Add use_system_timer module option
ALSA: ctxfi - Fix wrong model id for UAA
ALSA: ctxfi - Clean up probe routines
ALSA: ctxfi - Fix / clean up hw20k2 chip code
ALSA: ctxfi - Fix possible buffer pointer overrun
ALSA: ctxfi - Remove useless initializations and cast
ALSA: ctxfi - Fix DMA mask for emu20k2 chip
ALSA: ctxfi - Make volume controls more intuitive
ALSA: ctxfi - Optimize the native timer handling using wc counter
ALSA: ctxfi - Add missing inclusion of linux/math64.h
ALSA: ctxfi - Set device 0 for mixer control elements
ALSA: ctxfi - Clean up / optimize
ALSA: ctxfi - Set periods_min to 2
ALSA: ctxfi - Use native timer interrupt on emu20k1
ALSA: ctxfi - Fix previous fix for 64bit DMA
ALSA: ctxfi - Fix endian-dependent codes
ALSA: ctxfi - Allow 64bit DMA
...
|
|
* topic/ca0106:
ALSA: ca0106 - Fix master volume scale
ALSA: ca0106 - Add missing card->mixername field setup
ALSA: ca0106 - Add missing registrations of vmaster controls
|
|
* topic/au88x0:
ALSA: au88x0: fix wrong period_elapsed() call
ALSA: au88x0: fix .pointer callback
|
|
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>
|
|
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>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
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>
|
|
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>
|
|
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>
|
|
- Fix a typo in the patch
- Adapted to follow the recent change for unsol event handling
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
Remove useless variable initializations and cast at the beginning of
functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Allow 64bit DMA mask for emu20k2 chip, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Replace the house-made div64_32() with the standard div_u64*() functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Mixer control elements are usually assigned to device 0.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
- 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>
|
|
Set 2 to minimal periods of playback pcm setups, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
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>
|
|
Remove unneeded substitution to 32bit int to make it really working.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
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>
|
|
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>
|