Difference between revisions of "Changes v1.0.16 v1.0.17rc1 detail"

From AlsaProject
Jump to: navigation, search
(New page: {| align="right" | __TOC__ |} =Detailed changelog between 1.0.16 and 1.0.17rc1 releases= ==alsa-driver== ===Sound Core=== : - Add pm_qos_params.h wrapper : : Added pm_qos_params.h wrappe...)
 
 
Line 2: Line 2:
 
| __TOC__
 
| __TOC__
 
|}
 
|}
 +
[[Changes v1.0.16 v1.0.17rc1|changes between 1.0.16 and 1.0.17rc1]]
 
=Detailed changelog between 1.0.16 and 1.0.17rc1 releases=
 
=Detailed changelog between 1.0.16 and 1.0.17rc1 releases=
 
==alsa-driver==
 
==alsa-driver==

Latest revision as of 10:01, 6 June 2008

Contents

changes between 1.0.16 and 1.0.17rc1

[edit] Detailed changelog between 1.0.16 and 1.0.17rc1 releases

[edit] alsa-driver

[edit] Sound Core

- Add pm_qos_params.h wrapper
Added pm_qos_params.h wrapper introduced in 2.6.25. Also obsolete
latency.h as well.
- Move pcsp driver to alsa-kernel tree
- propagate errors from recursive make calls
Make sure that recursive make calls are checked for errors, and that
failed application of patches does not result in an apparently up-to-
date source file.
- Add check of CONFIG_INPUT_PCSPKR to configure script
- Fix build with x86-64 on 2.6.25+ kernels
2.6.25+ x86-64 arch requires the include of asm/mach-$type as well as
on x86-32.
- We support 2.6.25 kernel
- Add asm/unaligned.h wrapper
Added asm/unaligned.h wrapper. Only put_unaligned_*() are added so far.
- Add --with-extra-version option to configure
- Fix put_unaligned_*() wrappers
The previous hack for put_unaligned_*() wrappers for older kernels was buggy.
Let's fix them.
- Moving to GIT.. Rename and update hg files..
- Convert to menuconfig
Convert menu in Kconfig files to menuconfig, as well as in kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- New kconfig parser
Introduced a new kconfig parser for handling menuconfig and if.
With this change, the configure options --with-cards and --with-card-options
are dropped, and --with-kconfig is added instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Rename to CONFIG_SND_DEBUG_VERBOSE to match with its purpose better.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add -c option to setup-alsa-kernel
Added -c option to setup-alsa-kernel. With this option, the files are
copied instead of symlinks from the kernel tree so that it can be easily
archived.
Also, some files for kernel doc are now stored in utils directory.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add description of setup-alsa-kernel script
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Check device_create_drvdata() and add a workaround in sound.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Use --with-cards and --with-card-options again for configure
Back to the old --with-cards and --with-card-options.
First off, it's always good to keep compatibility.
And, this makes easier the practical use, indeed.
Instead of --with-exclude option, now --with-cards and --with-card-options
options accept the style as "ITEM=n". This disables the given item.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Make CONFIG_SND_KERNELDIR to use always absolute path...
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Fixed 'make pack' for GIT alsa-kmirror repo
- 2nd attempt to fix 'make pack'
- snd-pcsp: adjust help texts to frighten users
Added the warning text to the help of snd-pcsp about the possible problem
with this driver so that user can know of the problem in advance.
Also, removed the obsoleted text about ancient pc-speaker patch in
CONFIG_SOUND help.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: Convert to menuconfig
Convert menu in sound Kconfig files to menuconfig and if.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] ALSA Core

- Add pm_qos_params.h wrapper
Added pm_qos_params.h wrapper introduced in 2.6.25. Also obsolete
latency.h as well.
- Mark hpetimer as BROKEN
hpet timer code doesn't build properly with the recent kernel.
Mark it as BROKEN.
- add vmaster to export-objs
- Fix irq wapper for multiple handlers
When a driver assigns multiple irq handlers with the same data (e.g.
in snd-powermac driver), it couldn't be released well because the
wrapper doesn't remember and check irq numbers.
This patch fixes the problem.
- snd-powermac: older kernel compatibility
Allow to compile snd-powermac on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- Add asm/unaligned.h wrapper
Added asm/unaligned.h wrapper. Only put_unaligned_*() are added so far.
- Fix put_unaligned_*() wrappers
The previous hack for put_unaligned_*() wrappers for older kernels was buggy.
Let's fix them.
- Convert to menuconfig
Convert menu in Kconfig files to menuconfig, as well as in kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Rename to CONFIG_SND_DEBUG_VERBOSE to match with its purpose better.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Check device_create_drvdata() and add a workaround in sound.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add list_first_entry wrapper for older kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Move vmaster code to sound core
Move the codes for virtual master controls to sound core part so that
not only hda-intel drivers can use it.
- Dont touch fs_struct in drivers
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- IEC958 definitions for consumer status channel, byte 4
Added definition for byte 4 of SPDIF channel status, according to
second edition of IEC 60958-3 (consumer) spec.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
- fix comments in sound/core.h
Two sentences seem to be spliced into one in comment, fix that and fix
english. Also fix codingstyle.
Signed-off-by: Pavel Machek <pavel@suse.cz>
- sound: this amplifier only goes up to 7
sound: kernel log levels are 0-7
Kernel log levels are 0-7, not 0-9.
Signed-off-by: Nick Andrew <nick@nick-andrew.net>
- sound/core.h: evil #ifdefs
snd_minor_info_oss_* is an function returning int _or_ comment,
depending on config parameters. That is truly evil, fix it.
Signed-off-by: Pavel Machek <pavel@suse.cz>
- Fix the race of card instance unregistration
Move the call of device_unregister() for the card instance in
snd_card_disconnect() to avoid the race of sysfs card entry, which
can be typically found on usb-audio reconnection.
- Clean up snd_card_free*()
A little clean up of snd_card_free*().
Removed snd_card_free_prepare() since it's actually almost identical
with snd_card_disconnect().
- sound: replace remaining __FUNCTION__ occurences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- proc: remove proc_root from drivers
Remove proc_root export. Creation and removal works well if parent PDE is
supplied as NULL -- it worked always that way.
So, one useless export removed and consistency added, some drivers created
PDEs with &proc_root as parent but removed them as NULL and so on.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
- SOUND: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- sound: Convert to menuconfig
Convert menu in sound Kconfig files to menuconfig and if.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to
represent its meaning more better. This config isn't provided only
for the detection but for more verbose debug prints in general.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Improve the slots option handling
Fix and improve the slots option handling. The sound core tries to
find the slot with the given module name first and assign if it's
still available. If all pre-given slots are unavailable, then try
to find another free slot.
Also, when a module name begins with '!', it means the negative match:
the slot will be given for any modules but that one.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] SoC PXA2xx Core

- soc - Support PXA3xx AC97
The PXA3xx does not support the use of interrupts during reset and access
to the GPIO status requires similar handling to that for PXA27x.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - pxa2xx-ac97 - Use __func__ not __FUNCTION__
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - pxa2xx-pcm - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- [ARM] 4834/3: Convert ASoC pxa2xx-ac97 driver to use the clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h
two reasons:
1. GPIO namings and their mode definitions are conceptually not part
of the PXA register definitions
2. this is actually a temporary move in the transition of PXA2xx to
use MFP-alike APIs (as what PXA3xx is now doing), so that legacy
code will still work and new code can be added in step by step
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable()
Add missing clk_enable()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ALSA] Add EM-X270 ASoC driver
This patch adds ASoC support for EM-X270 machine.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] Control Midlevel

- Move vmaster code to sound core
Move the codes for virtual master controls to sound core part so that
not only hda-intel drivers can use it.

[edit] PCM Midlevel

- latency.c: use QoS infrastructure
Replace latency.c use with pm_qos_params use.
Signed-off-by: mark gross <mgross@linux.intel.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] Timer Midlevel

- Dont touch fs_struct in drivers
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] /soc/Makefile

- Davinci ASoC support
Add ASoC support for the TI Davinci SoC and the Davicni-EVM reference board.
It includes:
- ASoC Davinci DMA driver
- ASoC Davinci I2S (Davinci McBSP module based) driver
- ASoC Davinci-EVM reference board
Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
- ASoC: Add drivers for the Texas Instruments OMAP processors
Add common OMAP ASoC drivers and machine driver for Nokia N810. Currently
supported features are:
- Covers OMAPs from 1510 to 2420
- Common DMA driver
- DAI link driver using McBSP port in I2S mode
- Basic machine driver for Nokia N810
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[edit] /soc/codecs/Makefile

- ASoC: WM9713 driver
This patch adds an ASoC driver for the WM9713 AC97 codec.
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- [ALSA] ASoC: Add UDA1380 driver
The UDA1380 codec is used by the HTC Magician and a number of Samsung
reference boards.
This driver has had a long out of tree history, having originally been
written by Giorgio Padrin and converted to ASoC by Richard Purdie.
Since conversion to ASoC most of the work on the driver has been done by
Philipp Zabel with some review and updates for new APIs by Liam Girdwood
and Mark Brown.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] /soc/pxa/Makefile

- [ALSA] Add EM-X270 ASoC driver
This patch adds ASoC support for EM-X270 machine.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] AC97 Codec

- intel8x0 - Add support of 8 channel sound
Added the support of 8 channel sound for codecs that are known to work.
So far, only ALC850 is marked as a 8ch-support codec.
This fix is a modified version of the patch on ALSA BTS#2097 by
Martin Ellis:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2097
- sound: ac97_pcm.c fix shadowed variable warning
err is always assigned before it is used, no need to declare another
inside the if statement.
sound/pci/ac97/ac97_pcm.c:577:7: warning: symbol 'err' shadows an earlier one
sound/pci/ac97/ac97_pcm.c:572:6: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- add a private field for ac97-device drivers and let ucb1400 be its first user
From: Sebastian Siewior <bigeasy@linutronix.de>
Currently the UCB1400 driver discovers the interrupt via probing. This works
probably only on x86. This patch adds a private field to the ac97 struct
where the ac97 driver can deposit informations for the device driver that
serves a device which is attached to the ac97 bus.
This patch also converts the UCB1400 driver to use this information if
available.
Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
- ac97 - Add a workaround for broken quirk for VT1617A codec
On boards with VT1617A codec, the sound disappears suddenly.
This looks like a problem with HPE-bit control that is supposed to be
set in patch_vt1617a(). However, on such problematic hardwares, the
bit is actually reset mysteriously.
The patch adds a workaround for the wrong quirk.
- ac97 - Add virtual master control to VT1616/VT1617A codec.
Enable VMASTER for VT1616 / VT1617A codec.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
- [ALSA] ac97 - Fix ASUS A9T laptop output
ASUS A9T laptop uses line-out pin as the real front-output while
other devices use it as the surround.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Clean up sound/pci/ac97/Makefile
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Make ak4531 local to ens1370 driver
The ak4531 module is used only by ens1370 driver (and unlikely that
any other will use it ever). Let's make it local to ens1370.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Revert "add a private field for ac97-device drivers and let ucb1400 be its first user"
This reverts commit 61f7a0339c0a25b642f11436c25d16a923983864.
Altough I agree with this change, Takashi Iwai <tiwai@suse.de> NACked it.

[edit] AD1889 driver

- Fix synchronize_irq() bugs, redundancies
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.
However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.
So, where sync-irq could not be eliminated completely, the missing check
was added.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
- sound: replace remaining __FUNCTION__ occurences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] AK4114 receiver

- AK4114 - listing regs in proc
A simple patch for listing AK4114 regs in proc.
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- some fixes and cleanup for ICE1724 cards
* removing the hack with NON_AKM ak4xxx type
* support for card-specific flags in ak4114_stats
* definition of the flags for corresponding cards
Signed-off-by: Pavel Hofman <dustin@seznam.cz>

[edit] AK4531 codec

- Fix ak4531 build stub
ak4531 is moved to pci.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Make ak4531 local to ens1370 driver
The ak4531 module is used only by ens1370 driver (and unlikely that
any other will use it ever). Let's make it local to ens1370.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] AK4XXX AD/DA converters

- some fixes and cleanup for ICE1724 cards
* removing the hack with NON_AKM ak4xxx type
* support for card-specific flags in ak4114_stats
* definition of the flags for corresponding cards
Signed-off-by: Pavel Hofman <dustin@seznam.cz>

[edit] ALI5451 driver

- sound: ali5451.c fix shadowed variable warnings
enable is used to test for whether or not spdif should be enabled,
change to spdif_enable.
sound/pci/ali5451/ali5451.c:1812:15: warning: symbol 'enable' shadows an earlier one
sound/pci/ali5451/ali5451.c:63:12: originally declared here
sound/pci/ali5451/ali5451.c:1840:27: warning: symbol 'enable' shadows an earlier one
sound/pci/ali5451/ali5451.c:63:12: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- Fix synchronize_irq() bugs, redundancies
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.
However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.
So, where sync-irq could not be eliminated completely, the missing check
was added.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

[edit] ALSA Version

- Added scripts/git-ok-commits and include/version.h to proper alsa-kernel.git sync
- ALSA: Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ALSA sequencer

- Dont touch fs_struct in drivers
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] ALSA<-OSS sequencer

- seq-oss - Remove invalid BUG()
Removed invalid BUG() - the driver should handle the error case properly
rather than issuing BUG().

[edit] ARM

- Convert to menuconfig
Convert menu in Kconfig files to menuconfig, as well as in kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: Convert to menuconfig
Convert menu in sound Kconfig files to menuconfig and if.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] ARM PXA2XX driver

- sound: fix platform driver hotplug/coldplug
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable sound
platform drivers, to re-enable auto loading.
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- pxa2xx-ac97: Support PXA3xx AC97
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- [ARM] 4833/3: Convert non-SoC PXA2xx AC97 driver to clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h
two reasons:
1. GPIO namings and their mode definitions are conceptually not part
of the PXA register definitions
2. this is actually a temporary move in the transition of PXA2xx to
use MFP-alike APIs (as what PXA3xx is now doing), so that legacy
code will still work and new code can be added in step by step
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- sound: replace remaining __FUNCTION__ occurences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] ATIIXP driver

- Fix synchronize_irq() bugs, redundancies
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.
However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.
So, where sync-irq could not be eliminated completely, the missing check
was added.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

[edit] AZT3328 driver

- PCI168 snd-azt3328 Linux driver: another huge update
- figured out "Digital(ly) Enhanced Game Port" functionality,
implemented support for it (eliminating gameport polling overhead)
- removed optional joystick activation, gameport now enabled unconditionally,
since we now support it via the PCI I/O space, not via conflict-prone
legacy I/O (which I was thus able to DISABLE now)!
- fix playback bug (a muted wave output would get unmuted upon start of
playback, of course this is not what we want, thus remember mute state)
- implement partial power management: when idle, lower clock rate and disable
codec (reduced noise!), and disable gameport circuit when unused
- instantiate OPL3 timer, too
- much better implementation of snd_azf3328_mixer_write_volume_gradually()
- slightly optimized interrupt handling
- lots of cleanup
This time, I also found a way to verify proper OPL3 operation
via MIDI file playback (emulation via synth hardware).
Signed-off-by: Andreas Mohr <andi@lisas.de>
- [ALSA] PCI168 snd-azt3328 Linux driver: another huge update
- figured out 'Digital(ly) Enhanced Game Port' functionality,
implemented support for it (eliminating gameport polling overhead)
- removed optional joystick activation, gameport now enabled unconditionally,
since we now support it via the PCI I/O space, not via conflict-prone
legacy I/O (which I was thus able to DISABLE now)!
- fix playback bug (a muted wave output would get unmuted upon start of
playback, of course this is not what we want, thus remember mute state)
- implement partial power management: when idle, lower clock rate and disable
codec (reduced noise!), and disable gameport circuit when unused
- instantiate OPL3 timer, too
- much better implementation of snd_azf3328_mixer_write_volume_gradually()
- slightly optimized interrupt handling
- lots of cleanup
This time, I also found a way to verify proper OPL3 operation
via MIDI file playback (emulation via synth hardware).
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Apple Onboard Audio driver

- sound: Convert to menuconfig
Convert menu in sound Kconfig files to menuconfig and if.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] Asihpi driver

