21 Mar, 2011
3 commits
-
Improve tea575x-tuner with various good things from radio-maestro:
- extend frequency range to 50-150MHz
- fix querycap(): card name, CAP_RADIO
- improve g_tuner(): CAP_STEREO, stereo and tuned indication
- improve g_frequency(): tuner index checking and reading frequency from HW
- improve s_frequency(): tuner index and type checkingSigned-off-by: Ondrej Zary
Signed-off-by: Takashi Iwai -
Set EAPD for Realtek ALC665 (Vendor Id: 0x10eSet EAPD for Realtek
ALC665 (Vendor Id: 0x10ec0665).Signed-off-by: Andres Mejia
Signed-off-by: Takashi Iwai -
Some USB devices give trailing spaces in strings returned from
usb_string(). This confuses the automatic card-id creation, resulting
always in "default".
This patch fixes the behavior by removing trailing spaces.Signed-off-by: Takashi Iwai
18 Mar, 2011
4 commits
-
Convert direct read of inode->i_size to using i_size_read().
i_size_read is guaranteed to return a valid value and
its caller does not need to use addtional locking.Signed-off-by: Xiaochen Wang
Signed-off-by: Takashi Iwai -
The user-supplied index into the adapters array needs to be checked, or
an out-of-bounds kernel pointer could be accessed and used, leading to
potentially exploitable memory corruption.Signed-off-by: Dan Rosenberg
Cc:
Signed-off-by: Takashi Iwai -
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
Cc:
Signed-off-by: Takashi Iwai
17 Mar, 2011
3 commits
-
Merge list_del() + list_add_tail() to list_move_tail().
Signed-off-by: Nicolas Kaiser
Signed-off-by: Takashi Iwai
16 Mar, 2011
3 commits
-
…soc-2.6 into topic/asoc
-
Signed-off-by: Kirill A. Shutemov
Signed-off-by: Takashi Iwai -
fixes this error:
sound/firewire/fcp.c: In function 'fcp_avc_transaction':
sound/firewire/fcp.c:103: error: implicit declaration of function 'msleep'Signed-off-by: Stephen Rothwell
Signed-off-by: Takashi Iwai
15 Mar, 2011
4 commits
-
Add an AMDTP stream error state that occurs when we fail to queue
another packet. In this case, the stream is stopped, and the error can
be reported when the application tries to restart the PCM stream.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
For correct cache coherency on some architectures, DMA buffers must be
allocated in a different cache line than data that is concurrently used
by the CPU.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
In non-blocking mode, the SYT_INTERVAL is larger than the number of
audio frames in each packet, so there are packets that do not contain
any frame to which the SYT could be applied. For these packets, the
SYT must not be the timestamp of the next valid SYT frame, but the
special no-info SYT value.This fixes broken playback on the FireWave at 44.1 kHz.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add a driver for two playback-only FireWire devices based on the OXFW970
chip.v2: better AMDTP API abstraction; fix fw_unit leak; small fixes
v3: cache the iPCR value
v4: FireWave constraints; fix fw_device reference counting;
fix PCR caching; small changes and fixes
v5: volume/mute support; fix crashing due to pcm stop races
v6: fix build; one-channel volume for LaCie
v7: use signed values to make volume (range checks) work; fix function
block IDs for volume/mute; always use channel 0 for LaCie volumeSigned-off-by: Clemens Ladisch
Acked-by: Stefan Richter
Tested-by: Jay Fenlason
Signed-off-by: Takashi Iwai
14 Mar, 2011
9 commits
-
Signed-off-by: Takashi Iwai
-
This patch replaces use of the harcoded arrays of pins, muxes, digital
mics and adcs with the auto-generated ones using codec parsing and
auto-discovers all actually connected digital mic pins on 92HD8X-like
codecsThis patch also adds the support for d-mic on pin 0x20.
Signed-off-by: Vitaliy Kulikov
Signed-off-by: Takashi Iwai -
When the mux for digital mic is different from the mux for other mics,
the current auto-parser doesn't handle them in a right way but provides
only one mic. This patch fixes the issue.Signed-off-by: Vitaliy Kulikov
Cc:
Signed-off-by: Takashi Iwai -
Move the default input-src selection code for alc268/269 to the init
part instead of the parser. The input-src selection might be overwritten
by init verbs.Signed-off-by: Takashi Iwai
-
Currently some special handling for the unusual case like dual-ADCs
or a single-input-src is done in the tree-parse time in
set_capture_mixer(). But this setup could be overwritten by static
init verbs.This patch moves the initialization into the init phase so that
such input-src setup won't be lost.Cc:
Signed-off-by: Takashi Iwai -
Clear input settings before initialization.
Signed-off-by: Przemyslaw Bruski
Cc:
Signed-off-by: Takashi Iwai -
SDPIF status retrieval always returned the default settings instead of
the actual ones.Signed-off-by: Przemyslaw Bruski
Cc:
Signed-off-by: Takashi Iwai -
SPDIF status mask creation was incorrect.
Signed-off-by: Przemyslaw Bruski
Cc:
Signed-off-by: Takashi Iwai -
microphone boost was set at +12dB, not +20dB (like in Windows driver
and in adc_conf structure declaration), some comments added.Signed-off-by: Przemyslaw Bruski
Signed-off-by: Takashi Iwai
11 Mar, 2011
14 commits
-
The time-out in snd_atiixp_aclink_reset() is wrongly checked, and
it resulted in exiting from the loop at the first iteration.Reported-by: Amir Shamsuddin
Signed-off-by: Takashi Iwai -
Appending an 'm' will distinguish it from a similar struct in intel8x0.c
Signed-off-by: Paul Bolle
Signed-off-by: Takashi Iwai -
Adding an 'm' will distinguish them from identical names in intel8x0.c.
Signed-off-by: Paul Bolle
Signed-off-by: Takashi Iwai -
At every resume a laptop I use prints this message (at KERN_ERR level):
ALSA sound/pci/intel8x0m.c:904: AC'97 warm reset still in progress? [0x2]The thing to note here is that 0x2 corresponds to ICH_AC97COLD. Ie, what
seems to be happening is that the register involved indicated a warm
reset for some time (as the ICH_AC97WARM bit was set) but by the time
the warning is printed, and that same register is checked again, that
bit is already cleared and only the ICH_AC97COLD bit is still set.It turns out a warm reset needs some time to settle, but it is currently
checked right away. The test therefore fails the first time it is done
and schedule_timeout_uninterruptible() will be called. Once we return
from that jiffies is already (far) past end_time on this laptop, so we
exit the loop, print a warning, and exit the function while the warm
reset actually succeeded.A way to fix this is to call usleep_range() after writing to the
register involved. A handful of tests suggest 500 usecs is a safe value.
(This might punish the "finish cold reset" case, but on this laptop such
a cold reset apparently never happens, so I can't say for sure.)While we're at it drop the extra single tick from end_time, as it looks
rather silly.Signed-off-by: Paul Bolle
Signed-off-by: Takashi Iwai -
Devices are autosuspended if no pcm nor midi channel is open
Mixer devices may be opened. This way they are active when
in use to play or record sound, but can be suspended while
users have a mixer application running.[Small clean-ups using static inline by tiwai]
Signed-off-by: Oliver Neukum
Signed-off-by: Takashi Iwai -
- ESHUTDOWN must be correctly handled
- the optional interrupt endpoint's URB must be stopped and restartedSigned-off-by: Oliver Neukum
Signed-off-by: Takashi Iwai -
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
MONO was renamed to MONO1.
Signed-off-by: Vasily Khoruzhick
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
Signed-off-by: Vasily Khoruzhick
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
This patch adds ASoC support for the MAX9850 codec with headphone
amplifier.Supported features:
- Playback
- 16, 20 and 24 bit audio
- 8k - 48k sample rates
- DAPMSigned-off-by: Christian Glindkamp
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Added a new API function snd_ctl_activate_id() for activate / inactivate
the control element dynamically.Signed-off-by: Takashi Iwai
Signed-off-by: Mark Brown -
azx_init_pci() always writes PCI config register ICH6_PCIREG_TCSEL
although this looks to be only defined on Intel systems and has a
different meaning on AMD systems. On AMD systems the PCI interrupt pin
control register is modified instead.Since the meaning of offset 0x44 in device specific configuration space is
unknown for devices by other vendors, we only exclude AMD systems to
retain the current behaviour.Signed-off-by: Adam Lackorzynski
Signed-off-by: Takashi Iwai -
Do not initialize again the what has already been initialized as
multi outs, as this breaks surround speakers.Tested-by: Bartłomiej Żogała
Cc:
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai