Commit graph

338 commits

Author SHA1 Message Date
Clemens Ladisch
55851f734d [ALSA] usb-audio: use usb_buffer_alloc/free
USB generic driver
Use the USB buffer allocation functions to avoid repeated DMA mappings
of our buffers, which are re-used quite a lot.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:53 +02:00
Clemens Ladisch
daa150ef7d [ALSA] usb-audio: properly lock hwptr_done accesses
USB generic driver
Take the substream lock when reading hwptr_done to avoid a race
condition with the updates in the URB callbacks.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:50 +02:00
Clemens Ladisch
9624ea812c [ALSA] usb-audio: actually schedule playback URBs at frame boundaries
USB generic driver
Change prepare_playback_urb() not to stop preparing packets before a
frame boundary has been reached.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:47 +02:00
Clemens Ladisch
7efd8bc800 [ALSA] usb-audio: double-buffer all playback data
USB generic driver
We always had to use double buffering when capturing, and when playback
data for one URB crosses a buffer boundary.  The latter would make hwptr
updates less precise because the double-buffered data is read from the
buffer much earlier than the other data is read by the host controller.

Double-buffering all data allows to update hwptr immediately after the
data was copied to the USB buffer(s), which has the additional benefit
of avoiding the latency imposed by the host controller's delay of up to
one frame when interrupting.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:43 +02:00
Clemens Ladisch
b263a9bdf9 [ALSA] usb-audio: optimize handling of capture URBs
USB generic driver
When preparing capture URBs, we don't need to stop when we cross a
period boundary because we now never handle more than one millisecond of
data per URB anyway.

When handling captured data, use an extra flag to call
snd_pcm_period_elapsed() no more than once.  This allows us to move the
period boundary checking code before the copying of the data which
avoids a second locking of the substream's lock.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:41 +02:00
James Courtier-Dutton
99250872fc [ALSA] Add new card ID. Fixes ALSA bug #1297
EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-08-30 08:45:38 +02:00
James Courtier-Dutton
1b05962e8b [ALSA] Add new ID. Fixes ALSA bug #1298
CA0106 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-08-30 08:45:35 +02:00
Jaroslav Kysela
53b266632b [ALSA] opl3sa2 - fixed typo in PnP BIOS IDs (YMF0021 -> YMH0021)
OPL3SA2 driver

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-08-30 08:45:32 +02:00
Jaroslav Kysela
1265509cb0 [ALSA] opl3sa2 driver - added support for PnP BIOS devices
OPL3SA2 driver
The driver has been extended to support also PnP BIOS devices.
The detection path is:

1) detect PnP BIOS devices
2) detect ISA PnP devices

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-08-30 08:45:28 +02:00
Takashi Iwai
f347c774c3 [ALSA] via82xx - Add DXS entry for MSI K8MM-V
VIA82xx driver
Added the DXS entry for MSI K8MM-V.
Also fixed a typo in last patch for Acer Aspire 1524 WLMi.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:45:26 +02:00
Philip Prindeville
4b4994869d [ALSA] Add VT1617A codec support
AC97 Codec
Added (minimal) support of VT1617A codec with SPDIF.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:45:22 +02:00
Takashi Iwai
4767231078 [ALSA] hda-intel - Add SiS966 support
HDA Intel driver
Added SiS966 pci id to snd-hda-intel driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:45:19 +02:00
Clemens Ladisch
a93bf99077 [ALSA] usb-audio: schedule high speed URBs with 1 ms alignment
USB generic driver
The EHCI driver doesn't interrupt more than once per millisecond, and
organizes all iso transfers with frame-sized ITDs, so we can (try to)
be more efficient by aligning all URBs on frame boundaries.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:16 +02:00
Clemens Ladisch
71d848ca00 [ALSA] usb-audio: make nrpacks parameter writeable
USB generic driver
The nrpacks module parameter is used only when initializing a playback
stream, so it doesn't hurt to make it writeable.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:14 +02:00
Clemens Ladisch
d6db392e92 [ALSA] usb-audio: fix packets per URB calculation for playback
USB generic driver
When determining how many packets are needed for one period, we cannot
assume that all packets have their maximum size -- we always use the
nominal sample rate when sending data, and could use an even lower rate
when the endpoint uses frequency feedback.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:08 +02:00
Clemens Ladisch
15a24c0778 [ALSA] usb-audio: use 1 ms URBs when capturing
USB generic driver
When capturing audio data, we do not know beforehand how many samples
the device sends per frame, so we have to use URBs that are as short as
possible to make sure that we can handle period boundaries without any
additional latencies.

