aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers/aloop.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-05-15ALSA: snd-aloop - improve the sample copy accurracyJaroslav Kysela1-27/+35
Maintain both streams (playback, capture) synchronized. Previous code didn't take in account the small byte count drifts caused by the irq position rounding. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-12-19ALSA: module_param: make bool parameters really boolRusty Russell1-1/+1
module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-10-31sound: fix drivers needing module.h not moduleparam.hPaul Gortmaker1-1/+1
The implicit presence of module.h lured several users into incorrectly thinking that they only needed/used modparam.h but once we clean up the module.h presence, these will show up as build failures, so fix 'em now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-09-24ALSA: aloop - Use vmalloc bufferTakashi Iwai1-6/+7
snd-aloop driver is virtual and has no need for allocating contiguous pages. It'll be more system-friendly to use vmalloc buffers. Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-18ALSA: aloop - Fix possible IRQ lock inversionTakashi Iwai1-10/+9
loopback_pos_update() can be called in the timer callback, thus the lock held should be irq-safe. Otherwise you'll get AB/BA deadlock together with substream->self_group.lock. Reported-and-tested-by: Knut Petersen <Knut_Petersen@t-online.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-20ALSA: snd-aloop - add pause supportJaroslav Kysela1-5/+22
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-20ALSA: snd-aloop - fix locking issues (running flag updates)Jaroslav Kysela1-13/+19
On SMP machines, the cable->running update must be atomic, otherwise stream is not started correctly sometimes. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-18ALSA: snd-aloop: add cable#0 and cable#1 files to proc card treeJaroslav Kysela1-0/+84
Show some useful runtime information using procfs. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-14ALSA: snd-aloop - fix issue in the timer start functionJaroslav Kysela1-1/+7
In some circumstances (the rate shift value was changed), the irq_pos value may be higher than the fraction value in the timer start function. Check for it. Also, to avoid value overflow, decrease maximum period size. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-11ALSA: snd-aloop: Fix hw_params restrictions and checkingJaroslav Kysela1-18/+106
This patch fixes the hw_params restrictions when first (or playback) stream sets the final hardware parameters. Also, fix the hw_params checking in the trigger callback. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-02ALSA: snd-aloop - fix "PCM Slave Active" element read valueJaroslav Kysela1-1/+1
Simple coding fix. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-30ALSA: snd-aloop - fix capture buffer silenceJaroslav Kysela1-2/+4
In a special case, some old samples are left in the capture ring buffer. Fix it. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-15ALSA: snd-aloop - fix the "PCM Playback Channels" kcontrolJaroslav Kysela1-1/+1
Obvious copy-and-paste error. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-08-09ALSA: introduce the snd-aloop module for the PCM loopbackJaroslav Kysela1-0/+1055
The snd-aloop module allows redirecting of the PCM playback in the kernel back to the user space using the standard ALSA PCM capture API. The module also allows time synchronization with another timing source and notifications of playback stream parameter changes. Signed-off-by: Jaroslav Kysela <perex@perex.cz>