HDA Codec driver
The insertion of the rate 9600 make a shift in detection of supported
rate, put this rate at the end of the list.
Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Intel8x0 driver,AC97 Codec
The HP nx6110 laptop needs to have Headphone Jack Sense enabled so
that the internal speakers will be turned off when headphones are
plugged in.
Also ac97_quirk=hp_only is needed to make a single Master volume in
the mixer instead of separate volumes for internal speakers and
headphones, which just confuses the user.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Digigram VX core,CS4231 driver,ATIIXP driver,VIA82xx driver
VIA82xx-modem driver,au88x0 driver,CS46xx driver,Trident driver
This patch disables SNDRV_PCM_INFO_RESUME flag for drivers which does not
support the full resume.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
AC97 Codec
The patch fixes the bus_id conflict error when registering two codecs
of the same type (ALSA bug#1334).
Signed-off-by: Bjorge Dijkstra <bjorge@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
NM256 driver
- Fixed the PCM resume - restoring the rate setting
- Fixed the handling of buggy irqs
- Dynamically acquire/release irq handler to make the driver more robust
to unknown irq storms (as OSS driver does).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Intel driver
- removed SNDRV_PCM_INFO_RESUME (the driver cannot do PCM resume at the time)
- fixed chip->pcm_devs initialization
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
PCM Midlevel
Fixed the handling of boundary in PCM 32bit compat layer.
Positions in hwsync are bound in the 32bit boundary size.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
OPL3SA2 driver
- use different name (opl3sa2-pnpbios) for PnP BIOS driver
- don't print warning when manual config of resources fails (PnP BIOS)
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
AC97 Codec
Make the patch_wolfson_wm97??_specific() functions static again.
This patch was accidentally reverted in rev. 1.92.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
With the double buffering, we no longer need contiguous memory for the
PCM buffer, so we can use vmalloc() instead of the preallocation
functions, and increase the maximum size to 256 KB.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>