Furthermore, the total count of URBs submitted doesn't matter when
capturing, so we can just use the maximum number.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:04 +02:00
Clemens Ladisch
a53fc188ec [ALSA] make local objects static
Memalloc module,PCM Midlevel,Timer Midlevel,GUS Library,AC97 Codec
ALI5451 driver,RME9652 driver
Make some functions/variables that are used in only one file static.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:45:01 +02:00
Sasha Khapyorsky
b65f824c1e [ALSA] hda-codec - support for Si3054/5 HDA modems
HDA generic driver,HDA Codec driver
Support for Si3054/5 HDA modem codecs.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:44:56 +02:00
Sasha Khapyorsky
673b683a07 ALSA CVS update
HDA Codec driver,HDA generic driver
Summar: hda-codec - MFG support

This adds Modem Functional Group (MFG) support and option for 9600
sample rate.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:44:53 +02:00
Karsten Wiese
443feb8826 [ALSA] ALSA's struct _snd_pcm_substream: Obsolete open_flag
PCM Midlevel,ALSA<-OSS emulation,USB USX2Y
This patch removes open_flag from struct _snd_pcm_substream.
All of its uses are substituted by querying struct _snd_pcm_substream's
member ffile instead.

Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:44:48 +02:00
Clemens Ladisch
9bcf655109 [ALSA] ymfpci: add per-voice volume controls
YMFPCI driver
Implements mixer controls for the volume of each playback substream of
the main PCM device.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:44:46 +02:00
Dirk Opfer
a55bfdc582 [ALSA] Fix compiler warnings in PXA2XX-AC97
ARM PXA2XX driver
-  change pxa2xx_ac97_do_suspend and pxa2xx_ac97_do_resume to use
   the expected arguments

Signed-off-by: Dirk Opfer <dirk@do13.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:44:29 +02:00
Liam Girdwood
064d2112ff [ALSA] WM9713 modem detection
AC97 Codec
This patch fixes a problem whereby the WM9713 has modem functionality
incorrectly detected after an AC97 cold reset.

Changes:-

  o Cleared AC97_SCAP_MODEM in wm9713 scaps

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:44:19 +02:00
Liam Girdwood
4a677ac5d0 [ALSA] PXA27x AC97 warm reset
ARM PXA2XX driver
This patch extends the period of an AC97 warm reset on the PXA27x from
50uS to 500uS. The shorter reset didn't always guarantee that the codec
would wake up.

Changes:-

  o Change pxa27x warm reset period to 500uS
  o Removed double semi-colon.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:44:10 +02:00
Takashi Iwai
5b8f7f7329 [ALSA] ad1816a - Add clockfreq module option
Documentation,AD1816A driver
Added clockfreq module option for the card with a different clock frequency
than 33kHz.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:43 +02:00
Clemens Ladisch
5549d54992 [ALSA] use PCM interface for IEC958 controls
Digigram VX core,ENS1370/1+ driver,CA0106 driver,EMU10K1/EMU10K2 driver
RME HDSP driver,RME9652 driver
For consistency, use the PCM interface instead of MIXER for IEC958
default/mask/stream mixer controls.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:43:39 +02:00
Clemens Ladisch
10e8d78a94 [ALSA] use SNDRV_CTL_NAME_IEC958 macro
CMI8330 driver,ENS1370/1+ driver,FM801 driver,VIA82xx driver,AC97 Codec
ALI5451 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver
ICE1712 driver,ICE1724 driver
Where appropriate, use the SNDRV_CTL_NAME_IEC958 instead of a literal
string.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:43:35 +02:00
Henrik Kretzschmar
267d4d6475 [ALSA] adds __init and in snd_memory_init()
ALSA Core
This patch adds the __init macro to snd_memory_init().

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:29 +02:00
Liam Girdwood
0ca06a00e2 [ALSA] AC97 bus interface for ad-hoc drivers
AC97 Codec,PCI drivers
I've made the review changes and as requested I've pasted the RFC by
Nicolas below:-

'I would like to know what people think of the following patch.  It
allows for a codec on an AC97 bus to be shared with other drivers which
are completely unrelated to audio.  It registers a new bus type, and
whenever a codec instance is created then a device for it is also
registered with the driver model using that bus type.  This allows, for
example, to use the extra features of the UCB1400 like the touchscreen
interface and the additional GPIOs and ADCs available on that chip for
battery monitoring.  I have a working UCB1400 touchscreen driver here
that simply registers with the driver model happily working alongside
with audio features using this.'

Changes over RFC:-

  o Now matches codec name within codec group.
  o Added ac97_dev_release() to stop kernel complaining about no release
method for device.
  o Added 'config SND_AC97_BUS' to sound/pci/Kconfig and moved 'config