- asihpi - Fix section mismatch
Fix a section mismatch error in snd_asihpi_bind().
- asihpi: minor checkpatch cleanups
A few minor checkpatch cleanups. Make hpi ioctl cmd unique.
Signed-off-by: Eliot Blennerhassett <linux@audioscience.com>
- asihpi: Add new HPI apis for sampleclock, tuner
Signed-off-by: Eliot Blennerhassett <linux@audioscience.com>
- asihpi: Remove HPI4000
Remove HPI4000
Signed-off-by: Eliot Blennerhassett <linux@audioscience.com>
- asihpi: replace volatile with barriers
Replace volatile with barriers where required.
Other minor cleanups.
Signed-off-by: Eliot Blennerhassett <linux@audioscience.com>
- asihpi: add hwdep (experimental)
Add hpi ioctl via hwdep (experimental, disabled by default).
Adjust sampleclock control to use new hpi apis.
Signed-off-by: Eliot Blennerhassett <linux@audioscience.com
- asihpi - new checkpatch = more changes
* HPI version 3.09.15
* Updating to latest version of checkpatch resulted in some more warnings to
clean up.
* A few whitespace cleanups
* Removed DBG_TXT and DBG_CHAR macros
Signed-off-by: Eliot Blennerhasssett <linux@audioscience.com>
- asihpi - replace old class_device_*()
Fix build with 2.6.26-rc1 kernel. Old class_device_*() are replaced with
normal device_*().

[edit] Atmel AT73C213 DAC driver

- Add __devinit macro to at73c213 sound driver probe functions
This patch adds __devinit to the functions used when probing. Will also reduce
the memory footprint a bit if CONFIG_HOTPLUG is not enabled.
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
- at73c213: fix error checking for clk API
The clk_round_rate() and clk_set_rate() will return int, so not store thier
return value to unsigned long variable. This bug hides real error on these
API.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- at73c213: monaural support
Add support for monaural playback to at73c213 driver. The sound will be apear
on L-channel. Tested on AT91SAM9260-EK.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- at73c213: remove redundant private_free routine
snd_pcm_lib_preallocate_free_for_all() is called from snd_pcm_free() just
after calling the private_free routine. So there should be no need to call
it in driver's private_free routine.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- at73c213: fix DMA size at the end of DMA buffer
The interrupt handler always provide runtime->period_size data, but it should
provide additional residual data when the pointer back to zero.
This patch fixes periodic click noise when runtime->buffer_size was not
multiple of runtime->period_size.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- Revert "at73c213: fix DMA size at the end of DMA buffer"
Revert the patch "at73c213: fix DMA size at the end of DMA buffer".
With the next patch to use the hw_constraint, this isn't needed any more.
- at73c213: Add constraints for periods value
The interrupt handler always provide runtime->period_size data, so it
works correctly only if buffer_size was a multiple of period_size.
This patch fixes periodic click noise.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>

[edit] BT87x driver

- bt87X: fix freeing of shared interrupt
Call free_irq() after iounmap() because other devices could trigger our
shared interrupt handler.

[edit] CA0106 driver

- ca0106 - Add master volume controls
Added master volume and switch controls for ca0106 using vmaster.
- sound: ca0106_main.c fix shadowed variable warnings
change to intr_enable as per the two functions it is defined in.
sound/pci/ca0106/ca0106_main.c:438:15: warning: symbol 'enable' shadows an earlier one
sound/pci/ca0106/ca0106_main.c:159:12: originally declared here
sound/pci/ca0106/ca0106_main.c:449:15: warning: symbol 'enable' shadows an earlier one
sound/pci/ca0106/ca0106_main.c:159:12: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- sound: ca0106_mixer.c fix shadowed variable warnings
Change the variable err to _err within the ADD_CTLS macro to avoid
shadowing the local variable.
sound/pci/ca0106/ca0106_mixer.c:710:2: warning: symbol 'err' shadows an earlier one
sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here
sound/pci/ca0106/ca0106_mixer.c:712:3: warning: symbol 'err' shadows an earlier one
sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here
sound/pci/ca0106/ca0106_mixer.c:721:3: warning: symbol 'err' shadows an earlier one
sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- Fix possible races at free_irq in PCI drivers
The irq handler of PCI drivers must be released before releasing other
resources since the handler for a shared irq can be still called and
may access the freed resource again.

[edit] CMI8788 (Oxygen) driver

- virtuoso: move PCM1796 symbols to a header file
Move the PCM1796 register symbol definitions to their own header file.
- virtuoso: separate D2/D2X init functions
Use separate model structures for the D2 and D2X so that the init
function does not have to check for the model again.
- virtuoso: fix build stub
Add the build stub for the virtuoso.c file.
- oxygen: add owner field
I forgot to set the module owner for the HiFier/Xonar models.
- sound: virtuoso.c fix shadowed variable warning
Use priv_idx as an identifier.
sound/pci/oxygen/virtuoso.c:277:15: warning: symbol 'index' shadows an earlier one
sound/pci/oxygen/virtuoso.c:56:12: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- oxygen: move WM8785 symbols to a header file
Move the WM8786 register symbol definitions to their own header file.
- virtuoso: move PCM1796 symbols to a header file
Move the PCM1796 register symbol definitions to their own header file.
- oxygen: add monitor controls
Add controls to enable monitoring of the analog and digital inputs.
To allow monitoring after loading the driver when nothing has been
played back or recorded yet, the I2S input and outputs are initialized
to a valid configuration.
- oxygen: change model-specific PCM device configuration
When specifying which PCM devices to use, model drivers now use flags
that also specify the routing between PCM devices and DMA channels
instead of just DMA channel bits. This simplifies some code that checks
for these flags.
- oxygen: make SPI/2-wire configuration model-specific
Allow the model drivers to specify if the codec communication goes over
SPI or a 2-wire bus.
- oxygen: move MIDI flag to model struct
Put the flag that enables the MIDI port into the model structure instead
of passing it as a separate parameter to oxygen_pci_probe().
- oxygen: disable clock of unused I2S inputs
Disable the master clock outputs of any unused I2S inputs.
- oxygen: fix line-in recording selection (now for real)
On C-Media cards, the GPIO pin 0 of the CM9780 must be handled exactly
like on Xonar cards, so move the Xonar code to the common mixer code.
- oxygen: add I2C support
Add a function to write I2C registers.
- virtuoso: separate D2/D2X init functions
Use separate model structures for the D2 and D2X so that the init
function does not have to check for the model again.
- virtuoso: allow both CS5381 and CS5361
Rename all CS5381 symbols to CS53x1 because they can also be used for
Xonar models with a CS5361.
- virtuoso: move some code to xonar_common_init()
Move the code that is common to all Xonar models to a separate function,
and make it more generic in preparation for another model.
- virtuoso: set PCM1796 oversampling rate
When playing data at 96 kHz or higher, reduce the DAC oversampling rate
to 32.
- virtuoso: change card short name
Change the card short name to show to show the card name instead of the
chip name.
- virtuoso: fix typo
Fix a (fortunately harmless) typo.
- virtuoso: add Xonar DX support
Add support for the Asus Xonar DX.
- virtuoso: correctly switch input jack on Xonar DX
When selecting the capture source on the Xonar DX, the input jack must
be routed to either the line input or the microphone input by setting a
GPIO pin. This requires an additional callback so that the model driver
can hook into the toggling of AC97 switches.
- oxygen: use SPDIF input only if present
If the card model does not have a digital input or an AC97 codec,
disable the respective interrupt and mixer controls.
- virtuoso: add GPIO 1 mixer control
Add a mixer control for switching whatever it is that is connected to
GPIO pin 1 on the Xonar DX.
- virtuoso: initialize two-wire control register
On the Xonar DX, initialize all bits of the two-wire control register.
- virtuoso: fix DX front panel I/O
Fix the GPIO 1 mixer control to enable I/O through the front panel
connector of the Xonar DX.
- hifier: remove empty hifier_mixer_init()
The empty hifier_mixer_init() function is useless; remove it.
- oxygen: generalize handling of DAC volume limits
Add fields for the DAC volume limits to the module structure so that
model drivers do not need to install their own control info handlers.
- oxygen: mute by default
Initialize the playback volume controls as being muted and having
minimal volume.
- oxygen: generalize DAC volume TLV handling
Add a pointer for DAC volume TLV data to the model structure so that the
model driver do not need to manually assign it in their control filter.
- oxygen: fix version in MODULE_LICENSE
Adjust the MODULE_LICENSE strings to properly reflect the actual license.
- oxygen: add symbol for I/O space size
Remove another magic number - add a symbol for the size of the PCI I/O
range.
- oxygen: save register writes
Save the written values of all CMI8788 and AC97 registers and of some of
the DAC/ADC registers so that it is possible to restore the register
state later.
- oxygen: simplify DAC volume initialization
When initializing the DAC volume registers, we can just use the generic
volume update functions instead of setting the registers manually.
- oxygen: separate out hardware initialization code
Create separate functions for the code that initializes the hardware, as
opposed to initializing internal driver state, so that they can be
reused for resume support.
- virtuoso: add xonar_enable_output()
Move the setting of the output enable GPIO bit to a separate function.
- oxygen: add PM support
Add suspend/resume support.
- oxygen: add symbols for buffer/period size constraints
Introduce symbols for the buffer/period size constraints so that their
limits and relationships become clearer.
- virtuoso: restrict period time to less than 10 s
Add a constraint for the period time so that there are less than ten
seconds between interrupts so that ALSA does not assume that the device
is dead.

[edit] CMIPCI driver

- sound: cmipci.c fix shadowed variable warning
A temporary variable for each mixer element is used in an initialization
loop, use the name elem_id.
sound/pci/cmipci.c:2747:26: warning: symbol 'id' shadows an earlier one
sound/pci/cmipci.c:56:13: originally declared here
[tiwai - fixed a coding style issue as well]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] CREDITS file

- 2.6 kernel sync

[edit] CS46xx driver

- Fix possible races at free_irq in PCI drivers
The irq handler of PCI drivers must be released before releasing other
resources since the handler for a shared irq can be still called and
may access the freed resource again.

[edit] CX88 driver

- Fix synchronize_irq() bugs, redundancies
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.
However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.
So, where sync-irq could not be eliminated completely, the missing check
was added.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

[edit] Common EMU synth

- emux midi synthesizer doesn't honor SOFT_PEDAL-release event
When the hardware wavetable synthesizer of an Creative SB Audigy or SB
Live! card (with emu10k chip) receives the MIDI SOFT_PEADAL-press event
(?? 67 127) the appropriate voice is attenuted. Unfortunately when the
pedal is released (event ?? 67 0) the voice does not get it's original
volume again.
Boolean MIDI controls should interpret 0..63 as false and 64..127 as true.
Thanks to Clemens Ladisch for review and correction.
Original patch from "Uwe Kraeger" <uwe_debbug@arcor.de>
Submitted to http://bugs.debian.org/474312
Signed-off-by: maximilian attems <max@stro.at>
Cc: uwe_debbug@arcor.de
Cc: Clemens Ladisch <clemens@ladisch.de>

[edit] Conexant Riptide driver

- sound: riptide.c fix shadowed variable warnings
In both cases we are passing around the substream number, use
sub_num for this.
sound/pci/riptide/riptide.c:1633:6: warning: symbol 'index' shadows an earlier one
sound/pci/riptide/riptide.c:121:12: originally declared here
sound/pci/riptide/riptide.c:1673:6: warning: symbol 'index' shadows an earlier one
sound/pci/riptide/riptide.c:121:12: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] Digigram PCXHR driver

