12 Jul, 2010
2 commits
-
This moves the lock_kernel() call from soundcore_open
to the individual OSS device drivers, where we can deal
with it one driver at a time if needed, or just kill
off the drivers.All core components in ALSA already provide
adequate locking in their open()-functions
and do not require the big kernel lock, so
there is no need to add the BKL there.Signed-off-by: Arnd Bergmann
Signed-off-by: Takashi Iwai -
As per-stream volume controls, the DXS controls are not intended to
adjust the overall sound level and so are initialized every time
a stream is opened. However, there are special situations where one
wants to reduce the overall volume in the digital domain, i.e., before
the AC'97 codec's PCM volume control. To allow this, add a module
parameter that sets the initial DXS volume.Signed-off-by: Clemens Ladisch
Tested-by: Soeren D. Schulze
Signed-off-by: Takashi Iwai
09 Jul, 2010
1 commit
-
It is not advisable to print a warning when a device does not support
setting the sample rate because this is perfectly valid for devices with
a single rate or where rates are implicitly changed by selecting another
alternate setting.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
06 Jul, 2010
7 commits
-
Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai -
Handle errors in tuner level caching,
Ccorrect error code for aesebu rx status.Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai -
Compander API changed to one function per parameter.
Factor out some common code for stereo log value reading.
Make some more entity functions static.Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai -
Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai -
Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai -
Remove some deprecated items.
Change compander api to one function per parameter.
Add a version string define.Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai -
Most of this function is protected by the sound_loader_lock.
We can push down the BKL to this call out err = file->f_op->open(inode,file);In order to build the sound core without the BKL, we
will need to push the lock_kernel() call into the ~20
device drivers that register their file operations.Signed-off-by: John Kacur
Signed-off-by: Arnd Bergmann
Acked-by: Alan Cox
Signed-off-by: Takashi Iwai
05 Jul, 2010
1 commit
28 Jun, 2010
3 commits
-
A few boards using this controller are reported to need a little extra
time during their reset cycle.Reported-by: Michael Goeke
Signed-off-by: Dave Dillow
Signed-off-by: Jaroslav Kysela -
When using a timing voice to clock out periods during capture, the
driver would slowly loose synchronization and never catch up, eventually
reaching a point where it no longer generated interrupts. To avoid
this situation, the virtual period clocking was changed to shorten the
next timing period when our timing voice falls too far behind the
capture voice. In addition, the first virtual period for the timing
voice was slightly too short, causing the timing voice to initially be
ahead of the capture voice.While tracking down this problem, I noticed that the expected sample
offset was being incorrectly initialized, causing an overrun to be
incorrectly reported when the timing voice happened to be perfectly
synchronized.Reported-by: Hans Schou
Signed-off-by: Dave Dillow
Signed-off-by: Jaroslav Kysela -
When using poll() to wait for the next period -- or avail_min samples --
one gets a consistent delay for each system call that is usually just a
little short of the selected period time. However, When using
snd_pcm_read/write(), one gets a jittery delay that alternates between
less than a millisecond and approximately two period times. This is
caused by snd_pcm_lib_{read,write}1() transferring any available samples
to the user's buffer and adjusting the application pointer prior to
sleeping to the end of the current period. When the next period
interrupt occurs, there is then less than avail_min samples remaining to
be transferred in the period, so we end up sleeping until a second
period occurs.This is solved by using runtime->twake as the number of samples needed
for a wakeup in addition to selecting the proper wait queue to wake in
snd_pcm_update_state(). This requires twake to be non-zero when used
by snd_pcm_lib_{read,write}1() even if avail_min is zero.Signed-off-by: Dave Dillow
Signed-off-by: Jaroslav Kysela
24 Jun, 2010
1 commit
-
Replaced the forgotten cval->mixer->ctrlif.
Signed-off-by: Takashi Iwai
23 Jun, 2010
7 commits
-
As the control interface is now carried in struct snd_usb_audio, we can
simplify the API a little and also drop the private ctrlif field from
struct usb_mixer_interface.Also remove a left-over function prototype in pcm.h.
Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai -
Also add a list of open topics.
Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai -
Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai -
Get rid of the last occurances of _v1 suffixes, and move the version
number right after the "uac" string. Now things are consitent again.Sorry for the forth and back, but it just looks much nicer this way.
Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai -
Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai -
Some programs like Skype trying to set capture volume automatically.
Normally it will tray, carefully step by step lover or higher, set the volume.
In real word it work not really well, because devises and vendors lie about
real audio settings.
For example most Logitech webcams have 6400 or 3500 steps for capture volume.
They do not tell that actual resolution is 384. So we have only 7 or 18 real
steps. In this patch I set real resolution only for tested devices.Signed-off-by: Alexey Fisher
Signed-off-by: Takashi Iwai
21 Jun, 2010
1 commit
-
Stanse found that in snd_usb_parse_audio_endpoints, there is a
dangling pointer dereference. When snd_usb_parse_audio_format fails,
fp is freed, and continue invoked. On the next loop, there is
"fp && fp->altsetting == 1 && fp->channels == 1" test, but fp is set
from the last iteration (but is bogus) and thus ilegally dereferenced.Set fp to NULL before "continue".
Signed-off-by: Jiri Slaby
Acked-by: Daniel Mack
Signed-off-by: Takashi Iwai
17 Jun, 2010
2 commits
-
Signed-off-by: Andy Shevchenko
Signed-off-by: Takashi Iwai -
These give incorrect results for index wrap on 64 bit.
Signed-off-by: Eliot Blennerhassett
Signed-off-by: Takashi Iwai
12 Jun, 2010
4 commits
-
For RANGE requests, we should only query as much bytes as we're in fact
interested in.For CUR requests, we shouldn't confuse the firmware with an overlong
request but just ask for 2 bytes.This might need fixing in the future as it's not entirely clear when to
dispatch 1-byte, 2-byte and 4-byte request blocks. For now, we assume
everything is coded in 16bit - this works for all firmware
implementations I've seen.Signed-off-by: Daniel Mack
Reported-by: Alex Lee
Signed-off-by: Takashi Iwai -
A device may report its supported sample rates in ranges rather than in
discrete triplets. The code used to only parse the MIN field instead of
properly paying attention to the MAX and RES values.Also, handle RES values of 1 correctly and announce a continous sample
rate range in this case.Signed-off-by: Daniel Mack
Reported-by: Alex Lee
Signed-off-by: Takashi Iwai -
Control messages directed to an interface must have the interface number
set in the lower 8 bits of wIndex. This wasn't done correctly for some
clock and mixer messages.Signed-off-by: Daniel Mack
Reported-by: Alex Lee
Signed-off-by: Takashi Iwai -
Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai
08 Jun, 2010
2 commits
-
The '*bitclk' of structure 'snd_at73c213' seems no use,
so I make a patch to remove the unnecessary variable.Signed-off-by: Wan ZongShun
Acked-by: Liam Girdwood
Signed-off-by: Takashi Iwai -
Signed-off-by: Yegor Yefremov
Signed-off-by: Takashi Iwai
05 Jun, 2010
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: hda-intel - fix wallclk variable update and condition
ALSA: asihpi - Fix uninitialized variable
ALSA: hda: Use LPIB for ASUS M2V
usb/gadget: Replace the old USB audio FU definitions in f_audio.c
ASoC: MX31ads sound support should depend on MACH_MX31ADS_WM1133_EV1
ASoC: Add missing Kconfig entry for Phytec boards
ALSA: usb-audio: export UAC2 clock selectors as mixer controls
ALSA: usb-audio: clean up find_audio_control_unit()
ALSA: usb-audio: add UAC2 sepecific Feature Unit controls
ALSA: usb-audio: unify constants from specification
ALSA: usb-audio: parse clock topology of UAC2 devices
ALSA: usb-audio: fix selector unit string index accessor
include/linux/usb/audio-v2.h: add more UAC2 details
ALSA: usb-audio: support partially write-protected UAC2 controls
ALSA: usb-audio: UAC2: clean up parsing of bmaControls
ALSA: hda: Use LPIB for another mainboard
ALSA: hda: Use mb31 quirk for an iMac model
ALSA: hda: Use LPIB for an ASUS device
02 Jun, 2010
8 commits
-
…ie/sound-2.6 into fix/asoc
-
This patch fixes thinko introduced in "last minutes" before commiting
of the last wallclk patch.It also fixes the condition checking if the first period after last
wallclk update is processed. There is a little rounding error in
period_wallclk.Signed-off-by: Jaroslav Kysela
-
This patch fixes thinko introduced in "last minutes" before commiting
of the last wallclk patch.It also fixes the condition checking if the first period after last
wallclk update is processed. There is a little rounding error in
period_wallclk.Signed-off-by: Jaroslav Kysela
-
Initialize prev_ctl properly before reference:
sound/pci/asihpi/asihpi.c: In function ‘snd_card_asihpi_mixer_new’:
sound/pci/asihpi/asihpi.c:2568:30: warning: ‘prev_ctl.dst_node_index’ may be used uninitialized in this functionSigned-off-by: Takashi Iwai