Changes v1.0.15 v1.0.16 detail
Jump to navigation
Jump to search
Detailed changelog between 1.0.15 and 1.0.16 releases
alsa-driver
Sound Core
- - Fix configure on misc x86_32 processors
- Checking of mach-* include path was missing on somc x86_32 processors.
- - add seq_file.h wrapper
- Check for linux/seq_file.h when compiling on 2.2 kernels.
- - sis7019: prevent build on old kernels
- 2.2 kernels do not have the PCI DMA mapping API used by the sis7019
- driver for the silence page, so disable this driver on earlier kernels.
- The actual requirement is 2.4, but mod-deps is too dumb for that.
- - release 1.0.16rc1
- - Added CONFIG_HAVE_INIT_UTSNAME test
- - fix init_utsname() check
- - release 1.0.15
- - Fix the check of init_utsname again
- Fixed the check of init_utsname in configure script again.
- -Werror=xxx isn't supported on the older version of gcc.
- So, we check the kernel version at first, then check further
- heavily deformed kernels.
- - Check __ffs in configure script for older kernels
- - We support 2.6.23 kernel, too
- - Add cs5535-audio to fix the build on RHES4/CentOS
- cs5535-audio is also not good guy for RHES4/CentOS.
- Add the condition up 2.6.10.
- - Fix build with 2.6.24-pre kernel
- The recent 2.6.24 merge broke the module build with the current
- configure and make stuff in alsa-driver tree.
- This is a tentative fix. Let's see whether this goes well in future,
- too.
- - release 1.0.16
- - release 1.0.16rc2
- - Fix ppc64 and sparc builds
- - Fix detection of init_utsname() in configure
- Use -Werror=implicit-function-declaration to check only undeclared
- functions. Otherwise it hits also other harmless warnings.
- - Make snd-pcsp build only on 2.6.24 or later
- Due to the header change mess, snd-pcsp won't be built on older kernels.
- - Fix configure check for unified x86 include directory
- Fixed configure check for unified x86 include directory on 2.6.24 kernel.
ALSA Core
- - Add uninitialized_var() for old kernels
- Added the definition of uninitialized_var() for old kernels.
- - info_oss: move prototype of snd_card_info_read_oss to info.h
- info_oss: move prototype of snd_card_info_read_oss to info.h
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
- - sis7019: add support to driver package
- The sis7019 driver uses __ffs(), which first became available in kernel
- 2.5.2.6. This adds that compatibility function for x86 to adriver.h,
- and adds a more useful error message for other platforms that try to use
- it.
- Signed-off-by: David Dillow <dave@thedillows.org>
- - PCM interface - rename SNDRV_PCM_TSTAMP_MMAP to SNDRV_PCM_TSTAMP_ENABLE
- Change semantics for SNDRV_PCM_TSTAMP_MMAP. Doing timestamping only in
- the interrupt handler might cause that hw_ptr is not related to actual
- timestamp. With this change, grab timestamp at every hw_ptr update to
- have always valid timestamp + ring buffer position pair.
- With this change, SNDRV_PCM_TSTAMP_MMAP was renamed to
- SNDRV_PCM_TSTAMP_ENABLE. It's no regression (I think).
- - Introduce slots option to snd module
- Introduced the global "slots" option to snd module. This option provides
- an alternative way to handle the order of multiple sound card instances.
- It's an easier approach to avoid conflict with hotplug devices, and can
- be used together with the existing "order" option of each card driver.
- - PCM - added back TSTAMP ioctl for PCM (for old alsa-lib binaries)
- - add uintptr_t
- Add a uintptr_t definition for old, obsolete kernels like 2.6.23.
- - add do_posix_clock_monotonic_gettime wrapper
- Add a wrapper for do_posix_clock_monotonic_gettime() for pre-2.6 kernels.
- - remove prefetch from 2.2.x list_for_each_entry() wrapper
- Remove the prefetching of pos->member.next in the 2.2.x wrapper of
- list_for_each_entry() because it would get optimized away and just
- causes the compiler to whine.
- - Added CONFIG_HAVE_INIT_UTSNAME test
- - Fix build with 2.4 kernel
- pci_save_state() should return int, as used in cs5535audio_pm.c.
- From: marcus hall <marcus@tuells.org>
- - sound: remove dead config symbol from sound code
- remove dead config symbols from sound code
- Signed-off-by: Jiri Olsa <olsajiri@gmail.com>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- - Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
- - fix compilation warning in GCC
- 'snd_shutdown_f_ops' is not a pointer so its address will never be NULL.
- GCC will complain because 'fops_get' will do an unnecessary check because
- '&snd_shutdown_f_ops' is always true.
- Signed-off-by: Miguel Boton <mboton@gmail.com>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- - Use posix clock monotonic for PCM and timer timestamps
- We need an accurate and continuous (monotonic) time sources to do
- accurate synchronization among more timing sources. This patch allows
- to enable monotonic timestamps for ALSA PCM devices and enables monotonic
- timestamps for ALSA timer devices.
- - Check __ffs in configure script for older kernels
- - Update SNDRV_HWDEP_IFACE_LAST
- Updated the forgotten SNDRV_HWDEP_IFACE_LAST to point the really last member.
- - Define uninitialized_var() for older 2.6.x kernels
- I didn't know that older 2.6.x kernels also don't have
- uninitialized_var() macro...
- - Remove indirect control access
- This patch removes the indirect control access to the control elements.
- The indirect access has never been used and is even broken on 32bit
- ioctl wrapper. Let's clean it up.
- The pointers still remain in snd_ctl_elem_* structs just to make sure
- that the struct size won't change. Once after checking the size
- consistency, we can get rid of them, too.
- - Remove PCM xfer_align sw params
- The xfer_align sw_params parameter has never been used in a sane manner,
- and no one understands what this does exactly. The current
- implementation looks also buggy because it allows write of shorter size
- than xfer_align. So, if you do partial writes, the write isn't actually
- aligned at all.
- Removing this parameter will make some pcm_lib_* code more readable
- (and less buggy).
- - Add manual inclusion of adriver.h
- Since sound/driver.h is removed from alsa-kernel tree, we need to include
- adriver.h manually in the alsa-driver build stubs.
- - fix CONFIG_HAVE_INIT_UTSNAME check
- Reverse the polarity of the CONFIG_HAVE_INIT_UTSNAME check.
- - fix inclusion of adriver.h
- Add or move the inclusion of "adriver.h" to the proper places in some
- build stubs.
- - Define a dummy do_posix_clock_monotonic_gettime for early 2.6 kernels
- This function isn't exported on early 2.6 kernels before 2.6.16.
- - Fix build of usb-caiaq driver with older kernels
- - Define BIT_* macros for 2.6.23 or older kernels
- Define compatible BIT_* macros for 2.6.23 or older kernels.
SoC PXA2xx Core
- - [ARM] 4690/1: PXA: fix CKEN corruption in PXA27x AC97 cold reset code
- Fix CKEN register corruption in the PXA27x cold reset code
- located in sound/arm/pxa27x-ac97.c. The problem has been
- introduced with a pxa_set_cken() function change in linux 2.6.23.
- This patch is based on patch 4527/1 that fixes the same problem in
- the ASoC PXA-AC97 driver. Additionally a definition for the CKEN
- index value is added and applied to both PXA AC97 drivers.
- Signed-off-by: Michael Brunner <mibru@gmx.de>
- Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- - soc - Preliminary ac97 drivers for Toshiba e800 PDAs
- Currently only the AUX channel is used (touchscreen)
- Signed-off-by: Ian Molton <spyro@f2s.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Control Midlevel
- - copy_ctl_value_from_user() warning fix
- sound/core/control_compat.c: In function 'copy_ctl_value_from_user':
- sound/core/control_compat.c:222: warning: 'count' may be used uninitialized in this function
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- - Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
- - sound/core/control.c: hard-irq-safe -> hard-irq-unsafe lock warning
- The lock grabbed in snd_ctl_empty_read_queue() is hardirq-unsafe but we hold
- an hardirq-safe one already, so make the &ctl->read_lock also hard-irq-safe.
- Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
- - Remove indirect control access
- This patch removes the indirect control access to the control elements.
- The indirect access has never been used and is even broken on 32bit
- ioctl wrapper. Let's clean it up.
- The pointers still remain in snd_ctl_elem_* structs just to make sure
- that the struct size won't change. Once after checking the size
- consistency, we can get rid of them, too.
- - Add manual inclusion of adriver.h
- Since sound/driver.h is removed from alsa-kernel tree, we need to include
- adriver.h manually in the alsa-driver build stubs.
HWDEP Midlevel
- - Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
- - Add manual inclusion of adriver.h
- Since sound/driver.h is removed from alsa-kernel tree, we need to include
- adriver.h manually in the alsa-driver build stubs.
PCM Midlevel
- - Fix old tstamp ioctl for compat_ioctl
- Replaced the old SNDRV_PCM_IOCTL_TSTAMP with the new one in
- PCM compat_ioctl.
- - pcm_native: fix sparse warning about shadowing 'state' symbol
- pcm_native: fix sparse warning about shadowing 'state' symbol
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
- - pcm_lib: fix sparse warning about shadowing 'n' symbol
- pcm_lib: fix sparse warning about shadowing 'n' symbol
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
- - pcm_lib: fix sparse warning about different signedness
- pcm_lib: fix sparse warning about different signedness
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
- - PCM interface - rename SNDRV_PCM_TSTAMP_MMAP to SNDRV_PCM_TSTAMP_ENABLE
- Change semantics for SNDRV_PCM_TSTAMP_MMAP. Doing timestamping only in
- the interrupt handler might cause that hw_ptr is not related to actual
- timestamp. With this change, grab timestamp at every hw_ptr update to
- have always valid timestamp + ring buffer position pair.
- With this change, SNDRV_PCM_TSTAMP_MMAP was renamed to
- SNDRV_PCM_TSTAMP_ENABLE. It's no regression (I think).
- - Fix PCM MMAP time-stamp mode
- When MMAP time-stamp mode is given, it's supposed to update the time-stamp
- only at period boundary. However, it currently updates at each status call
- so this is just useless. The patch fixes this misbehavior.
- Also it fixes the wrong check of tstamp_mode (don't use bit-and for enum).
- - PCM - added back TSTAMP ioctl for PCM (for old alsa-lib binaries)
- - Add SNDRV_PCM_IOCTL_TSTAMP back to compat ioctl
- The replaced one should be re-added for older alsa-lib.
- - Use posix clock monotonic for PCM and timer timestamps
- We need an accurate and continuous (monotonic) time sources to do
- accurate synchronization among more timing sources. This patch allows
- to enable monotonic timestamps for ALSA PCM devices and enables monotonic
- timestamps for ALSA timer devices.
- - PCM - fixed SNDRV_PCM_FORMAT_U24_BE silence constant
- Reported by Timur Tabi <timur@freescale.com> .
- - alsa: nopage
- Convert ALSA from nopage to fault.
- Switch from OOM to SIGBUS if the resource is not available.
- Signed-off-by: Nick Piggin <npiggin@suse.de>
- - Fix patches for fault vms ops
- Regenerated patches for handling nopage ops with older kernels.
- - PCM core - remove SNDRV_PCM_TSTAMP_MMAP condition in snd_pcm_status()
- The condition caused that the returned ring buffer position does not match
- with timestamp when SNDRV_PCM_TSTAMP_MMAP mode was enabled. Removing
- condition makes unified behaviour and interrupt based timestamp can be
- accessed via PCM_IOCTL_SYNC_PTR or mmaped status area.
- - Fix PCM write blocking
- The snd_pcm_lib_write1() may block in some weird condition:
- - the stream isn't started
- - avail_min is big (e.g. period size)
- - partial write up to buffer_size - avail_min
- The patch fixes this invalid blocking problem.
- - Remove PCM xfer_align sw params
- The xfer_align sw_params parameter has never been used in a sane manner,
- and no one understands what this does exactly. The current
- implementation looks also buggy because it allows write of shorter size
- than xfer_align. So, if you do partial writes, the write isn't actually
- aligned at all.
- Removing this parameter will make some pcm_lib_* code more readable
- (and less buggy).
- - PCM - clean up snd_pcm_lib_read/write
- Introduce a common helper function for snd_pcm_lib_read and snd_pcm_lib_write
- for cleaning up the code.
- - Remove PCM sleep_min and tick
- The "tick" in PCM is set (again) via sw_params. And, nobody uses
- this feature at all except for a command line option of aplay.
- (This is literally "nobody", as I checked alsa-lib API calls in all
- programs in major distros.)
- Above all, if we need finer wake-ups for the position update, it's
- basically an issue that the driver should solve, not tuned by each
- application.
RawMidi Midlevel
- - rawmidi: let sparse know what is going on _for real_
- snd_rawmidi_kernel_read1/write1 weren't annotated but used
- copy_to_user/copy_from_user when one of parameters (kernel) was equal to 0
- remove it and add properly annotated parameter
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
Timer Midlevel
- - Use posix clock monotonic for PCM and timer timestamps
- We need an accurate and continuous (monotonic) time sources to do
- accurate synchronization among more timing sources. This patch allows
- to enable monotonic timestamps for ALSA PCM devices and enables monotonic
- timestamps for ALSA timer devices.
/soc/Makefile
- - Add ASoC drivers for the Freescale MPC8610 SoC
- Add the ASoC drivers for the Freescale MPC8610 SoC and the MPC8610 HPCD
- reference board.
- Signed-off-by: Timur Tabi <timur@freescale.com>
/soc/codecs/Makefile
- - ASoC TLV320AIC3X codec driver
- This patch adds ALSA SoC support for TI TLV320AIC3X audio codecs.
- The features that are supported:
- o Capture/Playback/Bypass.
- o 16/20/24/32 bit audio.
- o 8k - 96k sample rates.
- o codec master only mode
- o DAPM.
- Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
/soc/pxa/Makefile
- - soc - Preliminary ac97 drivers for Toshiba e800 PDAs
- Currently only the AUX channel is used (touchscreen)
- Signed-off-by: Ian Molton <spyro@f2s.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
:"ARM/OMAP driver
- - Add ALSA-related files from 2.6.24 git tree
- Added ALSA-related kernel files to HG tree.
AC97 Codec
- - ac97_patch: compilation warning fix
- This patch kills these two compilation warnings if
- power management is disabled:
- sound/pci/ac97/ac97_patch.h:86: warning: 'snd_ac97_restore_status'
- declared 'static' but never defined
- sound/pci/ac97/ac97_patch.h:87: warning: 'snd_ac97_restore_iec958'
- declared 'static' but never defined
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- - pci - check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in the rest of
- PCI drivers.
- - Remove obsolete patches
- Remove obsolete patches that still remain in the tree.
AD1816A driver
- - sound/isa: kill pnp_resource_change
- This removes the pnp_resource_change use from the ALSA ISAPnP drivers. In
- 2.4 these were useful in providing an easy path to setting the resources,
- but in 2.6 they retain function as a layering violation only.
- This makes for a nice cleanup (-550 lines) of ALSA but moreover, ALSA is the
- only remaining user of pnp_init_resource_table(), pnp_resource_change() and
- pnp_manual_config_dev() (and, in fact, of "struct pnp_resource_table") in
- the tree outide of drivers/pnp itself meaning it makes for more cleanup
- potential inside the PnP layer.
- Thomas Renninger acked their removal from that side, you did from the ALSA
- side (CC list just copied from that thread).
- Against current alsa-kernel HG. Many more potential cleanups in there, but
- this _only_ removes the pnp_resource_change code. Compile tested against
- current alsa-kernel HG and compile- and use-tested against 2.6.23.x (few
- offsets).
- Signed-off-by: Rene Herman <rene.herman@gmail.com>
- Cc: Thomas Renninger <trenn@suse.de>
AD1848 driver
- - include/sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
- - This patch removes open_mutex from the ad1848-lib as
- open and close operations are called only from pcm layer
- and mutexed there with pcm->open_mutex.
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- - ad1848 - Fix print format
- Fixed the print format for debug message.
- Spotted by Matthew Wilcox.
AD1889 driver
- - sound: fix ad1889 section mismatch
- Fix section mismatch in ad1889 by renaming the pci_driver variable to a
- whitelisted variable name.
- WARNING: vmlinux.o(.data+0x2e5ff0): Section mismatch: reference to .init.text:snd_ad1889_probe (between 'ad1889_pci' and 'index')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
AK4XXX AD/DA converters
- - switching rate in STAC9460 codec of Prodigy192
- * support for switching rate in STAC9460 - using set_rate_val of the akm
- infrastructure
- * listing all STAC9460 registers in proc
- * disabling mpu401 device for Prodigy192 - otherwise the currently
- flawed mpu401 code hangs kernel when opening the midi device
- * removing old unused commented-out code
- Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- - ak4xxx - Check value ranges in ctl callbacks
- Check the value ranges in ctl put callbacks properly in ak4xxx-adda driver.
ALS100 driver
- - sound/isa: kill pnp_resource_change
- This removes the pnp_resource_change use from the ALSA ISAPnP drivers. In
- 2.4 these were useful in providing an easy path to setting the resources,
- but in 2.6 they retain function as a layering violation only.
- This makes for a nice cleanup (-550 lines) of ALSA but moreover, ALSA is the
- only remaining user of pnp_init_resource_table(), pnp_resource_change() and
- pnp_manual_config_dev() (and, in fact, of "struct pnp_resource_table") in
- the tree outide of drivers/pnp itself meaning it makes for more cleanup
- potential inside the PnP layer.
- Thomas Renninger acked their removal from that side, you did from the ALSA
- side (CC list just copied from that thread).
- Against current alsa-kernel HG. Many more potential cleanups in there, but
- this _only_ removes the pnp_resource_change code. Compile tested against
- current alsa-kernel HG and compile- and use-tested against 2.6.23.x (few
- offsets).
- Signed-off-by: Rene Herman <rene.herman@gmail.com>
- Cc: Thomas Renninger <trenn@suse.de>
ALSA sequencer
- - sound/core/seq: move declarations of globally visible variables to proper headers
- sound/core/seq: move declarations of globally visible variables to proper headers
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
- - remove seq_instr.c
- Remove seq_instr.c from the Makefile for old kernels.
- - fix inclusion of adriver.h
- Add or move the inclusion of "adriver.h" to the proper places in some
- build stubs.
- - Remove sequencer instrument layer
- Remove sequencer instrument layer from the tree.
- This mechanism hasn't been used much with the actual devices. The only
- reasonable user was OPL3 loader, and now it was rewritten to use hwdep
- instead. So, let's remove the rest of rotten codes.
- - Remove sequencer instrument layer
- Remove the alsa-driver build stub for sequencer instrument layer.
- - Salvage old seq instrument layer codes
- Salvate old sequencer instrument layer codes to "old" directory,
- just for good and old memories.
- - Fix misspellings of "system", "controller", "interrupt" and "necessary".
- Fix the various misspellings of "system", controller", "interrupt" and
- "[un]necessary".
- Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
ALSA<-OSS emulation
- - Add more fallbacks to OSS PHONEOUT mixer map
- Added more fallbacks to OSS PHONEOUT mixer mapping. This corresponds
- to the speaker output in general, so now "Mono" and "Speaker" are
- assigned.
- - Fix Oops with PCM OSS sync
- The PCM OSS emulation can cause Oops at sync operation due to the wrong
- data size calculation. Typically happening on Sparc64:
- http://lkml.org/lkml/2008/1/24/426
- - snd_mixer_oss_build_input(): fix for __you_cannot_kmalloc_that_much failure with gcc-3.2
- Rework this functions so that gcc-3.2 can successfully perform
- constant-folding.
- Signed-off-by: Jean Delvare <khali@linux-fr.org>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- - Remove PCM xfer_align sw params
- The xfer_align sw_params parameter has never been used in a sane manner,
- and no one understands what this does exactly. The current
- implementation looks also buggy because it allows write of shorter size
- than xfer_align. So, if you do partial writes, the write isn't actually
- aligned at all.
- Removing this parameter will make some pcm_lib_* code more readable
- (and less buggy).
- - Remove PCM sleep_min and tick
- The "tick" in PCM is set (again) via sw_params. And, nobody uses
- this feature at all except for a command line option of aplay.
- (This is literally "nobody", as I checked alsa-lib API calls in all
- programs in major distros.)
- Above all, if we need finer wake-ups for the position update, it's
- basically an issue that the driver should solve, not tuned by each
- application.
ARM AACI PL041 driver
- - Remove sound/driver.h
- This header file exists only for some hacks to adapt alsa-driver
- tree. It's useless for building in the kernel. Let's move a few
- lines in it to sound/core.h and remove it.
- With this patch, sound/driver.h isn't removed but has just a single
- compile warning to include it. This should be really killed in
- future.
- - Add missing newlines to some uses of dev_<level> messages
- Found these while looking at printk uses.
- Add missing newlines to dev_<level> uses
- Add missing KERN_<level> prefixes to multiline dev_<level>s
- Fixed a wierd->weird spelling typo
- Added a newline to a printk
- Signed-off-by: Joe Perches <joe@perches.com>
ARM PXA2XX driver
- - Add missing device link
- Added the missing link to struct device from the card instance.
- - [ARM] 4690/1: PXA: fix CKEN corruption in PXA27x AC97 cold reset code
- Fix CKEN register corruption in the PXA27x cold reset code
- located in sound/arm/pxa27x-ac97.c. The problem has been
- introduced with a pxa_set_cken() function change in linux 2.6.23.
- This patch is based on patch 4527/1 that fixes the same problem in
- the ASoC PXA-AC97 driver. Additionally a definition for the CKEN
- index value is added and applied to both PXA AC97 drivers.
- Signed-off-by: Michael Brunner <mibru@gmx.de>
- Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ATIIXP driver
- - sound: fix atiixp section mismatch
- Fix section mismatch in atiixp by making some functions __devinit.
- WARNING: vmlinux.o(.text+0xfd9304): Section mismatch: reference to .init.data:atiixp_quirks (between 'ac97_probing_bugs' and 'snd_atiixp_codec_detect')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
AZT2320 driver
- - sound/isa: kill pnp_resource_change
- This removes the pnp_resource_change use from the ALSA ISAPnP drivers. In
- 2.4 these were useful in providing an easy path to setting the resources,
- but in 2.6 they retain function as a layering violation only.
- This makes for a nice cleanup (-550 lines) of ALSA but moreover, ALSA is the
- only remaining user of pnp_init_resource_table(), pnp_resource_change() and
- pnp_manual_config_dev() (and, in fact, of "struct pnp_resource_table") in
- the tree outide of drivers/pnp itself meaning it makes for more cleanup
- potential inside the PnP layer.
- Thomas Renninger acked their removal from that side, you did from the ALSA
- side (CC list just copied from that thread).
- Against current alsa-kernel HG. Many more potential cleanups in there, but
- this _only_ removes the pnp_resource_change code. Compile tested against
- current alsa-kernel HG and compile- and use-tested against 2.6.23.x (few
- offsets).
- Signed-off-by: Rene Herman <rene.herman@gmail.com>
- Cc: Thomas Renninger <trenn@suse.de>
Apple Onboard Audio driver
- - add number of periods constraint to snd-aoa
- The aoa driver is not specifying constraints on number of periods, and, it
- seems, it might end with a non-integer number, which it cannot deal with.
- Fix by adding a proper constraint.
- Signed-off-by: Heikki Lindholm <holindho@cs.helsinki.fi>
- - aoa - fix compile warning
- Set a proper error code in the error path of i2sbus_attach_codec().
- - aoa - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in aoa drivers.
- - Remove sound/driver.h
- This header file exists only for some hacks to adapt alsa-driver
- tree. It's useless for building in the kernel. Let's move a few
- lines in it to sound/core.h and remove it.
- With this patch, sound/driver.h isn't removed but has just a single
- compile warning to include it. This should be really killed in
- future.
Asihpi driver
- - asihpi - big updates
- * Merged all files relating to HPI4000 into hpi4000.[ch] (remove
- hpi56301.[ch], boot4ka.h, dpi56301.h
- * Removed hpicheck.h
- * add hpimsginit.[ch] (no new functions)
- Cosmetic changes
- * Code is mostly 'checkpatch clean', though still some real work to do
- around our use of volatile for structures that are updated by DMA by our
- adapters
- * Only 2 'sparse' warnings
- * Got rid of nearly all typedefs, and most thin wrappers around kernel
- functions.
- * hpifunc.c now has no comments. They might return when we get around
- to grinding them all down to 80 columns...
- - asihpi - Remove hpi_data_compat32
- Remove hpi_data_compat32 including undefined data type that prevents
- build with 64bit arch.
- - asihpi checkpatch clean plus control name refactor
- checkpatch.pl --no-tree now reports no errors on asihpi.c
- Redo control names to be strings only (not using control index)
- Signed-off-by: Eliot Blennerhassett <linux@audioscience.com>
- - asihpi version 3.09.09
- Main changes in this set:
- * Redo comment formatting so block comments are properly indented with code
- (bulk of changes)
- hpifunc.c:
- * Remove HPI_UNUSED macro from hpifunc
- * Remove error->string translation, hence strcpy
- hpios_linux_kernel.*
- * Remove use of slab cache for DMA memory allocation tracking
- hpicmn.*:
- * Rename some functions to give Hpi prefix, made others static
- hpimod.c
- * Replace semaphore with mutex
- * Make driver cleanup more 'normal'
- hpi6205.c hpi6000.c hpimsgx.c
- * Pull some error handling up into hpimsgx.c
- Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Atmel AT73C213 DAC driver
- - at73c213: replace spinlock in mixer functions with a mutex
- This patch fixes the locking bug in the at73c213 SPI sound driver. This bug was
- triggered because spinlocks were wrapped around the spi_sync call which might
- sleep. The fix was to add a mutex to the sound driver and replace the spinlocks
- in the mixer functions with mutex lock/unlock.
- Tested on STK1000/STK1002.
- Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
- - at73c213 - Use common callback
- Use snd_ctl_boolean_mono_info callback to simplify.
BT87x driver
- - snd-bt87x: Make the load_all option work correctly
- If the load_all option was turned on all cards would be treated as unknown,
- even those which are in the database. Of course, if the card is in the
- database there is no reason to use the load_all option. It's there to force
- loading when the card isn't in the database. But there are out of date wikis
- that say to do this and some distros might turn this option on by default.
- So, we keep the load_all option from turning known cards into unknown cards.
- Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- - Regenerate bt87x.patch
- Regenerated for the last change from pci_mach_device() to pci_match_id().
- - bt87x - Fix section mismatch
- const and __devinit aren't a good pair, resulting in a section
- mismatch error. Let's remove const as a temporary solution.
CA0106 driver
- - ca0106 - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly.
- Some callbacks may access a wrong pointer depending on the value passed.
- Also, fixed the access to the wrong field for enum values, and fixed
- some callbacks to return the proper error code.
- - sound/pci: remove line duplications in defines
- Remove line duplications in defines.
- Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
- Acked-by: Thomas Sailer <sailer@ife.ee.ethz.ch>
- - ca0106 - Fix write proc assignment
- The driver assigns the write proc callback to read wrongly.
- Fixed now.
CMI8788 (Oxygen) driver
- - oxygen - Fix section mismatch
- Removed invalid __devinit and __devexit that are remaining after
- split to a helper module.
- - oxygen: use uintptr_t in pointer casts
- When we store the DMA channel number in the substream's private_data
- pointer, use uintptr_t as an intermediate step when casting from/to
- unsigned int to prevent the compiler from whining when the pointer size
- is different.
- - oxygen: add register definitions
- Add more symbols for registers and register fields.
- - oxygen: fix playback routing
- The default playback routing must be 0xe4, not 0xe1; the front and
- surround DACs were exchanged.
- - oxygen: make the number of analog output configurable
- Add a field to struct oxygen_model to allow model drivers for cards with
- less than eight output channels.
- - oxygen: more initialization
- Initialize more registers of the controller and the second AC97 codec.
- - add TempoTec HiFier driver
- Add a driver for the MediaTek/TempoTec HiFier Fantasia sound card.
- - oxygen: add channel status controls
- Add mixer controls to manage the S/PDIF channel status bits.
- - oxygen: add SPDIF input channel status control
- Add a mixer control to read the channel status bits of the SPDIF input.
- - oxygen: fix channel routing
- Do not exchange the surround and back jacks except when in 7.1 mode
- where the surround jack is not rear but side.
- - oxygen: use an array of snd_kcontrol pointers
- Use an array for the pointers to known controls so that it is easier to
- add more.
- - oxygen: make line-in switch exclusive
- The line input cannot be mixed with the other inputs, so we have to mute
- the other input switches when it is selected.
- - oxygen: remove magic numbers
- Replace some magic numbers with register symbols.
- - oxygen: fix pause handling
- Use the DMA_PAUSE register for pausing instead of stopping DMA.
- - oxygen: remove MIDI autodetection
- The MIDI bit in the MISC register is set by default and cannot be used
- to detect the presence of a MIDI port. Instead, add a parameter to the
- oxygen_pci_probe() function so that model drivers can specify this.
- - oxygen: add more symbols
- Add symbol definitions for the various codecs and GPIO pins.
- - oxygen: allow more sample rates with WM8785
- Allow to record with 32 kHz, 64 kHz, 88.2 kHz and 176.4 kHz with cards
- that have a WM8785 ADC.
- - oxygen: reduce SPI clock frequency for AK4396/WM8785
- According to the datasheets, the SPI clock cycle must be at least 200 ns
- for the AK4396 and the WM8785, so we cannot use the default 160 ns.
- - oxygen: move model-specific data out of common header
- Instead of having model-specific fields in the common struct oxygen, put
- them into a private structure that is allocated together with the card
- structure.
- - oxygen: fix control filter
- Actually use the template that was maybe changed by the control filter
- instead of the original one.
- - oxygen: fix DAC source register fields
- Fix some wrong values for the definitions of the source masks for DACS 1
- and 3.
- - oxygen: add 192 kHz SPDIF input support
- Change the oxygen_spdif_input_bits_changed() function so that clock
- changes on the SPDIF input are correctly detected. This means that
- sample rates greater than 96 kHz are now supported.
- - oxygen: optimize snd_pcm_hardware structures
- Add one more indirection to the lookup of the snd_pcm_hardware
- structures so that we can save the space of the duplicate ones.
- - oxygen: fix AK4396 double rate upper limit
- Fix the upper sample rate limit for the double rate mode of the AK4396
- to the value from the datasheet.
- - oxygen: make line-in exclusive only on Xonar
- Move the line input switching code to the Virtuoso driver because only
- the Xonar cards bypass the analog mixer for line input.
- - oxygen: use AC97 interrupt
- After an AC97 register read or write, use the AC97 interrupt instead of
- polling to wait for the access to be completed.
- - oxygen: add front panel controls
- Add mixer controls for the front panel AC97 codec.
- - oxygen: add front panel capture
- When a second AC97 codec is present, add a PCM device for capturing from
- the front panel.
- - virtuoso: monitor external power on D2X
- On the Xonar D2X, monitor the GPIO pin that indicates whether external
- power is present.
- - virtuoso: fix build on 2.2 kernels
- - cmi8788: driver rewrite
- complete rewrite; still incomplete
- - oxygen: show AC97 registers in proc file
- Add the registers of the first AC97 codec to the cmi8788 proc file.
- - oxygen: better AC97 initialization
- Reset the AC97 codec before initialization, power down any unused parts
- of the codec, and make the AC97 reads and writes more robust.
- - oxygen: remove CH_CODEC macro
- Remove the CH_CODEC macro because this mapping can be done just as well
- in the codec_map array.
- - oxygen: add AC97 controls
- Add AC97 controls to manage routing and gain of the analog inputs.
- - oxygen: fix digital output
- Actually enable the SPDIF transmitter when using it, and set the channel
- status bit according to the used sampling rate.
- - oxygen: 32-byte alignment
- Force periods and buffers to be 32-byte aligned, otherwise the interrupt
- timing gets jittery.
- - oxygen: use common hw_params function
- Factor out the common code of the hw_params callbacks.
- - oxygen - Add missing inclusion of linux/delay.h
- - virtuoso: add ALT mixer control
- Add a mixer switch to enable analog loopback.
- - oxygen: move to kernel tree
- Move the oxygen and virtuoso drivers to the kernel tree.
- - add CMI8788 driver
- Add the snd-oxygen driver for the C-Media CMI8788 (Oxygen) chip, used on
- the Asound A-8788, AuzenTech X-Meridian, Bgears b-Enspirer,
- Club3D Theatron DTS, HT-Omega Claro, Razer Barracuda AC-1,
- Sondigo Inferno, and TempoTec HIFIER sound cards.
- - add Asus Xonar driver
- Add the snd-virtuoso driver for the Asus Virtuoso 200 chip used on the
- PCI and PCI-E models of the Xonar sound card.
- - oxygen: make the I2S format configurable
- Add proper register bit symbols for the I2S format field, and allow card
- models to configure the I2S format to be used for the DACs and ADCs.
- - oxygen: fix SPDIF input rates
- Fix up SPDIF input sample rates again: 32 kHz and 64 kHz are not
- supported.
- - oxygen: remove MIDI for generic cards
- None of the reference design models have MIDI, only the X-Meridian
- allows to connect a MIDI adapter.
- - oxygen: rename OXYGEN_PCI_ID macro
- Rename the OXYGEN_PCI_ID macro to OXYGEN_PCI_SUBID.
- - oxygen: initialize WM8785
- Initialize the WM8785 chip, and move the initialization code for it and
- for the AK5385 into separate functions.
- - oxygen: fix AK4396 initialization
- Reverse the polarity of the AK4396's RSTN bit; it must be set to power
- up the chip.
- - oxygen: rename model_data
- Rename the model_data field to ak4396_reg1 because it isn't used for
- anything else.
- - oxygen: reset AK4396 while setting format
- Reset the AK4396 chips while setting parameters; the datasheet says
- reset is needed whem the master clock changes.
- - oxygen: initialize AC97 registers
- Initialize the registers of the first AC97 codec so that recording may
- work.
- - oxygen: fix compilation with older kernels
- Fixes for the build system, header files and compilers for older kernels.
- - oxygen: fix digital rate when playing through the analog device
- When the data from the analog playback channel is copied to the digital
- output, adjust the rate of the digital output, too.
- - oxygen: fix line-in recording selection
- The GPIO pin 0 of the CM9780 must be set when muting the line input even
- on non-Xonar cards.
- - oxygen: rename PCM to Master
- Rename the "PCM Playback Volume"/"Switch" mixer controls to "Master".
- - oxygen: add SPDIF loopback control
- Add a mixer control for the SPDIF loopback function.
- - oxygen: note active streams
- Add a variable to save the streams that are currently opened.
- - oxygen: add a mutex
- Add a mutex to protect accesses to mixer registers.
- - oxygen: add more capture rates
- For cards with AK5385 and CS5381 DACs, enabled all supported sample
- rates.
- - oxygen: initialize AK5385 DFS pins
- When initializing, set the DFS pins to normal mode.
- - oxygen: init AC97 interrupt mask
- When initializing, clear the AC97 interrupt mask register because we
- never use this interrupt.
- - oxygen: fix S/PDIF capture rates
- It seems the only sample rates supported by the digital input port are
- 44.1, 48, 88.2 and 96 kHz.
- - oxygen: add S/PDIF playback switch
- Add a mixer control to enable playback of the front channel data on the
- digital port.
- - oxygen: make AC97 codec optional
- Only initialize and create mixer controls for the first AC97 codec when
- one has actually been detected.
- - oxygen: make SPI configuration configurable
- Add a field to the model structure so that it is possible to have a card
- where the SPI outputs 4 and 5 are used for an EEPROM.
- - oxygen: make all DMA channels configurable
- Allow the card models to specify whether each of the hardware DMA
- channels is used.
- - oxygen: add control filter to model struct
- Allow the models to modify mixer controls before they are added to the
- card.
- - oxygen: make PCM limits configurable
- Add a callback to the model structure to allow modification of the
- hardware PCM limits.
- - oxygen: revert SPI clock frequency change for AK4396/WM8785
- While the AK4396 and WM8785 datasheets say that the SPI clock cycle
- length must be at least 200 ns, 320 ns seems not to work reliably with
- the controller, so we better use 160 ns.
CMI8788 driver
- - cmi8788: driver rewrite
- complete rewrite; still incomplete
- - cmi8788 - Comment out superfluous struct fields
- struct semaphore is very old and we don't use them really.
- Let's fix and comment out until implemented.
CMIPCI driver
- - cmipci: disable "Modem" control on version 39 or newer chips
- On version 39 or newer chips, we better remove the "Modem" control
- because this register bit now mutes the front channels of the
- multichannel stream.
- - cmipci: document "Modem" control version check
- Add a comment that explains why the "Modem" control doesn't work with
- newer chips.
- - cmipci: fix FLINKON/OFF bits
- Fix the definitions of the CM_FLINKON/CM_FLINKOFF register bits that
- were garbled in the last "update register definitions" patch.
- - cmipci - utilize ADC48K44K bit
- Setting the ADC48K44K greatly improves capture quality at 48k sampling rate.
- With this bit clear ADC does ZOH interpolation of every 22th sample at 48k.
- At frequencies higher than 48k there ADC performs a little better with
- ADC48K44K bit set.
- At 44.1k ADC performs a little better with this bit clear.
- At frequencies below 44.1k there is no difference.
- Signed-off-by: Timofei Bondarenko <tim@ipi.ac.ru>
- - cmipci - allow capture of raw spdif subframes
- Enable capturing of raw 32bit IEC958_SUBFRAME.
- The 24-bits PCM data can be obtained using iec958 plugin.
- Known problem: captured stream may begin with either left or right
- subframe. Since the iec958 plugin doesn't decode preamble it may swap
- the channels sometime.
- Signed-off-by: Timofei Bondarenko <tim@ipi.ac.ru>
- - cmipci at 96kHz
- This patch adds support for 88.2k, 96k, and 128k samplerates
- on cmi8738-55 chip.
- Analog playback works fine on all channels.
- Analog capture works well too, though the extra samples seems
- interpolated by hardware.
- spdif playback and capture works fine.
- Signed-off-by: Timofei Bondarenko <tim@ipi.ac.ru>
CREDITS file
- - 2.6 kernel sync
CS4231 driver
- - cs4231: remove one busy wait
- This busy_wait is not needed after latest changes
- to the cs4231-lib
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- - include/sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
CS46xx driver
- - sound: remove dead config symbol from sound code
- remove dead config symbols from sound code
- Signed-off-by: Jiri Olsa <olsajiri@gmail.com>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- - sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
CS5535 driver
- - cs5535audio - Fix available sample rates
- The available sample rates on CS5535 depend on AC97 codec chip.
- Set the additional hw params limit.
- - fix cs5535 section mismatch
- snd_cs5535audio_mixer() is only called by __devinit snd_cs5535audio_probe(),
- so the mixer function can also be __devinit.
- WARNING: vmlinux.o(.text+0xfdbba0): Section mismatch: reference to .init.data:ac97_quirks (between 'snd_cs5535audio_mixer' and 'process_bm0_irq')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
CX88 driver
- - V4L/DVB (6185): cx88-alsa: Add mute controls, change control names
- Add two mute controls. One mutes everything, the other just mutes the analog
- pass-through output.
- Rename the existing volume control. The controls are now:
- Playback Volume
- Playback Switch
- Capture Switch
- These names might seem odd, but I believe they are more correct. The previous
- "Capture Volume" control didn't actually effect the volume of the captured
- audio. Instead it controls the volume of the analog pass-thought output. It
- appears that pass-through controls like this are usually considered to be in
- the playback direction, not capture. For example, "CAPTURE feedback Playback
- Volume" is the name used for a control that appears to have the same effect in
- the ca0106 driver. We only have one volume control, so we can omit the
- "CAPTURE feedback" part.
- If someone where to add PCM playback support to the driver, then this
- would be the volume control.
- Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- - V4L/DVB (6187): cx88-alsa: Add TLV support
- Lets mixer apps display a dB range for the volume control.
- Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- - V4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_
- s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g
- s/STATE_PREPARED/VIDEOBUF_PREPARED/g
- s/STATE_QUEUED/VIDEOBUF_QUEUED/g
- s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g
- s/STATE_DONE/VIDEOBUF_DONE/g
- s/STATE_ERROR/VIDEOBUF_ERROR/g
- s/STATE_IDLE/VIDEOBUF_IDLE/g
- Signed-off-by: Brandon Philips <bphilips@suse.de>
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Digigram PCXHR driver
- - pci - check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in the rest of
- PCI drivers.
Digigram VX Pocket driver
- - vxpocket - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks in vxpocket driver.
Digigram VX core
- - vxpocket - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks in vxpocket driver.
Documentation
- - hda-codec - Add Conexant 5051 codec support
- Added the support for Conexant 5051 audio codec.
- Right now there are two preset models, laptop and hp.
- The whole patch is based on the information from the base patch by
- Linuxant.
- - sound/isa: kill pnp_resource_change
- This removes the pnp_resource_change use from the ALSA ISAPnP drivers. In
- 2.4 these were useful in providing an easy path to setting the resources,
- but in 2.6 they retain function as a layering violation only.
- This makes for a nice cleanup (-550 lines) of ALSA but moreover, ALSA is the
- only remaining user of pnp_init_resource_table(), pnp_resource_change() and
- pnp_manual_config_dev() (and, in fact, of "struct pnp_resource_table") in
- the tree outide of drivers/pnp itself meaning it makes for more cleanup
- potential inside the PnP layer.
- Thomas Renninger acked their removal from that side, you did from the ALSA
- side (CC list just copied from that thread).
- Against current alsa-kernel HG. Many more potential cleanups in there, but
- this _only_ removes the pnp_resource_change code. Compile tested against
- current alsa-kernel HG and compile- and use-tested against 2.6.23.x (few
- offsets).
- Signed-off-by: Rene Herman <rene.herman@gmail.com>
- Cc: Thomas Renninger <trenn@suse.de>
- - HDA: Add support for Samsung Q1 Ultra Vista edition
- This patch adds full record and playback support for the Samsung Q1
- Ultra - Vista model (different codec than the earlier Q1 Ultra models).
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- - Introduce slots option to snd module
- Introduced the global "slots" option to snd module. This option provides
- an alternative way to handle the order of multiple sound card instances.
- It's an easier approach to avoid conflict with hotplug devices, and can
- be used together with the existing "order" option of each card driver.
- - hda-codec - Add support of Zepto laptops
- Adds support for zepto laptops with alc268 intel_hda codec.
- Signed-off-by: Mirco Tischler <mt-ml@gmx.de>
- - hda-intel - Support multiple devices
- It turned out that there can be multiple HD-audio devices on a single
- machine (e.g. on-board audio and HDMI on graphic cards), so we need to
- support multiple devices with snd-hda-intel driver.
- - oxygen: update ALSA-Configuration.txt
- Add documentation entries for snd-oxygen and snd-virtuoso.
- - oxygen: TempoTec HiFier is probably not supported
- The TempoTec HiFier has a somwhat different architecture; remove it from
- the list of cards that are known to be supported.
- - hda: Fix 5.1 sound in Dell 6stack ALC888 HDA
- This patch fixes 5.1 surround output and headphone detection in the
- Dell Inspiron 530 and possibly other Dell systems using the ALC888
- codec (mode 6stack-dell).
- Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- - Update descriptions of isapnp-specific module options
- Signed-off-by: Rene Herman <rene.herman@gmail.com>
- - hda-codec - Initial support of the Mitac 8252D (based on ALC883)
- The attached patch adds initial support of the Mitac 8252D
- (http://www.mitac-mtc.com.tw/English/products/8252Dspec.htm).
- Working:
- - Front speakers (volume + mute)
- - Center/LFE speakers (volume + mute)
- - HP out (with Front Volume)
- - HP individual mute switch
- - HP Jack sense
- - Front Mic and its volume
- Not tested:
- - external mic and its volume
- Not working while now:
- - Mic Jack sense
- Questionable:
- - is Mic have Jack sense?
- - one or two Mic volume controls?
- - CD/Line-in: presense in the mixer
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
- - hda-codec - Update realtek codec support
- 1. Support HP rp5700
- 2. Fixed alc_subsystem_id function (Bug fixed and support Desktop)
- 3. Support ASUS EP20
- Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- - Add missing model for HD-audio Cx5045 codec
- Added the description of the model fujitsu for Cx5045 codec chip.
- - hda-codec - New model for conexant 5045 codec to support benq r55e
- The benq r55e laptop have 3 jacks on the front panel.
- One for HP, one for Line In and one for Mic In.
- This patch implemented a new model to support it.
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - Add test model for ALC268
- This implements a test model for the ALC268. It depends on the feature
- added by alc260-test-eapd-0.2.diff. This patch also adds a mention of
- the ALC260 test model to ALSA-Configuration.txt since this seems to have
- been missed.
- Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
- - Remove PCM xfer_align sw params
- The xfer_align sw_params parameter has never been used in a sane manner,
- and no one understands what this does exactly. The current
- implementation looks also buggy because it allows write of shorter size
- than xfer_align. So, if you do partial writes, the write isn't actually
- aligned at all.
- Removing this parameter will make some pcm_lib_* code more readable
- (and less buggy).
- - Remove sound/driver.h
- This header file exists only for some hacks to adapt alsa-driver
- tree. It's useless for building in the kernel. Let's move a few
- lines in it to sound/core.h and remove it.
- With this patch, sound/driver.h isn't removed but has just a single
- compile warning to include it. This should be really killed in
- future.
- - hda-codec - Add the support of Dell OEM laptops with ALC268
- Added the support of Dell OEM laptops (Vostro 1200) with ALC268 codec.
- The new model=dell is provided.
- - hda-codec - Fix laptop models for Cxt5045
- Change laptop models to three different models, laptop-hpsense,
- laptop-micsense and laptop-hpmicsense. The first two correspond to
- the old "laptop" and "fujitsu" models.
- Reassigned the quirk table for the new models.
- Signed-off-by: Marc Boucher <marc@linuxant.com>
- - hda-codec - Add Dell T3400 support
- Added the support for Dell T3400 with AD1984 codec chip.
- ALSA bug#3699:
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3699
- Signed-off-by: Douglas Kosovic <douglask@itee.uq.edu.au>
- - ice1724 - Add support of Onkyo SE-90PCI and SE-200PCI
- Added the support for Onkyo SE-90PCI and SE-200PCI boards.
- Signed-off-by: Shin-ya Okada <sh_okada at d4.dion.ne.jp>
- - ASoC documentation updates
- Update the ASoC documentation. Along with minor formatting and grammar
- cleanups it moves the ASoC overview into the present tense to reflect
- the fact that it has now been merged.
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - hda-codec - Add model=hp-tc-t5735 for ALC262
- Added the missing model string for the new support of HP TC T5735.
- - typo fixes
- Most of these fixes were already submitted for old kernel versions, and were
- approved, but for some reason they never made it into the releases.
- Because this is a consolidation of a couple old missed patches, it touches both
- Kconfigs and documentation texts.
- Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com>
- Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
- - hda-codec - Add missing eeepc-p701 model for ALC662
- Added the missing model string "eeepc-p701" for ALC662 codec.
- - writing-an-alsa-driver.tmpl: English style improvements
- This patch brings some English style improvements throughout the
- document, as well as 1 or 2 extra technical details.
- Signed-off-by: Michael Opdenacker <michael@free-electrons.com>
Dreamcast AICA sound (pcm) driver
- - Dreamcast AICA sound - Get rid of annoying compiler warning
- This patch supresses an annoying compiler warning that the variable
- err may be used uninitialised.
- Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
- - protect Dreamcast PCM driver (AICA) from G2 bus effects
- The G2 bus on the SEGA Dreamcast connects both the maple peripheral
- bus and the AICA sound memory. DMA requests on one can cause the other
- to timeout on memory operations.
- This patch prevents maple interrupts from causing hiccoughs in the
- AICA sound (maple bus code will land in 2.6.24).
- There are other cleanups for this (AICA) code - but this is in effect
- a regression fix rather than a cleanup.
- Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
EMU10K1/EMU10K2 driver
- - emu10k1 - Fix kthread handling at resume
- Don't create emu1010 kthread again at resume if it's already created.
- Also make the thread function static.
- - emu10k1 - Don't create emu1010 controls for non-emu boards
- The last change for emu1616 introduced a bug that the driver creates
- emu1010-related controls even on non-emu boards. Fixed now.
- - emu10k1 - Use enum for emu_model types
- Use enum instead of digits for emu_model types.
- - Fix emu10k1_main.c for changes to enum of emu_model types
- - emu10k1 - Another EMU0404 Board ID
- This is based on pseudo-random playing around with the capabilities.
- With ca0102 this card gives no output atall, ca0108 appears to work
- fine, so it rather looks similar to the EMU1010b/EMU1010 changes.
- Some other people seem to have succeeded in using this aswell:
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3496
- From: Veli-Matti Valtonen <maligor@gmail.com>
- - snd-emu10k1:Fix typo in E-Mu 0404 support. Card should now be recognised
- correctly.
- - emu10k1: Update for E-Mu 0404
- - emu10k1: Add comments regarding E-Mu ins and outs.
- - emu10k1: Add mixer controls parameter checking.
- - emu10k1x - Add missing snd_card_set_dev call
- Added the missing snd_card_set_dev() call. This will fix the incomplete
- sysfs entry for this card.
- - emu10k1 - Fix over-sized kmalloc for TLV
- Reported by Al Viro:
- In copy_tlv(), the size of kmalloc is wrongly calculated.
- - emu10k1: General cleanup, add new locks, fix alsa bug#3501, kernel bug#9304.
- - snd:emu10k1: E-Mu updates. Fixes to firmware loading and support for 0404.
- - snd:emu10k1:Update patches due to changes in alsa-kernel.
- - emu10k1 - 1616(M) cardbus improvements
- This patch improves E-Mu 1616(M) cardbus support. It adds definitions of the
- new Microdock and 1010 cardbus registers (thanks again for descriptions
- James) and improves mixer for this card. Now you can use S/PDIF and ADAT on
- Mirodock and also use headpohone output on host cardbus card as another
- independent output.
- Signed-off-by: Ctirad Fertr <c.fertr@gmail.com>
- - emu10k1 - Check value ranges in ctl callbacks
- Check value ranges in ctl callbacks properly. This fixes the unexpected
- crash due to wrong value assignment.
- Also, remove invalid comments in the last patch.
EMU8000 driver
- - fix inclusion of adriver.h
- Add or move the inclusion of "adriver.h" to the proper places in some
- build stubs.
ES18xx driver
- - es18xx: Enable wavetable input from ESS chips
- This patch enables wavetable chips ES689/ES69X connected to
- ESS ES18xx chips. The wavetable chip uses FM DAC if the clock signal
- from the wavetable is active.
- It has no effect if there is no ESS wavetable chip present.
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- - sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
- - Fix misspellings of "system", "controller", "interrupt" and "necessary".
- Fix the various misspellings of "system", controller", "interrupt" and
- "[un]necessary".
- Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
ES1938 driver
- - es1938 - improve capture hw pointer reads
- With the Solo1 (es1938) I got a lot of xrun's during capture on my machine.
- Tracing that down it seems to be comming from reading ocassionaly bad hw
- pointers from the chip. This patch uses more checking to avoid that false
- pointer reads.
- Failed reads are giving back the last good value read instead of spinning in
- a tight loop, which seems more appropriate to me in an interrupt. I think I
- saw this trick used in another driver
- Signed-off-by: Hermann Lauer <Hermann.Lauer@iwr.uni-heidelberg.de>
Echoaudio driver
- - echoaudio - convert from semaphore to mutex
- Converted from semaphore to mutex.
FM801 driver
- - fm801 - Add mute support for FM-only card with FM801 PCI to tuner bridge
- This is improvement of the early support of the FM-only cards where the
- fm801 chip represents the PCI to tuner bridge.
- The tuner initialization isn't included the mute on as well as mute support
- via V4L request. Proposed patch should fix this at least for 64-PCR model.
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
GUS Library
- - fix bootup crash in snd_gus_interrupt()
- when simulating a storm of fake GUS interrupts (without actually owning
- this venerable piece of ISA hardware) the driver falls over (crashes) in
- two ways:
- 1) spinlocks being initialized too late:
- INFO: trying to register non-static key.
- the code is fine but needs lockdep annotation.
- turning off the locking correctness validator.
- [<401058ca>] show_trace_log_lvl+0x1a/0x30
- [<401064b2>] show_trace+0x12/0x20
- [<401064d6>] dump_stack+0x16/0x20
- [<4014a72b>] __lock_acquire+0xcfb/0x1030
- [<4014aac0>] lock_acquire+0x60/0x80
- [<40721a68>] _spin_lock_irqsave+0x38/0x50
- [<4058fc12>] snd_gf1_i_look8+0x22/0x60
- [<405906fe>] snd_gus_interrupt+0x13e/0x270
- [<401548e8>] handle_IRQ_event+0x28/0x60
- [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
- [<40107238>] do_IRQ+0x48/0xa0
- [<401051fe>] common_interrupt+0x2e/0x40
- [<40156822>] register_handler_proc+0x92/0xf0
- [<401550c2>] setup_irq+0xe2/0x190
- [<40155224>] request_irq+0xb4/0xd0
- [<4058f524>] snd_gus_create+0x124/0x3c0
- [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
- [<403f5eff>] isa_bus_probe+0x1f/0x30
- [<403f1944>] driver_probe_device+0x84/0x190
- [<403f1a58>] __device_attach+0x8/0x10
- [<403f0e63>] bus_for_each_drv+0x53/0x80
- [<403f1b1b>] device_attach+0x8b/0x90
- [<403f0dd8>] bus_attach_device+0x48/0x80
- [<403efdbd>] device_add+0x45d/0x5a0
- [<403eff12>] device_register+0x12/0x20
- [<403f60c3>] isa_register_driver+0xb3/0x140
- [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
- [<40a665c3>] kernel_init+0x133/0x310
- [<401054a7>] kernel_thread_helper+0x7/0x10
- =======================
- 2) callback functions not being filled in yet:
- BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
- printing eip:
- 00000000
- *pde = 00000000
- Oops: 0000 [#1]
- SMP DEBUG_PAGEALLOC
- CPU: 0
- EIP: 0060:[<00000000>] Not tainted VLI
- EFLAGS: 00010002 (2.6.23 #37)
- EIP is at 0x0
- eax: 7fe94000 ebx: 7fe94000 ecx: 00000000 edx: 00000226
- esi: 00000000 edi: 00000005 ebp: 7ff87c28 esp: 7ff87bf4
- ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
- Process swapper (pid: 1, ti=7ff86000 task=7ff84000 task.ti=7ff86000)
- Stack: 40590683 408424a9 408db87c 00000029 40787406 00000064 00000046 ff000000
- 000000ff 00000001 7faefaf0 00000000 00000005 7ff87c40 401548e8 00000000
- 40a52000 7faefaf0 00000005 7ff87c58 40155cc1 40a52030 00000005 00000000
- Call Trace:
- [<401058ca>] show_trace_log_lvl+0x1a/0x30
- [<4010598b>] show_stack_log_lvl+0xab/0xd0
- [<40105b7c>] show_registers+0x1cc/0x2d0
- [<40105d96>] die+0x116/0x240
- [<4011d7bb>] do_page_fault+0x18b/0x670
- [<40721d22>] error_code+0x72/0x80
- [<401548e8>] handle_IRQ_event+0x28/0x60
- [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
- [<40107238>] do_IRQ+0x48/0xa0
- [<401051fe>] common_interrupt+0x2e/0x40
- [<401a344e>] proc_create+0x3e/0x120
- [<401a3733>] proc_mkdir_mode+0x23/0x50
- [<401a376f>] proc_mkdir+0xf/0x20
- [<40156864>] register_handler_proc+0xd4/0xf0
- [<401550c2>] setup_irq+0xe2/0x190
- [<40155224>] request_irq+0xb4/0xd0
- [<4058f524>] snd_gus_create+0x124/0x3c0
- [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
- [<403f5eff>] isa_bus_probe+0x1f/0x30
- [<403f1944>] driver_probe_device+0x84/0x190
- [<403f1a58>] __device_attach+0x8/0x10
- [<403f0e63>] bus_for_each_drv+0x53/0x80
- [<403f1b1b>] device_attach+0x8b/0x90
- [<403f0dd8>] bus_attach_device+0x48/0x80
- [<403efdbd>] device_add+0x45d/0x5a0
- [<403eff12>] device_register+0x12/0x20
- [<403f60c3>] isa_register_driver+0xb3/0x140
- [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
- [<40a665c3>] kernel_init+0x133/0x310
- [<401054a7>] kernel_thread_helper+0x7/0x10
- =======================
- Code: Bad EIP value.
- EIP: [<00000000>] 0x0 SS:ESP 0068:7ff87bf4
- Kernel panic - not syncing: Fatal exception in interrupt
- with these things fixed, i get the expected "no such hardware" result
- from the driver initialization:
- Calling initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20()
- ALSA sound/isa/gus/gusclassic.c:136: [0x220] check 1 failed - 0xff
- initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() returned 0.
- initcall 0x40aa3dc0 ran for 133 msecs:
- alsa_card_gusclassic_init+0x0/0x20()
- Signed-off-by: Ingo Molnar <mingo@elte.hu>
- - Remove sequencer instrument layer
- Remove sequencer instrument layer from the tree.
- This mechanism hasn't been used much with the actual devices. The only
- reasonable user was OPL3 loader, and now it was rewritten to use hwdep
- instead. So, let's remove the rest of rotten codes.
- - Remove sequencer instrument layer
- Remove the alsa-driver build stub for sequencer instrument layer.
GUS drivers
- - Remove sequencer instrument layer
- Remove sequencer instrument layer from the tree.
- This mechanism hasn't been used much with the actual devices. The only
- reasonable user was OPL3 loader, and now it was rewritten to use hwdep
- instead. So, let's remove the rest of rotten codes.
- - Salvage old seq instrument layer codes
- Salvate old sequencer instrument layer codes to "old" directory,
- just for good and old memories.
Generic drivers
- - sound: Use time_before, time_before_eq, etc.
- The functions time_before, time_before_eq, time_after, and time_after_eq
- are more robust for comparing jiffies against other values.
- A simplified version of the semantic patch making this change is as follows:
- (http://www.emn.fr/x-info/coccinelle/)
- // <smpl>
- @ change_compare_np @
- expression E;
- @@
- (
- - jiffies <= E
- + time_before_eq(jiffies,E)
- |
- - jiffies >= E
- + time_after_eq(jiffies,E)
- |
- - jiffies < E
- + time_before(jiffies,E)
- |
- - jiffies > E
- + time_after(jiffies,E)
- )
- @ include depends on change_compare_np @
- @@
- #include <linux/jiffies.h>
- @ no_include depends on !include && change_compare_np @
- @@
- #include <linux/...>
- + #include <linux/jiffies.h>
- // </smpl>
- Signed-off-by: Julia Lawall <julia@diku.dk>
- - [ML403-AC97CR] Fix capture/periodic overrun bug
- We have to do fairly accurate counting of the minimal periods, instead
- of being lazy and just setting the number to zero as soon as one period
- elapses.
- Signed-off-by: Joachim Foerster <JOFT@gmx.de>
- - Xilinx ML403 AC97 Controller Reference device driver
- Add ALSA support for the opb_ac97_controller_ref_v1_00_a ip core found
- in Xilinx' ML403 reference design.
- Known issue: Currently this driver hits a WARN_ON_ONCE(1) statement in
- kernel/irq/resend.c (line 70). According to Linus
- (http://lkml.org/lkml/2007/8/5/5) this may be ignored, right? I haven't
- had a look into this "problem" yet.
- Signed-off-by: Joachim Foerster <JOFT@gmx.de>
- - drivers - Add missing snd_card_set_dev()
- Added the missing call of snd_card_set_dev() in drivers/*
- - pcsp - Add missing index module option
- It is impossible to put pcsp at a stable index without the trivial patch
- below.
- Signed-off-by: Alexander E. Patrakov <patrakov@ums.usu.ru>
- - portman2x4 - Fix probe error
- Reported by Ingo Molnar,
- when booting an allyesconfig bzImage kernel the bootup hangs in the
- portman2x4 driver (on a box that does not have this hardware), at:
- Pid: 1, comm: swapper
- EIP: 0060:[<c02f763c>] CPU: 0
- EIP is at parport_pc_read_status+0x4/0x8
- EFLAGS: 00000202 Not tainted (2.6.23-rc9 #904)
- EAX: f7e57a7f EBX: 00000010 ECX: c2b808c0 EDX: 00000379
- ESI: f7cb8230 EDI: 00000010 EBP: f7cb8230 DS: 007b ES: 007b FS: 0000
- CR0: 8005003b CR2: fff9c000 CR3: 007ec000 CR4: 00000690
- DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
- DR6: ffff0ff0 DR7: 00000400
- [<c04613de>] portman_flush_input+0xde/0x12c
- [<c0461a24>] snd_portman_probe+0x368/0x484
- [<c02fbb8c>] __device_attach+0x0/0x8
- [<c02fce68>] platform_drv_probe+0xc/0x10
- [<c02fba6c>] driver_probe_device+0x74/0x194
- [<c0587174>] klist_next+0x38/0x70
- [<c02fbb8c>] __device_attach+0x0/0x8
- [<c02faea1>] bus_for_each_drv+0x35/0x68
- [<c02fbc22>] device_attach+0x72/0x78
- the reason is due to an inconsistent error return code of 1 or 2, while
- snd_portman_probe only realizes negative error codes.
- - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly (in the rest drivers).
- - Fix build of pcsp driver with latest Linus tree (pre-2.6.24)
- Fixed the build of pcsp driver with the latest Linus tree (pre-2.6.24).
- The header file was renamed to i8253.h.
- Also, fixed warnings in printk for 64bit archs.
- - sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
- - sound: fix mts64 section mismatches
- Fix section mismatches in mts64 by making a static variable __devinitdata.
- WARNING: vmlinux.o(.data+0x2e33f0): Section mismatch: reference to .init.data:mts64_ctl_smpte_switch (between 'control.19929' and 'snd_mts64_rawmidi_output_ops')
- WARNING: vmlinux.o(.data+0x2e33f8): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_hours (between 'control.19929' and 'snd_mts64_rawmidi_output_ops')
- WARNING: vmlinux.o(.data+0x2e3400): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_minutes (between 'control.19929' and 'snd_mts64_rawmidi_output_ops')
- WARNING: vmlinux.o(.data+0x2e3408): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_seconds (between 'control.19929' and 'snd_mts64_rawmidi_output_ops')
- WARNING: vmlinux.o(.data+0x2e3410): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_frames (between 'control.19929' and 'snd_mts64_rawmidi_output_ops')
- WARNING: vmlinux.o(.data+0x2e3418): Section mismatch: reference to .init.data:mts64_ctl_smpte_fps (between 'control.19929' and 'snd_mts64_rawmidi_output_ops')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
- - [PARPORT] Remove unused 'irq' argument from parport irq functions
- None of the drivers with a struct pardevice's ->irq_func() hook ever
- used the 'irq' argument passed to it, so remove it.
- Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
- - Update patches for removal of irq argument
- Update patches due to removal of irq argument in the parport irq handler
- since 2.6.24-rc1.
HDA Codec driver
- - hda: 92HD73 DMIC Amps
- Changed hardware gain mixers for the digital mic's from HDA_OUTPUT to
- HDA_INPUT.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda: Added more 92HD71 codecs
- Added more codecs to the 92HD71 family, as well as support for several
- that don't have an analog mixer.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda: Add new STAC9205 PCI_QUIRK
- Added a new STAC 9205 quirk for Vostro 1500.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - print control name in error messages
- Print the name of the defect controls in error messages in amp info
- callback. This will make debugging easier.
- - hda-codec - Don't build boost controls for digital mics
- The ALC auto-probe creates mic boost controls automatically for the
- probed pins, but it assumes that they are analog mics. The digital
- mics have no boost controls and must be skipped.
- - hda_proc - Add a number of new settings to proc codec output
- This patch adds additional output to the /proc codec#X info.
- The following pieces of information are added to the output:
- - Balanced, L/R swap, trigger, impedance sense pin capabilities
- - Vref pin capabilities
- - Current Vref pin widget control setting
- - Default configuration association, sequence, and misc bit test
- - EAPD/BTL bits conveying balanced mode, EAPD, and L/R swap
- - Power state modified to show state name as well as setting vs actual value
- - GPIO parameter output on Audio Function Group, including enumeration of IO
- pins which are indicated present (Any I and O pins are not output at this
- time)
- - Stripe and L/R swap widget capabilities
- - All digital converter bits: enable, validity, validity config, preemphasis,
- copyright, non-audio, professional, generation level, and content category
- - Converter stream and channel values for in/out widgets
- - SDI select value for in widgets
- - Unsolicited response widget capability tag and enabled bit
- - Delay widget capability value
- - Processing widget capability benign bit and number of coefficients
- - Realtek Define Registers: processing coefficient, coefficient index
- [Also, fixed space/tab issues and make codes a bit more readable
- -- Takashi]
- Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- - hda-codec - Add Conexant 5051 codec support
- Added the support for Conexant 5051 audio codec.
- Right now there are two preset models, laptop and hp.
- The whole patch is based on the information from the base patch by
- Linuxant.
- - hda-codec - Add model for Acer Aspire 5310
- Simplify usage of the Acer Aspire 5310 laptop with the ALC268 based codec
- sound card via add correct PCI SSID.
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
- - hda-codec - Add missing slave for AD1884 master switch
- The Speaker switch is missing in the slave list.
- - hda: STAC92xx Line In/Mic as output check
- This patch checks to see the Line In/Mic port have the ability
- to do output before creating the the control switches.
- The 92hd71bxx series of codecs has this issue with the port 0xe,
- which only allows input.
- Signed-off-by: Matthew Ranostay <mranostay@embededalley.com>
- - HDA-Intel - Add support for RV6xx HDMI audio
- This patch is to add R6xx HDMI audio support. Meanwhile, the device ID
- in the previous patch is changed.
- I have checked the patch from Herton Ronaldo Krzesinski, it's right as
- our spec said. :)
- Signed-off-by: Wolke Liu <Wolke.Liu@amd.com>
- Signed-off-by: Andrea Zhang <Andrea.Zhang@amd.com>
- - hda-intel - Show more volume-knob attributes
- Show more attributs of volume-knob widgets.
- Also don't put empty lines when no connection list is found.
- - hda-codec - Fix Conexant 5045 volumes
- Fixed the init verbs and added the missing volume controls so that
- the driver works again with Conexant 5045 codec chip.
- - hda-codec - Fix build without CONFIG_SND_HDA_GENERIC
- Fixed the build error from patch_sigmatel.c when built without
- CONFIG_SND_HDA_GENERIC by defining a dummy function to return error.
- Also, clean up hda_codec.c by removing unneeded ifdefs (the compiler
- will optimize out).
- - hda: Add dmux to STAC 9228
- Added a dmux to the STAC9228 cards with DMIC support. And added a
- STAC_DIGITAL_INPUT_SOURCE macro for repeating mixer code.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Disable shared stream on AD1986A
- AD1986A has a hardware problem that it cannot share a stream with
- multiple pins properly. The problem occurs e.g. when a volume is changed
- during playback.
- So far, hda-intel driver unconditionally assigns the stream to multiple
- output pins in copy-front mode, and this should be avoided for AD1986A
- codec.
- The original fix patch was by zhejiang <zhe.jiang@intel.com>.
- - HDA: Add support for Samsung Q1 Ultra Vista edition
- This patch adds full record and playback support for the Samsung Q1
- Ultra - Vista model (different codec than the earlier Q1 Ultra models).
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- - hda-codec - Fix typo in the ALC883 initial code
- The attached patch should fix typo in auto initialization verbs for ALC883
- codec.
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
- - hda-codec - Fix definition of AC_KNBCAP_DELTA to match spec
- AC_KNBCAP_DELTA is incorrectly defined as (1<<8). According to the Intel
- HDA spec, this is bit 7 after AC_KNBCAP_NUM_STEPS which is a 0x7f mask.
- Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- - hda: STAC927x DMIC Cleanup
- Cleaned up STAC927x and added several subsystem id's for more laptops.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Avoid overload of PCM volume on Cx5045 codec
- The PCM volume of Cx5045 codec has overload that isn't useful but
- rather harmful. Add a hack to override the amp info to set the max
- level 0 dB.
- - hda-codec - sort pci quirk list
- Sort pci quirk list in the order of PCI SSID.
- This makes easier to find out the buggy duplicated entries.
- Thanks to Andy Shevchenko for providing the sort script.
- - hda-codec - Sort ad1986a cfg table
- Sort the ad1986a config table by PCI SSID (the last toshiba entry was
- added wrongly).
- - hda-codec - Fix SPDIF output on Conexant 5045 codec
- Fixed the SPDIF output on Conexant Cx5045 codec. Added the missing
- pin output setting and fixed the wrong NID for digital audio-out widget.
- - hda-codec - Allow multiple SPDIF devices
- The current code doesn't allow multiple SPDIF devices, and causes
- errors when multiple SPDIF devices are found (e.g. SPDIF out and HDMI).
- This patch allows multiple SPDIF devices by incrementing the index
- automatically.
- - hda-codec - Add SI HDMI codec support
- Added the support of SI HDMI codec, found in ASUS machines.
- ALSA bug#3654
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3654
- - hda-codec - Add support of Zepto laptops
- Adds support for zepto laptops with alc268 intel_hda codec.
- Signed-off-by: Mirco Tischler <mt-ml@gmx.de>
- - hda: STAC927x VREF fix
- Some laptops incorrectly assume the front input jack as a line in
- instead of a microphone in. Which in turn disables the voltage
- reference, in which non-amplified input is not possible. This patch
- enables VREF80 for the input jack.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Add IEC958 digital out support for Lenovo Thinkpads T61/X61
- This patch adds IEC958 digital out support for the AD1984 sound card.
- This card can be found in Lenovo Thinkapds T61/X61. The digital out is
- not located on the Thinkpad, but optional docking station (it's coxial
- digital out). I've add this support as it is done the exact same way
- for the AD1983 & AD1884.
- I have tested this patch with my Lenovo Thinkpad T61 hooked up to a
- docking station (that has the digital coxial) and then run to my home
- theater reciever. Works like a charm :-)
- Signed-off-by: Jerone Young <jerone@gmail.com>
- - hda-codec - Add model for Gigabyte P35 DS3R
- Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- - hda-codec - Add SPDIF output support to AD1986a laptop-eapd model
- The SPDIF output on AD1986A laptop-eapd model is disabled although
- some Samsung laptops have SPDIF output. Enable it after checking the
- pin default config.
- - hda-codec - Rename non-standard "iSpeaker"
- Renamed the non-standard mixer elements "iSpeaker" to "Speaker"
- in Realtek codecs.
- - hda-codec - Fix mixer controls with ALC262 HP T5735 model
- The PCM mixer elements in HP T5735 model of ALC262 codec conflict
- with Speaker and Headphone volumes. They should be removed.
- Ditto for LineOut that is identical with Speaker.
- Also, fixed/cleaned up the auto-mute callback to use the amp cache
- correctly.
- - hda-codec - Fix ALC262 HP-RP5700 model
- Removed the PCM mixer elements conflicting with others.
- Also renamed Master control to Headphone, which isn't a real master.
- (The Master control is still created as a virtual master even after
- this rename.)
- - hda-codec - Add speaker automute to ALC260 HP models
- Added the speaker-automute function to ALC260 HP models.
- - hda-codec - Add speaker automute to ALC262 HP models
- Added the speaker-automute function to ALC262 HP models.
- Also, "Mono" mixer elements are renamed as more intuitive "Speaker".
- - HDA: Add Asus VX1 support
- Simple patch to add the Asus VX1 laptop to the Analog Devices pci quirk list.
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- - hda: STAC9228 DMIC
- Added support for the dmics and enabled EAPD for several laptops with
- STAC9228 cards.
- Signed-off-by: Matthew Ranostay <mranostay@gmail.com>
- - hda-codec - Update dell-m82 model pin config
- Updated dell-m82 model pin config table. The old config doesn't work
- with Dell 1210 and co.
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - Add workaround for multiple HPs
- Dell laptops have multiple HP jacks that can be used for multi-channel
- outputs. The current auto pincfg handles the speaker as the primary
- output and thus cannot handle the multi-channel configuration for such
- cases. This patch adds a workaround to fix this issue by swapping the
- HP and speaker during multi-channel setup routines.
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - Avoid wrong speaker-auto mute via mic jack
- When a mic jack is set up as the multiple I/O, it may issue the automute
- function wrongly. This patch fixes the wrong automute detection.
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - Revert volume knob controls in STAC codecs
- Volume knob controls with STAC codecs seem to cause problems with some
- devices. Volumes change very slowly or silent suddenly. It's likely
- due to conflict between the software and the hardware volume knob
- setup.
- Since we'll have a virtual master control in future, it's safer to
- remove this control completely right now.
- - hda: STAC9228 updated DMUX nid
- Changed the dmux for STAC9228 from ADC1MUX to ADC0MUX to avoid confusion.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Add model for Fujitsu V5505
- Added model=laptop for Fujitsu V5505 with Cxt5405 codec.
- - hda-codec - Fix possible array overflow
- dac_nids arrays in each codec support code may have up to 5 items
- when assigned from the auto-configurator. Some codec codes have
- less numbers than the possible max. This patch defines the constant
- and fixes the array definitions.
- - hda-codec - Add SPDIF controls as slave on AD codecs
- The AD codecs have hardware SPDIF volume/switch controls but they
- are not assigned to the slave list for virtual master controls.
- - hda_intel - Add model quirk for Albatron KI690-AM2 motherboard
- This adds a quirk to the Realtek ALC883 table for the Albatron KI690-AM2
- motherboard to use the 6stack-dig model.
- Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- - HDA - Add support for the OQO Model 2
- This patch adds support for the OQO Model 2 Ultra Mobile PC.
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- - hda: Fix 5.1 sound in Dell 6stack ALC888 HDA
- This patch fixes 5.1 surround output and headphone detection in the
- Dell Inspiron 530 and possibly other Dell systems using the ALC888
- codec (mode 6stack-dell).
- Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- - hda-codec - Remove obsolete FIXME's
- Removed "FIXME" comments that have been already fixed.
- - hda-codec - Device ID for MSI L745
- Added the model targa-2ch-dig for MSL L745 (ALSA bug#3641).
- - hda-codec - Add support for VIA VT1708B HD audio codec
- This patch adds support for VIA new HD audio codec, VT1708B.
- Signed-off-by: Josepch Chan <josephchan@via.com.tw>
- - hda-codec - Add ALC889/ALC267/ALC269 support
- Added the support of new Realtek codecs:
- 1. New ALC889 Support
- 2. New ALC267 Support
- 3. New ALC269 Support
- Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- - hda-codec - Initial support of the Mitac 8252D (based on ALC883)
- The attached patch adds initial support of the Mitac 8252D
- (http://www.mitac-mtc.com.tw/English/products/8252Dspec.htm).
- Working:
- - Front speakers (volume + mute)
- - Center/LFE speakers (volume + mute)
- - HP out (with Front Volume)
- - HP individual mute switch
- - HP Jack sense
- - Front Mic and its volume
- Not tested:
- - external mic and its volume
- Not working while now:
- - Mic Jack sense
- Questionable:
- - is Mic have Jack sense?
- - one or two Mic volume controls?
- - CD/Line-in: presense in the mixer
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
- - hda: Added STAC92HD73 support
- Added support for new STAC92HD73 family of codecs. Additionally added
- features for multiple analog loopbacks, and multiple dmux mixers.
- Regression testing for the analog loopback changes for STAC9205 and
- STAC9274D completed with any issues, as well for the dmux changes.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-intel: Enable Analog CD Input from internal ATAPI connector on Asus M2N-SLI
- Enable Analog CD Input from internal ATAPI connector on Asus M2N-SLI.
- Signed-off-by: Johannes Stezenbach <js@sig21.net>
- - hda-codec - Device ID for Toshiba laptop which uses AD1986A
- The model laptop-eapd get rid of the high-pitched noise.
- (ALSA bug#3662)
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - alc268 input_mux should be a selector instead of mixer
- According to the [0003659], the node 0x23,0x24 is a selector.
- I checked the alc268 spec on the REALTEK website and it showed that they
- were selectors indeed.
- However, current code implement the alc268 input_mux in a mixer way.
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - Update realtek codec support
- 1. Support HP rp5700
- 2. Fixed alc_subsystem_id function (Bug fixed and support Desktop)
- 3. Support ASUS EP20
- Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- - hda-codec - Device ID for Macbook sound card
- Please refer to the [0003680] on ALSA bugtracking system.
- The user found that "model=mbp3" works and provided the ID.
- From: Jiang zhe <zhe.jiang@intel.com>
- - hda: STAC9228 VT fixes
- Moved 2 systems PCI_QUIRK values to STAC_DELL_BIOS. Also the second
- front HP jack is incorrect defined in the BIOS VT's for some laptops,
- this patch corrects this.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Add virtual master controls
- Add master controls using vmaster to codecs that have no real hardware
- master volume registers.
- - hda: 92HD7XXX power management support
- Added support for advanced power management support for output ports on
- 92HD7xxx family of codecs. Inactive output ports are powered down when
- the pin sense doesn't detect a connection, and powered back up when a
- connection is sensed.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - New model for conexant 5045 codec to support benq r55e
- The benq r55e laptop have 3 jacks on the front panel.
- One for HP, one for Line In and one for Mic In.
- This patch implemented a new model to support it.
- Signed-off-by: Jiang Zhe <zhe.jiang@intel.com>
- - hda-codec - Fix capture source for Cx5045 codec
- For codec conexant 5045, I found that the name of "Capture Source Items"
- is different from the name of mixer.
- The mixer is:
- HDA_CODEC_VOLUME("Ext Mic Playback Volume", 0x17, 0x2, HDA_INPUT),
- HDA_CODEC_MUTE("Ext Mic Playback Switch", 0x17, 0x2, HDA_INPUT),
- But the capture source item is :
- static struct hda_input_mux cxt5045_capture_source = {
- .num_items = 2,
- .items = {
- { "IntMic", 0x1 },
- { "LineIn", 0x2 },
- }
- };
- I think that it's better to change the name of capture_source to avoid
- misunderstanding.
- Signed-off-by: Jiang zhe <zhe.jiang@intel.com>
- - hda: Added mono_out_pin to autoconfig
- Added a mono_out_pin field to autocfg struct, and code to parse
- for the mono_out_line.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda: Add dynamic mono mixer support for STAC92xx codecs
- Allows for dynamically creating mono out mixer controls and well
- as mono mux controls.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Fix handling of multiple capture streams
- Fixed the bug that multiple capture streams conflict on Realtek codec
- routines.
- Also, this adds a framework to enable the alternative playback stream,
- e.g. for VoIP. It's not fully implemented yet, though.
- - hda: STAC9205 GPIO line fix
- Fixed issue that the incorrect GPIO line was being pulled high
- for some STAC9205 based laptops.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Add model for Acer Aspire 5315
- Simplify usage of the Acer Aspire 5315 laptop with the ALC268 based codec
- sound card via add correct PCI SSID.
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
- - hda-codec - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly so that
- invalid values won't be stored or written to registers.
- - hda-codec - Fix conflict of Master volume in STAC92xx codec
- The addition of volume knob as Master volume resulted in conflict with
- the existing one by stac92xx_auto_create_hp_ctls().
- This patch fixes the conflict, and still keeps the Master control for
- codecs without volume knob as much as possible.
- - hda-codec - Add STAC9228 DMIC support
- Added the missing STAC9228 DMIC support.
- Also added a new vendor id tag for IDT.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Fix invalid access to non-existing dmux on STAC
- The digital mux on STAC codecs doesn't always exist although the
- driver builds dmux enum mixer elements unconditionally.
- Now the driver creates 'digital input source' mixer elements only
- when dmux is available.
- Also, the patch adds the missing dmux definition for STAC925x.
- - hda: Dynamically create digital gain mixers
- Dynamically create digital gain mixers for dmics that have out-amp
- support. Also some 92HD73xx's codecs don't have DMIC gains, so this also
- prevents creating dead mixers.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Add EAPD controls for ALC260 test model
- This implements a switch control for the EAPD signal output by the ALC26x
- chips. Since some laptops may utilise this to activate useful things it
- is handy to have a control for this in the ALC26x test models. The patch
- includes the control in the ALC260 test model.
- Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
- - hda-codec - Add test model for ALC268
- This implements a test model for the ALC268. It depends on the feature
- added by alc260-test-eapd-0.2.diff. This patch also adds a mention of
- the ALC260 test model to ALSA-Configuration.txt since this seems to have
- been missed.
- Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
- - hda-codec - Add model=laptop for HP 350 laptop
- Added the proper model=laptop for HP 350 laptop with Cxt5045 codec.
- - hda-code - Clean up STAC GPIO enablement code
- There are two similar GPIO-enablement codes in patch_sigmatel.c.
- Let's clean up.
- - hda-codec - Disable PCBEEP mixer element in test model
- It turned out that the PCBEEP element (0x1d) is disabled on some hardwares
- although it's defined in the datasheet. Because of the error at info of
- this element, the mixer gets totally unusable.
- Since the PCBEEP isn't that important feature, it's safer to disable this.
- - hda-codec - Add the support of Dell OEM laptops with ALC268
- Added the support of Dell OEM laptops (Vostro 1200) with ALC268 codec.
- The new model=dell is provided.
- - hda-codec - Enable VIA SPDIF input pin
- Enable the SPDIF input-pin on VIA codecs when SPDIF-input is enabled
- by BIOS. Also, including a bit code clean up.
- - hda: Mono mux mixer support
- Add support for the mono mux on several 92HD7xxx codecs.
- Creates a dynamic mixer for the mux selection.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Fix laptop models for Cxt5045
- Change laptop models to three different models, laptop-hpsense,
- laptop-micsense and laptop-hpmicsense. The first two correspond to
- the old "laptop" and "fujitsu" models.
- Reassigned the quirk table for the new models.
- Signed-off-by: Marc Boucher <marc@linuxant.com>
- - hda-codec - Add missing input controls for Cxt5047 test model
- The input volume/switch elements are missing in Cxt5047 test model.
- Also the patch includes some code clean ups.
- Signed-off-by: Marc Boucher <marc@linuxant.com>
- - hda-codec - Add a delay after power state change
- Added a delay after the power state change as a partial workaround
- for "hda_intel: azx_get_response timeout" problem on Cxt codecs.
- Signed-off-by: Marc Boucher <marc@linuxant.com>
- - hda-codec - Add afg and mfg preset mask
- Added afg and mfg preset masks for more finer codec-preset selection.
- Signed-off-by: Marc Boucher <marc@linuxant.com>
- - hda-codec - Optimize snd_hda_pser_pin_def_config()
- Don't read the widget list again as we already have it at the beginning.
- - hda-codec - Control SPDIF as slave
- Add SPDIF playback switch to the slave element list so that it
- can be toggled via the master control as well.
- - hda-codec - Add model for HP DV9553EG laptop
- Added the proper model for HP DV9553EG laptop with Cxt5045.
- ALSA bug#3534
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3534
- - hda-codec - Add Dell T3400 support
- Added the support for Dell T3400 with AD1984 codec chip.
- ALSA bug#3699:
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3699
- Signed-off-by: Douglas Kosovic <douglask@itee.uq.edu.au>
- - hda: Add GPIO mute support to STAC9205
- Support added for detecting HP jack presence via GPIO on several laptop docks.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda: Added new IDT codec family
- Added initial support for the STAC92HD71BXX family of codecs.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Fix STAC922x volume knob control
- Reported by zhejiang <zhe.jiang@intel.com>
- "I found that STAC_VOLKNOB hardwired the KNOB nid to 0x24.
- It is okay for stac9205 and stac927x.
- But the VolumeKnob nid of stac9220-9221 is 0x16."
- - hda-codec - Add array terminator for dmic in STAC codec
- Reported by Jan-Marek Glogowski.
- The dmic array is passed to snd_hda_parse_pin_def_config() and
- should be zero-terminated.
- - Support ASUS P701 eeepc [0x1043 0x82a1] support
- Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- - hda-codec - Fix SKU ID function for realtek codecs
- Fixed SKU ID function for realtek codecs. It's used by the automatic
- BIOS configuration mode. Now it supports the correct jack-detection
- mechanism, too.
- Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- - duplicate initializer in sound/pci/hda/patch_realtek.c
- Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
- Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- - hda-codec - Add missing #defines (and 1 rename) in hda_codec.h
- Added AC_VERB_GET_DIGI_CONVERT_2 and renamed AC_VERB_GET_DIGI_CONVERT to
- AC_VERB_GET_DIGI_CONVERT_1 to stay consistent with the SET variants. Added
- AC_VERB_GET_GPIO_UNSOLICITED_RSP_MASK, AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK,
- and AC_PINCAP_LR_SWAP. The missing fields were listed in the ALC883 datasheet
- rev 1.3.
- Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- - hda-codec - Fix capture mixers of ALC662 models
- The commit that added support for ASUS P701 eeepc also changed the
- mixers of other ALC662 models, duplicating entries for the Capture
- items, making them to not work anymore. This fixes it by removing
- duplicated entries using where possible the common alc662_capture_mixer.
- Also alc662_capture_mixer should use alc662* functions and not alc882
- (I checked /proc/asound/card0/codec* on an eepc model and it's ok).
- Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
- - hda: 92HD71BXX Mono Mute Support
- Added a mono output mute mixer for the 92hd71bxx family of codecs, this
- also removes the need for the mono out node to explicitly unmuted in the
- core init.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-intel - Add workarounds for STAC codecs
- Some machines with STAC codecs seem to have problems (e.g. no audible
- playback) when the delay in codec-read routine is too short.
- I still don't figure out which command sequence causes this problem
- (due to lack of test hardware), but it's known that increasing the
- delay fixes. So, added a stupid workaround here temporarily...
- - hda-codec - remove 11c1:1040 from patch_si3054.c id list
- Codec with id 11c1:1040 sitting on hda bus isn't si3054-compatible.
- It should be removed from patch_si3054.c id list.
- The detailed information
- http://archives.linmodems.org/26457
- From: Vasily Khoruzhick <anarsoul@gmail.com>
- - hda: fix Mic in as output
- Some laptop has an internal analog microphone that is 'fixed'.
- This patch prevents creating a 'Mic In as Output' switch for
- ports that can't be outputs.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda: STAC92HD71 codec mixer
- Added analog loopback support and missing ADC capture mixer for the
- STAC92HD71 codec family.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - new PCI SSID for HP machines
- Added new PCI SSIDs for HP machines with ALC262 codec.
- - hda: STAC9228 Subsystem update
- Added more laptops subsystem id's that have STAC9228 DMIC support.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Add support of HP Thin Client T5735
- Added the support of HP Thin Client T5735 [0x103c 0x302f] with ALC262 codec.
- Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- - hda-codec - Add model=hp-tc-t5735 for ALC262
- Added the missing model string for the new support of HP TC T5735.
- - hda-codec - Check PINCAP only for PIN widgets
- The recent addition of checking PINCAP for EAPD seems to break some
- systems due to unexpected response from the codec chip. We shouldn't
- issue GET_PINCAP verb to non-PIN widgets. Now checks the widget type
- before checking EAPD bit.
- - hda-codec - Fix AD1986A Lenovo auto-mute
- The jack detection bit on AD1986A Lenovo N100 seems inverse from
- the standard definition. Now fixed the detection properly.
- - hda-codec - Add missing eeepc-p701 model for ALC662
- Added the missing model string "eeepc-p701" for ALC662 codec.
- - hda-codec - Improve the auto-configuration
- Some small improvements on autocfg stuff:
- - sort HP pins by sequence number, too
- - move sole mic pin to AUTO_PIN_MIC instead of AUTO_PIN_FRONT_MIC
- - ditto for line-in pin
HDA Intel driver
- - hda-intel - Make azx_get_response() a bit more robust
- In azx_[rirb_]get_response(), the timeout is checked at the end of the loop.
- It's better to be checked just after the check of the RIRB index to avoid
- a bogus error with a too long msleep().
- - HDA-Intel - Add support for RV6xx HDMI audio
- This patch is to add R6xx HDMI audio support. Meanwhile, the device ID
- in the previous patch is changed.
- I have checked the patch from Herton Ronaldo Krzesinski, it's right as
- our spec said. :)
- Signed-off-by: Wolke Liu <Wolke.Liu@amd.com>
- Signed-off-by: Andrea Zhang <Andrea.Zhang@amd.com>
- - snd hda suspend latency: shorten codec read
- not sleeping for every codec read/write but doing a short udelay and
- a conditional reschedule has cut suspend+resume latency by about 1
- second on my T60.
- Signed-off-by: Ingo Molnar <mingo@elte.hu>
- - hda-intel - Support multiple devices
- It turned out that there can be multiple HD-audio devices on a single
- machine (e.g. on-board audio and HDMI on graphic cards), so we need to
- support multiple devices with snd-hda-intel driver.
- - HDA-Intel - Add support for RV610/RV630 HDMI audio
- The Audio interface on HD2400/HD2600 cards isn't currently detected by
- snd-hda-intel. I added missing pci device ids for RV610 and RV630, but
- I only had a HD2400 pro card to test, where now the audio interface is
- detected (and no need to change patch_atihdmi.c, as the codec vendor id
- remains 0x1002aa01 for which we already have an entry there). I also
- couldn't test if sound pass-trough is ok (and I don't know how to), but
- at least now the device is detected.
- Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
- - HDA - enable snoop on SCH
- This patch enables snoop on Intel SCH chipset, eliminating static during
- playback.
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- - hda_intel: Fix multiple device support by incrementing device count
- Fixes multiple device support by incrementing the static device counter
- at the end of the azx_probe() call. Without this, subsequent probes would
- always use the index specified for the first card.
- Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- - HDA: Enable chipset gcap usage
- This patch removes hardcoded values for the number of streams supported
- by the southbridge in most chipsets, and reads these values from the
- chipset directly. Most systems are hardwired for 4 streams in each
- direction, but newer chipsets change that capability.
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- - hda-intel - Add ratelimit to timeout messages
- Signed-off-by: Marc Boucher <marc@linuxant.com>
- - hda_intel: ALSA HD Audio patch for Intel ICH10 DeviceID's
- This patch adds the Intel ICH10 HD Audio Controller DeviceID's.
- Signed-off-by: Jason Gaston <jason.d.gaston@intel.com>
- - hda-intel - Add workarounds for STAC codecs
- Some machines with STAC codecs seem to have problems (e.g. no audible
- playback) when the delay in codec-read routine is too short.
- I still don't figure out which command sequence causes this problem
- (due to lack of test hardware), but it's known that increasing the
- delay fixes. So, added a stupid workaround here temporarily...
- - HDA-Intel - Add support for Intel SCH
- This patch adds support for Intel's SCH mobile chipset.
- Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
HDA generic driver
- - hda_proc - Add a number of new settings to proc codec output
- This patch adds additional output to the /proc codec#X info.
- The following pieces of information are added to the output:
- - Balanced, L/R swap, trigger, impedance sense pin capabilities
- - Vref pin capabilities
- - Current Vref pin widget control setting
- - Default configuration association, sequence, and misc bit test
- - EAPD/BTL bits conveying balanced mode, EAPD, and L/R swap
- - Power state modified to show state name as well as setting vs actual value
- - GPIO parameter output on Audio Function Group, including enumeration of IO
- pins which are indicated present (Any I and O pins are not output at this
- time)
- - Stripe and L/R swap widget capabilities
- - All digital converter bits: enable, validity, validity config, preemphasis,
- copyright, non-audio, professional, generation level, and content category
- - Converter stream and channel values for in/out widgets
- - SDI select value for in widgets
- - Unsolicited response widget capability tag and enabled bit
- - Delay widget capability value
- - Processing widget capability benign bit and number of coefficients
- - Realtek Define Registers: processing coefficient, coefficient index
- [Also, fixed space/tab issues and make codes a bit more readable
- -- Takashi]
- Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
- - hda-intel - Show more volume-knob attributes
- Show more attributs of volume-knob widgets.
- Also don't put empty lines when no connection list is found.
- - hda-codec - Fix build without CONFIG_SND_HDA_GENERIC
- Fixed the build error from patch_sigmatel.c when built without
- CONFIG_SND_HDA_GENERIC by defining a dummy function to return error.
- Also, clean up hda_codec.c by removing unneeded ifdefs (the compiler
- will optimize out).
- - hda-codec - Disable shared stream on AD1986A
- AD1986A has a hardware problem that it cannot share a stream with
- multiple pins properly. The problem occurs e.g. when a volume is changed
- during playback.
- So far, hda-intel driver unconditionally assigns the stream to multiple
- output pins in copy-front mode, and this should be avoided for AD1986A
- codec.
- The original fix patch was by zhejiang <zhe.jiang@intel.com>.
- - hda-codec - Show more information in proc file
- Show the current EAPD status and volume-knob status in proc file.
- - hda-codec - Fix possible array overflow
- dac_nids arrays in each codec support code may have up to 5 items
- when assigned from the auto-configurator. Some codec codes have
- less numbers than the possible max. This patch defines the constant
- and fixes the array definitions.
- - Add virtual master control helpers
- Added helper functions to implement virtual master volume controls.
- The virtual master control is a control element that has multiple
- slave controls. The value of master element is equally added to
- slave elements.
- The functions are written for general purpose, but it's put in the
- HD-audio directory as now, since HD-audio driver is the only user.
- It should be moved to the common place once after other drivers use
- vmaster.
- - hda-codec - Add virtual master controls
- Add master controls using vmaster to codecs that have no real hardware
- master volume registers.
- - Add vmaster build stub
- - hda: Added mono_out_pin to autoconfig
- Added a mono_out_pin field to autocfg struct, and code to parse
- for the mono_out_line.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda: Add dynamic mono mixer support for STAC92xx codecs
- Allows for dynamically creating mono out mixer controls and well
- as mono mux controls.
- Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
- - hda-codec - Don't query widget parameter for invalid NID
- Don't query a widget parameter for an invalid NID in get_wcaps() but
- rather returns zero (i.e. no attribute).
- The read to an non-existing widget may result in a fatal codec
- communication error.
HPE timer driver
- - Add manual inclusion of adriver.h
- Since sound/driver.h is removed from alsa-kernel tree, we need to include
- adriver.h manually in the alsa-driver build stubs.
ICE1712 driver
- - ice1712, ice1724 - Code clean up
- Clean up ice1712/ice1724 codes. The board-specific data is allocated
- locally in each code instead of having an ungly union in struct ice1712.
- Also, fix coding issues in prodigy_hifi.c.
- - switching rate in STAC9460 codec of Prodigy192
- * support for switching rate in STAC9460 - using set_rate_val of the akm
- infrastructure
- * listing all STAC9460 registers in proc
- * disabling mpu401 device for Prodigy192 - otherwise the currently
- flawed mpu401 code hangs kernel when opening the midi device
- * removing old unused commented-out code
- Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- - ice1724 - Add missing prodigy_hifi.h
- Signed-off-by: Julian Scheel <julian@jusst.de>
- Signed-off-by: Konstantin Kletschke <konsti@ku-gbr.de>
- - ice1724 - Check value ranges in ctl callbacks
- Check the value ranges in ctl put callbacks properly.
- Also fixed the wrong access type to enum elements in aureon.c.
- - ice1724 - Clean up ctl callbacks in se.c
- Clean up ctl callbacks of SE-200PCI driver. Also make sure to check
- the value ranges.
- - ice1712 - Fix word clock status control on Delta 1010LT
- The "Word Clock Status" control on Delta 1010LT checks the CS8427
- error register too strictly and almost always returns 1 (unlocked).
- It should check only the lock status bit.
- - ice1724 - Add support of Onkyo SE-90PCI and SE-200PCI
- Added the support for Onkyo SE-90PCI and SE-200PCI boards.
- Signed-off-by: Shin-ya Okada <sh_okada at d4.dion.ne.jp>
- - Add se.c skelton file for snd-ice1724 driver
- - ICE1724: Added support for Audiotrak Prodigy 7.1 HiFi & HD2, Hercules Fortissimo IV
- See ALSA bug#2384 for more details.
- Signed-off-by: Julian Scheel <julian@jusst.de>
- Signed-off-by: Konstantin Kletschke <konsti@ku-gbr.de>
- - Added pci/ice1712/prodigy_hifi.c for recent alsa-kernel change
- - ice1712 - fixed midi input for Hoontech C-Ports
- See ALSA bug#1846 for more details.
ICE1724 driver
- - ice1712, ice1724 - Code clean up
- Clean up ice1712/ice1724 codes. The board-specific data is allocated
- locally in each code instead of having an ungly union in struct ice1712.
- Also, fix coding issues in prodigy_hifi.c.
- - I2C fix for ice1724
- adding i2c busy wait before sending device address to prevent reading
- bogus data.
- Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- - ice1724 - Enable AK4114 support for Audiophile192
- Fixed and enabled the support of AK4114 chip on Audiophile192.
- - ice1724 - Add ADC setup in set_rate callback for Audiophile192
- Added the missing GPIO setup for the AK5385A ADC codec on Audiophile192.
- - ice1724 - Add support of Onkyo SE-90PCI and SE-200PCI
- Added the support for Onkyo SE-90PCI and SE-200PCI boards.
- Signed-off-by: Shin-ya Okada <sh_okada at d4.dion.ne.jp>
- - ICE1724: Added support for Audiotrak Prodigy 7.1 HiFi & HD2, Hercules Fortissimo IV
- See ALSA bug#2384 for more details.
- Signed-off-by: Julian Scheel <julian@jusst.de>
- Signed-off-by: Konstantin Kletschke <konsti@ku-gbr.de>
IOCTL32 emulation
- - Fix build with older kernels
- Replaced the old SNDRV_PCM_IOCTL_TSTAMP with the new SNDRV_PCM_IOCTL_TTSTAMP.
- - Add SNDRV_PCM_IOCTL_TSTAMP back
- Re-add the replaced ioctl for older alsa-lib.
- - Fix a typo of adriver.h
ISA DMA
- - Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
Instrument layer
- - Remove sequencer instrument layer
- Remove sequencer instrument layer from the tree.
- This mechanism hasn't been used much with the actual devices. The only
- reasonable user was OPL3 loader, and now it was rewritten to use hwdep
- instead. So, let's remove the rest of rotten codes.
- - Remove sequencer instrument layer
- Remove the alsa-driver build stub for sequencer instrument layer.
Intel8x0 driver
- - intel8x0 - Add quirk for Acer Travelmate 2310
- Added ac97_quirk=hp-only for Acer Travelmate 2310.
- ALSA bug#3656
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3656
- - sound/pci: Drop unnecessary continue
- Continue is not needed at the bottom of a loop.
- The semantic patch implementing this change is as follows:
- @@
- @@
- for (...;...;...) {
- ...
- if (...) {
- ...
- - continue;
- }
- }
- Signed-off-by: Julia Lawall <julia@diku.dk>
KORG1212 driver
- - sound/pci: remove duplicated defines
- Remove duplicated defines.
- (From their use it looks like 'midiDataOutx are written to
- rather than read from.)
- Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
- - pci - check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in the rest of
- PCI drivers.
MAINTAINERS file
- - Update MAINTAINERS for ALSA SoC
- Add myself as a point of contact for the ALSA SoC subsystem and add a
- reference to the development GIT tree.
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - 2.6 kernel sync
MIPS AU1x00 driver
- - Fix misspellings of "system", "controller", "interrupt" and "necessary".
- Fix the various misspellings of "system", controller", "interrupt" and
- "[un]necessary".
- Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
MIXART driver
- - mixart - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly.
- Also fixed some coding style issues around that.
MPU401 UART
- - mpu401: fix recursive locking in timer
- When the output and input ports are used at the same time, the timer can
- be interrupted by the hardware interrupt, so we have to disable
- interrupts when we take a lock in the timer.
Maestro3 driver
- - sound/pci: remove line duplications in defines
- Remove line duplications in defines.
- Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
- Acked-by: Thomas Sailer <sailer@ife.ee.ethz.ch>
Memalloc module
- - fix SND_MEM_PROC_FILE on 2.2 kernels
- The SND_MEM_PROC_FILE symbol does not exist on 2.2 kernels, so we have
- to protect the remove_proc_entry() call, too.
- - Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
- - Disable memalloc proc file for older kernels
- ... otherwise we get build errors.
- - sound/core/memalloc.c: Add missing pci_dev_put
- There should be a pci_dev_put when breaking out of a loop that iterates
- over calls to pci_get_device and similar functions.
- In this case, the return under the initial if needs a pci_dev_put in the
- same way that the return under the subsequent for loop has a pci_dev_put.
- This was fixed using the following semantic patch.
- // <smpl>
- @@
- type T;
- identifier d;
- expression e;
- @@
- T *d;
- ...
- while ((d = \(pci_get_device\|pci_get_device_reverse\|pci_get_subsys\|pci_get_class\)(..., d)) != NULL)
- {... when != pci_dev_put(d)
- when != e = d
- (
- return d;
- |
- + pci_dev_put(d);
- ? return ...;
- )
- ...}
- // </smpl>
- Signed-off-by: Julia Lawall <julia@diku.dk>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
OLD headers
- - Salvage old seq instrument layer codes
- Salvate old sequencer instrument layer codes to "old" directory,
- just for good and old memories.
OPL3
- - opl3 - Fix compilation without sequencer support
- Add proper ifdef's to the patch loading code moved from the old instr
- layer so that opl3 driver can be compiled without the sequencer support.
- - opl3 - Use hwdep for patch loading
- Use the hwdep device for loading OPL2/3 patch data instead of the
- messy sequencer instrument layer.
- Due to this change, the sbiload program should be updated, too.
- - opl3 - simplify exclusive access lock
- Use the exclusive access lock in hwdep instead of the own one.
- - opl3 - Fix build errors
- I applied a wrong patch for 'opl3 - simplify exclusive access lock'.
- Fixed now.
- - Fix misspellings of "system", "controller", "interrupt" and "necessary".
- Fix the various misspellings of "system", controller", "interrupt" and
- "[un]necessary".
- Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
Opti9xx drivers
- - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly (in the rest drivers).
- - This patch adds support for a wavetable chip on
- the BTC 1817DW board.
- The QS1000 is connected through the digital input
- to the Opti931 chip.
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- - fix opti9xx/miro section mismatch
- snd_opti93x_mixer() is only called by __devinit snd_opti93x_probe(),
- so the former can also be __devinit.
- snd_miro_mixer() is only called by __devinit snd_miro_probe(),
- so the former can also be __devinit.
- sound/isa/opti9xx/opti92x-ad1848.c:
- WARNING: vmlinux.o(.text+0xf91cd7): Section mismatch: reference to .init.data:snd_opti93x_controls (between 'snd_opti93x_mixer' and 'snd_card_opti9xx_free')
- WARNING: vmlinux.o(.text+0xf91d66): Section mismatch: reference to .init.data:snd_miro_controls (between 'snd_opti93x_mixer' and 'snd_card_opti9xx_free')
- opti9xx/miro.c:
- WARNING: vmlinux.o(.text+0xf926c2): Section mismatch: reference to .init.data:snd_miro_controls (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf926e5): Section mismatch: reference to .init.data:snd_miro_eq_controls (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf926f9): Section mismatch: reference to .init.data:snd_miro_line_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf92716): Section mismatch: reference to .init.data:snd_miro_amp_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf9273e): Section mismatch: reference to .init.data:snd_miro_preamp_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf92764): Section mismatch: reference to .init.data:snd_miro_capture_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf92783): Section mismatch: reference to .init.data:snd_miro_radio_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf9279a): Section mismatch: reference to .init.data:snd_miro_eq_controls (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- WARNING: vmlinux.o(.text+0xf927b9): Section mismatch: reference to .init.data:snd_miro_radio_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
PCI drivers
- - sis7019: support the SiS 7019 Audio Accelerator
- Basic audio support for the SiS 7019 Audio Accelerator as found in the
- SiS 55x SoC. There is currently no synth support at the moment, but
- audio playback and capture with two periods per buffer has seen
- extensive use. Arbitrary period and buffer sizes (with multiple periods
- per buffer) have seen light testing, but are believed to be production
- ready.
- Signed-off-by: David Dillow <dave@thedillows.org>
- - oxygen: TempoTec HiFier is probably not supported
- The TempoTec HiFier has a somwhat different architecture; remove it from
- the list of cards that are known to be supported.
- - virtuoso: fix build on 2.2 kernels
- - cmi8788: driver rewrite
- complete rewrite; still incomplete
- - oxygen: move to kernel tree
- Move the oxygen and virtuoso drivers to the kernel tree.
- - add CMI8788 driver
- Add the snd-oxygen driver for the C-Media CMI8788 (Oxygen) chip, used on
- the Asound A-8788, AuzenTech X-Meridian, Bgears b-Enspirer,
- Club3D Theatron DTS, HT-Omega Claro, Razer Barracuda AC-1,
- Sondigo Inferno, and TempoTec HIFIER sound cards.
- - add Asus Xonar driver
- Add the snd-virtuoso driver for the Asus Virtuoso 200 chip used on the
- PCI and PCI-E models of the Xonar sound card.
PDAudioCF driver
- - Add missing device link
- Added the missing link to struct device from the card instance.
- - Remove obsolete patches
- Remove obsolete patches that still remain in the tree.
PDPlus driver
- - pdplus - Avoid conflict of BIT_MASK macro
- 2.6.24 kernel has a system-defined BIT_MASK macro.
PPC AWACS driver
- - powermac - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in snd-powermac
- driver.
PPC Beep
- - powermac - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in snd-powermac
- driver.
- - get rid of input BIT* duplicate defines
- get rid of input BIT* duplicate defines
- use newly global defined macros for input layer. Also remove includes of
- input.h from non-input sources only for BIT macro definiton. Define the
- macro temporarily in local manner, all those local definitons will be
- removed further in this patchset (to not break bisecting).
- BIT macro will be globally defined (1<<x)
- Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
PPC Burgundy driver
- - powermac - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in snd-powermac
- driver.
PPC DACA driver
- - powermac - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in snd-powermac
- driver.
PPC Keywest driver
- - i2c: Kill rogue driver IDs
- I2C driver IDs are optional, so if you don't need one, just omit it.
- Signed-off-by: Jean Delvare <khali@linux-fr.org>
PPC PMAC driver
- - snd-powermac: handle dead DMA transfers
- This patch provides the snd-powermac sound driver with the ability to handle
- dead DMA transfers. If a dead DMA transfer is detected, the driver now sets
- up a new DMA transfer to continue with the sound output at the point where the
- old transfer died.
- This dead DMA transfer handling has become necessary with recent kernels on
- certain G4 PowerMacs. Please refer to the following URLs for more information:
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3126
- https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/87652
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436723
- The patch is based on the dead DMA transfer handling code from the old dmasound
- driver which can be found in the file sound/oss/dmasound/dmasound_awacs.c in
- the Linux source code.
- Signed-off-by: T. H. Huth <th.huth@googlemail.com>
PPC PS3 driver
- - Add missing device link
- Added the missing link to struct device from the card instance.
PPC Tumbler driver
- - powermac - Fix typos
- The kernel build fails, with following error
- CC sound/ppc/tumbler.o
- sound/ppc/tumbler.c: In function ‘snapper_get_capture_source’:
- sound/ppc/tumbler.c:812: error: ‘union <anonymous>’ has no member named ‘value’
- sound/ppc/tumbler.c: In function ‘snapper_put_capture_source’:
- sound/ppc/tumbler.c:824: error: ‘union <anonymous>’ has no member named ‘enueme\
- rated’
- make[2]: *** [sound/ppc/tumbler.o] Error 1
- make[1]: *** [sound/ppc] Error 2
- make: *** [sound] Error 2
- Signed-off-by: Kamalesh Babulal <kamalesh@linx.vnet.ibm.com>
PXA Mainstone driver
- - 2.6 kernel sync (rest)
RME HDSP driver
- - hdsp - Fix section mismatch
- Removed invalid __devinit from hdsp_request_fw_loader() and
- snd_hwdep_create_hwdep() that aren't always init functions.
- - sound/pci: remove duplicated defines
- Remove duplicated defines.
- (From their use it looks like 'midiDataOutx are written to
- rather than read from.)
- Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
- - hdsp - Fix zero division
- Fix zero-division bug in the calculation dds offset.
- - sound: fix rme9652 section mismatch
- Fix section mismatch in hdsp: snd_hdsp_proc_init() can be called from
- an ioctl at any time.
- WARNING: vmlinux.o(.text+0x1089bc2): Section mismatch: reference to .init.text: (between 'snd_hdsp_create_alsa_devices' and 'snd_hdsp_free')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
- - hdsp: make Multiface II work again
- This device has io_type == 1 (Multiface) and firmware_rev > 0xa
- (fixes regression from changeset 5326)
- Signed-off-by: Andreas Degert <ad@papyrus-gmbh.de>
RME96 driver
- - pci - check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly in the rest of
- PCI drivers.
Raw OPL FM
- - opl3 - Use hwdep for patch loading
- Use the hwdep device for loading OPL2/3 patch data instead of the
- messy sequencer instrument layer.
- Due to this change, the sbiload program should be updated, too.
SAA7134 driver
- - V4L/DVB (6666): saa7134-alsa: fix period handling
- The period handling in saa7134-alsa is broken in two ways. First, the
- minimum number of periods of two does not work, because the dma is setup
- two periods ahead in the irq handler. Fix the minimum to four periods.
- Second, the code assumes that the number of periods is divisible by two,
- which isn't always the case on ALSA. Fix by adding a constraint.
- Signed-off-by: Heikki Lindholm <holindho@cs.helsinki.fi>
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- - V4L/DVB (6690): saa7134: fix ignored interrupts
- The saa7134 video driver starts dropping frames when used together with the
- saa7134-alsa driver. Frames are dropped because when an audio event is waiting
- the driver simply ignores the interrupt and passes it on to the saa7134-alsa
- interrupt handler. The alsa interrupt handler in turn acknowledges all types
- of events thus clearing the pending video events as well. Fix by only masking
- out the audio event in the video interrupt handler and by only acknowledging
- the audio event in the alsa driver.
- Signed-off-by: Heikki Lindholm <holindho@cs.helsinki.fi>
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- - V4L/DVB (6623): remove saa7134-oss
- The saa7134-oss is deprecated for quite some time, it's the only remaining OSS
- user outside of sound/oss/, and considering how few and what kind of
- soundcards are left supported by OSS I hardly see any use cases left.
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- - 2.6 kernel sync (rest)
SB16/AWE driver
- - sb16 - Suppress compile warning
- sound/isa/sb/sb16_csp.c: In function ‘snd_sb_csp_new’:
- sound/isa/sb/sb16_csp.c:121: warning: ‘version’ may be used uninitialized in this function
SC6000 (CompuMedia ASC-9308 + AD1848) driver
- - sound/isa: Add missing "space"
- Signed-off-by: Joe Perches <joe@perches.com>
SIS7019 driver
- - sis7019: support the SiS 7019 Audio Accelerator
- Basic audio support for the SiS 7019 Audio Accelerator as found in the
- SiS 55x SoC. There is currently no synth support at the moment, but
- audio playback and capture with two periods per buffer has seen
- extensive use. Arbitrary period and buffer sizes (with multiple periods
- per buffer) have seen light testing, but are believed to be production
- ready.
- Signed-off-by: David Dillow <dave@thedillows.org>
- - sis7019: add support to driver package
- The sis7019 driver uses __ffs(), which first became available in kernel
- 2.5.2.6. This adds that compatibility function for x86 to adriver.h,
- and adds a more useful error message for other platforms that try to use
- it.
- Signed-off-by: David Dillow <dave@thedillows.org>
SPARC DBRI driver
- - dbri - Fix broken change for value range checks
- The last patch for value range checks included a broken merge result.
- Now fixed properly.
SPARC cs4231 driver
- - This simplifies and fixes waiting loops of the mce_down()
- function after Trent Piepho's patch for AD1848.
- It also makes busy_wait() function call not atomic.
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Serial BUS drivers
- - Check value range in ctl callbacks
- Check the value ranges in ctl put callbacks properly (in the rest drivers).
- - Update tea575x-tuner patch
- Since 2.6.24-rc1, hardware field is removed.
SoC Audio for the Samsung S3C24XX chips
- - add s3c2412 build stub
- - s3c2443-ac97: compilation fix
- The Samsung S3C24xx uses new architecture file layout in the post 2.6.23
- kernel. This patch fixes include path for the s3c2443-ac97.c.
- Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- - soc - ln2440sbc ac97 support
- This patch adds ac97 support for ln2440sbc board from LittleChips.
- This board is based on s3c2440 SoC + AC97 Realtek ALC650 codec.
- Existing s3c2443 implementation is slightly modified because s3c2440
- and s3c2443 have different AC97 interrupts.
- Signed-off-by: Ivan Kuten <ivan.kuten@promwad.com>
- - Add stub for the new ln2440sbc_alc6550 driver
- - sound: Use time_before, time_before_eq, etc.
- The functions time_before, time_before_eq, time_after, and time_after_eq
- are more robust for comparing jiffies against other values.
- A simplified version of the semantic patch making this change is as follows:
- (http://www.emn.fr/x-info/coccinelle/)
- // <smpl>
- @ change_compare_np @
- expression E;
- @@
- (
- - jiffies <= E
- + time_before_eq(jiffies,E)
- |
- - jiffies >= E
- + time_after_eq(jiffies,E)
- |
- - jiffies < E
- + time_before(jiffies,E)
- |
- - jiffies > E
- + time_after(jiffies,E)
- )
- @ include depends on change_compare_np @
- @@
- #include <linux/jiffies.h>
- @ no_include depends on !include && change_compare_np @
- @@
- #include <linux/...>
- + #include <linux/jiffies.h>
- // </smpl>
- Signed-off-by: Julia Lawall <julia@diku.dk>
- - soc - Reinitialise DMA on every resume
- This one changes the DMA initialisation as it turns out the DMA driver
- in s3c24xx doesnt store registers between suspend/resume so you have
- to re-initialise the channels on every resume.
- Signed-off-by: Graeme Gregory <graeme@openmoko.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - soc - Support suspend and resume of the I2S interface on s3c24xx
- Signed-off-by: Graeme Gregory <graeme@openmoko.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - ASoC: S3C2412 IIS driver
- S3C2412 SoC IIS support for ALSA/ASoC
- Signed-off-by: Ben Dooks <ben-linux@fluff.org>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - S3C2412: suspend and resume support
- Support for suspend/resume for the S3C2412 ASoC IIS
- core driver.
- Signed-off-by: Ben Dooks <ben-linux@fluff.org>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - neo1973: ASoC include pathname fix
- Fix s3c24xx include file path changes in asoc driver
- Signed-off-by: Harald Welte <laforge@openmoko.org>
- - i2c: normal_i2c can be made const (remaining drivers)
- Signed-off-by: Jean Delvare <khali@linux-fr.org>
SoC Codec CS4270
- - cs4270: wrong sample rate when CONFIG_SND_SOC_CS4270_VD33_ERRATA is set
- When CONFIG_SND_SOC_CS4270_VD33_ERRATA is set, there was a mismatch between
- the mclk_ratios[] and cs4270_mode_ratios[] arrays. The two arrays have been
- merged and code has been shuffled. One side effect is that the
- cs4270_set_dai_sysclk() and cs4270_set_dai_fmt() functions are available only
- if I2C has been enabled.
- Signed-off-by: Timur Tabi <timur@freescale.com>
- - i2c: normal_i2c can be made const (remaining drivers)
- Signed-off-by: Jean Delvare <khali@linux-fr.org>
- - fix private data pointer calculation in CS4270 driver
- Fix the calculation of the private_data pointer in the CS4270 driver.
- Signed-off-by: Timur Tabi <timur@freescale.com>
SoC Codec TLV320AIC3X
- - Add missing build stub tlv320aic3x.c
- - ASoC TLV320AIC3X codec driver
- This patch adds ALSA SoC support for TI TLV320AIC3X audio codecs.
- The features that are supported:
- o Capture/Playback/Bypass.
- o 16/20/24/32 bit audio.
- o 8k - 96k sample rates.
- o codec master only mode
- o DAPM.
- Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
SoC Codec WM8731
- - soc/wm8731: Fix stereo mixer controls
- Disable the simultaneous load feature for the line in and headphone
- out volume registers. This allows left and right volume levels to
- be controlled separately.
- Signed-off-by: Ville Syrjala <syrjala@sci.fi>
SoC Codec WM8750
- - use convenient treble scale on WM8750
- On Zaurus SL-C3200 (terrier/spitz) based on WM8750, treble scale is
- inconveniently reverted (increase level = decrease treble), in opposite
- to bass scale, which uses convenient scale.
- Fix ALSA WM8750 mixer treble to use convenient treble scale (increase =
- increase treble level)
- From: Stanislav Brabec <utx@penguin.cz>
SoC Codec WM8753
- - soc - Mono voice playback volume for WM8753
- Voice playback volume is in register bits 0:2, not 4:6.
- From: Mike Montour <mail@mmontour.net>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Cc: Werner Almesberger <werner@openmoko.org>
- - soc - Initial WM8753 TLV support for capture mixer
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
SoC Codec WM9712
- - soc - Add "Mono Playback Switch" to WM9712 codec driver
- The following patch adds "Mono Playback Switch" control to WM9712 codec
- SoC driver.
- Also, it fixes Treble, Bass and Mono playback volume inversion bits.
- Signed-off-by: Mike Rapoport <mike@compulab.co.il>
- - Fix inverted Phone volume WM9712 mixer control
- Signed-off-by: Joe Sauer <jsauer@vernier.com>
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
SoC Dynamic Audio Power Management
- - soc - Add device level DAPM event
- Added a device level dapm event so that both the machine and codec are informed
- when dapm events occur.
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - ASoC TLV support
- Add TLV support to ASoC.
- Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - soc - Fix power switching support for DAPM_SWITCH widgets
- Signed-off-by: Milan plzik <milan.plzik@gmail.com>
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - soc - Clean up tabs
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - soc - Add support for passing kcontrols with events
- Signed-off-by: Laim Girdwood <lg@opensource.wolfsonmicro.com>
- - soc - Don't lock the codec list in snd_soc_dapm_new_widgets()
- snd_soc_dapm_new_widgets() takes the codec lock when adding new widgets,
- causing lockdep warnings when applications later call down through ALSA
- to adjust controls. Since widgets are only added during probe this lock
- should be unneeded so don't take it.
- Thanks to Dmitry Baryshkov <dbaryshkov@gmail.com> for reporting this issue.
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
- - include/sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
SoC Freescale
- - Add ASoC drivers for the Freescale MPC8610 SoC
- Add the ASoC drivers for the Freescale MPC8610 SoC and the MPC8610 HPCD
- reference board.
- Signed-off-by: Timur Tabi <timur@freescale.com>
- - Add soc/fsl entry
- - mpc8610: Add mmap support
- Enable mmap support in the MPC8610 ASoC driver. The driver can use ALSA's
- default mmap functionality, it was just not enabled previously.
- Signed-off-by: Timur Tabi <timur@freescale.com>
SoC Layer
- - Add ASoC drivers for the Freescale MPC8610 SoC
- Add the ASoC drivers for the Freescale MPC8610 SoC and the MPC8610 HPCD
- reference board.
- Signed-off-by: Timur Tabi <timur@freescale.com>
- - Fix lockdep warning in ASoC machine probe
- Don't take the codec mutex during machine probe until we have registered
- with ALSA, fixing a lockdep warning reported by Dmitry Baryshkov.
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
- - soc - Add device level DAPM event
- Added a device level dapm event so that both the machine and codec are informed
- when dapm events occur.
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - ASoC TLV support
- Add TLV support to ASoC.
- Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - soc - Add D1 power event to power down event sequence
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - soc - Ensure PCMs are suspended
- This fixes a bug whereby PCMs were not being suspended when the rest of the
- audio subsystem was suspended.
- Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
- - Bump ASoC core version number
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- - ASoC TLV320AIC3X codec driver
- This patch adds ALSA SoC support for TI TLV320AIC3X audio codecs.
- The features that are supported:
- o Capture/Playback/Bypass.
- o 16/20/24/32 bit audio.
- o 8k - 96k sample rates.
- o codec master only mode
- o DAPM.
- Signed-off-by: Vladimir Barinov <vbarinov@ru.mvista.com>
SoC PXA2xx E800/WM9712
- - soc - Preliminary ac97 drivers for Toshiba e800 PDAs
- Currently only the AUX channel is used (touchscreen)
- Signed-off-by: Ian Molton <spyro@f2s.com>
- Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
SoC SH7760 AC97
- - Add SUPERH depends to sound/soc/sh/Kconfig
- Currently you will see an empty "SoC Audio support for SuperH" menu
- when building for other archs (example pxa).
- This patch adds "depends on SUPERH" to remove that empty menu.
- Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
- - ASoC: sh: improve generated code for HAC module (AC97)
- Change loops in ac97_read/write functions to count down to zero
- rather than up. Gcc will then use the 'dt' (decrement-and-test) op
- instead of an increment/compare op-pair.
- Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
TEA575x tuner
- - fm801 - Add mute support for FM-only card with FM801 PCI to tuner bridge
- This is improvement of the early support of the FM-only cards where the
- fm801 chip represents the PCI to tuner bridge.
- The tuner initialization isn't included the mute on as well as mute support
- via V4L request. Proposed patch should fix this at least for 64-PCR model.
- Signed-off-by: Andy Shevchenko <andy@smile.org.ua>
- - V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field
- struct video_device used to define a .hardware field. While
- initialized on severl drivers, this field is never used inside V4L.
- However, drivers using it need to include the old V4L1 header.
- This seems to cause compilation troubles with some random configs.
- Better just to remove it from all drivers.
- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Trident driver
- - Remove sequencer instrument layer
- Remove sequencer instrument layer from the tree.
- This mechanism hasn't been used much with the actual devices. The only
- reasonable user was OPL3 loader, and now it was rewritten to use hwdep
- instead. So, let's remove the rest of rotten codes.
- - Remove sequencer instrument layer
- Remove the alsa-driver build stub for sequencer instrument layer.
- - Salvage old seq instrument layer codes
- Salvate old sequencer instrument layer codes to "old" directory,
- just for good and old memories.
USB
- - usb-caiaq - add support for Kore controller 2
- Added support for Native Instrument's Kore controller 2. This device has
- no audio but MIDI, input devices and ALSA controllers only.
- Signed-off-by: Daniel Mack <daniel@caiaq.de>
- - caiaq - add control API and more input features
- - added support for all input controllers on Native Instrument's "Kore
- controller".
- - added ALSA controls to switch LEDs on "RigKontrol 2", "RigKontrol3",
- "Audio Kontrol 1" and "Kore controller".
- - added ALSA controls to switch input mode, software lock and ground
- lift features on "Audio 8 DJ".
- Signed-off-by: Daniel Mack <daniel@caiaq.de>
- - caiaq - Fix indent in Kconfig
- Fix indent of caiaq in Kconfig to the same level as others.
- Just a tidy up.
- - caiaq - input device support must depend on CONFIG_INPUT
- Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
USB MIDI Gadget driver
- - Add ALSA-related files from 2.6.24 git tree
- Added ALSA-related kernel files to HG tree.
USB USX2Y
- - alsa: usx2y nopage
- Convert alsa usx2y driver from nopage to fault.
- Signed-off-by: Nick Piggin <npiggin@suse.de>
- - Fix patches for fault vms ops
- Regenerated patches for handling nopage ops with older kernels.
USB caiaq
- - caiaq - Fix section mismatch
- Removed invalid __devinit* causing section mismatch errors.
- - usb-caiaq - add support for Kore controller 2
- Added support for Native Instrument's Kore controller 2. This device has
- no audio but MIDI, input devices and ALSA controllers only.
- Signed-off-by: Daniel Mack <daniel@caiaq.de>
- - usb/caiaq: decrease period_bytes_min
- This patch decreases the snd_pcm_hardware->period_bytes_min field in the
- caiaq/usb audio driver. The hardware can actually handle as few as 128
- bytes, depending on the system. So it makes no sense to keep
- applications from actually using such values.
- Signed-off-by: Daniel Mack <daniel@caiaq.de>
- - caiaq - add control API and more input features
- - added support for all input controllers on Native Instrument's "Kore
- controller".
- - added ALSA controls to switch LEDs on "RigKontrol 2", "RigKontrol3",
- "Audio Kontrol 1" and "Kore controller".
- - added ALSA controls to switch input mode, software lock and ground
- lift features on "Audio 8 DJ".
- Signed-off-by: Daniel Mack <daniel@caiaq.de>
- - Add caiaq-control.c stub to build
- - caiaq - remove ifdef
- Remove ifdef and fix Makefile for conditional builds.
- - Fix build of usb-caiaq driver with older kernels
- - sound: fix caiaq section mismatches
- Fix section mismatch in caiaq: these __devinit functions can be
- called at any time so they should not be __devinit.
- WARNING: vmlinux.o(.text+0x10a8dae): Section mismatch: reference to .init.text:snd_usb_caiaq_audio_init (between 'setup_card' and 'create_card')
- WARNING: vmlinux.o(.text+0x10a8dd6): Section mismatch: reference to .init.text:snd_usb_caiaq_midi_init (between 'setup_card' and 'create_card')
- Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
- - get rid of input BIT* duplicate defines
- get rid of input BIT* duplicate defines
- use newly global defined macros for input layer. Also remove includes of
- input.h from non-input sources only for BIT macro definiton. Define the
- macro temporarily in local manner, all those local definitons will be
- removed further in this patchset (to not break bisecting).
- BIT macro will be globally defined (1<<x)
- Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
- - caiaq - misc input handling fixes
- - link input device with its parent so that it placed in proper spot
- in sysfs hierarchy
- - drivers that allow changing their keymaps should use private copy
- of the keymap so that one instance of a device does not affect
- another instance
- - it is preferred for drivers to properly set up input_dev->phys to
- help userspace locate devices
- - drivers should use usb_to_input_id(), or perform endianess conversion,
- themselves, otherwise ID is not correct on big-endian boxes
- - whitespace and formatting cleanup
- Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
- Acked-by: Daniel Mack <daniel@caiaq.de>
USB generic driver
- - usb audio suspend support
- This patch implements suspend/resume support for USB audio devices.
- It works with the microphone in my camera.
- Signed-off-by: Oliver Neukum <oneukum@suse.de>
- - Regenerate usbaudio.patch for suspend support
- - race between disconnect and error handling in usbmidi
- The driver resubmits URBs from an error handler and schedules the error
- handler from the URBs' completion handlers. To reliably kill the cycle
- a flag must be used.
- Signed-off-by: Oliver Neukum <oneukum@suse.de>
- - sound/usb/usbaudio.c: fix build with CONFIG_PM=n
- sound/usb/usbaudio.c: In function 'usb_audio_suspend':
- sound/usb/usbaudio.c:3674: error: implicit declaration of function 'snd_pcm_sus\pend_all'
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- - regenerate usbaudio.patch
- Adjust usbaudio.patch for OLD_USB kernels.
- - usb-audio: Another USB mic quirk for Logitech Communicator webcam
- The patch adds the USB microphone quirk for Logitech Communicator
- (046d:08f5 Logitech, Inc.) webcam.
- Signed-off-by: Dawid Wrobel <dawid@klej.net>
- - Summary: Update patch file to stop it failing.
- - usb-audio - Fix double comment
- Remove superfluous comment line (maybe a merge failure).
- - usb-audio - SB Live24-External better handling
- This patch improves support for 'SB Live 24-bit Extarnal' USB card.
- 1) This card can go into muted state when a headphones connected or
- disconnected. So notify mixer about changes in headphone jack.
- 2) Add LED controls and procfs support just as in similar Audigy 2 NX card.
- 3) Rename 'PCM Capture' conrol to 'Mic Capture' to reflect reality:
- the card may adjust microphone input level only.
- Signed-off-by: Timofei Bondarenko <tim@ipi.ac.ru>
- - usb-audio: add UR-80 PCM quirk
- Add a quirk entry to handle Edirol UR-80 audio I/O.
USB1400 touchscreen driver
- - 2.6 kernel sync (rest)
Utils
- - add s3c2412 build stub
- - Add stub for the new ln2440sbc_alc6550 driver
- - cmi8788: driver rewrite
- complete rewrite; still incomplete
- - Mark SND_SOC_TLV320AIC3X as non-card driver in mod-deps
- - Accept XXX=YYY style dependency (somehow)
- A minimal hack to accept XXX=YYY style dependency, simply supposing that
- it's equivalent with XXX=m. If not, we'll really need a better parser.
VIA82xx driver
- - via82xx: minor optimization in snd_via82xx_free
- via82xx: minor optimization in snd_via82xx_free
- don't check X, when we just checked !X before goto
- Signed-off-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
- - via82xx - Fix quirk for Shuttle AK32VN
- Fix quirk for Shuttle AK32VN. It works better with DXS_SRC, and needs
- HP_ONLY ac97 quirk.
au88x0 driver
- - sound/: Spelling fixes
- Signed-off-by: Joe Perches <joe@perches.com>
- - Fix misspellings of "system", "controller", "interrupt" and "necessary".
- Fix the various misspellings of "system", controller", "interrupt" and
- "[un]necessary".
- Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
- Signed-off-by: Adrian Bunk <bunk@kernel.org>
pci_ids.h update
- - 2.6 kernel sync
alsa-lib
Core
- - Make local functions really local
- Rename the local functions to snd1_* so that they won't be exported
- out of alsa-lib.
- Some functions are still kept because aserver requires them. Sigh.
- - Clean up Versions file
- The entries in the current Versions file don't work as expected.
- Since the first ALSA_0.9 has already snd_* global definitions, all
- the rest are simply ignored. Some symbols (e.g. snd_hw_params_*)
- indeed work because they have explicit symver definitions, but
- ALSA_0.9.6 and later are all superfluous.
- This patch clean up these useless entries. Also, the patch restricts
- the matching patterns for _snd_* and __snd_* entries to reduce the
- unneeded export symbols.
- - Fix wrong exported functions
- The internal functions (as alias of 0.9.0rc4 variants) must be
- exported but they were wrongly listed in Versions file.
- Fixed the function names now.
- - Remove obsolete instr check in configure
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
- - Remove sequencer instrument layer
- Remove obsoleted sequencer instrument layer from alsa-lib.
- The old symbols are compiled in as default as dummy functions
- (unless --disable-old-symbols is given to configure) so that
- the old binaries can still work more or less.
- - Re-add assert.h to asoundlib.h
- Looks like many apps rely on implicit inclusion of assert.h in asoundlib.h.
- Take it back again to make them happy.
- - Add support for monotonic timestamps
- - Fix exported symbols for hooks and functions
- The functions dynamically loaded via plugin aren't fully listed
- in the exported functions in Versions file. This caused errors at
- opening devices with such plugins.
- - Change assert condition in error message handler
- Activating assert() in the default error message handler isn't always
- good for producitve systems. Make this optional and enable only when
- a special configure option is given (i.e. for explicit debugging).
- - Export dB conversion helper functions
- Export helper functions to convert dB level and range.
- snd_tlv_*dB*() are to convert dB level or range directly from TLV data.
- snd_ctl_*dB*() are to get dB level or range from a control element.
Control API
- - Make local functions really local
- Rename the local functions to snd1_* so that they won't be exported
- out of alsa-lib.
- Some functions are still kept because aserver requires them. Sigh.
- - Fix build with --disable-hwdep and co
- control.h has function declarations with hwdep or rawmidi types
- that aren't included when built without the corresponding supports.
- Add ifdef appropriately to fix this.
- - fix error code when controlC0 device has no enough permissions
- See alsa bug#3600
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
- - Remove indirect control access
- The indirect control access is removed from the kernel.
- This patch cleans the corresponding alsa-lib part.
- - Export dB conversion helper functions
- Export helper functions to convert dB level and range.
- snd_tlv_*dB*() are to convert dB level or range directly from TLV data.
- snd_ctl_*dB*() are to get dB level or range from a control element.
HWDEP API
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
Instrument API
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
- - Remove sequencer instrument layer
- Remove obsoleted sequencer instrument layer from alsa-lib.
- The old symbols are compiled in as default as dummy functions
- (unless --disable-old-symbols is given to configure) so that
- the old binaries can still work more or less.
- - Remove obsolete instr directory
Mixer API
- - Make local functions really local
- Rename the local functions to snd1_* so that they won't be exported
- out of alsa-lib.
- Some functions are still kept because aserver requires them. Sigh.
- - simple mixer: fix calculation of control range
- When calculating the value range of a control, the variables cannot be
- initialized with zero because this would prevent the minimum from having
- a value above zero or the maximum from having a value below zero.
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
- - Export dB conversion helper functions
- Export helper functions to convert dB level and range.
- snd_tlv_*dB*() are to convert dB level or range directly from TLV data.
- snd_ctl_*dB*() are to get dB level or range from a control element.
PCM API
- - revert revision 2264:23c4c0f5de40
- The rounding done when converting to smaller sample widths fails for
- saturated positive samples; in this case, the sample value overflows and
- becomes negative. We are better off without rounding, even if we then
- have quantization noise (of at most half the resolution of the least
- significant bit).
- ALSA bug#3360; Debian #437827; GNOME #436192; LP #116990; Mandriva #33908
- - Add snd_pcm_ioplug_set_state() function
- Added an exported function snd_pcm_ioplug_set_state() to change
- the PCM state of ioplug from the plugin side (e.g. from another
- thread).
- - Add deprecated attribute to obsolete functions
- Added __attribute__((deprecated)) to declarations of obsolete functions.
- - SND_PCM_TSTAMP_MMAP -> SND_PCM_TSTAMP_ENABLE change
- - Added possibility to disable also channel and format conversions + softvol.
- Unified disable option using mode bits in snd_pcm_open().
- - dmix - Enable auto format detection as default
- The direct plugins have the automatic format-detection feature but it
- wasn't enabled properly in the interface. Now you can pass the format
- "unchanged" to make the plugin detect a proper format.
- This will change the default format of some drivers, such as, HD-audio.
- - Fix a memory leak in PCM hook plugin
- - Fix wrong return values in direct plugins
- Fixed the codes returning error values that are not set properly
- via errno.
- - Fix mmap with multi plugin
- The mmap of multi plugin seems broken (for a long time!) due to its
- creation of local buffer via snd_pcm_mmap(). Since the multi plugin
- just needs to shadow the mmap buffer of each slave, it now has
- mmap_shadow=1 and its own mmap/unmap method to do shadowing.
- - Make local functions really local
- Rename the local functions to snd1_* so that they won't be exported
- out of alsa-lib.
- Some functions are still kept because aserver requires them. Sigh.
- - dmix: rename mix_areas*
- Rename all mix_areas* symbols so that they contain the sample width
- instead of some meaningless number.
- - dmix: simplify mix_areas()
- The code for the three supported sample widths is almost the same, so it
- makes sense to merge the three cases.
- - dmix: add U8 support
- Add support for direct mixing of U8 samples (for devices like some USB
- headsets or the Tux Droid).
- - Added SNDRV_PCM_IOCTL_TTSTAMP and updated PCM API version to 2.0.9
- - pcm plug plugin: remove duplicated expression
- Remove a needlessly duplicated expression.
- - pcm hw plugin: fix TTSTAMP version check
- Fix the version check that determines the availability of the TTSTAMP
- ioctl.
- - pcm hw plugin: use TSTAMP only with old drivers
- There is no need to call the TSTAMP ioctl with newer driver versions.
- - check availability of CLOCK_MONOTONIC
- Use monotonic timestamps only after checking that CLOCK_MONOTONIC is
- actually supported by the C library.
- - pcm dmix plugin: fix generic direct remixing
- In the case of the sum buffer being uninitialized, the source sample
- must be negated not only when writing to the sum but also when writing
- to the destination.
- - Add SND_PCM_TSTAMP_MMAP back
- SND_PCM_TSTAMP_MMAP is used (blidnly) by portaudio, unfortunately.
- Re-added it not to break API.
- - Add missing remix_areas_* for x86-64
- The remix_areas_* were missing the dmix x86-64 code. Added now.
- - ioplug - Fix the refinement of period_* after periods
- When changing only PERIODS after BUFFER_*, ioplug doesn't update
- the corresponding PERIOD_* parameters properly. This should fix
- ALSA bug#2601.
- - Remove ugly hack in rate plugin poll_descriptors callback
- The rate plugin has ugly hacks in poll_descriptors callback to adjust
- avail_min when partial read/write occurs. This causes often unexpected
- problems like XRUNs, especially with two-period cases.
- Let's remove that beast, it's rather harmful than useful.
- Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- - Set PCM name properly in empty and asym plugins
- The PCM name isn't set properly on empty and asym plugins due to its call
- of snd_pcm_open_slave(). Now a new function snd_pcm_open_named_slave()
- is created and make snd_pcm_open_slave() an inline function calling the
- new one with name=NULL.
- - Fix segfault with strdup(NULL) in softvol
- The last change to fix the slave name may cause a segfault when
- name=NULL is passed. Fixed now.
- - Implemented snd_pcm_rewind() for the dmix plugin
- - snd_pcm_dmix_close: raise semaphore if unable to discard
- This patch causes snd_pcm_dmix_close() to up a semaphore after downing it
- if it is unable to discard it. It prevents some deadlock that I am
- getting when a couple of applications interact and one of them closes the
- device and later re-opens it.
- From: Mike Gorse <mgorse@mgorse.dhs.org>
- - Fix gcc compile warnings
- Fix gcc compile warnings with nasty const cast. Let's use simply macros
- instead of inline functions. It's just an array access after all...
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
- - Remove PCM xfer_align
- The PCM xfer_align is a removed feature from the kernel.
- This patch cleans up the corresponding part in alsa-lib.
- - Remove sleep_min and tick
- The sleep_min and tick are removed features from the kernel.
- This patch cleans the corresponding part in alsa-lib.
- - Allow pcm slave string references for direct plugins (bug#2893).
- - Implement missing htimestamp callbacks
- Implemented the missing htimestamp callbacks for ioplug, rate and null
- plugins.
- - pcm - Limit the avail_min minimum size
- Fix avail_min if it's less than period_size. The too small avail_min
- is simply useless and the cause of CPU hog with rate plugin.
- - Fix function declarations with old PCM API
- The functions that are obsoleted in the last patches conflict with the
- old PCM API. Fixed with ifdef.
- - Add support for monotonic timestamps
- - Impemented snd_pcm_htimestamp() function.
- - Avoid (null) in printf
- Show '[builtin]' when the library name is NULL in error messages.
- - Don't use deprecated functions inside
- Use the new functions in snd_pcm_sw_params_dump().
- - Allow auto-config for dsnoop and dshare plugins
- - Fix timestamp in status in PCM direct plugins
- PCM direct plugins didn't update the timestamp properly.
- Now it always starts the slave PCM with MMAP tstamp_mode so that the
- timestamp will be being updated. When a client is set up as MMAP
- tstamp_mode as well, simply copy this slave timestamp. Otherwise
- status callback calculates the current timestamp as usual.
- - Clean up using gettimestamp()
- Introduce a new local function gettimestamp() to get the current timestamp.
- - softvol - add missing name
- softvol can be also a pass-thru when the given control already exists
- as a hardware control, and the name isn't set properly because of
- slave creation. This patch fixes it.
Rawmidi API
- - Remove assert from header files
- Putting assert in the public macros isn't good idea at all.
- Let's get rid of them.
- Also, clean up snd*_alloca() functions to use a helper macro
- instead of copy and paste.
Sequencer API
- - Remove sequencer instrument layer
- Remove obsoleted sequencer instrument layer from alsa-lib.
- The old symbols are compiled in as default as dummy functions
- (unless --disable-old-symbols is given to configure) so that
- the old binaries can still work more or less.
/include/Makefile.am
- - Remove sequencer instrument layer
- Remove obsoleted sequencer instrument layer from alsa-lib.
- The old symbols are compiled in as default as dummy functions
- (unless --disable-old-symbols is given to configure) so that
- the old binaries can still work more or less.
Configuration
- - Add the missing card alias for Prodigy71Hifi
- See ALSA bug#3735
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3735
- - dmix - Enable auto format detection as default
- The direct plugins have the automatic format-detection feature but it
- wasn't enabled properly in the interface. Now you can pass the format
- "unchanged" to make the plugin detect a proper format.
- This will change the default format of some drivers, such as, HD-audio.
- - oxygen: remove softvol plugin
- Remove the softvol plugin from all other CMI8788 devices.
- - fix memory leak in snd_config_update_r error path
- Do not forget to free the memory for the file name when a file to be
- read by snd_config_update_r() cannot be accessed.
- - alsa.conf: cosmetic change
- Add a whitespace to make the ctl.hw definition better readable.
- - oxygen: enhance configuration
- Remove the now superfluous softvol plugin from the CMI8788
- configuration, use 24-bit samples for dmix, and add an alias for the
- AV200 driver.
- - fix error path in snd_config_hook_load_for_all_cards()
- - conf: show path of any missing configuration file
- In all cases where a configuration file is not found, show an error
- message with its full path.
Documentation
- - Remove sequencer instrument layer
- Remove obsoleted sequencer instrument layer from alsa-lib.
- The old symbols are compiled in as default as dummy functions
- (unless --disable-old-symbols is given to configure) so that
- the old binaries can still work more or less.
- - Remove obsolete instr directory
- - Change assert condition in error message handler
- Activating assert() in the default error message handler isn't always
- good for producitve systems. Make this optional and enable only when
- a special configure option is given (i.e. for explicit debugging).
Error handler
- - Change assert condition in error message handler
- Activating assert() in the default error message handler isn't always
- good for producitve systems. Make this optional and enable only when
- a special configure option is given (i.e. for explicit debugging).
External PCM I/O Plugin SDK
- - Add snd_pcm_ioplug_set_state() function
- Added an exported function snd_pcm_ioplug_set_state() to change
- the PCM state of ioplug from the plugin side (e.g. from another
- thread).
- - Add support for monotonic timestamps
Kernel Headers
- - SND_PCM_TSTAMP_MMAP -> SND_PCM_TSTAMP_ENABLE change
- - Added SNDRV_PCM_IOCTL_TTSTAMP and updated PCM API version to 2.0.9
- - Remove indirect control access
- The indirect control access is removed from the kernel.
- This patch cleans the corresponding alsa-lib part.
- - Update asound_fm.h for patch loading over hwdep
- Update asound_fm.h to add the new struct and ioctl for patch loading
- over hwdep.
Simple Abstraction Mixer Modules
- - fix write in simple mixer API - python backends
Test/Example code
- - Remove obsolete seq event entries in seq-decoder
- Removed obsolete seq-devent entries in seq-decoder.
- - midiloop: use blocking mode
- Busy waiting is evil - use blocking mode when reading the actual test data.
- - Remove PCM xfer_align
- The PCM xfer_align is a removed feature from the kernel.
- This patch cleans up the corresponding part in alsa-lib.
- - Remove sleep_min and tick
- The sleep_min and tick are removed features from the kernel.
- This patch cleans the corresponding part in alsa-lib.
alsa-plugins
PulseAudio -> ALSA plugin
- - PulseAudio plugin: report XRUN state back to application
- From: Lennart Poettering <mznyfn@0pointer.de>
- It adds support to report back XRUN to the application if one
- happens. This is required to make some applications work on top of the
- pulse plugin. One being XMMS, which checks if a song finished to play
- by waiting for an XRUN (yes, I don't argue that XMMS shouldn't do
- that, but nonetheless it is a good thing if XRUNs are reported
- properly.)
- - Fix wrong assert in pulse plugin
- assert(!pcm->stream) shouldn't be checked when the PCM state is
- SETUP, too (ALSA bug#3470).
- The original patch by Mike Gorse <mgorse@mgorse.dhs.org>
- - Use different buffer metrics in the PulseAudio plugin
- It increases the "pre-buffering level" (i.e. start threshold) to the
- full buffer size minus one period. This makes PA work a little bit
- more like normal audio devices, and makes a few drop outs go away for
- software which uses very small period sizes.
- It also increases the initial maximum buffer size, which allows a
- small overcommit. That's not really an issue, but cleaner nonetheless
- so I smuggled it into this patch.
- Also reported in the ALSA BTS:
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3578
- From: Lennart Poettering <mznyfn@0pointer.de>
- - Fix unexpected assert with pulse plugin
- This patch fixes the unexpected assert call at calling snd_pcm_hw_params
- in PREPARED state. Since multiple hw_params calls are allowed, the pulse
- plugin shouldn't call assert.
- Handled in ALSA bug#3470.
- From: Sean McNamara <smcnam@gmail.com>
- - pulse - Add minmax condition for period_bytes and periods
- Added the minmax conditions for period_bytes and periods to pulse plugin.
- This fixes ALSA bug#2601.
- Patch from Mike Gorse <mgorse@mgorse.dhs.org>
alsa-utils
Core
- - alsactl - restore dB level
- When alsactl saved state has dB level information and an attribute
- of a control element is changed after save (e.g. volume range is
- changed), try to restore the values to keep the same dB level.
- This change requires the new alsa-lib functions for TLV dB
- conversion, so we check it in configure (until AM_PATH_ALSA(1.0.16)
- works).
ALSA Control (alsactl)
- - alsactl - Fix wrong restore
- Fix a bug in alsactl that restores wrong values for elements with
- multiple channels (counts).
- - alsactl: skip inactive controls
- When using alsactl to save or restore the card settings, it currently
- skips over controls that don't have the appropriate read/write
- permissions. It should also skip over inactive controls, otherwise it
- will get an error when it tries to access that control, and will fail to
- save the card state (or fully restore it.)
- From: Dave Dillow <dave@thedillows.org>
- - alsactl - fix double entry of comment.tlv
- The entry comment.tlv can be doubly written via alsactl store, and this
- results in an error. I forgot to remove the old code...
- - alsactl - Set -F option as default
- Set -F option as default for restore. There are still too many systems
- that are too lazy to set -F option...
- Added the new -P option to back to the old behavior.
- - Make alsactl restore a bit more robust
- Make "alsactl restore" a bit more robust. Now it tries to parse the
- compound items in the case that the number of channels was changed.
- The former mono-value is expanded to all channels.
- - alsactl - restore dB level
- When alsactl saved state has dB level information and an attribute
- of a control element is changed after save (e.g. volume range is
- changed), try to restore the values to keep the same dB level.
- This change requires the new alsa-lib functions for TLV dB
- conversion, so we check it in configure (until AM_PATH_ALSA(1.0.16)
- works).
Speaker Test
- - speaker-test - Fix number of periods to play
- The number of periods to play in pink and sine modes could be calculated
- as zero, which results in just silence. Make the minimal value 1.
- - speaker-test - Put errors to stderr
- Error messages should be shown in stderr.
- - Remove xfer_align
- The xfer_align is the obsolete feature now. Remove it from aplay
- and speaker-test to avoid deprecated calls.
alsamixer
- - alsamixer: add 8-channel support
- Add support for playback volume controls with 8 channels.
- This allows controlling the side channels on 7.1 devices.
aplay/arecord
- - aplay - Reset non-blocking flag before snd_pcm_drain()
- snd_pcm_drain() doesn't block when running with O_NONBLOCK.
- Reset the non-blocking mode before calling snd_pcm_drain() properly
- (and restore again for any further operations).
- - Remove sleep_min from aplay
- The sleep_min is the obsolete feature now. Remove it from aplay.
- - Remove xfer_align
- The xfer_align is the obsolete feature now. Remove it from aplay
- and speaker-test to avoid deprecated calls.
aseqnet
- - Add missing inclusion of assert.h
iecset
- - iecset: fix card index check
- Allow card indices up to 31.
- - iecset - Add -n option
- Added -n option to iecset to specify the index number of the control
- element. This is needed for handling multiple SPDIF devices.
alsa-tools
ac3dec (Dolby Digital Decoder)
- - support for dynamic 2.0/5.1 AC3 changes - bug#3441
hdspconf
- - Fix a small memleak
- Added the forgotten free. ALSA bug#3687
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3687
hdspmixer
- - hdspmixer - Fix compilation with gcc4.3
- Fixed the doubled parameter 'w'. Yeah, gcc 4.3 is picky.
- - hdspmixer - small memory leak fix
- ALSA bug#3687
- https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3687
- the hdspmixer application leaks one memory block, a c-style string
- which is obtained by snd_card_get_longname, but never freed ...
- - hdspmixer - Automatic initialization of secondary cards
- From debian bug#450805:
- We are using Hammerfall DSP cards. After booting, their audio output
- remains silent until hdspmixer is started. No interaction in the GUI
- of hdspmixer is necessary to unmute the first HDSP card; however,
- further cards are only unmuted when activating the respective GUI
- page ("2", "3"). Apparently, hdspmixer does some automatic
- initialization of the card when activating the page.
- Since we'd like to have a fully automatic startup, the following
- patch activates the page for each existing card on startup, thereby
- initializing them. There are surely more elegant solutions, but this
- patch is tested and solves the problem for us.
sbiload
- - sbiload - Rewritten to use hwdep device
- Major rewritten to use hwdep device instead of instrument layer.
- Also, more options (-c, -2, -q, -D) and better guess work for
- patch types now.
alsa-firmware
AudioScience ASIHPI Firmware
- - asihpi - update firmwares for asihpi30905
- dsp6413.bin is replaced by dsp6400.bin, dsp8713 by dsp8700.
- The irrelevant dsp2400 is removed, too.
- Also removed all dsp*.txt that are not needed.
- - asihpi firmware update for verion 3.09.09
- - add record format check for supported format.
- - ASI6500/6500 - fix issue arising from back-to-back- adapter sample rate
- changes.
- - ASI6000 - fix rare MP3 decode bug.
- - ASI6585 - add support for clock source Livewire.
- - ASI6416 - re-order control creation.
- Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Emagic EMI 2|6 Audio Interface Firmware
- - emi26: complete license.txt
- Add a paragraph from linux/drivers/usb/misc/emi26_fw.h that was missing
- in license.txt.
alsa-python
Core
- - pyalsa.alsaseq API added
- Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
Python utilities
- - fixed print in remove-user-ctl.py
- - pyalsa.alsaseq API added
- Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
Test python scripts
- - pyalsa.alsaseq API added
- Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
pyalsa.alsahcontrol module
- - allow thread when calling handle events for mixer and hcontrol interface
- - fix alsahcontrol.Element initializer and remove compilation warnings for gcc 4.2.1
- - alsahcontrol - fix doc - elementType -> ElementType
pyalsa.alsamixer module
- - allow thread when calling handle events for mixer and hcontrol interface
pyalsa.alsaseq module
- - pyalsa.alsaseq API added
- Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>