- sound: pcxhr_core.c fix shadowed variable warning
Inner loop redeclares err with u32 rather than int, stupid fix here
is to change the inner err to err2.
sound/pci/pcxhr/pcxhr_core.c:1008:8: warning: symbol 'err' shadows an earlier one
sound/pci/pcxhr/pcxhr_core.c:983:6: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- sound/pci: remove unused variable
The variable is_capture is initialized but never used otherwise.
The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
type T;
identifier i;
constant C;
@@
(
extern T i;
|
- T i;
<+... when != i
- i = C;
...+>
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
- sound/pci/pcxhr/pcxhr_core.c: fix printk warning
sound/pci/pcxhr/pcxhr_core.c: In function `pcxhr_set_pipe_state':
sound/pci/pcxhr/pcxhr_core.c:899: warning: long int format, different type arg (arg 4)
suseconds_t is int on sparc64.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- sound/pci/pcxhr/pcxhr.c: fix warnings
sparc64:
sound/pci/pcxhr/pcxhr.c: In function `pcxhr_update_r_buffer':
sound/pci/pcxhr/pcxhr.c:459: warning: cast to pointer from integer of different size
sound/pci/pcxhr/pcxhr.c: In function `pcxhr_trigger_tasklet':
sound/pci/pcxhr/pcxhr.c:628: warning: long int format, different type arg (arg 4)
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

[edit] Documentation

- Add -c option to setup-alsa-kernel
Added -c option to setup-alsa-kernel. With this option, the files are
copied instead of symlinks from the kernel tree so that it can be easily
archived.
Also, some files for kernel doc are now stored in utils directory.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- hda-codec - Add support of AD1883/1884A/1984A/1984B
Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B.
These are almost compatible except for additional digital pins, etc.
- hda-codec - Add model=mobile for AD1884A & co
Added the new model mobile for AD1884A and compatible codecs.
It's a reduced version of model=laptop.
- Add description of aw2 driver
Added a brief description of aw2 driver to ALSA-Configuration.txt.
- hda-codec - Add missing descriptions for STAC codec models
Added the missing descriptions for STAC codec models.
- pcsp: add description
update ALSA-Configuration.txt
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- Revert "at73c213: fix DMA size at the end of DMA buffer"
Revert the patch "at73c213: fix DMA size at the end of DMA buffer".
With the next patch to use the hw_constraint, this isn't needed any more.
- hda-codec - Fix spekaer output of Panasonic CF-74
Add a new model "panasonic" for Panasonic CF-74 with STAC9200 codec
to fix the speaker output.
- hda-codec - Support of Lenovo Thinkpad X300
Added the model thinkpad for Lenovo Thinkpad X300 with AD1984A codec.
- hda-codec - Remove now uneeded 6stack-hp model from ALC883
After DAC assignment fix in ALC883, the 6stack-hp model is now the same
as 6stack-dig. So just remove 6stack-hp model and replace its use with
6stack-dig.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Add missing models in ALSA-Configuration.txt
- hda-codec - Support mic automute for Clevo M720R/SR
Add support for mic automute in clevo-m720r ALC883 model, and rename it
to more generic clevo-m720. Also change model entry in ALSA-Configuration.txt
accordingly.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-intel: Add Quanta IL1 ALC267 model
This adds support for Quanta IL1 mini-notebook to alsa, defining a new model
for it. It comes with an ALC267 codec chip. Some notes about this model:
* In headphone automute, I use AC_VERB_SET_PIN_WIDGET_CONTROL instead of common
amp mute, to avoid conflict with mixer switch (mixer and automute use the
same nid).
* The only connected capture sources in the hardware are the internal mic and
external mic jack. So instead of using an input source selector like on other
ALC268 models, the mic automute automatically switch between captures.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda - revert wrongly committed patch
A work-in-progress patch was mistakenly committed together with another
patch. Reverged that part now.
- hda - Add support of AD1989A/AD1989B
Added the support of AD1989A and AD1989B codecs.
These codecs can have multiple SPDIF devices, but currently we handle
only one SPDIF. If any real devices with two SPDIF interfaces (likely
one for SPDIF and one for HDMI), we'll fix this rightly.
Otherwise, these codecs are pretty similar with AD1988.
- hda - Add support of Medion RIM 2150
Added the support of Medion RIM 2150 laptop with ALC880 codec.
ALSA bug#3708:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3708
- [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to
represent its meaning more better. This config isn't provided only
for the detection but for more verbose debug prints in general.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Add ALC663 support
Added the support of ALC663 codec, including specific models for
ASUS M51VA, ASUS G71V, ASUS H13 and ASUS G50V.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Improve the slots option handling
Fix and improve the slots option handling. The sound core tries to
find the slot with the given module name first and assign if it's
still available. If all pre-given slots are unavailable, then try
to find another free slot.
Also, when a module name begins with '!', it means the negative match:
the slot will be given for any modules but that one.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] Dreamcast AICA sound (pcm) driver

- Remove duplicated unlikely() in IS_ERR()
Some drivers have duplicated unlikely() macros. IS_ERR() already has
unlikely() in itself.
This patch cleans up such pointless code.
Signed-off-by: Hirofumi Nakagawa <hnakagawa@miraclelinux.com>

[edit] EMU10K1/EMU10K2 driver

- sound: emuproc.c fix signedness warning
Reading regs from the fpga into an int instead of a u32, trivial
fix.
sound/pci/emu10k1/emuproc.c:422:34: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emuproc.c:422:34: expected unsigned int [usertype] *value
sound/pci/emu10k1/emuproc.c:422:34: got int *<noident>
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- sound: emu10k1x.c fix shadowed variable warnings
enable in these contexts refers specifically to intr enable, as
per the two functions it is found in. Use intr_enable instead.
sound/pci/emu10k1/emu10k1x.c:330:15: warning: symbol 'enable' shadows an earlier one
sound/pci/emu10k1/emu10k1x.c:53:12: originally declared here
sound/pci/emu10k1/emu10k1x.c:341:15: warning: symbol 'enable' shadows an earlier one
sound/pci/emu10k1/emu10k1x.c:53:12: originally declared here
instead of shadowing, use cap_voice as we test for the capture
voice in this statement.
sound/pci/emu10k1/emu10k1x.c:798:25: warning: symbol 'pvoice' shadows an earlier one
sound/pci/emu10k1/emu10k1x.c:787:24: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- Fix possible races at free_irq in PCI drivers
The irq handler of PCI drivers must be released before releasing other
resources since the handler for a shared irq can be still called and
may access the freed resource again.
- [ALSA] emu10k1 - simplify page allocation for synth
Simplify the page allocation of emu10k1 driver for emux synth support.
Since these pages aren't be necessarily coherent, we can avoid
expensive DMA-coherent routines.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2
On Audigy2 Platinum, the Analog/Digital mixer switch is inverted.
https://bugzilla.novell.com/show_bug.cgi?id=396204
The patch adds a simple workaround.
There might be another device requiring a similar fix, too (or fix for
audigy2 generically), but right now I fix only the known broken one.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] ENS1370/1+ driver

- sound: ens1370.c fix shadowed variable warning
index is incremented only when AC97_EI_SPDIF and then assigned to
the index field. Change the temporary name to is_spdif.
sound/pci/ens1370.c:1638:10: warning: symbol 'index' shadows an earlier one
sound/pci/ens1370.c:84:12: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] ES1968 driver

- sound: es1968.c fox shadowed variable warning
id is used when initializing the mixer elements, use elem_id here
instead.
sound/pci/es1968.c:1963:25: warning: symbol 'id' shadows an earlier one
sound/pci/es1968.c:129:13: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- es1968: fix sleep-while-holding-lock bug
snd_es1968_ac97_read() calls snd_es1968_ac97_wait() first outside a locked
area, and later, while holding a lock.
snd_es1968_ac97_wait() has a polling loop with a cond_resched() inside it..
which sleeps, so the second call is invalid.
This patch adds a version of the wait function that just pure polls. While
this is not very elegant in principle, it's very likely the easiest thing to
do here, we already checked if the chip was ready (while yielding) just
before, so it is very unlikely to take a long time here.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
- es1968: fix jitter on some maestro cards
This patch suppresses jitter on several Maestro cards in stereo mode (ALSA of
course).
The patch is also incorporated in the *BSD drivers where I "ported" it from.
Without this patch most of the stereo audio gets out of sync and really
distorted (oss-emulation with mplayer at 48000khz worked somehow).
From: Andreas Mueller <andreas@stapelspeicher.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- es1968 - fix coding style in the last patch
WARNING: braces {} are not necessary for single statement blocks
#40: FILE: sound/pci/es1968.c:1831:
+ if (diff > 1) {
+ __maestro_write(chip, IDR0_DATA_PORT, cp1);
+ }
total: 0 errors, 1 warnings, 35 lines checked
./patches/es1968-fix-jitter-on-some-maestro-cards.patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Please run checkpatch prior to sending patches
Cc: Andreas Mueller <andreas@stapelspeicher.org>
Tested-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

[edit] Echoaudio driver

- Fix possible races at free_irq in PCI drivers
The irq handler of PCI drivers must be released before releasing other
resources since the handler for a shared irq can be still called and
may access the freed resource again.

[edit] Emagic Audiowerk 2

- Add build stub for aw2 driver
- aw2: fix build stubs
Fix the aw2 build stubs to compile with older kernels.
- Emagic Audiowerk 2 ALSA driver.
Signed-off-by: Cedric Bregardis <cedric.bregardis@free.fr>
Signed-off-by: Jean-Christian Hassler <jhassler@free.fr>
- aw2 - Add missing module parameters
Added the missing declarations for module parameters.
- aw2 - Remove endian dependency
Removed unnecessary dependency on the little-endianess.
- aw2 - Rename aw2-tsl.h to aw2-tsl.c
aw2-tsl.h should be rather a C file to be included since it's referred
only in aw2-saa6146.c and includes a table data.
- sound/pci/aw2/aw2-alsa.c needs dma-mapping.h
sparc32:
sound/pci/aw2/aw2-alsa.c: In function 'snd_aw2_create':
sound/pci/aw2/aw2-alsa.c:282: error: 'DMA_32BIT_MASK' undeclared (first use in this function)
sound/pci/aw2/aw2-alsa.c:282: error: (Each undeclared identifier is reported only once
sound/pci/aw2/aw2-alsa.c:282: error: for each function it appears in.)
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- aw2: remove duplicate MODULE_LICENSE
"GPL 2" does not mean that there have to be two MODULE_LICENSE("GPL")
entries.  ;-)

[edit] FM801 driver

- sound: fm801.c fix shadowed variable warning
id was only used as a counter in a for loop, move the declaration
to where it is used and change it to i.
sound/pci/fm801.c:1288:6: warning: symbol 'id' shadows an earlier one
sound/pci/fm801.c:51:13: originally declared here
[tiwai - fixed a coding style issue as well]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] Generic drivers

- pcsp driver update
- Update help text
- Update copyrights
- Fix some warnings
- Stop depending on EXPERIMENTAL as the driver was tested for long enough.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- pcsp - Comply to Lindent & checkpatch.pl
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- improved snd-aloop quality when using certain samplerates and kernel HZ
after using a HZ:=300 kernel for some time now and needing snd-aloop again i
found out, that i either had to correct the hardcoded number, or fix the
problem permanently, which couses stuttering and other problems.
i also removed the SYNC on start code, not just because its more or less
useless and brings problems, but ive got a nice idea how to fix this
overrun/underrun problem in a much nicer way.
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- aloop - more cleanups
removed some unneeded stuff.
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- pcsp - Check return value of pcspkr_input_init()
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- aloop - even more cleanups
removed my old debugging macros.
renamed variables to make it more clear.
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- pcsp: use platform_driver API
Use platform_driver API, suspend/resume now works.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- pcsp: Add NForce workaround
Implemented NForce workaround
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- improved snd-aloop quality when using certain samplerates and kernel HZ
when the time interval for a period is smaller than kernel HZ, then
snd-aloop and snd-dummy cannot call snd_pcm_period_elapsed as fast enough
annymore. this happens for example with games. but the app still needs to
see, that the buffer actually did go further, which is provided by these
patches.
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- Move pcsp driver to alsa-kernel tree
- snd-aloop - more cleanups
moved module parameter pcm_substreams range check code around, to prevent
catastrophe.
removed bogus module parameter pcm_devs code - aloop creates only one pair
of devices.
allowed float_le, too.
removed obsolete code.
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- Remove old Kconfig entry for pcsp
- Convert to menuconfig
Convert menu in Kconfig files to menuconfig, as well as in kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- snd-dummy - improved timing, silence on prepare
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- snd-dummy - better realtime app support
when the time interval for a period is smaller than kernel HZ, then
snd-aloop and snd-dummy cannot call snd_pcm_period_elapsed as fast enough
annymore. this happens for example with games. but the app still needs to
see, that the buffer actually did go further, which is provided by these
patches.
Signed-off-by: Ahmet İnan <ainan <at> mathematik.uni-freiburg.de>
- Add PC-speaker sound driver
Added PC-speaker sound driver (snd-pcsp).
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- pcsp - clean ups
- make pcsp_start_timer_tasklet static
- remove redundant includes. <asm/i8253.h> is not available on all platforms.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- pcsp: improve "enable" option handling
Simplify init code.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- pcsp: locking fix
pcsp: locking fix.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- [ML403-AC97CR] Remove duplicate snd_card_set_dev()
We want to have snd_card_set_dev() in _probe(), but not a second one in
snd_ml403_ac97cr_create().
Signed-off-by: Joachim Foerster <JOFT@gmx.de>
- sound/drivers/pcsp/pcsp.c build fix
sound/drivers/pcsp/pcsp.c: In function 'snd_pcsp_create':
sound/drivers/pcsp/pcsp.c:54: error: 'loops_per_jiffy' undeclared (first use in\ this function)
sound/drivers/pcsp/pcsp.c:54: error: (Each undeclared identifier is reported on\ ly once
sound/drivers/pcsp/pcsp.c:54: error: for each function it appears in.)
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- pcsp: remove downsampling
pcsp: remove S16->U8 downsampling as dmix now supports U8 natively.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- sound: fix platform driver hotplug/coldplug
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable sound
platform drivers, to re-enable auto loading.
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- sound/drivers/dummy.c: fix negative snd_pcm_format_width() check
bps is unsigned, a negative snd_pcm_format_width() return value is not noticed
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
- pcsp - Fix dependency in Kconfig
Added the proper dependency to Kconfig for snd-pcsp driver.
It requires INPUT but is exclusive with pcspkr-input driver.
- pcsp: fix wording in DEBUG_PAGEALLOC warning
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- pcsp - Fix CONFIG_DEBUG_PAGEALLOC warning message again
Put two line messages into a single line (as Stas intended originally).
- pcsp - Remove dependency to INPUT_PCSPKR=n again
This caused a dependency loop (although it's =n dependency).
Cut the chain.
- pcsp - Fix more dependency
Added the missing dependency and select for snd-pcsp driver.
- pcsp: Fix build with CONFIG_PM=n
sound/drivers/pcsp/pcsp.c: In function 'pcsp_suspend':
sound/drivers/pcsp/pcsp.c:201: error: implicit declaration of function 'snd_pcm_suspend_all'
Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
CC: Stas Sergeev <stsp@aknet.ru>
- ac97 - Add virtual master control to VT1616/VT1617A codec.
Enable VMASTER for VT1616 / VT1617A codec.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
- pcspkr: fix dependancies
fix pcspkr dependancies: make the pcspkr platform
drivers to depend on a platform device, and
not the other way around.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
CC: Vojtech Pavlik <vojtech@suse.cz>
CC: Michael Opdenacker <michael-lists@free-electrons.com>
[fixed for 2.6.26-rc1 by tiwai]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- snd-pcsp: adjust help texts to frighten users
Added the warning text to the help of snd-pcsp about the possible problem
with this driver so that user can know of the problem in advance.
Also, removed the obsoleted text about ancient pc-speaker patch in
CONFIG_SOUND help.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- snd-pcsp: put back the compatibility code for the older alsa-libs
The attached patch adds back the compatibility code, allowing the
driver to work with older alsa-libs.
The removal was premature, it breaks the real-life configs.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- snd-pcsp: depend on CONFIG_EXPERIMENTAL
Considering all the feedbacks I got, depending snd-pcsp on
CONFIG_EXPERIMENTAL looks like the only safe way to get out
of all the troubles at one go. :)
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- snd-pcsp: silent misleading warning
It appears that alsa allows a sound buffer with size not
evenly devided by the period size. This triggers a warning in
snd-pcsp and floods the log. As a quick fix, the warning should
be disabled.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- snd-pcsp: use HRTIMER_CB_SOFTIRQ
Change HRTIMER_CB_IRQSAFE to HRTIMER_CB_SOFTIRQ,
as suggested by Thomas Gleixner.
That solves the lock dependancy reported in
Bug #10701.
That also allows to call hrtimer_start()
directly, tasklet "stupid hack" removed.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] snd-pcsp - fix pcsp_treble_info() to honour an item number
This solves the problem with mixers wrongly displaying the PWM freq.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: Convert to menuconfig
Convert menu in sound Kconfig files to menuconfig and if.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Fix AC97 kconfig items
The kconfig items related with AC97-powersave must be outside the
CONFIG_SND_PCI range. And it'd be better together with CONFIG_SND_AC97.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] HDA Codec driver

- hda-intel - Fix PCM device number assignment
In the current scheme, PCM device numbers are assigned incrementally
in the order of codecs. This causes problems when the codec number
is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then
the HDMI becomes the first PCM, which is picked up as the default
output device. Unfortuantely this doesn't work well with normal
setups.
This patch introduced the fixed device numbers for the PCM types,
namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned
according to the corresponding PCM type. After this patch, HDMI will
be always assigned to PCM #3, SPDIF to PCM #1, and the first analog
to PCM #0, etc.
- hda-codec - Add ID for an unknown HDMI codec chip
Added the ID for an unknown HDMI codec chip on Jetway J9F2.
- hda: STAC927x power down inactive DACs
On several laptops that have STAC9228 codecs have unused DACs,
this powers them down to a D3 state.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-codec - Correct HDMI transmitter names
Give better names to the new HDMI transmitter chips.
- hda-codec - remove duplicate controls in alc268 test mixer
I've just noticed that there are a handful of duplicate controls in the
ALC268 test model mixer. This patch (against alsa-driver 1.0.16) removes
them.
Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
- hda-codec - Fix race condition in generic bound volume/swtich controls
Attached patch fix race condition in hd_codec generic bound volume/swtich
controls
oops on this bug can be easy reproduced by two mixer apps on SMP system with
PREEMPT kernel
dmesg:
ALSA /home/ss/ALSA/alsa-driver-1.0.16/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:596:
hda_intel: azx_get_response timeout, switching to polling mode: las
t cmd=0x014f0900
BUG: unable to handle kernel paging request at virtual address 00070006
printing eip: f8f43e95 *pde = 00000000
Oops: 0000 [#1] PREEMPT SMP
Modules linked in: i915 drm snd_seq_dummy snd_seq_oss snd_seq_midi_event
snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss bnep rfcomm hidp l2cap
bluetooth w
lan_wep acpi_cpufreq coretemp hwmon mmc_block pcspkr psmouse wlan_scan_sta
ath_rate_sample snd_hda_intel ath_pci serio_raw wlan tg3 sdhci snd_pcm
firewire_o
hci mmc_core i2c_i801 snd_timer firewire_core snd_page_alloc ath_hal(P)
snd_hwdep snd iTCO_wdt crc_itu_t iTCO_vendor_support shpchp video output
acer_acpi b
acklight led_class wmi_acer
Pid: 3969, comm: gkrellm Tainted: P (2.6.24-jm #4)
EIP: 0060:[<f8f43e95>] EFLAGS: 00010292 CPU: 0
EIP is at snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel]
EAX: 00000000 EBX: f7478e00 ECX: f763e000 EDX: f764f788
ESI: 00070002 EDI: edce5e00 EBP: edc3fe64 ESP: edc3fe54
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process gkrellm (pid: 3969, ti=edc3e000 task=f1e4e000 task.ti=edc3e000)
Stack: f764f77c f7478e00 edce5e00 f6dd6000 edc3fe84 f8e590e8 edc7a239 f6d14034
f764f34c f6c0f7e0 edc3ff30 f6d14034 edc3fea8 f8e591b7 edc3ff30 edc3ff2c
00000000 f70aa668 f6d14034 f8e59165 bfbfadb0 edc3ff40 f8e587aa edc3ff2c
Call Trace:
[<c0104fbb>] show_trace_log_lvl+0x1a/0x2f
[<c010506d>] show_stack_log_lvl+0x9d/0xa5
[<c0105119>] show_registers+0xa4/0x1bd
[<c0105354>] die+0x122/0x206
[<c03daccc>] do_page_fault+0x535/0x623
[<c03d940a>] error_code+0x72/0x78
[<f8e590e8>] snd_mixer_oss_get_volume1_vol+0x74/0xf1 [snd_mixer_oss]
[<f8e591b7>] snd_mixer_oss_get_volume1+0x52/0xa5 [snd_mixer_oss]
[<f8e587aa>] snd_mixer_oss_ioctl1+0x673/0x71e [snd_mixer_oss]
[<f8e588af>] snd_mixer_oss_ioctl+0xb/0xd [snd_mixer_oss]
[<c017af0a>] do_ioctl+0x22/0x67
[<c017b186>] vfs_ioctl+0x237/0x24a
[<c017b1ca>] sys_ioctl+0x31/0x4b
[<c010402e>] syscall_call+0x7/0xb
=======================
Code: 3f 49 c7 89 f8 59 5b 5e 5f 5d c3 55 89 e5 57 89 d7 56 53 89 c3 83 ec 04
8b 70 5c 8b 40 60 05 7c 01 00 00 89 45 f0 e8 c0 3f 49 c7 <8b> 46 04 89 fa 89
4
3 5c 89 d8 8b 0e ff 11 89 73 5c 89 c7 8b 45
EIP: [<f8f43e95>] snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel]
SS:ESP 0068:edc3fe54
---[ end trace 0a20bc209e9397cc ]---
similar issue report present in ALSA bugtracking system
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3652
Signed-off-by: Serge A. Suchkov <Serge.A.S@tochka.ru>
- hda-codec - Fix ALC880 F1734 model
Fixed some issues with ALC880 F1734 model
- fix capture via mic
- enable volume-wheel control
- hda-codec - Fix automute of AD1981HD hp model
Reprogram the speaker-pin setting at each HP pin plug to make sure
the spekaer auto-muting on AD1981HD hp model.
- hda-codec - Don't create vmaster if no slaves found
Don't create vmaster controls if no slaves are found in the given list.
This prevents the error due to an empty vmaster control.
- hda-codec - Fix wrong capture source selection for ALC883 codec
The widget list of capture source selection for ALC883 contains the
wrong NIDs.
- hda-codec - Fix ALC882 capture source selection
The capture source selection for ADC list with two elements is buggy
becaues of a wrong capture mux list. This patch fixes the starting
index based on spec->num_adc_nids.
- hda-codec - Clean up capture source selection of Realtek codecs
Clean up the codes of the capture source selection for Realtek codecs.
Now using common helper functions with the new capsrc_nids field.
- hda-codec - Implement auto-mic jack sensing on Samsung laptops
Implemented the auto-mic jack sensing for Samsung laptops with AD1986A
codec chip (model=laptop-eapd).
The hardware uses pin 0x1d and 0x1f for the internal and external
mics, respectively.
- hda-codec - More fix-up for auto-configuration
In some cases, the BIOS sets up only the HP pins with different assoc
and sequence numbers, e.g. on FSC Esprimo with ALC262.
This patch adds a fix-up for such a case. When multiple HPs are defined
and no line-outs is found, the configurator tries to re-assign some pins
from HP list to line-out, judging from the sequence number.
- hda-codec - Fix auto-configuration of Realtek codecs
This patch fixes some bugs in the auto-configurator of Realtek codecs:
- add missing pin set-up for speaker pins
- fix the speaker auto-mute function not to conflict with the existing
"Speaker" mixer switch
- hda-codec - Add "IEC958 Default PCM" switch
Added a new mixer switch to enable/disable the sharing of the default
PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM"
switch is on, the PCM stream is routed both to analog and SPDIF outputs.
This is the behavior in the earlier version.
Turning this switch off has a merit for some codecs, though. Some codec
chips don't support 24bit formats for SPDIF but only for analog outputs.
In this case, you can use 24bit format by disabling this switch.
- hda-codec - Add more names to vendor list
Added more known names to the vendor id list.
- hda-codec - Fix breakage of resume in auto-config of realtek codecs
The last patch for fixing the auto-config pin setting breaks the resume
due to a wrong use of snd_hda_codec_amp_stereo(). The code in the init
hook shouldn't touch the amp cache.
- hda-codec - Fix missing capsrc_nids for ALC262
ALC262 must have capsrc_nids defined as well as in ALC882.
Also, add a NULL check in alc882_mux_enum_put to avoid Oops.
- hda-codec - Add support of AD1883/1884A/1984A/1984B
Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B.
These are almost compatible except for additional digital pins, etc.
- hda-codec - Add model=mobile for AD1884A & co
Added the new model mobile for AD1884A and compatible codecs.
It's a reduced version of model=laptop.
- hda-codec - Fix Master volume on HP dv8000
HP dv8000 laptop has a problem with Master volume. It's due to the
connection of the widget 0x13. When it's connected from the analog
amp mixer (0x19), it works as expected mysteriously (ALSA bug#3775):
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3775
- Keep private TLV entry in vmaster itself
Use a private array for TLV entries of virtual master controls instead
of (supposed) static array. This cleans up the existing codes.
Also, now vmaster assumes the simple dB-range TLV that is the only type
it can handle.
- hda-codec - Fix ALC662 recording
Fixed ALC662 recording issue.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- hda-codec - Add beep volume control to ALC268
Added the beep volume control to ALC268 codec support code.
Since the codec doesn't return the correct AMP caps, we need to override
the value.
- hda-codec - Fix ALC268 capture source
Initialize the capture source properly for auto model.
It's especially important for cases that only mic is detected.
- hda-codec - Don't create multiple capture streams for single inputs
When the device has only one input source, it makes no sense to have
multiple capture streams.
- hda: fix STAC927x power management
Fix issue on STAC927x codecs that first DAC was getting powered down
even if was being used.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda: STAC927x invalid association value
STAC_DELL_BIOS quirks were setting the association value wrong
for port 0x0f, which prevented it from being included in hp_outs[].
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda: 92HDxxxx PCI Quirks
Added PCI_QUIRKS for laptop that have the 92HDxxx family of codecs.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda: STAC927x analog mic
Some laptops have a internal analog microphone that is not setup by the BIOS.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda: Mic as output fix
Added logic to check if AUTO_PIN_FRONT_MIC is available for output
switch, if AUTO_PIN_MIC isn't.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-codec - Adapt eeepc p701 mixer for virtual master control
Fix the line-out volume control of eeepc p701 to be a proper slave of
the virtual master control.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Fix AD1988 capture elements
The some indices of capture elements of AD1988 are wrongly assigned.
This patch fixes it. See ALSA bug#3795
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3795
- hda-codec - Add Fujitsu Lifebook E8410 to quirk table
Add the proper model entry for Fujitsu Lifebook E8410 with ALC262 codec.
From: Tony Vroon <tony@linx.net>
- hda-codec - Fix initial DAC numbers of 92HD71bxx codecs
Fix the initial num_dacs of 92HD71bxx codecs.
- hda-codec - Add docking-station mic input for Thinkpad X61
Added the docking-stationc mic input to the capture source list
for Thinkpad X61.
- hda-codec - Fix mixer names of realtek codecs to adapt mater controls
Some models like eeepc ep20 have invalid mixer names that aren't
handled properly by virtual master controls. Rename them to the
proper names.
Also fixed some typos in the mixer names but they are not compiled
in right now.
- sound: patch_sigmatel.c fix shadowed variable warning
Temp variable in the loop shadows the second argument (which is otherwise
unused in this function). Change this to defcfg as it is used to hold
the default config.
sound/pci/hda/patch_sigmatel.c:2759:18: warning: symbol 'cfg' shadows an earlier one
sound/pci/hda/patch_sigmatel.c:2734:26: originally declared here
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- hda-codec - Use int instead of long in patch_sigmatel.c
The HD-audio parameters are at most 32bit int.
- sound: hda: missing includes of hda_patch.h
Move the array declaration to hda_codec.c where it is used and add includes
where the individual presets are declared.
Fixes the following sparse warnings:
sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static?
sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static?
sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static?
sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static?
sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static?
sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static?
sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static?
sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static?
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- hda: disable power management on fixed ports
Power management can't be enabled on fixed ports, since the presence
will always return false and prevent output.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda: add verbs for 92hd73xxx laptops
Added core_init[] for several 92hd73xxx laptops.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-codec - Fix the array over-range access with stac92hd71bxx codec
Add the check of the array range for dac_nids to prevent the over-range
access.
- hda-codec - model for alc883 to support M720R
There is no suitable model for M720R (ALSA bug#3781).
This patch is to support HP jack-sensing and mixer.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- ALC288 - Add NEC S970 to the quirk table
NEC S970 has no sound in the internal speakers when autodetection is
used.
With targa-dig model, there is sound in the speakers and it gets
correctly muted when pluging headphones.
From: Pascal Terjan <pterjan@mandriva.com>
- hda-codec - model for alc883 to support FUJITSU Pi2515
There is no suitable model for Pi2515.
This model is to support it. ALSA bug#3800.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- hda-codec - model for cx20549 to support laptop HP530
Currently the model laptop-hpsense use the 0x12 as ExtMic,
and use 0x14 as Internal IntMic.
But the hp530 only have one ExtMic, the Pin widget is 0x14.
In this patch, I changed the mixer item for them.
I still reserved the IntMic item, it will be helpful if
other machine may use this model.
ALSA bug#3821.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- hda-codec - Fix dmics on ALC268 in auto configuration
Fixed the handling of dmics on ALC268 in the auto-configuration mode.
- hda-codec - Add internal mic item for ALC268 acer model
Added the internal mic as a capture source item for ALC268 acer model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- HDA Codecs: add support for Toshiba Equium L30
This patch adds support for the Toshiba Equium L30 laptop and renames the mixer
controls to match Laptop usages.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- hda: Reorganized DAC outputs
Changed so that internal speakers point to the Front mixer instead of Surround.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-intel - Fix microphone capture with ALC880 F1734 model
The default capture source should be the mic which is 0x01 on this model.
In addition to that the change to VREF50 allows for higher capture volume.
Signed-off-by: Michael Gruber <lists.mg@googlemail.com>
- hda-codec - Improve ALC262 ultra model
Improved ALC262 ultra model for Samsung Q1 Ultra series.
- clean up mixers
- support of input from HP jack as a mic
- add quirk for Q1 EL
- hda: 92HD73xxx distortion fix
Fixed issue on some laptops that if the Master mixer and DAC mixers are
turned all the way up that will cause distortion. This is fixed by limiting
the max volume with the volume knob nid.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-codec - Fix orphan Headphone controls in STAC codecs
Currently, the headphone controls are created as Master wrongly in
some cases, and this prevents the virtual master controls.
The patch fixes the problem by simply using "Headphone" always for
headphone controls.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- hda-codec - Fix ALC662 DAC mixer mutes
Currently ALC662 doesn't suport amp mute for AmpOut in nids 0x02, 0x03,
0x04 (see block diagram in ALC662 datasheet page 3, does M correspond to
mute?). The result is that currently mute for "Front Playback Switch",
"Surround Playback Switch", "Center Playback Switch" and "LFE Playback
Switch" mixer items doesn't work (tested on Asus P5GC-MX motherboard
with 3stack-6ch model).
The solution I found for this is to mute the proper inputs in 0x0c,
0x0d, 0x0e audio mixers.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX
Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Fujitsu Lifebook port replicator/dock headphone jack sense
The docking station headphone output had no audio and jack sense
was not considered.
Jack information from the laptop itself and the dock are combined, as
the dock does not obscure the connector.
Signed-off-by: Tony Vroon <tony@linx.net>
- Revert "at73c213: fix DMA size at the end of DMA buffer"
Revert the patch "at73c213: fix DMA size at the end of DMA buffer".
With the next patch to use the hw_constraint, this isn't needed any more.
- hda-codec - Fix DAC assignment order in ALC883
Actually clfe and surround DACs are inverted in alc883_dac_nids array
(see ALC883 datasheet). I discovered this while testing multi-channel
setup (using 3stack-6ch-dig model) on MSI 945GCM5 V2 motherboard that
has an ALC883 codec. Simply Rear Left/Right and Center/LFE were swapped
in 6 channel mode (also in 4 channel mode you didn't get rear left/right
output). Other models also were affected by this bug, as can be seen by
the mixer layouts that "workaround" this (the real bug was not noticed,
and some other models simply played with mixer and initial verbs). Thus
along with fixing the order of dac nids, also change the models that
relied on previous dac ordering properly.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267)
Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267).
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Fix spekaer output of Panasonic CF-74
Add a new model "panasonic" for Panasonic CF-74 with STAC9200 codec
to fix the speaker output.
- hda-codec - keep the format verb at closing PCM streams
Keep the format verb at closing PCM streams.
Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose.
- hda-codec - Support of Lenovo Thinkpad X300
Added the model thinkpad for Lenovo Thinkpad X300 with AD1984A codec.
- hda: 92hd71bxxx DMIC nid
Added missing DMIC verb to dell_4_1_pin_configs[].
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-codec - model for alc262 to support Lenovo 3000
This model is to support the Lenovo 3000 y410.
ALSA bug#3856:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3856
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- hda-codec - Remove now uneeded 6stack-hp model from ALC883
After DAC assignment fix in ALC883, the 6stack-hp model is now the same
as 6stack-dig. So just remove 6stack-hp model and replace its use with
6stack-dig.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Use base ALC883 mixer for 6stack-dell model
After DAC assignment fix in ALC883, alc888_6st_dell_mixer is now the
same as alc883_base_mixer. Avoid duplicated code and use
alc883_base_mixer in 6stack-dell model, removing alc888_6st_dell_mixer
definition.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Use common 3stack-6ch mixer for 3stack-hp model
Forgot one more: 3stack-hp model also have now the same mixer as
3stack-6ch (after DAC assignment fix in ALC883), so use it avoiding
duplicating the same mixer definition.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Map clevo-m720r ALC883 model for Clevo M720SR
Map clevo-m720r ALC883 model for Clevo M720SR.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - Support mic automute for Clevo M720R/SR
Add support for mic automute in clevo-m720r ALC883 model, and rename it
to more generic clevo-m720. Also change model entry in ALSA-Configuration.txt
accordingly.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda-codec - PCI quirk for MSI laptop
Please refer to [0003848] on the alsa mantis.
This patch adds the pci quirk and Mic-Int controller.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- hda-codec - Fix unbalanced mutex
On Wed, Apr 02, 2008 at 08:19:29AM -0400, Miles Lane wrote:
> [ 48.765906] [ BUG: bad unlock balance detected! ]
> [ 48.765912] -------------------------------------
> [ 48.765918] pulseaudio/4277 is trying to release lock
> (&codec->spdif_mutex) at:
> [ 48.765930] [<c03031b7>] mutex_unlock+0x8/0xa
> [ 48.765945] but there are no more locks to release!
> [ 48.765950]
> [ 48.765952] other info that might help us debug this:
> [ 48.765959] 2 locks held by pulseaudio/4277:
> [ 48.765965] #0: (&pcm->open_mutex){--..}, at: [<f89f134b>]
> snd_pcm_open+0xc1/0x1ba [snd_pcm]
> [ 48.766003] #1: (&chip->open_mutex){--..}, at: [<f8b4f13d>]
> azx_pcm_open+0x36/0x184 [snd_hda_intel]
> [ 48.766057]
> [ 48.766059] stack backtrace:
> [ 48.766066] Pid: 4277, comm: pulseaudio Not tainted 2.6.25-rc8-mm1 #12
> [ 48.766086] [<c013afc6>] print_unlock_inbalance_bug+0xce/0xd8
> [ 48.766107] [<c0109e1c>] ? save_stack_trace+0x1d/0x3b
> [ 48.766130] [<c012f54e>] ? __kernel_text_address+0x1b/0x27
> [ 48.766146] [<c0104533>] ? dump_trace+0xcd/0xd9
> [ 48.766160] [<c0109d9e>] ? save_stack_address+0x0/0x2c
> [ 48.766176] [<c013b80a>] ? find_usage_backwards+0xa4/0xc3
> [ 48.766193] [<c013cfb5>] lock_release_non_nested+0x84/0x120
> [ 48.766209] [<c03031b7>] ? mutex_unlock+0x8/0xa
> [ 48.766222] [<c013d1bb>] lock_release+0x16a/0x199
> [ 48.766238] [<c0303137>] __mutex_unlock_slowpath+0xa9/0x121
> [ 48.766252] [<c03031b7>] mutex_unlock+0x8/0xa
> [ 48.766263] [<f8b4ffd8>] snd_hda_multi_out_analog_open+0xd3/0xef
> [snd_hda_intel]
The following patch should fix it.
From: Frederik Deweerdt <deweerdt@free.fr>
Cc: "Miles Lane" <miles.lane@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- hda - Should use HDA_OUTPUT instead of HDA_INPUT to mute pin 15 of ALC880
To mute the output of Pin widget 15 in ALC880, we should use the
HDA_OUTPUT. However, current code looks like :
snd_hda_codec_amp_stereo(codec, 0x15, HDA_INPUT, 0, HDA_AMP_MUTE, bits);
It may be a misspelling.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- hda - PCI quirk for laptop LG which use CMI9880
Please refer to [0003874] on the alsa mantis.
This patch added the pci quirk.
Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- hda - Fujitsu Lifebook PC speaker signal
The legacy PC speaker signal was not routed to outputs. The codec is not
prevented from powering down in this patch, although I suppose one could
argue that perhaps it should be. Let me know if anyone feels strongly one
way or the other.
Signed-off-by: Tony Vroon <tony@linx.net>
- hda: Correct SPDIF out default config
Several laptops have have the SPDIF out defined as 'Digital other out'
when it should be 'SPDIF out' in the default config.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda: EAPD power management
Power management support for EAPD enabled laptops, when headphones
are sensed it pulls the EAPD GPIO line low to power it down.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda-intel: Add Quanta IL1 ALC267 model
This adds support for Quanta IL1 mini-notebook to alsa, defining a new model
for it. It comes with an ALC267 codec chip. Some notes about this model:
* In headphone automute, I use AC_VERB_SET_PIN_WIDGET_CONTROL instead of common
amp mute, to avoid conflict with mixer switch (mixer and automute use the
same nid).
* The only connected capture sources in the hardware are the internal mic and
external mic jack. So instead of using an input source selector like on other
ALC268 models, the mic automute automatically switch between captures.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- hda - revert wrongly committed patch
A work-in-progress patch was mistakenly committed together with another
patch. Reverged that part now.
- hda - Add support of AD1989A/AD1989B
Added the support of AD1989A and AD1989B codecs.
These codecs can have multiple SPDIF devices, but currently we handle
only one SPDIF. If any real devices with two SPDIF interfaces (likely
one for SPDIF and one for HDMI), we'll fix this rightly.
Otherwise, these codecs are pretty similar with AD1988.
- hda: Add 5.1 support for second headphone jack
Several 92hd7xxx and STAC9228 laptops have multiple headphone jacks,
the second headphone jack should be used for the 5.1 surround sound.
Add support for 'Headphone as Line Out' switch, which allows it be used
in 5.1 surround sound.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- hda - Fix ALC889A codec support
ALC889A is recognized ALC885/ALC882 but it's actually closer to
ALC888/ALC883.
Cc: Kasper Sandberg <lkml@metanurb.dk>
- hda - Avoid unexpected breakage with ALC889A hack
The last ALC889A hack may break on some devices with certain model presets
since patch_alc*() have different model tables. So, now it's handled in
the original patch_alc882() but fly to patch_alc883() in model=auto
appropriately.
- hda - Fix model for Acer Aspire 5720z
Set the proper model=acer for Acer Aspire 5720z with ALC268 codec.
ALSA bug#3550:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3550
- hda - Fix Thinkpad X300 digital mic
TP X300 digital mic requires additional init verbs with magic COEFs.
- hda - Add support of Medion RIM 2150
Added the support of Medion RIM 2150 laptop with ALC880 codec.
ALSA bug#3708:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3708
- hda - Support IDT 92HD206 codec
Added the support for IDT 92HD206 codec chip.
It's compatible with STAC927x.
- Revert migration to alc_set_pin_output() in alc861_auto_set_output_and_unmute()
Change done by:
commit f6c7e5461e9046445d50c5c7a9a4587824239623
[ALSA] hda-codec - Fix auto-configuration of Realtek codecs
broke sound on ALC861 Analog.
Signed-off-by: Jacek Luczak <luczak.jacek@gmail.com>
- [ALSA] hda - Fix ALC262 fujitsu model
Fixed the speaker auto-mute with two laptop and docking headphones.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Tony Vroon <tony@linx.net>
- [ALSA] hda - Fix ASUS P5GD1 model
Corrected the model assignment for the ASUS P5GD1 w/SPDIF after reports of
surround sound not being possible.
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Add model for ASUS P5K-E/WIFI-AP
Added a config table entry for the ASUS P5K-E/WIFI-AP mainboard (ID
1043:8227) to use AD1988_6STACK_DIG
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix noise on VT1708 codec
We get quite noisy output on the right channel on VT1708 codec
when 24bit samples are used. Suppress the 24bit support until any
real fix is found.
https://bugzilla.novell.com/show_bug.cgi?id=390473
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix COEF and EAPD in ALC889 auto-configuration mode
Fix the missing COEF and EAPD initialization in ALC889 auto-configuration
mode.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Added support for Foxconn P35AX-S mainboard
Added IDs for the Foxconn P35AX-S mainboard to patch_realtek.c, so
that ALC883_6ST_DIG is used by default.
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix capture mute Widget for stac9250/9251
Fix capture mute widget for STAC9250/9251 codecs. The widget 0x09
has no mute but 0x14 does actually.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to
represent its meaning more better. This config isn't provided only
for the detection but for more verbose debug prints in general.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Add ALC663 support
Added the support of ALC663 codec, including specific models for
ASUS M51VA, ASUS G71V, ASUS H13 and ASUS G50V.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix vref pincap check in alc882 auto-detection
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - show correct codec chip in PCM stream names
Show more exact codec chip name in the PCM stream name strings.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix EAPD and COEF setups for realtek codecs
Fixed EAPD and COEF setups for Realtek ALC662/663, 660-VD and 888 codecs.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix mic input on HP2133
The mic pins are wrongly assigned on AD1884A mobile model.
The mic handling is fixed for the automatic mic selection, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Fix model for LG LS75 laptop
Set the proper model for LG LS75 with CM9880 codec.
See ALSA bug#2105:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2105
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] HDA Intel driver

- hda-intel - Fix PCM device number assignment
In the current scheme, PCM device numbers are assigned incrementally
in the order of codecs. This causes problems when the codec number
is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then
the HDMI becomes the first PCM, which is picked up as the default
output device. Unfortuantely this doesn't work well with normal
setups.
This patch introduced the fixed device numbers for the PCM types,
namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned
according to the corresponding PCM type. After this patch, HDMI will
be always assigned to PCM #3, SPDIF to PCM #1, and the first analog
to PCM #0, etc.
- hda-intel - Use SG buffer
Use SG buffers for the HD-audio instead of linear buffers.
- hda-intel - Support 64bit buffer allocation
The HD-audio hardware usually supports 64bit address for DMA and other
buffers. The patch enables the feature if supported.
- hda-intel - Fix a compile error with CONFIG_SND_DEBUG_DETECT=y
Forgot to get rid of the obsolete fragsize field from a debug print.
- HDA-Intel - Patch to support RV7xx HDMI Audio
This patch is to add R7xx HDMI audio support.
Signed-off-by: Libin Yang <Libin.yang@amd.com>
- hda-intel - Fix Oops with ATI HDMI devices
The driver gets Oops with ATI HDMI devices due to the wrong calculation
of index for playback streams. This patch fixes it. Reference:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3746
- hda-intel - Clean up stream definitions
Clean up the code to define playback/capture streams.
- hda-intel - Use PCI_DEVICE() macro
Clean up the pci id table using PCI_DEVICE() macro.
- hda_intel needs dma-mapping.h
sparc32:
sound/pci/hda/hda_intel.c: In function 'azx_create':
sound/pci/hda/hda_intel.c:1838: error: 'DMA_64BIT_MASK' undeclared (first use in this function)
sound/pci/hda/hda_intel.c:1838: error: (Each undeclared identifier is reported only once
sound/pci/hda/hda_intel.c:1838: error: for each function it appears in.)
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- hda_intel: Add the DIDs of nvidia MCP79 HD audio controller to hda_intel.c
Add the Device IDs of nvidia MCP79 HD audio controller to hda_intel.c
Signed-off-by: Peer Chen <peerchen@gmail.com>
- hda-intel - Fix power-off hang on ASUS P5AD2
The hda-intel driver has a problem at power-off on ASUS P5AD2.
It's caused when the position-buffer is enabled -- most likely a
hardware-specific problem.
This patch adds a quirk to avoid the unnecessary enablement of
position-buffer.
- hda-intel - Add barrier
Add proper barriers in the RIRB communication code.
- hda-intel - Add sync support
Addded the support of sync streams to hda-intel driver.
- hda - Fix DMA position inaccuracy
Many HD-audio controllers seem inaccurate about the IRQ timing of
PCM period updates. This has caused problems on audio quality; e.g.
JACK doesn't work with two periods.
This patch fixes the problem by checking the current DMA position
at IRQ handler and delays the period-update via a workq if it's
inaccurate.
- [ALSA] hda - Fix DMA position inaccuracy
Many HD-audio controllers seem inaccurate about the IRQ timing of
PCM period updates. This has caused problems on audio quality; e.g.
JACK doesn't work with two periods.
This patch fixes the problem by checking the current DMA position
at IRQ handler and delays the period-update via a workq if it's
inaccurate.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] hda - Add support of Teradici controller
Add the new PCI ID 0x6549 0x1200 Teradici controller.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] hda - Add ICH9 controller support (8086:2911)
Added the missing PCI ID for ICH9 controller (8086:2911)
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] HDA generic driver

- Move vmaster build stub to acore
Move vmaster build stub to acore to follow the change in alsa-kernel tree.
- hda-codec - Add "IEC958 Default PCM" switch
Added a new mixer switch to enable/disable the sharing of the default
PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM"
switch is on, the PCM stream is routed both to analog and SPDIF outputs.
This is the behavior in the earlier version.
Turning this switch off has a merit for some codecs, though. Some codec
chips don't support 24bit formats for SPDIF but only for analog outputs.
In this case, you can use 24bit format by disabling this switch.
- hda-codec - Fix amp-in values for pin widgets
Pin widgets have always one amp-input value regardless of number of
connections. The proc file showed values wrongly.
- Keep private TLV entry in vmaster itself
Use a private array for TLV entries of virtual master controls instead
of (supposed) static array. This cleans up the existing codes.
Also, now vmaster assumes the simple dB-range TLV that is the only type
it can handle.
- hda-codec - keep the format verb at closing PCM streams
Keep the format verb at closing PCM streams.
Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose.
- [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to
represent its meaning more better. This config isn't provided only
for the detection but for more verbose debug prints in general.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] I2C cs8427

- i2c: cs8427.c use put_unaligned helper
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] ICE1712 driver

- ice1712 - Fix hoontech MIDI input
Fixes the problems with Midi In on Hoontech/STA dsp24 cards, for example with
DSP2000 box, without restricting the box configurations available. Also adds
mpu_401 name strings.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
- Added support for Delta1010E (newer revisions of Delta1010)
For more details, see ALSA bug#3327 .
- ice1712 - added support for M-Audio Delta 66E
See ALSA bug#3327 for more details. Experimental.
Also fix support for M-Audio Delta 1010E - subdevice check.
- sound: ice1712.c fix shadowed variable warnings
In all four case, adding a private value to the iooff index,
call it priv_idx.
sound/pci/ice1712/ice1712.c:1300:6: warning: symbol 'index' shadows an earlier one
sound/pci/ice1712/ice1712.c:85:12: originally declared here
sound/pci/ice1712/ice1712.c:1312:6: warning: symbol 'index' shadows an earlier one
sound/pci/ice1712/ice1712.c:85:12: originally declared here
sound/pci/ice1712/ice1712.c:1338:6: warning: symbol 'index' shadows an earlier one
sound/pci/ice1712/ice1712.c:85:12: originally declared here
sound/pci/ice1712/ice1712.c:1350:6: warning: symbol 'index' shadows an earlier one
sound/pci/ice1712/ice1712.c:85:12: originally declared here
[tiwai - fixed coding issues as well]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- sound: ice1712: unused structs
Don't need to declare a struct when defining a structure layout. Both
of these structs are unused.
sound/pci/ice1712/revo.c:39:3: warning: symbol 'revo51' was not declared. Should it be static?
sound/pci/ice1712/phase.c:54:3: warning: symbol 'phase28' was not declared. Should it be static?
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- ice1724 - Fix the SPDIF input sample-rate on Juli@
AK4114 on Juli@ has the SPDIF input sample rate detection and
causes errors when an incompatible sample rate is chosen.
The patch adds the open hook to check the current rate and limit
the hw constraints.
- some fixes and cleanup for ICE1724 cards
* removing the hack with NON_AKM ak4xxx type
* support for card-specific flags in ak4114_stats
* definition of the flags for corresponding cards
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- ice1724 - Fix return codes in some pointis callbacks
Fixed the return codes (1 for changed values) in put callbacks of
pontis.
- ice1724 - Improved the Juli rate setting
* moving most of clock-specific code to card-specific routines
* support for ESI Juli
* to-be-researched - monitoring of analog/digital inputs
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- Don't set gpio mask register in snd_ice1712_gpio_write_bits()
Some calls to snd_ice1712_gpio_write() go wrong, if
snd_ice1712_gpio_write_bits() ran before and changed the gpio mask register.
Read the actual gpio value and combine it with the to be set bits in the cpu
instead.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
- ice1712 - Add Terrasoniq TS88 support
Added the support of Terrasonq TS88.
Signed-off-by: Peter Lienig <lienig@rheinmetall-de.com>
- ice1724 - Fix IRQ lock-up with MPU access
The sound boards with VT1724 and compatible chips may lock up when
MPU401 is accessed together with the PCM streaming.
This patch fixes the problem.
- [ALSA] ice1724: fix MIDI
The VT1724 MIDI port is not MPU-401 compatible; remove the hacks that
try to make the MPU-401 library work with it, and just use some simple
device-specific code.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Pavel Hofman <pavel.hofman@insite.cz>

[edit] ICE1724 driver

- sound: ice1712: unused structs
Don't need to declare a struct when defining a structure layout. Both
of these structs are unused.
sound/pci/ice1712/revo.c:39:3: warning: symbol 'revo51' was not declared. Should it be static?
sound/pci/ice1712/phase.c:54:3: warning: symbol 'phase28' was not declared. Should it be static?
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- ice1724 - Fix the SPDIF input sample-rate on Juli@
AK4114 on Juli@ has the SPDIF input sample rate detection and
causes errors when an incompatible sample rate is chosen.
The patch adds the open hook to check the current rate and limit
the hw constraints.
- some fixes and cleanup for ICE1724 cards
* removing the hack with NON_AKM ak4xxx type
* support for card-specific flags in ak4114_stats
* definition of the flags for corresponding cards
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- ice1724 - Improved the Juli rate setting
* moving most of clock-specific code to card-specific routines
* support for ESI Juli
* to-be-researched - monitoring of analog/digital inputs
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- ice1724.c: toggle "chip reset" and "eeprom based setup" sequence
Let "chip reset" become first. Increasement of the "chip reset" related timeout
leads to correctly read eeprom's contents here.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
- Audiophile 192: Fix ad converter initialization
Correct some arguments in calls to snd_ice1712_gpio_write_bits() from
ap192_set_rate_val().
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
- ice1724 - Fix IRQ lock-up with MPU access
The sound boards with VT1724 and compatible chips may lock up when
MPU401 is accessed together with the PCM streaming.
This patch fixes the problem.
- Add MPU401_INFO_NO_ACK bitflag
Added MPU401_INFO_NO_ACK bitflag to ignore the ACK check for UART
commands. VT172x doesn't handle ACK commands, for example.
Tested-by: Pavel Hofman <pavel.hofman@insite.cz>
- ice1724 - Enable watermarks
Enable watermarks settings (previously commented out) for MPU RX/TX.
Otherwise irqs aren't issued properly.
Tested-by: Pavel Hofman <pavel.hofman@insite.cz>
- [ALSA] ice1724: fix MIDI
The VT1724 MIDI port is not MPU-401 compatible; remove the hacks that
try to make the MPU-401 library work with it, and just use some simple
device-specific code.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Pavel Hofman <pavel.hofman@insite.cz>

[edit] ISA

- Convert to menuconfig
Convert menu in Kconfig files to menuconfig, as well as in kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: Convert to menuconfig
Convert menu in sound Kconfig files to menuconfig and if.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] Intel8x0 driver

- Fix intel8x0.patch for 2.6.25 changes
- intel8x0 - Add support of 8 channel sound
Added the support of 8 channel sound for codecs that are known to work.
So far, only ALC850 is marked as a 8ch-support codec.
This fix is a modified version of the patch on ALSA BTS#2097 by
Martin Ellis:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2097
- x86: convert CPA users to the new set_page_ API
This patch converts various users of change_page_attr() to the new,
more intent driven set_page_*/set_memory_* API set.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
- x86: cpa: move flush to cpa
The set_memory_* and set_pages_* family of API's currently requires the
callers to do a global tlb flush after the function call; forgetting this is
a very nasty deathtrap. This patch moves the global tlb flush into
each of the callers
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
- intel8x0 - Add quirk for Compaq Deskpro EN
Added the ac97_quirk hp_only for Compaq Deskpro EN.

[edit] L3 drivers

- [ALSA] remove CVS keywords
This patch removes CVS keywords that weren't updated for a long time
from comments.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] MAINTAINERS file

- 2.6 kernel sync

[edit] MPU401 UART

- mpu401: reduce tx loop timeout
Reduce the number of times to check for a non-empty Tx FIFO from 100 to
2 because there is no MPU-401 implementation that needs more than one or
two reads to determine the actual FIFO status.
- Define MPU401 registers in sound/mpu401_uart.h
Define some MPU401 registers in sound/mpu401_uart.h so that other
drivers can refer to them.
- Add MPU401_INFO_NO_ACK bitflag
Added MPU401_INFO_NO_ACK bitflag to ignore the ACK check for UART
commands. VT172x doesn't handle ACK commands, for example.
Tested-by: Pavel Hofman <pavel.hofman@insite.cz>

[edit] Maestro3 driver

- sound: maestro3.c fix shadowed variable warnings
change id to elem_id as it is used to initialize each mixer element
sound/pci/maestro3.c:2071:25: warning: symbol 'id' shadows an earlier one
sound/pci/maestro3.c:67:13: originally declared here
index is used in each of these places to count over the dsp's memory,
change to the name dsp_index
sound/pci/maestro3.c:2572:9: warning: symbol 'index' shadows an earlier one
sound/pci/maestro3.c:66:12: originally declared here
sound/pci/maestro3.c:2604:9: warning: symbol 'index' shadows an earlier one
sound/pci/maestro3.c:66:12: originally declared here
[tiwai - fixed coding style issues as well]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] Memalloc module

- regenerated memalloc.patch for proc change
- Move hack for dma_alloc_coherent() from alsa-kernel
Since the hack is removed from alsa-kernel tree, we need to move it to here.
- Fix the wrong patch in the last commit to memalloc.patch
The last patch broke the part of proc_create().
Also, added a workaround for 2.6.25 or former kernels.
- sound: use non-racy method for /proc/driver/snd-page-alloc creation
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org>
- Remove unneeded ugly hack for i386 in memalloc.c
The hack for dma_alloc_coherent() is no longer needed on 2.6.26 since
the base code was improved.

[edit] PCI drivers

- asihpi: add hwdep (experimental)
Add hpi ioctl via hwdep (experimental, disabled by default).
Adjust sampleclock control to use new hpi apis.
Signed-off-by: Eliot Blennerhassett <linux@audioscience.com
- Convert to menuconfig
Convert menu in Kconfig files to menuconfig, as well as in kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Move vmaster code to sound core
Move the codes for virtual master controls to sound core part so that
not only hda-intel drivers can use it.
- ca0106 - Add master volume controls
Added master volume and switch controls for ca0106 using vmaster.
- Emagic Audiowerk 2 ALSA driver.
Signed-off-by: Cedric Bregardis <cedric.bregardis@free.fr>
Signed-off-by: Jean-Christian Hassler <jhassler@free.fr>
- ice1724 - Improved the Juli rate setting
* moving most of clock-specific code to card-specific routines
* support for ESI Juli
* to-be-researched - monitoring of analog/digital inputs
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- virtuoso: add Xonar DX support
Add support for the Asus Xonar DX.
- [ALSA] fm801 - Fix kconfig dependency mess of fm801-tea575x
FM801-tea575x tuner has a reverse selection to V4L1 and this causes
nasty dependency problems.
The patch simplifies the dependency with a normal
"depends on VIDEO_V4L1". This decreases the usability but fixes bugs,
yeah. If any better feature like "requires" is introduced to kbuild
in future, we'll be able to switch it...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] ice1724: fix MIDI
The VT1724 MIDI port is not MPU-401 compatible; remove the hacks that
try to make the MPU-401 library work with it, and just use some simple
device-specific code.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Pavel Hofman <pavel.hofman@insite.cz>
- [ALSA] Fix AC97 kconfig items
The kconfig items related with AC97-powersave must be outside the
CONFIG_SND_PCI range. And it'd be better together with CONFIG_SND_AC97.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] Make ak4531 local to ens1370 driver
The ak4531 module is used only by ens1370 driver (and unlikely that
any other will use it ever). Let's make it local to ens1370.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] PDPlus driver

- Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Rename to CONFIG_SND_DEBUG_VERBOSE to match with its purpose better.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] PPC AWACS driver

- snd-powermac: AWACS and Screamer mixers for PM7500, Beige, and iMac SL
Add mixer controls and correct headphone detection bits for PowerMacs
7300/7500 (AWACS) and G3 Beige (Screamer), and iMac G3 Slot-loading
(Screamer).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: style awacs.s and awacs.h
Coding style corrections for awacs.c and awacs.h.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: more coding style fixes for awacs.[ch]
Coding style fixes slipped from the last patch mistakenlly.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>

[edit] PPC Beep

- snd-powermac: older kernel compatibility
Allow to compile snd-powermac on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: more older kernel compatibility
More patches to allow to compile snd-powermac on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>

[edit] PPC Burgundy driver

- snd-powermac: Burgundy mixers for B&W and iMac
Add mixer controls and correct headphone detection bits for PowerMac
G3 B&W and iMac G3 Tray-loading, both having Burgundy chipset.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: style burgundy.c
Coding style corrections for burgundy.c.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>

[edit] PPC DACA driver

- Dont touch fs_struct in drivers
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] PPC PMAC driver

- powermac - fix irq handlers
Fix irq handlers to follow to the new style (the irq compat wrapper
does the conversion job).
- snd-powermac: enable headphone detection on older kernels
Enable port change interrupt while initialising AWACS, Screamer, and
Burgundy chipsets. Older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: older kernel compatibility
Allow to compile snd-powermac on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: enable headphone detection
Enable port change interrupt while initialising AWACS, Screamer, and
Burgundy chipsets.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
- snd-powermac: style pmac.c
Coding style corrections for pmac.c.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>

[edit] PPC PS3 driver

- ALSA: Storage class should be before const qualifier
The C99 specification states in section 6.11.5:
The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>

[edit] PPC Tumbler driver

- snd-powermac: more older kernel compatibility
More patches to allow to compile snd-powermac on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>

[edit] PXA Mainstone driver

- [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h
two reasons:
1. GPIO namings and their mode definitions are conceptually not part
of the PXA register definitions
2. this is actually a temporary move in the transition of PXA2xx to
use MFP-alike APIs (as what PXA3xx is now doing), so that legacy
code will still work and new code can be added in step by step
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] pxa: use new pin configuration mechanism for mainstone
1. the following code to configure PGSRx is no way portable and
intuitive:
- PGSR0 = 0x00008800;
- PGSR1 = 0x00000002;
- PGSR2 = 0x0001FC00;
- PGSR3 = 0x00001F81;
this is removed as low power state has already been encoded in
the pin configuration definitions.
Note: there is no specific reason for some of the GPIOs to drive
high in low power mode as indicated by the above setting, those
bits are ignored, and the result is validated to work.
2. the following code to configure GPIO wakeup is removed as this
is now totally handled by pxa2xx_mfp_config():
- PWER = 0xC0000002;
- PRER = 0x00000002;
- PFER = 0x00000002;
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] pxa: use gpio_keys.c to support mainstone's wakeup switch of GPIO1
NOTE: currently don't know if the key code of KEY_SUSPEND is fit for
such usage.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] pxa: add partial keypad support for mainstone
This is partial because mainstone's keypad is really special, some of
the keys like '1', '2', ... are actually connected to two row/column
juntions, thus pressing '1' is equivalent to pressing 'A' & 'H'.
This is really brain damanged since it makes distinguishing between
pressing '1' and multiple keys pressing of 'A' & 'H' difficult.
So these special keys are not supported for the time being.
Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] 4901/3: mainstone: Register primary I2C bus
Mainstone has the primary I2C bus exposed for use on plugin modules.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

[edit] RME HDSP driver

- hdsp - RME 9632 fix at 192kHz
The bits indicating SPDIF frequency in the status register are not the same for
the 9632 than for the other cards, because it also supports 192kHz. A specific
bitmask has thus been added (used in hdsp_spdif_sample_rate()).
The 9632 does not seem to report external sample rates greater than 96kHz. In
this case, the best seems to report spdif rate when autosync reference is
spdif. This also required to move function hdsp_spdif_sample_rate().
Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>

[edit] RME32 driver

- sound: rme32.c fix integer as NULL pointer warning
kernel style does assignment outside of if() statements.
sound/pci/rme32.c:1353:71: warning: Using plain integer as NULL pointer
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] RME96 driver

- sound: rme96.c fix integer as NULL pointer warning
kernel style does assignment outside of if() block
sound/pci/rme96.c:1562:71: warning: Using plain integer as NULL pointer
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] RME9652 driver

- sound: hdspm.c fix returning void expression warnings
Just drop the returns.
sound/pci/rme9652/hdspm.c:1031:3: warning: returning void-valued expression
sound/pci/rme9652/hdspm.c:1033:3: warning: returning void-valued expression
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- sound/pci/rme9652/hdspm.c: stop inlining largish static functions
sound/pci/rme9652/hdspm.c has unusually large number of static inline
functions - 22.
I looked through them and some of them seem to be too big to warrant inlining.
This patch removes "inline" from these static functions (regardless of number
of callsites - gcc nowadays auto-inlines statics with one callsite).
Size difference on 32bit x86:
text data bss dec hex filename
20437 2160 516 23113 5a49 linux-2.6-ALLYES/sound/pci/rme9652/hdspm.o
18036 2160 516 20712 50e8 linux-2.6.inline-ALLYES/sound/pci/rme9652/hdspm.o
[coding fix by Takashi Iwai <tiwai@suse.de>]
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>

[edit] SA11xx UDA1341 driver

- [ALSA] remove CVS keywords
This patch removes CVS keywords that weren't updated for a long time
from comments.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] SAA7134 driver

- Fix synchronize_irq() bugs, redundancies
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.
However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.
So, where sync-irq could not be eliminated completely, the missing check
was added.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
- 2.6 kernel sync - add one-line changes

[edit] SB drivers

- sound: replace remaining __FUNCTION__ occurences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- [ALSA] trivial clean up of sound/isa/sb/Makefile
Remove unneeded sort in sound/isa/sb/Makefile.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] SB16/AWE driver

- sound: replace remaining __FUNCTION__ occurences
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

[edit] SB8 driver

- sb8: fix SB 1.0 capture DMA programming
Fix a wrong version check that would cause an invalid command to be sent
to SB 1.0 chips.

[edit] SIS7019 driver

- ALSA: Storage class should be before const qualifier
The C99 specification states in section 6.11.5:
The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>

[edit] SoC Audio for the Atmel AT91 System-on-Chip

- [ARM] 4912/2: [AT91] Endrelia audio driver must use GPIO interface
The SoC audio driver for the Endrelia ETI_B1 board should not access
the PIO controller directly, but must rather use the AT91 GPIO
interface.
(This is updated version of patch with removed trailing whitespace)
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- soc - at91-pcm - Fix line wrapping
There's more checkpatch stuff to fix in the driver, this just fixes the
minimum required for the following patch to be clean.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc at91 minor bug fixes
Found these two bugs while browsing through the code. The first one is
a cut-n-paste bug, instead of disabling the clock when request_irq()
fails, it enabled it once more. The second one fixes a debug printout,
AT91_SSC_IER is write only, AT91_SSC_IMR is readable (the printed string
actually says imr).
Frank Mandarino was busy so he asked me to send these to this list.
/Patrik
Signed-off-by: Patrik Sevallius <patrik.sevallius@enea.com>
Acked-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Frank Mandarino <fmandarino@endrelia.com>

[edit] SoC Audio for the Samsung S3C24XX chips

- soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled
When timer ticks are disabled when calling
sound/soc/s3c24xx/s3c24xx-i2s.c:s3c24xx_snd_lrsync
and the LR signal never happens, we loop forever.
This has been observed in the following call chain:
snd_pcm_common_ioctl1 -> snd_pcm_action_lock_irq ->
snd_pcm_action_single
-> snd_pcm_do_resume -> soc_pcm_trigger -> s3c24xx_i2s_trigger
The patch below changes the timeout mechanism to use udelay, which
doesn't need timer ticks.
Signed-off-by: Werner Almesberger <werner@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - neo1973_wm8753 - Fix module unload
Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx-i2s - Replace __FUNCTION__ with __func__
__FUNCTION__ is GCC specific and checkpatch won't let us submit with it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx - Improve diagnostic output
Add some debug messages for suspend/resume and to add a clear prefix to
s3c24xx-i2s and s3c24xx-pcm.
Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx - Declare suspend and resume static
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx-i2s - Use linux/io.h
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx-i2s - Fix tab/space breakage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx-i2s - Add missing spaces
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c2443-ac97 - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - s3c24xx-pcm - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - ln2440sbc_alc650 - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - neo1973_wm8753.c cleanup checkpatch issues
Clean up a few issues with the file that checkpatch noted, no functionality
changes.
Signed-off-by: Graeme Gregory <graeme@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - neo1973_wm8753.c change maintainer contact info
I have moved workplaces since I originally wrote this driver so update
the contact info for new employers.
Signed-off-by: Graeme Gregory <graeme@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - neo1973_wm8753.c add suspend and shutdown hooks for lm4857 chip
Patch taken from the openmoko bugtracker
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=781
This patch adds Suspend/Resume and Shutdown support for the lm4857 to
the driver.
Signed-off-by: Graeme Gregory <graeme@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - fix s3c2410 PCM breakage
S3C2410 pcm doesn't work.
s3c2410_dma_request() now returns the channel number and not 0 if OK.
Signed-off-by: Davide Rizzo <davide@elpa.it>
Acked-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- soc - fix S3C2410 i2s programming error
S3C2410 i2s driver currently manages only i2s protocol (and not left
justified one) and slave mode.
With this small patch, other modes are possible.
Signed-off-by: Davide Rizzo <davide@elpa.it>
Acked-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- soc - Patch to add debug messages to the neo1973_wm8753 (GTA01) sound driver
Signed-off-by: Tim Niemeyer <reddog@mastersword.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Graeme Gregory <graeme@openmoko.org>

[edit] SoC Codec AC97

- soc - ac97 - Clean up checkpatch warnings
Also change some if (x == NULL) to if (!x).
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove in-code changelogs
The overwhelming majority just say "initial version" anyway.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
- [ALSA] ASoC: Remove in-code changelogs
The overwhelming majority just say 'initial version' anyway.
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] SoC Codec CS4270

- SOC: fix tests in cs4270_hw_params()
cs4270_hw_params does several times:
ret = snd_soc_write()
if (ret < 0)
...
This only works when ret is signed.
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>

[edit] SoC Codec Philips UDA1380

- [ALSA] ASoC: Add UDA1380 driver
The UDA1380 codec is used by the HTC Magician and a number of Samsung
reference boards.
This driver has had a long out of tree history, having originally been
written by Giorgio Padrin and converted to ASoC by Richard Purdie.
Since conversion to ASoC most of the work on the driver has been done by
Philipp Zabel with some review and updates for new APIs by Liam Girdwood
and Mark Brown.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] SoC Codec TLV320AIC3X

- ASoC: Fix TLV320AIC3X PLL divider table for 64 kHz rate
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- ASoC: Add support for 12 MHz MCLK in TLV320AIC3X
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- ASoC/TLV320AIC3X: Stop I2C driver ID abuse
Please stop using random I2C driver IDs.
Also removed a pointless initialization to 0 of a static struct member.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
- ASoC: Add support for 19.2 MHz MCLK in TLV320AIC3X
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - tlv320aic3x - revisit clock setup
This patch cleans up the clocking setup for aic3x codecs. It drops the
dividers table and determines the PLL control values programatically.
Under certain conditions, the PLL is disabled entirely which could save
some power.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - tlv320aic3x - add GPIO support
This patch adds support for AIC3x GPIO lines. They can be configured for
many possible functions as well as be driven manually. I also introduced
i2c read functionality since the GPIO state register has to be read from
hardware every time and can not be served from cache.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix TLV320AIC3X mono line output interconnect
There is no endpoint called MONOLOUT but MONO_LOUT.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- soc - tlv320aic3x - Convert to use bulk registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
- ASoC: Clarify API for bias configuration
Currently the ASoC core configures the bias levels in the system using
a callback on codecs and machines called "dapm_event", passing it PCI
style power levels as SNDRV_CTL_POWER_ constants. This is more obscure
than it needs to be and has caused confusion to driver authors,
especially given that DAPM is also performing power management.
Address this by renaming the callback function to "set_bias_level" and
using constants explicitly representing the off, standby, pre-on and on
states which DAPM transitions through.
Also unexport the API for setting bias level: there are currently no
in-tree users of this API other than the core itself and it is likely
that the core would need to be extended to cater for any users.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>

[edit] SoC Codec WM8731

- soc - wm8731 - Clean up checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Convert Wolfson codec drivers to use bulk DAPM registration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[edit] SoC Codec WM8750

- soc - wm8750 - Clean up checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Convert Wolfson codec drivers to use bulk DAPM registration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[edit] SoC Codec WM8753

- soc - Add Invert Switch for ROUT2
GTA02 device has a speaker between LOUT2 & ROUT2 and in this mode ROUT2
needs to be inverted. This patch adds a mixer control for this.
Signed-off-by: Graeme Gregory <graeme@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - wm8753 - Clean up checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Convert Wolfson codec drivers to use bulk DAPM registration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[edit] SoC Codec WM9712

- ASoC: Fix WM9712 mixer_event DAPM widget function type
Add kcontrol argument to function since the API was changed by the commit
9af6d9562414568ecadf96aaef5b88e7e8b19821.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- soc - wm9712: Remove unneeded AC97_EXTENDED_MID updates
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - wm9712 - checkpatch fixes
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Convert Wolfson codec drivers to use bulk DAPM registration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove in-code changelogs
The overwhelming majority just say "initial version" anyway.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
- [ALSA] ASoC: Remove in-code changelogs
The overwhelming majority just say 'initial version' anyway.
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] SoC Codec WM9713

- ASoC: WM9713 driver
This patch adds an ASoC driver for the WM9713 AC97 codec.
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Add missing audio path between Mono Mixer and Mic PGAs
Signed-off-by: Robert Jarzmik <rjarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- wm9713: Don't control touch screen power on suspend
Leave the power bit for the touch screen alone when suspending the WM9713
so that the touch screen driver can handle it. This allows the touch
screen to be used as a wakeup source when the system is suspended.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove in-code changelogs
The overwhelming majority just say "initial version" anyway.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
- [ALSA] ASoC: Remove in-code changelogs
The overwhelming majority just say 'initial version' anyway.
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] SoC DaVinci

- Add soc/davinci build stub
Added soc/davinci build stub and fixed mod-deps.c to avoid unconditional
build of snd-davinci-soc-i2s module.
- Davinci ASoC support
Add ASoC support for the TI Davinci SoC and the Davicni-EVM reference board.
It includes:
- ASoC Davinci DMA driver
- ASoC Davinci I2S (Davinci McBSP module based) driver
- ASoC Davinci-EVM reference board
Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
- soc - davinci-evm - Update for bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[edit] SoC Dynamic Audio Power Management

- soc - Report errors from snd_soc_dapm_set_endpoint()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Include register in DAPM debug output
When logging register changes in DAPM debug output include the register
number.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - DAPM - add hook to read state of DAPM widget
This adds a hook to read the power state of a DAPM widget, I use this
in the gta02 driver to expose certain DAPM widgets in the mixer for
ease of audio routing.
Signed-off-by: Graeme Gregory <graeme@openmoko.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: fix export symbol typo
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
- soc - DAPM - Add bulk control registration
Most SoC drivers cut'n'paste a loop iterating over an array to register
their DAPM controls. Provide a function they can call instead.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Frank Mandarino <fmandarino@endrelia.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
- soc - DAPM - Bulk route registration
ASoC codecs and machine drivers that use DAPM routes all cut'n'paste a
loop iterating over a null terminated array of routes. Factor out this
into a bulk registration function, improving the error reporting for
most users, and deprecate the old API to help out of tree users pick up
the changes.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Frank Mandarino <fmandarino@endrelia.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
- ASoC: Clarify API for bias configuration
Currently the ASoC core configures the bias levels in the system using
a callback on codecs and machines called "dapm_event", passing it PCI
style power levels as SNDRV_CTL_POWER_ constants. This is more obscure
than it needs to be and has caused confusion to driver authors,
especially given that DAPM is also performing power management.
Address this by renaming the callback function to "set_bias_level" and
using constants explicitly representing the off, standby, pre-on and on
states which DAPM transitions through.
Also unexport the API for setting bias level: there are currently no
in-tree users of this API other than the core itself and it is likely
that the core would need to be extended to cater for any users.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>

[edit] SoC Freescale

- soc - duplicate strcasecmp test for "rj-master" in mpc8610_hpcd_probe()
In linus' git tree I found this problem. Is it also in the alsa tree?
please confirm it's the right fix. The patch was not yet tested.
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Removed deprecated sound/driver.h from Freescale MPC8610 drivers
With commit 9004acc70e8c49c50c4c7b652f906f1e0ed5709d, include/sound/driver.h
is deprecated. This patch removes the #include from fsl_ssi.c and fsl_dma.c.
Signed-off-by: Timur Tabi <timur@freescale.com>
- soc - fsl_ssi.c fix "BUG: scheduling while atomic"
From: Anton Vorontsov <avorontsov@ru.mvista.com>
This patch fixes following bug caught with PREEMPT enabled:
root@b1:~# cat /dev/dsp > /dev/null
BUG: scheduling while atomic: cat/965/0x00000003
Call Trace:
[df165ce0] [c0008e84] show_stack+0x4c/0x1ac (unreliable)
[df165d20] [c001c18c] __schedule_bug+0x64/0x78
[df165d30] [c02b3344] schedule+0x2d8/0x334
[df165d70] [c02b3674] schedule_timeout+0x64/0xe4
[df165db0] [c002c05c] msleep+0x1c/0x34
[df165dc0] [c01f2fe0] fsl_ssi_trigger+0x130/0x144
[df165dd0] [c01ece54] soc_pcm_trigger+0x94/0xb8
[df165df0] [c01da764] snd_pcm_do_start+0x48/0x60
[df165e00] [c01da630] snd_pcm_action_single+0x4c/0xb4
[df165e20] [c01e0f50] snd_pcm_lib_read1+0x2a0/0x2d4
[df165e70] [c01ec274] snd_pcm_oss_read3+0xf0/0x13c
[df165eb0] [c01ec2e4] snd_pcm_oss_read2+0x24/0x4c
[df165ec0] [c01ec4ac] snd_pcm_oss_read+0x1a0/0x1f0
[df165ef0] [c0076478] vfs_read+0xb4/0x108
[df165f10] [c00768cc] sys_read+0x4c/0x90
[df165f40] [c00117a4] ret_from_syscall+0x0/0x38
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[edit] SoC Layer

- ASoC: WM9713 driver
This patch adds an ASoC driver for the WM9713 AC97 codec.
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Davinci ASoC support
Add ASoC support for the TI Davinci SoC and the Davicni-EVM reference board.
It includes:
- ASoC Davinci DMA driver
- ASoC Davinci I2S (Davinci McBSP module based) driver
- ASoC Davinci-EVM reference board
Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
- sound: fix platform driver hotplug/coldplug
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable sound
platform drivers, to re-enable auto loading.
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- ASoC: Add drivers for the Texas Instruments OMAP processors
Add common OMAP ASoC drivers and machine driver for Nokia N810. Currently
supported features are:
- Covers OMAPs from 1510 to 2420
- Common DMA driver
- DAI link driver using McBSP port in I2S mode
- Basic machine driver for Nokia N810
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: build fix for snd_soc_info_bool_ext
I suspect that snd_ctl_boolean_mono should have been
snd_ctl_boolean_mono_info instead. This fixes the build for magician.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Clarify API for bias configuration
Currently the ASoC core configures the bias levels in the system using
a callback on codecs and machines called "dapm_event", passing it PCI
style power levels as SNDRV_CTL_POWER_ constants. This is more obscure
than it needs to be and has caused confusion to driver authors,
especially given that DAPM is also performing power management.
Address this by renaming the callback function to "set_bias_level" and
using constants explicitly representing the off, standby, pre-on and on
states which DAPM transitions through.
Also unexport the API for setting bias level: there are currently no
in-tree users of this API other than the core itself and it is likely
that the core would need to be extended to cater for any users.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
- ASoC: Make CPU and codec DAI operations have same type
The CPU and codec DAI operations differ only in the presence of the
digital mute operation for the codec so they may as well be the same
type.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: core checkpatch cleanups
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- [ALSA] ASoC: Make CPU and codec DAI operations have same type
The CPU and codec DAI operations differ only in the presence of the
digital mute operation for the codec so they may as well be the same
type.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] ASoC: Add SOC_DOUBLE_S8_TLV control type
The SOC_DOUBLE_S8_TLV control type was originally implemented in the
UDA1380 driver by Philipp Zabel and was moved into the core by me.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ALSA] ASoC: Add UDA1380 driver
The UDA1380 codec is used by the HTC Magician and a number of Samsung
reference boards.
This driver has had a long out of tree history, having originally been
written by Giorgio Padrin and converted to ASoC by Richard Purdie.
Since conversion to ASoC most of the work on the driver has been done by
Philipp Zabel with some review and updates for new APIs by Liam Girdwood
and Mark Brown.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] SoC PXA2xx Corgi

- ASoC: Fix DAPM widget function types in pxa machine drivers
Add kcontrol argument to functions since the API was changed by the commit
9af6d9562414568ecadf96aaef5b88e7e8b19821.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- soc - corgi - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Zaurus - Convert to bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
- ASoC: Remove in-code changelogs
The overwhelming majority just say "initial version" anyway.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
- [ALSA] ASoC: Remove in-code changelogs
The overwhelming majority just say 'initial version' anyway.
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] SoC PXA2xx EM-X270

- [ALSA] Add EM-X270 ASoC driver
This patch adds ASoC support for EM-X270 machine.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] SoC PXA2xx Poodle

- ASoC: Fix DAPM widget function types in pxa machine drivers
Add kcontrol argument to functions since the API was changed by the commit
9af6d9562414568ecadf96aaef5b88e7e8b19821.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- soc - poodle - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Zaurus - Convert to bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Richard Purdie <rpurdie@rpsys.net>

[edit] SoC PXA2xx Spitz

- ASoC: Fix DAPM widget function types in pxa machine drivers
Add kcontrol argument to functions since the API was changed by the commit
9af6d9562414568ecadf96aaef5b88e7e8b19821.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- soc - spitz - Fix checkpatch warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - Zaurus - Convert to bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Richard Purdie <rpurdie@rpsys.net>

[edit] SoC PXA2xx Tosa

- ASoC: Fix DAPM widget function types in pxa machine drivers
Add kcontrol argument to functions since the API was changed by the commit
9af6d9562414568ecadf96aaef5b88e7e8b19821.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- soc - Zaurus - Convert to bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Richard Purdie <rpurdie@rpsys.net>

[edit] SoC Texas Instruments OMAP

- Add build stub for soc omap drivers
- ASoC: Add drivers for the Texas Instruments OMAP processors
Add common OMAP ASoC drivers and machine driver for Nokia N810. Currently
supported features are:
- Covers OMAPs from 1510 to 2420
- Common DMA driver
- DAI link driver using McBSP port in I2S mode
- Basic machine driver for Nokia N810
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- soc - n810 - Update for bulk DAPM registration APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
- ASoC: Fix wrong enum count for jack_function in N810 machine driver
Fix this typo and avoid similar errors by using ARRAY_SIZE macro.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- ASoC: Convert N810 machine driver to use gpiolib
Use gpiolib since it is now available for OMAPs. Change also references to
HW version RX44 to product name N810.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
- [ALSA] ASoC: Convert N810 machine driver to use gpiolib
Use gpiolib since it is now available for OMAPs. Change also references to
HW version RX44 to product name N810.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Trident driver

- [ALSA] trident - clean up obsolete synth codes
Clean up the unused synth codes in the memory handling of trident driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] UDA1341

- [ALSA] remove CVS keywords
This patch removes CVS keywords that weren't updated for a long time
from comments.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] USB MIDI Gadget driver

- USB: gadget code switches to pr_err() and friends
We now have pr_err(), pr_warning(), and friends ... start using
them in the gadget stack instead of printk(KERN_ERR) and friends.
This gives us shorter lines and somewhat increased readability.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

[edit] USB USX2Y

- adapt usx2y patches for VM_DONTEXPAND change
- vm audit: add VM_DONTEXPAND to mmap for drivers that need it
Drivers that register a ->fault handler, but do not range-check the
offset argument, must set VM_DONTEXPAND in the vm_flags in order to
prevent an expanding mremap from overflowing the resource.
I've audited the tree and attempted to fix these problems (usually by
adding VM_DONTEXPAND where it is not obvious).
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] USB caiaq

- Fix caiaq-device.patch
- caiaq - fix section mismatch warning
Fix following warning:
WARNING: vmlinux.o(.text+0x11ec01a): Section mismatch in reference from the function setup_card() to the function .devinit.text:snd_usb_caiaq_control_init()
setup_card() are only used by init_card().
init_card() are only used by snd_probe()
snd_probe() are used for the .probe parameter in usb_driver.probe
Annotate them all __devinit to fix the warning.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
- caiaq - Add __devinit* again
With Sam's last fix to caiaq-device.c, the stuff in caiaq-control.c
can have __devinit* again properly.
- snd_usb_caiaq: fix potential lockups locking
This patch fixes potential lockups in snd_usb_caiaq by refining the
locking mechanims and by using usb_kill_urb() in favor to
usb_unlink_urb().
Signed-off-by: Daniel Mack <daniel@caiaq.de>
- snd_usb_caiaq: correct input channel order
This patch corrects the input channel order of hardware supported by
snd_usb_caiaq.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
- snd_usb_caiaq: make high sample rates work with A8DJ
This patch for snd_usb_caiaq makes sample rates higher dann 48KHz work
with devices which have more than 2 stereo input/output pairs.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
- snd_usb_caiaq: add support for "Session I/O" interface
This patch adds suport for Native Instruments new
"Guitar Rig Session I/O" audio hardware.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
- caiaq endianness fix
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

[edit] USB generic driver

- usb-audio: add workaround for broken E-Mu frequency feedback
Add a workaround for the feedback pipe of E-Mu 0202/0404 USB devices
that reports the number of samples per packet instead of the number of
samples per microframe.
- usb-audio: sort quirks list
Move some entries to their proper position so that the list is again
sorted by vendor/product ID.
- USB: usbaudio: handle kcalloc failure
sound/usb/usbaudio.c (check_hw_params_convention): Handle kcalloc failure.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- usb-audio - Add a proper error check
The error in check_hw_params_convention() has to be checked and
handled properly.
- usb audio: Fix another Dallas quirk
Dallas USB speakers are buggy in more than one way. One of configs
they offer does not work at all.
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- usb audio: make quirk handling more readable, and fix commented-out code
usb audio contains useful debugging code, protected by #if
0. Unfortunately, it will not compile because variable names changed;
fix it.
Dallas workaround is formatted in a way where it is not quite obvious
what is normal code and what is quirk. Reformat it to make it obvious.
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- sound/usb/usbaudio.c: coding style
Putting space between ! and variable is a strange coding style, fix
that, also make it fit into 80 columns where that is easy.
Signed-off-by: Pavel Machek <pavel@suse.cz>
- usb-audio - Fix race in reconnection
Fix the race at reconnection of the device.
The disconnected usb_chip[] must be cleared before the next probe
call properly.
- [ALSA] usb-audio - Support for Roland SonicCell sound module
Added entry into usbquirks.h to recognize Roland SonicCell sound module by
mostly duplicating the entry for the Roland SH-201. USB MIDI works just fine,
though the USB audio is a little unreliable (but still works well enough).
Signed-off-by: Chris Mennie <camennie@alumni.uwaterloo.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] USB1400 touchscreen driver

- 2.6 kernel sync - add one-line changes
- add a private field for ac97-device drivers and let ucb1400 be its first user
From: Sebastian Siewior <bigeasy@linutronix.de>
Currently the UCB1400 driver discovers the interrupt via probing. This works
probably only on x86. This patch adds a private field to the ac97 struct
where the ac97 driver can deposit informations for the device driver that
serves a device which is attached to the ac97 bus.
This patch also converts the UCB1400 driver to use this information if
available.
Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
- Revert "add a private field for ac97-device drivers and let ucb1400 be its first user"
This reverts commit 61f7a0339c0a25b642f11436c25d16a923983864.
Altough I agree with this change, Takashi Iwai <tiwai@suse.de> NACked it.

[edit] Utils

- Fix build with wm9713
- Add soc/davinci build stub
Added soc/davinci build stub and fixed mod-deps.c to avoid unconditional
build of snd-davinci-soc-i2s module.
- propagate errors from recursive make calls
Make sure that recursive make calls are checked for errors, and that
failed application of patches does not result in an apparently up-to-
date source file.
- Add a hack to handle XXX=n kconfig
Added a hack to handle XXX=n kconfig action.
It won't work perfectly though.
- New kconfig parser
Introduced a new kconfig parser for handling menuconfig and if.
With this change, the configure options --with-cards and --with-card-options
are dropped, and --with-kconfig is added instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
Rename to CONFIG_SND_DEBUG_VERBOSE to match with its purpose better.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add utils/setup-alsa-kernel script
Added a script to set up the alsa-kernel directory containing symlinks
to the sound directories in the given linux kernel tree.
This is used to build alsa-drivers with the linux kernel tree instead
of alsa-kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Change symlinks in setup-alsa-kernel script
Change symlink in alsa-kernel directory to relative symlinks
with the main link to the linux kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- setup-alsa-kernel - Check alsa-driver root directory
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add -c option to setup-alsa-kernel
Added -c option to setup-alsa-kernel. With this option, the files are
copied instead of symlinks from the kernel tree so that it can be easily
archived.
Also, some files for kernel doc are now stored in utils directory.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Create sound symlink in setup-alsa-kernel script
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Use --with-cards and --with-card-options again for configure
Back to the old --with-cards and --with-card-options.
First off, it's always good to keep compatibility.
And, this makes easier the practical use, indeed.
Instead of --with-exclude option, now --with-cards and --with-card-options
options accept the style as "ITEM=n". This disables the given item.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] Virtual Master

- Move vmaster build stub to acore
Move vmaster build stub to acore to follow the change in alsa-kernel tree.
- Move vmaster code to sound core
Move the codes for virtual master controls to sound core part so that
not only hda-intel drivers can use it.
- Keep private TLV entry in vmaster itself
Use a private array for TLV entries of virtual master controls instead
of (supposed) static array. This cleans up the existing codes.
Also, now vmaster assumes the simple dB-range TLV that is the only type
it can handle.

[edit] YMFPCI driver

- ymfpci - Fix race at removal
free_irq() must be called first to avoid races at removal.

[edit] au88x0 driver

- sound: au88x0_pcm.c fix integer as NULL pointer warning
sound/pci/au88x0/au88x0_pcm.c:508:15: warning: Using plain integer as NULL pointer
Also some small codingstyle fixes.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
- [ALSA] remove CVS keywords
This patch removes CVS keywords that weren't updated for a long time
from comments.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] gitcompile script

- Moving to GIT.. Rename and update hg files..
- modified gitcompile script to use ../alsa-kmirror directory as ALSAKERNELDIR
- gitcompile - Check if alsa-kernel directory already exists
Signed-off-by: Takashi Iwai <tiwai@suse.de>

[edit] hgcompile script

- Moving to GIT.. Rename and update hg files..

[edit] pci_ids.h update

- 2.6 kernel sync

[edit] alsa-lib

[edit] Core

- Add atomic operation for super-H(sh3,4) architectures
This patch adds atomic operation for super-H(sh3,sh4) architecture.
See ALSA bug#3789
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3789
- Create doxgen.cfg dynamically
The patch from bug#3799
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3799
The "doc" target in doc/Makefile.am assumes the build directory and
the source directory are the same and fails if they differ ... this is
because the doxygen.cfg contains relative paths (such as ../) that
only work when building in the source tree
The attached patch against hg replaces all relative paths with
@top_srcdir@ and changes doxygen.cfg to a generated file so that
configure replaces @top_srcdir@ with the appropriate configure-time
path.
Assuming people like being able to do `make -f Makefile.am doc` on
an unconfigured and having it work, i added a small `test&&sed`
that'll generate an appropriate default doxygen.cfg for them.
- IEC958 definitions for consumer status channel, byte 4
Added definition for byte 4 of SPDIF channel status, according to
second edition of IEC 60958-3 (consumer) spec.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
- removed .hg files and renamed hgcompile to gitcompile
- Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Control API

- Fix device number assignment in hints
Handle the device number properly if given in hints.
The current code resets the device number to -1 wrongly.
- Don't show non-existing devices in snd_device_name_hint()
Suppress the non-existing devices in snd_device_name_hint().

[edit] Mixer API

- implemented integer volume <-> dB volume conversion functions for simple mixer

[edit] Mixer Abstraction API

- implemented integer volume <-> dB volume conversion functions for simple mixer

[edit] PCM API

- Fix conflict of obsoleted snd_pcm_hw_* definitions
When only SND_PCM_OLD_HW_PARAMS_API is defined but no
SND_PCM_OLD_SW_PARAMS_API, the declerations of some obsoleted functions
conflict. Although the apps should define both at the same time, it's
not good to break. Fixed the ifdef now.
- Fix the state in snd_pcm_ioplug_pause()
The states[] in snd_pcm_ioplug_pause() has wrong values. They should be
swapped. ALSA bug#3796:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3796
- Fix the build with old glibc
The old systems don't support CLOCK_MONOTONIC although clock_gettime() API
itself exists. This causes compile errors.
- dmix skipping first set of samples
There was a change in alsa-lib 1.0.16 which looks like it was designed to
make dmix skip samples in the case of underruns, but it causes the first
sample to be skipped since dmix->slave_hw_ptr == dmix->slave_appl_ptr.
The following patch fixes this and fixes a small typo in the comment.
From: Mike Gorse <mgorse@mgorse.dhs.org>
- Add truncate option to PCM file plugin
Addeed a new option "truncate" to indicate the behavior of creating
the output file. When it's true (the default), the file is overwritten
and truncated at creation. When false, the plugin tries to open a
unique file with a number suffix.
The global behavior of "file" and "tee" PCMs is defined via
defaults.pcm.file_truncate option. You can overwrite it in ~/.asoundrc.
- Use slave PCM as a timing-source for file ifile
When ifile option is used for the file plugin, it ignores the slave PCM
and just feeds the input data.
This patch changes the behavior a bit - it uses the slave PCM as the
timing source (just read and throw data away) so that the input data
can be read in the right sample rate.
- Add the support of WAV format in PCM file plugin
Added the support of WAV format in PCM file plugin.
The infile is still only in raw format.
- Use defaults.pcm.file_format for the default file format of file plugin
Use "defaults.pcm.file_format" for the default file format of
file plugin. It's set to "raw" as default for compatibility.
- fix compilation in pcm/pcm_hw.c - monotonic clock
- PCM API - explain more trigger timestamp
- added snd_pcm_hw_params_is_monotonic/can_forward/can_rewind functions
- implemented snd_pcm_rewindable() and snd_pcm_forwardable(), removed can_rewind and can_forward
- Implemented snd_pcm_sw_params_(set|get)_period_event for interrupt wakeup like behaviour
Actually, PCM timer is used as source for poll(). It might be optimized
in the kernel code later.

[edit] Sequencer API

- Fix snd_seq_change_bit()
snd_seq_change_bit() doesn't change but only set.
From: Aldrin Martoq <amartoq@dcc.uchile.cl>
- add snd_seq_unset_bit()
Added snd_seq_unset_bit() to alsa sequencer API
Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
- add snd_seq_client_info_event_filter_*() functions
Added snd_seq_client_info_event_filter_{clear,add,del,check} to alsa
sequencer API
Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
- use snd_seq_client_info_event_filter_*() functions
Change snd_seq_set_client_event_filter to use the new
snd_seq_client_info_event_filter_* API
Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
- mark snd_seq_client_info_{get,set}_event_filter deprecated
Mark snd_seq_client_info_{get,set}_event_filter deprecated
Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>

[edit] /Makefile.am

- hgcompile -> gitcompile

[edit] Configuration

- Add surround71 definition to NFORCE.conf
Now the board with ALC850 can work with 8-channel outputs.
- Add PCM "hdmi"
Added the new PCM "hdmi" for HDA-Intel.
It's still experimental.
- Fix for alsa-lib cross-compilation problems with ALSA_CONFIG_DIR and ALSA_PLUGIN_DIR
"./configure" options for selecting ALSA configuration (default
/usr/share/alsa) and plugin (/usr/lib/alsa-lib) directories introduced
by alsa-hg/alsa-lib changeset 2284 cause problems with cross-compilation
and packaging - there is no way to redefine them in runtime, during
installation phase.
This patch adds a level of indirection between constants and their
usage - alsaconfigdir for ALSA_CONFIG_DIR and alsaplugindir for
ALSA_PLUGIN_DIR - which can be redefined during "make install" stage.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
- Add truncate option to PCM file plugin
Addeed a new option "truncate" to indicate the behavior of creating
the output file. When it's true (the default), the file is overwritten
and truncated at creation. When false, the plugin tries to open a
unique file with a number suffix.
The global behavior of "file" and "tee" PCMs is defined via
defaults.pcm.file_truncate option. You can overwrite it in ~/.asoundrc.
- Use defaults.pcm.file_format for the default file format of file plugin
Use "defaults.pcm.file_format" for the default file format of
file plugin. It's set to "raw" as default for compatibility.
- pcsp: remove downsampling
apply softvol before plug as softvol doesn't support U8 as of now.
This also improves the sound quality.
Signed-off-by: Stas Sergeev <stsp@aknet.ru>

[edit] Documentation

- Create doxgen.cfg dynamically
The patch from bug#3799
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3799
The "doc" target in doc/Makefile.am assumes the build directory and
the source directory are the same and fails if they differ ... this is
because the doxygen.cfg contains relative paths (such as ../) that
only work when building in the source tree
The attached patch against hg replaces all relative paths with
@top_srcdir@ and changes doxygen.cfg to a generated file so that
configure replaces @top_srcdir@ with the appropriate configure-time
path.
Assuming people like being able to do `make -f Makefile.am doc` on
an unconfigured and having it work, i added a small `test&&sed`
that'll generate an appropriate default doxygen.cfg for them.

[edit] Kernel Headers

- Add surround71 definition to NFORCE.conf
Now the board with ALC850 can work with 8-channel outputs.
- Implemented snd_pcm_sw_params_(set|get)_period_event for interrupt wakeup like behaviour
Actually, PCM timer is used as source for poll(). It might be optimized
in the kernel code later.

[edit] Simple Abstraction Mixer Modules

- Fix for alsa-lib cross-compilation problems with ALSA_CONFIG_DIR and ALSA_PLUGIN_DIR
"./configure" options for selecting ALSA configuration (default
/usr/share/alsa) and plugin (/usr/lib/alsa-lib) directories introduced
by alsa-hg/alsa-lib changeset 2284 cause problems with cross-compilation
and packaging - there is no way to redefine them in runtime, during
installation phase.
This patch adds a level of indirection between constants and their
usage - alsaconfigdir for ALSA_CONFIG_DIR and alsaplugindir for
ALSA_PLUGIN_DIR - which can be redefined during "make install" stage.
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
- implemented integer volume <-> dB volume conversion functions for simple mixer

[edit] Test/Example code

- add a test code for snd_seq_client_info_event_filter_*()
Added test code for
snd_seq_client_info_event_filter_{clear,add,del,check}
Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
- Implemented snd_pcm_sw_params_(set|get)_period_event for interrupt wakeup like behaviour
Actually, PCM timer is used as source for poll(). It might be optimized
in the kernel code later.

[edit] alsa-utils

[edit] Core

- Require alsa-lib 1.0.16
Require alsa-lib 1.0.16 and remove the superfluous check in configure
script.
- Add check of ncurses*-config
The recent ncurses package provides ncurses*-config program to give the
proper cflags and libs. Let's use them if available.
Right now, the ncurses version (5) is hard-coded. It should be better
to be variable as well, but it'd be messy. Hope the ncurses version won't
change rapidly.
- hgcompile -> gitcompile
- Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Speaker Test

- speaker-test.c - fix sine generator on big-endian archs
speaker-test doesn't work well when you choose a little-endian format on a
big-endian processor, or the opposite. Yes, I know about plughw:, but for
debugging purposes it may not be an option. The following patch add proper
support for S32 and S16 support for but LE and BE processors:
- The "if (bits-per-sample)" construct was replaced by case (format).
- Support for S16_BE, S32_BE formats was added.
- S16_LE and S32_LE were made compatible with big-endian processors.
- NB: The pink noise generator wasn't changed (I'll do if this patch is OK).
From: Giuliano Pochini <pochini@shiny.it>
- speaker-test.c - fix pink noise generator on big-endian archs
This patch makes speaker-test fill the buffers with properly coded data on
both big- and little-endian processors.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>

[edit] alsamixer

- Add check of ncurses*-config
The recent ncurses package provides ncurses*-config program to give the
proper cflags and libs. Let's use them if available.
Right now, the ncurses version (5) is hard-coded. It should be better
to be variable as well, but it'd be messy. Hope the ncurses version won't
change rapidly.

[edit] aplay/arecord

- aplay/arecord - Add support for IEEE float 32-bit WAV files
This patch modifies aplay/arecord to support playing/capturing IEEE float
32-bit WAV files. Tested on HDA hardware in both stereo and multi-channel
modes. Added the WAV file constant for Dolby AC-3 S/PDIF passthrough to
formats.h for future use when AC-3 passthrough is better supported.
Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- Support for playing WAV files with "extensible format" header using aplay.
WAV files with more than 2 channels or with more than 16 bits per samples
can be saved with "extensible format" chunk
(see http://msdn2.microsoft.com/en-us/library/ms713496(VS.85).aspx).
For instance, sox, when converting data to 24- or 32-bits per sample format
uses this format, and aplay was unable to play such file. Now the problem
is solved :-)
Signed-off-by: Pawel MOLL <pawel.moll@st.com>
- aplay - Add stereo VU-meter support
Added the support of stereo VU-meter.
Enabled via -Vs option.
The new option, -V, can be used to enable the VU-meter. Now
VU-meter can be enabled even without -vv.
- aplay - Fix a compile warning
aplay.c: In function ‘compute_max_peak’:
aplay.c:1327: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘size_t’

[edit] aplaymidi/arecordmidi

- fix poll timeout
Use an infinite poll timeout to prevent unnecessary wakeups.

[edit] aseqdump

- aseqdump: increase verbosity
Include the names of parameters when printing events instead of just
showing the raw values.
- fix poll timeout
Use an infinite poll timeout to prevent unnecessary wakeups.
- aseqdump: flush output
Flush the output after all currently available events have been printed
to allow filtering interactive output through a pipe.

[edit] gitcompile

- renamed hgcompile to gitcompile

[edit] hgcompile

- renamed hgcompile to gitcompile

[edit] alsa-tools

[edit] Core

- remove .hg files and renamed hgcompile to gitcompile
- hgcompile -> gitcompile changes (include README files)
- HGCOMPILE -> GITCOMPILE
- Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] ac3dec (Dolby Digital Decoder)

- hgcompile -> gitcompile changes (include README files)

[edit] hdspmixer

- hdspmixer - Fix Digiface channel map for ADAT speed mode 1
Fixed the channel map for ADAT speed mode 1 (rate > 48000).
ALSA bug#3732
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3732

[edit] alsa-firmware

[edit] Core

- removed .hg* files and renamed hgcompile to gitcompile
- Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] AudioScience ASIHPI Firmware

- Update asihpi firmware to ver.3.09.14.
Removed dsp4100.bin that is no longer supported.

[edit] alsa-python

[edit] Core

- Release v1.0.17rc1
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

[edit] Documentation

- alsa-python: API coverage documentation tool
The following patch is a python tool that shows how much of the
asoundlib API is being covered by the alsa-python binding. It works by
parsing the C source code and comparing with the official Doxygen
documentation from alsa website.
It will help the following users:
- alsa-python developers: know how is mapped the original C API, so
which python function/variable may be used.
- python binding developers: know how much of the C API is covered. It
could help for mistakes (free() instead of using
snd_ctl_card_info_free), know what is missing, and statistic interest ;)
From: Aldrin Martoq <amartoq@dcc.uchile.cl>
- Added python coverage doc
This is the output of the alsa-python-coverage tool for the current HG
repository. It is intented to be used by the alsa-python without the
need to call the tool.
Sample usage:
-------------
$ grep ^STAT doc/COVERAGE
$ grep ^N/A doc/COVERAGE
From: Aldrin Martoq <amartoq@dcc.uchile.cl>

[edit] Test python scripts

- added ask_volume_dB and ask_dB_volume for mixer element

[edit] pyalsa.alsacard module

- unify naming, only classes and constants use upper letters now

[edit] pyalsa.alsacontrol module

- unify naming, only classes and constants use upper letters now

[edit] pyalsa.alsamixer module

- added ask_volume_dB and ask_dB_volume for mixer element

[edit] pyalsa.alsaseq module

- alsaseq - poll() must be in Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS block
Custom Search
Personal tools
Namespaces

Variants
Actions
Navigation
wiki
Toolbox