SND_AC97_CODEC' out with the PCI=n statement.
  o module is now called snd-ac97-bus

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:26 +02:00
Clemens Ladisch
67ed4161f6 [ALSA] sound - fix .iface field of mixer control elements
Documentation,CS46xx driver,EMU10K1/EMU10K2 driver,AD1848 driver
SB16/AWE driver,CMIPCI driver,ENS1370/1+ driver,RME32 driver
RME96 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver
RME HDSP driver,RME9652 driver
This patch changes .iface to SNDRV_CTL_ELEM_IFACE_MIXER whre _PCM or
_HWDEP was used in controls that are not associated with a specific PCM
(sub)stream or hwdep device, and changes some controls that got
inconsitent .iface values due to copy+paste errors.  Furthermore, it
makes sure that all control that do use _PCM or _HWDEP use the correct
number in the .device field.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-08-30 08:43:22 +02:00
Takashi Iwai
42dfd0adab [ALSA] via82xx - Add dxs entry for Acer Aspire 1524 WMLi
VIA82xx driver
Added the dxs entry for Acer Aspire 1524 WMLi.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:18 +02:00
Nicolas Graziano
b9f5a89c74 [ALSA] hda-codec - Fix LFE volume/switch
HDA Codec driver
Fixed LFE volume/switch control.

Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:15 +02:00
Takashi Iwai
d827560c96 [ALSA] hda-codec - Add default config for ASUS P5AD2
HDA Codec driver
Added the default config for ASUS P5AD2.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:11 +02:00
Takashi Iwai
cb8e2f8385 [ALSA] hda-codec - Fix reordering of surround channels
HDA Codec driver
- Fixed the reordering of surround channels.
  Originally reported by Nicolas GRAZIANO <nicolas.graziano@wanadoo.fr>.

- Show the selected ssid when debug option is set.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:09 +02:00
Liam Girdwood
3998b70fd0 [ALSA] WM97xx AC97 codec controls
AC97 Codec
o Enhanced current WM97xx support to provide additional controls and
  use the kcontrol suffix naming convention.
o Added AC97_HAS_NO_MIC, AC97_HAS_NO_TONE and AC97_HAS_NO_STD_PCM.
o Cleaned up WM97xx related comments.
o Removed some wm9713 double mono controls and replaced with stereo
  controls.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30 08:43:05 +02:00
Linus Torvalds
ae75784bc5 Merge head 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2005-08-23 20:00:48 -07:00
Al Viro
acd3bd82c0 [PATCH] ad1980 makefile fix
ac97_plugin_ad1980 should trigger build of ac97_codec

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:46 -07:00
Al Viro
0e6d0d8934 [PATCH] Kconfig fix (missing dependencies on PCI in sound/*)
a bunch of PCI-only drivers didn't have the right dependency

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:46 -07:00
Al Viro
791cdc7c56 [PATCH] vidc gcc4 fix
removes an extern for a static variable.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:45 -07:00
Al Viro
276bd31ce5 [PATCH] Kconfig fix (ISA_DMA_API and sound/*)
fixed kconfig dependencies on ISA_DMA_API for parts of sound/* that rely
on it.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:40 -07:00
John W. Linville
7087e29554 [PATCH] i810_audio: fix release_region misordering in error exit from i810_probe
Re-order release_region calls in i810_probe to properly unwind preceding
allocations.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-23 01:38:22 -04:00
David Woodhouse
4e6a06eec4 [PATCH] Stop snd-powermac oopsing on non-pmac hardware.
We shouldn't be assuming that ppc_md.feature_call will be present.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-17 14:55:37 -07:00
Len Brown
adbedd3424 merge 2.6.13-rc4 with ACPI's to-linus tree 2005-07-30 01:55:32 -04:00
Len Brown
d6ac1a7910 /home/lenb/src/to-linus branch 'acpi-2.6.12' 2005-07-29 23:31:17 -04:00
Rafael J. Wysocki
90158b8320 [ACPI] fix resume issues on Asus L5D
http://bugzilla.kernel.org/show_bug.cgi?id=4416

Signed-off-by: Rafael J. Wysocki <rjwysocki@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
2005-07-29 22:04:26 -04:00
Takashi Iwai
da8ea98b21 [ALSA] wavefront - declare initialization data as static
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-07-28 15:26:28 +02:00
Takashi Iwai
69c3e5f856 [ALSA] via82xx - Fix dxs_support of twinhead laptop
VIA82xx driver
Changed the dxs_support value of twinhead laptop to DXS_SRC.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:27:09 +02:00
Sergey Ulanov
eeacb5457c [ALSA] Jack Sense support for AD1980 and AD1888
AC97 Codec
Attached patch adds 'Jack Sense' controls for AD1980 and AD1888 chips.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:27:05 +02:00
Takashi Iwai
7b566054b3 [ALSA] vx-driver - Fix the calculation of frequency parameter
Digigram VX core
Fixed the calculation of frequency parameter of vx boards.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:27:02 +02:00
Nicolas Graziano
fb92e6f05e [ALSA] hda driver, correct bug in model 'auto'
HDA Codec driver
- Correct some index variable inversion in patch_cmedia.c

Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28 12:27:00 +02:00