Changes v1.0.22 v1.0.23: Difference between revisions
Jump to navigation
Jump to search
m (1 revision(s)) |
No edit summary |
(No difference)
|
Latest revision as of 00:00, 15 January 2001
Changelog between 1.0.20 and 1.0.23 releases
alsa-firmware
Core
- Release v1.0.23
AudioScience ASIHPI Firmware
- asihpi: Remove dsp4300.bin from distdir
- Updated asihpi firmware files to version 40313
- Update firmware files for asihpi to version 40304
Changelog between 1.0.22 and 1.0.23 releases
alsa-driver
Sound Core
- Release v1.0.23
- add some linux-2.4 related stuff (pgprot_noncached & linux/gfp.h)
- configure.in: More informative kernel/ALSA kernel tree directory checks
- Refresh build-stub for usb mixer refactoring
- handle more nicely new location for autoconf.h (generated/autoconf.h)
- More fixes for build errors after usb v2.0 merge
- Fix usb v2.0 builds
- configure.in: fix gcc version check
- linux/include/generated directory related changes for 2.6.33
- Release v1.0.22.1
- Add gcd() wrapper
- Fix pack target and improve newalsakernel target
- fix typo in $(ALSAKERNELFILE) target
- Change alsa-kernel/sound_core.c to ALSAKERNELFILE and add this dep to pack target
- Remove whole alsa-kernel tree before creating of symlinks
- introduce --with-alsakernel option for ./configure
ALSA Core
- Add no_llseek and nonseekable_open() wrappers for older kernels
- Refresh info.patch for BKL removal changes
- Add missing inclusion of linux/slab.h for early wrappers
- add some linux-2.4 related stuff (pgprot_noncached & linux/gfp.h)
- Add blocking_notifier_*() wrappers for older kernels
- Refresh build-stub for usb mixer refactoring
- Add missing inclusion of adriver.h in info.patch
- handle more nicely new location for autoconf.h (generated/autoconf.h)
- Fix usb v2.0 builds
- Add a wrapper for usb_interrupt_msg()
- compilation fix: double #endif in adriver.h
- Add strict_strtol() and strict_strtoll() wrappers for old kernels
- Fix WARN_ONCE() macro
- Redefine WARN_ON() and WARN_ONCE() for older distro kernels
- Define WARN_ONCE() for older kernels
- Add DEFINE_PCI_DEVICE_TABLE() wrapper
- Fix for previous commit (RHEL 5.4 support)
- RHEL 5.4 compilation changes
- linux/include/generated directory related changes for 2.6.33
- Add wrapper of subsys_initcall()
- Fix acore/misc.patch for new snd_pci_quirk_lookup_id()
- Don't define gcd() when already exists
- Fix acore/Makefile for pcm_memory.patch
- Handle __GFP_ZERO for older kernels
- Add missing EXPORT_SYMBOL() for gcd wrapper
- Add gcd() wrapper
- Add skip_spaces() wrapper
- ALSA: info - Implement common llseek for binary mode
- ALSA: info - Check file position validity in common layer
- ALSA: info - Use standard types for info callbacks
- ALSA: Remove BKL from open multiplexer
- ALSA: info - Remove BKL
- ALSA: timer - pass real event in snd_timer_notify1() to instance callback
- ALSA: Remove warning message for invalid OSS minor ranges
- ALSA: use subsys_initcall for sound core instead of module_init
- ALSA: Add snd_pci_quirk_lookup_id()
- ALSA: sound/core/pcm_timer.c: use lib/gcd.c
SoC PXA2xx Core
- ALSA: alsa-kmirror tree & linux-2.6 tree sync 2010-04-16 (merging issues)
- ASoC: Zipit Z2 WM8750 ASoC driver
- [ARM] pxa: introduce PXA_SSP_LEGACY for legacy SSP API
- ASoC: Remove legacy SSP API usage from pxa-ssp.c
- ASoC: fix PXA SSP port resume
Control Midlevel
- Refresh patches for addition of no_llseek calls
- ALSA: core - Define llseek fops
- include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
- sound: control: fix minimum TLV length
- sound: control: actually allow TLV command access
Jack Input Event Midlevel
- ALSA: Add support for key reporting via the jack interface
- ALSA: Rename jack switch table in preparation for button support
PCM Midlevel
- Refresh patches for addition of no_llseek calls
- Refresh pcm_native.patch
- Handle __GFP_ZERO for older kernels
- ALSA: core - Define llseek fops
- ALSA: pcm - Remove BKL from async callback
- ALSA: pcm_lib - fix xrun functionality
- ALSA: provide a more useful get_unmapped_area handler for pcm
- ALSA: pcm core - fix fifo_size channels interval check
- ALSA: pcm_native - fix runtime->boundary calculation
- ALSA: pcm_lib - return back hw_ptr_interrupt
- ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- ALSA: pcm - Remove unneeded ifdef pgprot_noncached
- ALSA: pcm_core: Fix wake_up() optimization
- ALSA: pcm_lib - fix wrong delta print for jiffies check
- ALSA: pcm_lib: fix "something must be really wrong" condition
- ALSA: pcm_lib - optimize wake_up() calls for PCM I/O
- ALSA: pcm_lib - cleanup & merge hw_ptr update functions
- ALSA: pcm_lib - add possibility to log last 10 DMA ring buffer positions
- ALSA: pcm_lib.c - convert second xrun_debug() parameter to use defines
- ALSA: Fix indentation in pcm_native.c
- ALSA: sound/core/pcm_timer.c: use lib/gcd.c
- ALSA: refine rate selection in snd_interval_ratnum()
- ALSA: pcm - Add missing inclusion of linux/vmalloc.h
- ALSA: fix incorrect rounding direction in snd_interval_ratnum()
- sound: pcm: add vmalloc buffer helper functions
RawMidi Midlevel
- Refresh patches for addition of no_llseek calls
- ALSA: core - Define llseek fops
Timer Midlevel
- ALSA: timer - pass real event in snd_timer_notify1() to instance callback
/include/Makefile
- headers: handle include/linux/usb in mrproper target
/isa/Makefile
- Remove obsolete dt019x.c again
- introduce --with-alsakernel option for ./configure
/soc/codecs/Makefile
- ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
- ASoC: TWL6040: Add twl6040 codec driver
- ASoC: DaVinci: CQ93VC Voice Codec
- ASoC: Add WM2000 driver
- ASoC: Add WM8994 CODEC driver
- ASoC: add a WM8978 codec driver
- ASoC: Add initial WM8955 CODEC driver
- ASoC: Fix sorting of codecs Makefile entries
- ASoC: Add DA7210 codec device support for ALSA
- ASoC: Initial WM8904 CODEC driver
/soc/pxa/Makefile
- ASoC: Zipit Z2 WM8750 ASoC driver
/usb/misc/Makefile
- Regenerate patches and build-stubs for usb refactoring
- ALSA: usb-audio: move ua101 driver
AC97 Codec
- ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist
- ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense blacklist
- ALSA: ac97: add AC97 STMicroelectronics' codecs
- ALSA: ac97: Add Dell Dimension 2400 to Headphone/Line Jack Sense blacklist
- ALSA: ac97_codec: merge WM9703 and WM9705 ops
AD1889 driver
- sound: use DEFINE_PCI_DEVICE_TABLE
AK4113 receiver
- ALSA: i2c: cleanup: change parameter to pointer
ALI5451 driver
- sound: use DEFINE_PCI_DEVICE_TABLE
ALSA Version
- ALSA: Release v1.0.23
- ALSA: Release v1.0.22.1
- ALSA: Release v1.0.22
ALSA sequencer
- ALSA: trivial: sound seq ioctl dbg: print hexadecimal value padded with 0s
- sound: seq_timer: simplify snd_seq_timer_set_tick_resolution() parameters
ALSA<-OSS emulation
- Refresh patches for addition of no_llseek calls
- ALSA: core - Define llseek fops
- ALSA: pcm_lib - return back hw_ptr_interrupt
- ALSA: pcm_lib - cleanup & merge hw_ptr update functions
ARM AACI PL041 driver
- ALSA: aaci - Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3
- ALSA: sound/arm: Fix build failure caused by missing struct aaci definition
- ALSA: AACI: switch to per-pcm locking
- ALSA: AACI: add double-rate support
- ALSA: AACI: factor common hw_params logic into aaci_pcm_hw_params
- ALSA: AACI: cleanup aaci_pcm_hw_params
- ALSA: AACI: simplify codec rate information
- ALSA: aaci - Fix a typo
ARM PXA2XX driver
- include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
- ASoC: pxa-pcm-lib: initialize DMA channel to -1
- [ARM] pxa: remove now unnecessary pxa_gpio_mode() calls in ac97
- [ARM] pxa: introduce processor specific pxa27x_assert_ac97reset()
- [ARM] pxa: remove the unnecessary restoring of MFP registers
- const: constify remaining dev_pm_ops
ATIIXP driver
- ALSA: atiixp: Specify codec for Foxconn RC4107MA-RS2
Apple Onboard Audio driver
- include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
- of: unify phandle name in struct device_node
Asihpi driver
- ALSA: asihpi - Transform names towards linux style.
- snd-asihpi: Support mic control caching. Move an enum out of public api.
- snd-asihpi: Keep HPI buffer pointers in sync with ALSA after rewrite.
- snd-asihpi: Use adapter properties for stream buffer constraints.
- snd-asihpi: Bump lib version due to added and removed APIs
- snd-asihpi: Reinit response size for every msg/response transaction. Minor fix const ptr
- snd-asihpi: add const plus a few new defs
- asihpi - Remove obsolete comment
- asihpi - Allow mux to have up to 256 sources
- Make firmware vs driver major version mismatch an error.
- Sync with AudioScience current CVS at version 4.03.04
Atmel on-chip Audio Bitstream DAC (ABDAC)
- ALSA: AC97: add full duplex support for atmel AT91 and AVR.
- ALSA: AC97: add AC97 support for AT91.
Au12x0/Au1550 PSC ASoC
- MIPS/SOUND: Alchemy: DB1200 AC97+I2S audio support.
- MIPS: Alchemy: change dbdma to accept physical memory addresses
- MIPS: Alchemy: remove dbdma compat macros
Avance Logic ALS300/300+ driver
- sound: use DEFINE_PCI_DEVICE_TABLE
CMI8788 (Oxygen) driver
- ALSA: oxygen: change || to &&
- sound: virtuoso: add Xonar DS support
CMIPCI driver
- ALSA: cmipci: work around invalid PCM pointer
CS4281 driver
- ALSA: info - Check file position validity in common layer
- ALSA: info - Use standard types for info callbacks
CS46xx driver
- ALSA: info - Check file position validity in common layer
- ALSA: info - Use standard types for info callbacks
- ALSA: cs46xx - fix some typos
- ALSA: cs46xx - Do test writes to register AC97_REC_GAIN in
- ALSA: cs46xx: Fix cpu idling with resume
- ALSA: cs46xx - Fix suspend/resume with new DSP
CS5535 driver
- ALSA: cs5535audio: free OLPC quirks from reliance on MGEODE_LX cpu optimization
Compatibility header files
- include/sound/pcm.patch - add back hw_ptr_interrupt variable
- pcm.patch - update to recent runtime->tsleep & runtime->twake changes
- Updated include/sound/pcm.patch according latest alsa-kmirror tree
Conexant Riptide driver
- ALSA: riptide: clean up while loop
- ALSA: test off by one in setsamplerate()
Creative Sound Blaster X-Fi (20K1/20K2)
- Fix pci/ctxfi/ctatc.patch for new snd_pci_quirk_lookup_id()
- ALSA: ctxfi - fix PTP address initialization
- ALSA: ctxfi - Add subsystem option
DT019x driver
- Remove obsolete dt019x.c again
- introduce --with-alsakernel option for ./configure
Digigram VX core
- handle more nicely new location for autoconf.h (generated/autoconf.h)
- linux/include/generated directory related changes for 2.6.33
- ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- sound: vx: use vmalloc buffer helper functions
Documentation
- ALSA: hda - Update document about MSI and interrupts
- ALSA: hda-intel - remove model=hwio from documentation
- ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
- ALSA: hda-intel - add special 'hwio' model to bypass initialization
- ALSA: ua101: add Edirol UA-1000 support
- ALSA: hda - Add missing description in HD-Audio-Models.txt
- ALSA: hda - Add Macmini 3,1 support
- ALSA: hda - Add support for Lenovo IdeaPad U150
- ALSA: hda - Allow override more fields via patch loader
- ALSA: hda - Add support for Toshiba Satellite M300
- ALSA: hda - Minor fixes for Compaq Presario F700 quirk
- sound: virtuoso: add Xonar DS support
- ALSA: ctxfi - Add subsystem option
- ALSA: Fix a typo in Procfile.txt
- ALSA: jazz16: refine dma and irq selection
- ALSA: hda - Add support for the new 27 inch IMacs
EMU8000 driver
- sound: sbawe: fix memory detection part 2
- ALSA: sbawe: fix memory detection
Echoaudio driver
- Echoaudio - add suspend/resume support
- ALSA: echoaudio - Eliminate use after free
- ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50
- ALSA: Echoaudio - Add suspend support #2
- ALSA: Echoaudio - Add suspend support #1
- ALSA: Echoaudio - Add firmware cache #2
- ALSA: Echoaudio - Add firmware cache #1
GUS Library
- ALSA: info - Implement common llseek for binary mode
- ALSA: info - Check file position validity in common layer
- ALSA: info - Use standard types for info callbacks
Generic drivers
- ALSA: dummy driver - add model parameter
HDA Codec driver
- ALSA: hda - Add initial support for Thinkpad T410s HDA codec
- ALSA: hda - add a quirk for Clevo M570U laptop
- ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs
- ALSA: hda - Fix control element allocations in VIA codec parser
- ALSA: hda - Add fix-up for Sony VAIO with ALC269
- ALSA: hda - Enhance fix-up table for Realtek codecs
- ALSA: hda - Fix initial capture source connections of ALC880/260
- ALSA: hda - Fix setup for ALC269vb amic and dmic models
- ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21
- ALSA: hda: Add support for Medion WIM2160
- ALSA: hda - Remove left-over debug printk in patch_realtek.c
- ALSA: hda - Fix ALC882 DAC connections in auto mode
- ALSA: hda - Fix a wrong array range check in patch_realtek.c
- ALSA: hda - Enable amplifiers on Acer Inspire 6530G
- ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981
- ALSA: hda - introduce snd_hda_codec_update_cache()
- ALSA: hda - Add mute LED support for HP laptop with ALC269
- ALSA: hda - Add missing printk argument in previous patch
- ALSA: hda - Fix ADC/MUX assignment of ALC269 codec
- ALSA: hda - Report errors when invalid values are passed to snd_hda_amp_*()
- ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()
- ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
- ALSA: hda - Don't set invalid connection index in Realtek initialiaiton
- ALSA: hda-intel - AD1984 thinkpad - add analog beep input control
- ALSA: hda-intel - add special 'hwio' model to bypass initialization
- ALSA: hdmi - show debug message on changing audio infoframe
- ALSA: hda - Fix uninitialized variable warning in alc_auto_parse_customize_define()
- ALSA: hda - Fix access-after-free in patch_realtek.c
- ALSA: hda - Sort codec entry list of Nvidia HDMI
- ALSA: hda - Add support of Nvidia GT220 HDMI
- ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)
- ALSA: hda - Add PCI quirk for HP dv6-1110ax.
- ALSA: hda - Add alc_codec_rename() helper
- ALSA: hda - Add parse customize define function for Realtek codecs
- ALSA: hda - Take internal mic as Front Mic
- ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212
- ALSA: hda - Add PCI quirks for MSI NetOn AP1900 and Wind Top AE2220
- ALSA: hda - Fix secondary ADC of ALC260 basic model
- ALSA: hda - Add an error message for invalid mapping NID
- ALSA: hda - Fix input source elements of secondary ADCs on Realtek
- ALSA: hda - Fix wrong model range check for ALC268
- ALSA: hdmi - merge common code for intelhdmi and nvhdmi
- ALSA: hda: uninitialized variable fix
- ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
- ALSA: sound/pci/hda/hda_codec.c: various coding style fixes
- ALSA: hda - Add missing hp_pins definitions for ALC269 quirks
- ALSA: hda: Use 3stack quirk for Toshiba Satellite L40-10Q
- ALSA: hda - Add/fix ALC269 FSC and Quanta models
- ALSA: hda - Add ALC670 codec support
- ALSA: hda - remove unnecessary msleep on power state transitions
- ALSA: add support for Macbook Air 2,1 internal speaker
- ALSA: hda - Remove identical definitions for macmini3 model
- ALSA: hda - Clean up Intel Mac unsol codes
- ALSA: hda - Add Macmini 3,1 support
- ALSA: hda - Add support for Lenovo IdeaPad U150
- ALSA: hda - Fix default polarity of mute-LED GPIO on 92HD83x/88x codecs
- ALSA: hda - Remove static gpio_led setup via model
- ALSA: hda - Merge HP mute-LED status callback on both IDT 92HD7x and 8x codecs
- ALSA: hda - Detect HP mute-LED GPIO setup from GPIO counts
- ALSA: hda - Add support of ALC665
- ALSA: hda - Add ALC269VB support
- ALSA: hda - Remove superfluous init verb entries for ALC88[235]
- ALSA: hda - Fix docking output for IDT 92HD8xx codecs
- ALSA: hda - Adding support for another IDT 92HD83XXX codec
- ALSA: hda - Turn on EAPD only if available for Realtek codecs #2
- ALSA: hda - Add support for IDT 92HD88 family codecs
- ALSA: hda - Add mute LED check for HP laptops with IDT 92HD83xxx codec
- ALSA: hda - Fix index of HP Compaq F700 mic amp
- ALSA: hda - Define max number of PCM devices in hda_codec.h
- ALSA: hda - Turn on EAPD only if available for Realtek codecs
- ALSA: hda - Remove the COEF setup for ALC267/ALC268
- ALSA: hda - Remove coef output in Realtek proc files
- ALSA: hda - Change headphone pin control with master volume on cx5051
- ALSA: hda - Fix SPDIF output widget for Cxt5051 codec
- ALSA: hda - initialize mic port on cxt5051 codec dynamically
- ALSA: hda - Merge playback controls for Cx5051 codec models
- ALSA: hda - Add support for Toshiba Satellite M300
- ALSA: hda - Fix HP dv6736 capture mixer name
- ALSA: hda - Minor fixes for Compaq Presario F700 quirk
- ALSA: hda - add possibility to choose speakers configuration for 4930g
- ALSA: hda - Fix HP T5735 automute
- ALSA: hda - Fix parsing pin node 0x21 on ALC259
- ALSA: hda - AD1988 codec - fix SPDIF-input mixer initialization (unmute)
- ALSA: hda - Fix capture on Sony VAIO with single input
- ALSA: hda - Fix mute led GPIO on HP dv-series notebooks
- ALSA: hda - Fix missing capture mixer for ALC861/660 codecs
- ALSA: hda - Improved MacBook (Pro) 5,1 / 5,2 support
- ALSA: hda - Fix Toshiba NB20x quirk entry
- ALSA: hda - Fix ALC861-VD capture source mixer
- ALSA: hda - support OLPC XO-1.5 DC input
- ALSA: hda - Configure XO-1.5 microphones at capture time
- ALSA: hda - conexant - Fixed microphone mixer for HP Compaq Presario F700
- ALSA: hda: Refactor powerdown for Realtek HDA codecs
- ALSA: hda: Add powerdown for Analog Devices HDA codecs
- ALSA: hda - Use strict_strtoul()
- ALSA: hda - Add sanity check for storing the user-defined pin configs
- ALSA: hda - Fix click noises at suspend/free with Realtek codecs
- ALSA: hda - Add snd_hda_shutup_pins() helper function
- ALSA: hda - Add more hints for GPIO setup of IDT/STAC codecs
- ALSA: hda - use snd_hda_jack_detect() again in patch_sigmatel.c
- ALSA: hda - Disable tigger at pin-sensing on AD codecs
- ALSA: hda - Add STAC9205 PCI_QUIRK for Dell Vostro 1700
- ALSA: hda - Set mixer name after codec patch
- ALSA: hda - Fix NID association for capture mixers
- ALSA: hda - Add Bass Speaker switch for HP dv7
- ALSA: hda - Add support for the new 27 inch IMacs
- ALSA: hda - Fix NULL dereference with enable_beep=0 option
- ALSA: HDA: add powersaving hook for Realtek
- ALSA: HDA: remove useless mixers on Aspire 8930G
- ALSA: HDA: simplify Aspire 8930G verb array
- ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410
- ALSA: hda/realtek: Remove extra .capsrc_nids initialization for ALC889_INTEL
- ALSA: Use kzalloc for allocating only one thing
- ALSA: hda - Fix quirk for Maxdata obook4-1
- ALSA: hda - Fix NULL dereference in kctl-NID mapping in patch_realtek.c
- ALSA: hda - Fix missing capsrc_nids for ALC88x
- ALSA: hda - Make use of beep device found in Dell Vostro 1015n
- ALSA: hda - Fixed internal mic initialization for Dell Vostro 1015
- ALSA: hda - More ALC663 fixes and support of compatible chips
HDA Intel driver
- ALSA: hda - Add position_fix quirk for Biostar mobo
- ALSA: hda - Add MSI blacklist for Aopen MZ915-M
- ALSA: hda: Use LPIB for ga-ma770-ud3 board
- ALSA: hda-intel - probe_only module option is int type now
- ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
- ALSA: hda-intel - add special 'hwio' model to bypass initialization
- ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212
- ALSA: hda - Disable MSI for Nvidia controller
- ALSA: hda - New Intel HDA controller
- ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55
- ALSA: hda - Add ASRock mobo to MSI blacklist
- ALSA: hda: Use LPIB for a Biostar Microtech board
- ALSA: hda: Use LPIB for Dell Latitude 131L
- ALSA: hda - Support max codecs to 8 for nvidia hda controller
- ALSA: hda - enable snoop for Intel Cougar Point
- ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE.
- ALSA: Typo. s/distrubs/disturbs/
- ALSA: hda - Correct ASUA blacklist for MSI brokenness
- ALSA: hda - use WARN_ON_ONCE() for zero-division detection
- ALSA: hda-intel: Avoid divide by zero crash
- ALSA: cosmetic: make hda intel interrupt name consistent with others
- ALSA: hda - Delay switching to polling mode if an interrupt was missing
- ALSA: hda - Define max number of PCM devices in hda_codec.h
- ALSA: hda - Change the AZX_MAX_PCMS to 10
- ALSA: hda - Add an ASUS mobo to MSI blacklist
- ALSA: hda - Add support for more the 8 streams
- ALSA: hda_intel: ALSA HD Audio patch for Intel Cougar Point DeviceIDs
- ALSA: hda - HDMI sticky stream tag support
- ALSA: hda - Add MSI blacklist
- ALSA: hda - Check class to identify Nvidia controller chips
HDA generic driver
- Regenerate hda_intel.patch
- Fix hda_intel.patch
- ALSA: hda - Build hda_eld into snd-hda-codec module
- ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
- ALSA: hda - Allow override more fields via patch loader
- ALSA: hda - Use strict_strtoul()
- ALSA: hda - Fix Oops at reloading beep devices
- ALSA: hda - Don't cache beep controls
- ALSA: hda - Fix NID association for capture mixers
- tree-wide: convert open calls to remove spaces to skip_spaces() lib function
I2C lib core
- ALSA: i2c: Fixed 8 checkpatch errors
ICE1712 driver
- ALSA: aureon - Patch for suspend/resume for Terratec Aureon cards.
- ALSA: ice1712: fix: lock samplerate when samplerate locking is enabled
- ALSA: ice1724 - aureon - fix wm8770 volume offset
ISA
- ALSA: jazz16: Add support for Media Vision Jazz16 chipset
MIXART driver
- ALSA: info - Implement common llseek for binary mode
- ALSA: mixart: range checking proc file
MSND driver
- ALSA: Use kzalloc for allocating only one thing
Memalloc module
- handle more nicely new location for autoconf.h (generated/autoconf.h)
- linux/include/generated directory related changes for 2.6.33
OPL4
- ALSA: info - Implement common llseek for binary mode
- ALSA: info - Check file position validity in common layer
- ALSA: info - Use standard types for info callbacks
OSS device core
- ALSA: use subsys_initcall for sound core instead of module_init
Opti9xx drivers
- sound: fix opti92x-ad1848 build
- ALSA: opti92x: use PnP data to select Master Control port
PCI drivers
- sound: virtuoso: add Xonar DS support
PDAudioCF driver
- ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- sound: pdaudiocf: use vmalloc buffer helper functions
- sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
- pcmcia: remove unused IRQ_FIRST_SHARED
PPC AWACS driver
- of: add 'of_' prefix to machine_is_compatible()
PPC Burgundy driver
- of: add 'of_' prefix to machine_is_compatible()
PPC PMAC driver
- of: add 'of_' prefix to machine_is_compatible()
PPC Tumbler driver
- ALSA: powermac - Fix obsoleted machine_is_compatible()
- ALSA: powermac - Add debug log
- ALSA: powermac - Lineout detection on G4 DA
- ALSA: powermac - Reverse HP detection on G4 DA
RME9652 driver
- tree-wide: Assorted spelling fixes
SB drivers
- Add isa/sb/jazz16 build stub
- ALSA: fix jazz16 compile (udelay)
- ALSA: jazz16: refine dma and irq selection
- ALSA: jazz16: Add support for Media Vision Jazz16 chipset
SB8 driver
- ALSA: jazz16: refine dma and irq selection
- ALSA: jazz16: Add support for Media Vision Jazz16 chipset
SGI O2 Audio
- ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- sound: sgio2audio: use vmalloc buffer helper functions
- sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
SoC Audio for Freecale i.MX1x i.MX2x CPUs
- ALSA: alsa-kmirror tree & linux-2.6 tree sync 2010-04-16 (merging issues)
- ASoC: Move WM8350 microphone detection bias managment out of driver
- ASoC: Hook up microphone jack detection on 1133-EV1 board
- ASoC: Correct typoed Mic2 connections on 1133-EV1 board
- ASoC: Remove BROKEN from i.MX audio after dependencies merged
- ASoC: Wolfson Microelectronics 1133-EV1 audio support
- ASoC: Check progress when reporting periods from i.MX FIQ handler
- ASoC: Remove a unused variables from i.MX FIQ runtime data
- ASoC: Typo. s/Freecale/Freescale/
- ASoC: add phycore-ac97 sound support
- ASoC: Remove old i.MX driver code
- ASoC: i.MX SSI driver does not yet support master mode
- ASoC: Convert new i.MX SSI driver to use static DAI array
- ASoC: Mark new i.MX drivers as BROKEN until arch/arm merged
- ASoC: Fix i.MX audio build for i.MX3x
- ASoC: Add a new imx-ssi sound driver
- ASoC: add missing parameter to mx27vis_hifi_hw_free()
SoC Audio for the Atmel AT32/AT91 System-on-Chip
- ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
- ASoC: Change how suspend and resume obtain the PCM runtime
- ASoC: Pass dai_link as argument to platform suspend and resume
SoC Audio for the Samsung S3C24XX chips
- ASoC: S3C: I2Sv2: Segregate hw_params callback
- ASoC: S3C64XX: I2S: Make BCLK independent of sample size
- ASoC: S3C: I2Sv2: Reject immidiate register value
- ASoC: S3C64XX: I2S: Move RATE and FMT defines to header
- ASoC: s3c64xx-i2s remove unncessary headers
- ASoC: s3c-i2s-v2 remove unnecessary headers
- ASoC: S3C: I2Sv2: Unify clock source IDs
- ASoC: S3C: I2Sv2: Add missing semicolon
- ASoC: Add delay information for Samsung IISv2 DAIs
- ASoC: Fix S3C64xx IIS driver for Samsung header reorg
- ASoC: Fix continuation line formats
- ASoC: AC97: SMDK-WM9713: Convert notes from cset to sset
- ASoC: Note jumper settings for smdk_wm9713 driver on SMDK6410
- ASoC: AC97: S3C2443: Remove unused driver
- ASoC: AC97: LN2440SBC: Switch to s3c-ac97.c
- ASoC: AC97: SMDK2443: Switch to s3c-ac97.c
- ASoC: AC97: SMDK: Add wm9713 machine driver
- ASoC: AC97: S3C: Add controller driver
- ASoC: S3C64XX: Compress and generalize the CPU driver
- ASoC: S3C64XX: Remove unnecessary header includes
- const: constify remaining dev_pm_ops
SoC Blackfin
- ASoC: change bf5xx-ad1938 machine driver to bf5xx-ad193x machine driver
- ASoC: bf5xx-sport: use common SPORT code for MMR info
- ASoC: Fix continuation line formats
SoC Codec AC97
- ASoC: Fix passing platform_data to ac97 bus users and fix a leak
- ASoC: fixup oops in generic AC97 codec glue
SoC Codec AD1836
- ASoC: ad1836: use soc-cache framework for codec registers access
- ASoC: ad1836: reset and restore clock control mode in suspend/resume entry
- sound: Revert "ASoC: ad1836: reset and restore clock control mode in suspend/resume entry"
- ASoC: ad1836: reset and restore clock control mode in suspend/resume entry
SoC Codec AD1938
- ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
- ASoC: ad1938: use soc-cache framework for codec registers access
- ASoC: ad1938: let soc-core dapm handle PLL power
- ASoC: ad1938: fix typo, rename mask to rx_mask for ad1938_set_tdm_slot
SoC Codec AD193X
- ASoC: update for removeal of slab.h from percpu.h
- ASoC: ad193x: move codec register/unregister to bus probe/remove
- ASoC: Unexport AD193x bus probe/remove functions
- ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
SoC Codec AK4104
- ASoC: fix ak4104 register array access
- ASoC: ak4104: allow more sample rates
SoC Codec AK4642
- ASoC: ak4642: Add enhanced sampling rate
- ASoC: ak4642: Add set_fmt function for snd_soc_dai_ops
- ASoC: ak4642: Add pll select support
- ASoC: ak4642: Add default return value in ak4642_modinit
SoC Codec CQ0093 Voice
- ASoC: update gfp/slab.h includes
- ASoC: DaVinci: CQ93VC Voice Codec
SoC Codec CS4270
- ASoC: cs4270: enable regulators at probe time
- ASoC: cs4270: allow passing freq=0 in set_dai_sysclk()
- ASoC: Add regulator support to CS4270 codec driver
SoC Codec DA7210
- ASoC: da7210: Add 11025/22050/44100/88200 rate support
- ASoC: da7210: Add 8/12/16/24/32/48/96 kHz rate support
- ASoC: Add missing __devexit and __devinit annotations
- ASoC: Fix build of DA7210
- ASoC: Add DA7210 codec device support for ALSA
SoC Codec Philips UDA1380
- bitops: rename for_each_bit() to for_each_set_bit()
SoC Codec SSM2602
- ASoC: SSM2602: add SND control for mic boost2 and default it to off
SoC Codec STAC9766
- ASoC: Fix disable of SPDIF on STAC9766 codec
SoC Codec TLV320AIC23
- ASoC: AIC23: Fixing writes to non-existing registers in resume function
SoC Codec TLV320AIC3X
- ASoC: Fix variable shadowing warning in TLV320AIC3x
- ASoC: PLL computation in TLV320AIC3x SoC driver
SoC Codec TLV320DAC33
- ASoC: tlv320dac33: Internal clocking changes
- ASoC: tlv320dac33: Fix DSP modes
- ASoC: tlv320dac33: Add option for keeping the BCLK running
- ASoC: tlv320dac33: Start/stop sequence change
- ASoC: tlv320dac33: Correct the OSCSET calculation
- ASoC: tlv320dac33: Clearing FIFOFLUSH flag before playback
- ASoC: tlv320dac33: Burst mode BCLK divider configuration
- ASoC: tlv320dac33: BCLK divider fix
- ASoC: tlv320dac33: Correct the prefill number of samples
- ASoC: Add missing __devexit and __devinit annotations
- ASoC: tlv320dac33: Safety check for codec slave mode
- ASoC: tlv320dac33: Add new FIFO mode: mode 7
- ASoC: tlv320dac33: Clean up the hardware configuration code
- ASoC: tlv320dac33: Introduce prefill and playback state handlers
- ASoC: tlv320dac33: Change nsample switch to FIFO mode enum
- ASoC: tlv320dac33: Add support for regulator framework
SoC Codec TPA6130A2
- ASoC: Add missing __devexit and __devinit annotations
- ASoC: tpa6130a2: Support for tpa6140's regulators
- ASoc: tpa6130a2: Remove unnecessary variable
- ASoC: tpa6130a2: Add support for regulator framework
SoC Codec TWL4030
- ASoC: TWL4030: PM fix for output amplifiers
- ASoC: TWL4030: Use codec defaults for Headset initial configuration
- ASoC: TWL4030: Add supply for audio serial interface control
- ASoC: TWL4030: Module unloading fix
- ASoC: TWL4030: Modify codec default settings
- ASoC: TWL4030: Fix typo in comment in header file
- ASoC: TWL4030: Replace comma with semicolon in probe function
- mfd: Rename all twl4030_i2c*
- mfd: Rename twl4030* driver files to enable re-use
SoC Codec TWL6040
- ASoC: Fix file permission of soc/codecs/twl6040.c
- ASoC: TWL6040: use of kzalloc/kfree requires the include of slab.h
- ASoC: TWL6040: Add twl6040 codec driver
SoC Codec WM2000
- ASoC: Add WM2000 driver
SoC Codec WM8350
- ASoC: Allow disabling of WM835x jack detection
- ASoC: Move WM8350 microphone detection bias managment out of driver
- ASoC: Implement WM835x microphone jack detection support
- mfd: Update WM8350 drivers for changed interrupt numbers
- mfd: Add a data argument to the WM8350 IRQ free function
- ASoC: Fix WM8350 DSP mode B configuration
- mfd: Mask and unmask wm8350 IRQs on request and free
- mfd: Convert wm8350 IRQ handlers to irq_handler_t
SoC Codec WM8510
- ASoC: fix params_rate() macro use in several codecs
SoC Codec WM8727
- ASoC: Register the CODEC in WM8727
SoC Codec WM8731
- ASoC: Use SNDRV_PCM_RATE_8000_96000 macro for WM8731
- ASoC: Only restore non-default registers for WM8731
SoC Codec WM8750
- ASoC: WM8750: Convert to new API
- ASoC: Refresh WM8750 bias management
- ASoC: Remove version display from WM8750
SoC Codec WM8753
- ASoC: Remove unneeded suspend checks from CODEC drivers
SoC Codec WM8776
- ASoC: Only restore non-default registers for WM8776
SoC Codec WM8900
- ASoC: Correct code taking the size of a pointer
SoC Codec WM8903
- ASoC: Allow WM8903 mic detect disable and don't force bias on
- ASoC: Implement interrupt driven microphone detection for WM8903
- ASoC: Add WM8903 interrupt support
- ASoC: Initial WM8903 microphone bias and short detection
- ASoC: Add GPIO configuration support for WM8903
- ASoC: fix a memory-leak in wm8903
SoC Codec WM8904
- ASoC: Support GPIO based microphone detection for WM8904
- ASoC: Allow configuration of WM8904 GPIO pin functions
- ASoC: Add WM8912 DAC support
- ASoC: Optimise WM8904 output stage power control
- ASoC: Add support for BIAS_OFF when idle to WM8904
- ASoC: Host clock2 read up in WM8904 FLL configuration
- ASoC: Set AIF word length for WM8904
- ASoC: Initial WM8904 CODEC driver
SoC Codec WM8940
- ASoC: fix params_rate() macro use in several codecs
SoC Codec WM8955
- ASoC: Add initial WM8955 CODEC driver
SoC Codec WM8960
- ASoC: Add support for WM8960 capless mode
- ASoC: Move WM8960 platform data into include/sound
- ASoC: Prettify wm8960 logging
SoC Codec WM8961
- ASoC: Only restore non-default registers for WM8961
SoC Codec WM8974
- ASoC: clean up wm8974 and wm8978 clock divider handling
- ASoC: fix params_rate() macro use in several codecs
- ASoC: wm8974: fix a wrong bit definition
SoC Codec WM8978
- ASoC: improve MCLKDIV calculation in wm8978, when OPCLK is not used
- ASoC: clean up wm8974 and wm8978 clock divider handling
- ASoC: remove bogus SLEEP mode from wm8978 driver
- ASoC: add a WM8978 codec driver
SoC Codec WM8990
- tree-wide: Assorted spelling fixes
- ASoC: Remove unneeded suspend checks from CODEC drivers
SoC Codec WM8993/4
- ASoC: Don't use DCS_DATAPATH_BUSY for WM hubs devices
- ASoC: Don't do runtime wm_hubs DC servo updates if using offset correction
- ASoC: Support second DC servo readback method for wm_hubs
- ASoC: Avoid wraparound in wm_hubs DC servo correction
- ASoC: Bail out of wm_hubs DC servo if calibration fails
- ASoC: Disable WM8993 regulators when turning bias off
- ASoC: Initial WM8993 regulator API hookup
- ASoC: Convert WM8993 to use shared cache I/O code
- ASoC: Activate DCS correction for WM8993
- ASoC: Improved wm_hubs headphone handling
- ASoC: Use BIAS_OFF when idle for wm_hubs devices
- ASoC: Implement suspend and resume for WM8993
SoC Codec WM8994
- Add soc/codecs/wm8994.c build stub
- ASoC: Implement interrupt based WM8994 microphone detection
- ASoC: Only do WM8994 bias off transition from standby
- ASoC: Support second DC servo readback method for wm_hubs
- ASoC: wm8994: playback => capture
- ASoC: Implement WM8994 DAI tristate support
- ASoC: Fix BCLK calculation of WM8994
- ASoC: Add WM8994 CODEC driver
SoC Codec WM9712
- ASoC: Do not write to invalid registers on the wm9712.
SoC Codec WM9713
- ASoC: Add TLV information and additional volumes to WM9713
- ASoC: Remove version display from WM9713
SoC DaVinci
- ASoC: update gfp/slab.h includes
- ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
- sound: DaVinci: DM365: Voice Codec support for the DM365 EVM
- ASoC: DaVinci: Voice Codec Interface
- ASoC: DaVinci: Add hw_param callback for S/PDIF DIT link
- ASoC: DaVinci: Fix stream restart error
- ASoC: DaVinci: Update suspend/resume support for McASP driver
SoC Dynamic Audio Power Management
- ASoC: Allow force enabled pins to be disabled
- ASoC: Remove current PGA control handling
- ASoC: Allow pins to be force enabled
- ASoC: Remove unused 'muted' flag from DAPM widgets
- ASoC: Improve DAPM pop_wait delays
- ASoC: Remove unused pmdown_time flag
- ASoC: add simplified versions of widget macros
- ASoC: Support turning off bias when the CODEC is idle
- ASoC: Remove console DAPM debug code
- ASoC: Sort DAPM sequences by CODEC as well
- ASoC: Push registers out of mixer power decision
- ASoC: Display the power register in DAPM widget debugfs
SoC Freescale
- of: add 'of_' prefix to machine_is_compatible()
SoC Layer
- Fix soc/soc-core.patch
- ALSA: alsa-kmirror tree & linux-2.6 tree sync 2010-04-16 (merging issues)
- ASoC: Fix passing platform_data to ac97 bus users and fix a leak
- ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
- ASoC: Add a notifier for jack status changes
- ASoC: remove a card from the list, if instantiation failed
- ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
- ASoC: TWL6040: Add twl6040 codec driver
- ASoC: soc-cache: let reg be AND'ed by 0xff instead of data buffer for 8_8 mode
- ASoC: soc-cache: add i2c read entry for 8_8 mode
- ASoC: DaVinci: CQ93VC Voice Codec
- ASoC: PCM_RATE: Check for KNOT and CONTINUOUS flags
- ASoC: Add 16/16 registers to soc-cache
- ASoC: core: Add delay operation to snd_soc_dai_ops
- ASoC: core: soc level wrapper for pcm_pointer callback
- ASoC: core: fix tailing whitespace in soc_pcm_apply_symmetry
- ASoC: Allow mulitple usage count of codec and cpu dai
- ASoC: Remove runtime field from DAI
- ASoC: Pass dai_link as argument to platform suspend and resume
- ASoC: soc_pcm_open: Add missing bailout tag
- ASoC: core: On resume also check the soc device state
- ASoC: Make pmdown_time a long
- ASoC: Make pmdown_time runtime configurable
- ASoC: Make pmdown_time a per-card setting
- ASoC: Add WM2000 driver
- ASoC: Add a cache_sync bit to the CODEC structure
- ASoC: Allow CODECs to ask soc-cache to suppress physical writes
- ASoC: Fix WM8994 dependency
- ASoC: Add WM8994 CODEC driver
- ASoC: ad1836: use soc-cache framework for codec registers access
- ASoC: Set codec->dev for AC97 devices
- ASoC: add a WM8978 codec driver
- ASoC: ad1938: use soc-cache framework for codec registers access
- ASoC: add helper macros to declare struct soc_enum instances
- ASoC: Support turning off bias when the CODEC is idle
- ASoC: fix compile breakage - add a missing header include
- ASoC: Use snprintf() when generating stream names
- ASoC: soc-cache: cleanup training whitespace and coding style
- ASoC: Add initial WM8955 CODEC driver
- ASoC: Add DA7210 codec device support for ALSA
- ASoC: Initial WM8904 CODEC driver
- ASoC: Export snd_soc_update_bits_unlocked()
- const: constify remaining dev_pm_ops
SoC PXA2xx Aeronix Zipit Z2
- ASoC: Zipit Z2 WM8750 ASoC driver
SoC PXA2xx Spitz
- ASoC: WM8750: Convert to new API
SoC SH7760 AC97
- ASoC: fsi: Add FSI2 device support
- ASoC: fsi: Add FIFO size calculate
- ASoC: fsi: IRQ related process had be united
- ASoC: fsi: ensures process inside master lock
- ASoC: ak4642: Add set_fmt function for snd_soc_dai_ops
- ASoC: ak4642: Add pll select support
- ASoC: SIU driver shall select FW_LOADER
- dmaengine: shdma: separate DMA headers.
- ASoC: fsi: Modify over/under run error settlement
- ASoC: fix compile breakage if CONFIG_SH_DMA_API=y && CONFIG_SND_SIU_MIGOR!=n
- ASoC: fix compilation breakage in sound/soc/sh/fsi.c
- ASoC: clean up wm8974 and wm8978 clock divider handling
- ASoC: add support for the sh7722 Migo-R board
- ASoC: fsi: Add spin lock operation for accessing shared area
- ASoC: add DAI and platform / DMA drivers for SH SIU
- ASoC: fsi: Add over/under run error settlement
- ASoC: fsi: Add fsi_get_dai to get snd_soc_dai
- ASoC: fsi: Add over_period flag to prevent the misunderstanding
- ASoC: fsi-ak4642: Remove ak4642_add_i2c_device
- ASoC: sh: FSI:: don't check platform_get_irq's return value against zero
- ASoC: Add FSI-DA7210 sound support for SuperH
- ASoC: sh_fsi: avoid using global variable
SoC Texas Instruments OMAP
- ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code
- ASoC: omap-mcbsp: Add support for Left Justified format
- ASoC: McPDM: Use tabs for indentation
- ASoC: OMAP3: Report delay caused by the internal FIFO
- ASoC: OMAP-McBSP: ASoC interface for McBSP sidetone
- omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3
- omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2
- ASoC: OMAP4: Add support for McPDM
- ASoC: OMAP4: Add McPDM platform driver
- ASoC: OMAP: data_type and sync_mode configurable in audio dma
- sound: Add ASoC support for Devkit8000
- ASoC: pandora: Add DAC regulator support
- ASoC: pandora: Add APLL supply to fix audio output
- ASoC: AM3517: ASoC driver not getting compiled
- mfd: twl: fix twl4030 rename for remaining driver, board files
Soc PXA2xx Raumfeld
- ASoC: support more sample rates on raumfeld devices
TEA575x tuner
- handle more nicely new location for autoconf.h (generated/autoconf.h)
USB
- Refresh build-stub for usb mixer refactoring
- Regenerate patches and build-stubs for usb refactoring
- ALSA: usbmixer: rename usbmixer.[ch] -> mixer.[ch]
- ALSA: usb-mixer: factor out quirks
- ALSA: usb-audio: refactor code
- ALSA: usb-audio: header file cleanups
- ALSA: usb-audio: move ua101 driver
- ALSA: ua101: remove experimental status
- ALSA: usb/caiaq: Add support for Traktor Kontrol X1
- ALSA: ua101: add Edirol UA-1000 support
USB Edirol UA101 driver
- ALSA: usb-audio: refactor code
- ALSA: usb-audio: header file cleanups
- ALSA: usb-audio: move ua101 driver
- ALSA: ua101: add Edirol UA-1000 support
- sound: ua101: use vmalloc buffer helper functions
USB USX2Y
- ALSA: usb-audio: refactor code
- ALSA: usb-audio: header file cleanups
- ALSA: usbaudio: consolidate header files
USB caiaq
- usc/caiaq/input.patch: Fix missing change in the previous commit
- usb/caiaq/input.patch: Fix builds with older 2.6.x kernels
- Refreshed usb/caiaq/input.patch
- ALSA: usb - update gfp/slab.h includes
- ALSA: usb/caiaq: Add support for Traktor Kontrol X1
- ALSA: sound/usb/caiaq/midi.h: Checkpatch cleanup
USB generic driver
- usb/card.c - build fix for Linux 2.4 kernels
- Refresh build-stub for usb mixer refactoring
- Regenerate patches and build-stubs for usb refactoring
- Refreshed usbaudio.patch
- Fix the build with kernels older than 2.6.23
- More fixes for build errors after usb v2.0 merge
- Fix usb v2.0 builds
- Fix for previous commit (RHEL 5.4 support)
- RHEL 5.4 compilation changes
- ALSA: usb/mixer - use get_iface_desc() rather than direct structure
- ALSA: usb - Fix Oops after usb-midi disconnection
- ALSA: usb - update gfp/slab.h includes
- ALSA: usb pcm: use of kmalloc requires the include of slab.h
- ALSA: usb - use of kmalloc/kfree requires the include of slab.h
- ALSA: usbaudio: Add basic support for M-Audio Fast Track Ultra series
- ALSA: usb-mixer: Add support for Audio Class v2.0
- ALSA: usb-mixer: parse descriptors with structs
- ALSA: usbmixer: rename usbmixer.[ch] -> mixer.[ch]
- ALSA: usb-mixer: use defines from audio.h
- ALSA: usb: fix usb build error when PM is not enabled
- sound: linux/usb/audio.h: split header
- ALSA: usb-audio: add support for samplerate setting on v2 devices
- ALSA: usb-audio: support multiple formats with audio class v2 devices
- ALSA: usb-audio: use a format bitmask per alternate setting
- ALSA: usb-audio: rename substream format field to altset_idx
- ALSA: usb-mixer: factor out quirks
- ALSA: usb-audio: refactor code
- ALSA: usb-audio: header file cleanups
- ALSA: ua101: add Edirol UA-1000 support
- ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
- ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line
- ALSA: usbaudio: consolidate header files
- ALSA: usbmixer: bail out early when parsing audio class v2 descriptors
- ALSA: usbaudio: implement basic set of class v2.0 parser
- ALSA: usbaudio: introduce new types for audio class v2
- ALSA: usbaudio: parse USB descriptors with structs
- ALSA: usbaudio Mbox support, output only
- ALSA: usbmixer - use MAX_ID_ELEMS where possible
- ALSA: usbmixer - add usb_id value to usbmixer proc file
- ALSA: usbmixer - introduce /proc/asound/card#/usbmixer file
- ALSA: USB MIDI support for Access Music VirusTI
- ALSA: usb-audio: reduce MIDI packet size to work around broken firmware
- ALSA: usbmixer - add possibility to remap dB values
- ALSA: usb-audio: use usbquirk.h for detection of HVR-950Q/850
- ALSA: usb-audio: relax urb data align. restriction HVR-950Q and HVR-850 only
- ALSA: usb-audio: make buffer pointer based on bytes instead on frames
- ALSA: usb-audio - Added functionality for E-mu 0404USB/0202USB/TrackerPre
- ALSA: usb-audio - Avoid Oops after disconnect
- sound: usb-audio: use vmalloc buffer helper functions
- sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
Utils
- alsa-compile.sh: add moprobe soundcore for --kmodules
- alsa-compile.sh: Check for aclocal and install if missing
- alsa-compile.sh: Don't rely on yum exit code
- alsa-compile.sh: fix path for /sbin utilities
- alsa-compile.sh: fix --kmodclean commmand
- alsa-compile.sh: add handling of kernel module parameters, fix --clean
- Add choice/endchoice pair to mod-deps
- alsa-compile.sh: update version number to 0.1.3
- alsa-compile.sh: Fix --clean command
- alsa-compile.sh: more tree variable cleanups, fixes for --run
- alsa-compile.sh: use local variables
- alsa-compile.sh: Remove duplicate and different packagedir assignment
- alsa-compiler.sh: Move cleaning out of command line parsing
- alsa-compile.sh: handle ac97_bus module in current_modules
- alsa-compile.sh: Fix code logic for kmod cmds when source tree does not exists
- alsa-compile.sh: version 0.1.2
- alsa-compile.sh: Various cleanup
- alsa-compile.sh: Fix some minor issues
- alsa-compile.sh: remove debugging code
- alsa-compile.sh: set version to 0.1.1
- alsa-compile.sh: add --kmodclean option, use updates/alsa tree for kmods
- alsa-compile.sh: Use packagedir variable consistently
- alsa-compile.sh: Support building on Fedora PAE kernels where kernel-PAE-devel is used
- alsa-compile.sh: Check package installation - don't rely on yum exit code
- alsa-compile.sh: Use bash for bash script
- alsa-compile.sh: added --patch and --kmodmesg options
- alsa-compile.sh: Fix dst variable usage in parse_modules()
- remove 'insert' and 'remove' scripts - the alsa-compile.sh obsoletes them
- alsa-compile.sh: added --kmodremove command
- alsa-compile.sh: add --examples and file: protocol support
- alsa-info.sh: added --run parameter
- alsa-info.sh: fix some issues (parsing package)
- alsa-compile.sh: added --kmodlist option and support for more ALSA packages
- alsa-compile.sh: add git support, cache environment state
- introduce alsa-compile.sh script - not finished
- gitcompile - add more error checks, update utils/insert script
- alsa-info.sh: Add usbmixer proc file to output
- remove cvscompile script - we use git now
- Add gcd() wrapper
VIA82xx driver
- ALSA: via82xx: add quirk for D1289 motherboard
cvscompile script
- remove cvscompile script - we use git now
gitcompile script
- gitcompile - add more error checks, update utils/insert script
alsa-lib
Core
- Release v1.0.23
- add atomic operations for Blackfin parts
Control API
- modem.conf Off-hook improve behavior
PCM API
- pcm_share plugin: fix pcm->monotonic setup in open() function
- pcm_hw - show errno codes
- pcm direct plugins: drain() call might be blocked when threads are used
- pcm_dmix: add support for S24_LE format
- Fix snd_pcm_sw_params_set_period_event() implementation
- pcm: fix read_areas and write_areas
- pcm: Fix the sound distortions for S24_3LE stream in pcm_softvol plugin
- pcm: Close event timer in pcm_hw plugin
alsa-utils
Core
- Release v1.0.23
ALSA Control (alsactl)
- alsactl: update debug prints in state.c
- alsactl: add more debug prints to state.c
- alsactl: improve -d to get warnings and store exitcode to runstate file
- alsactl: Fix return code
ALSA RawMidi Utility (amidi)
- amidi: fix port listing
Speaker Test
- speaker-test: add fflush(stdout) to write_loop
aconnect
- aconnect -x: Do not update index after removal of connection.
alsamixer
- alsamixer: handle out-of-range volume values
- alsamixer: fix division by zero
amixer
- amixer: add support for TLV dB minmax types
- amixer: fix display of unreadable control elements
aplay/arecord
- aplay -- update the man file
- aplay -- add features for audio surveilance
- aplay - add option --process-id-file
- aplay: Dump PCM state on xrun when verbose mode is active
alsa-tools
Core
- Release v1.0.23
- add hwmixvolume
hwmixvolume
- hwmixvolume: add hwmixvolume to EXTRA_DIST
- Fix hwmixvolume gitcompile script (missing files)
- hwmixvolume: make scripts executable
- add hwmixvolume
alsa-plugins
Core
- Release v1.0.23
USB stream plugin
- usb_stream: Allow user-set period-size and rate
- usb_stream: Check for NULL-ness before dereferencing
Detailed changelog between 1.0.20 and 1.0.23 releases
alsa-firmware
Core
- - Release v1.0.23
AudioScience ASIHPI Firmware
- - asihpi: Remove dsp4300.bin from distdir
- - Updated asihpi firmware files to version 40313
- - Update firmware files for asihpi to version 40304
Detailed changelog between 1.0.22 and 1.0.23 releases
alsa-driver
Sound Core
- - Release v1.0.23
- - add some linux-2.4 related stuff (pgprot_noncached & linux/gfp.h)
- Singed-off-by: Jaroslav Kysela <perex@perex.cz>
- - configure.in: More informative kernel/ALSA kernel tree directory checks
- - Refresh build-stub for usb mixer refactoring
- - handle more nicely new location for autoconf.h (generated/autoconf.h)
- - More fixes for build errors after usb v2.0 merge
- - Fix usb v2.0 builds
- - configure.in: fix gcc version check
- checking for kernel version... 2.6.28-17-generic
- checking for GCC version... ./configure: eval: line 5540: syntax error
- near unexpected token `)'
- ./configure: eval: line 5540: `my_compiler_version=4.3.3-5ubuntu4)'
- Kernel compiler: Used compiler: gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
- gcc --version gives (yes, it is ugly!):
- gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
- Copyright (C) 2008 Free Software Foundation, Inc.
- - linux/include/generated directory related changes for 2.6.33
- - Release v1.0.22.1
- - Add gcd() wrapper
- - Fix pack target and improve newalsakernel target
- - fix typo in $(ALSAKERNELFILE) target
- - Change alsa-kernel/sound_core.c to ALSAKERNELFILE and add this dep to pack target
- - Remove whole alsa-kernel tree before creating of symlinks
- - introduce --with-alsakernel option for ./configure
- This patch allows to choose the ALSA kernel tree. It adds support to
- specify own path for the standard Linux 2.6 kernel tree.
- The alsa-kmirror mode was untouched.
- Also, missing isa/dt019x.c is added.
ALSA Core
- - Add no_llseek and nonseekable_open() wrappers for older kernels
- - Refresh info.patch for BKL removal changes
- - Add missing inclusion of linux/slab.h for early wrappers
- - add some linux-2.4 related stuff (pgprot_noncached & linux/gfp.h)
- Singed-off-by: Jaroslav Kysela <perex@perex.cz>
- - Add blocking_notifier_*() wrappers for older kernels
- - Refresh build-stub for usb mixer refactoring
- - Add missing inclusion of adriver.h in info.patch
- - handle more nicely new location for autoconf.h (generated/autoconf.h)
- - Fix usb v2.0 builds
- - Add a wrapper for usb_interrupt_msg()
- - compilation fix: double #endif in adriver.h
- - Add strict_strtol() and strict_strtoll() wrappers for old kernels
- Also clean up the definitions.
- - Fix WARN_ONCE() macro
- A stupid copy&paste error....
- - Redefine WARN_ON() and WARN_ONCE() for older distro kernels
- Distro kernels may have already some incompatible definitions of them.
- - Define WARN_ONCE() for older kernels
- - Add DEFINE_PCI_DEVICE_TABLE() wrapper
- - Fix for previous commit (RHEL 5.4 support)
- - RHEL 5.4 compilation changes
- - linux/include/generated directory related changes for 2.6.33
- - Add wrapper of subsys_initcall()
- Also fix sound.patch with the recent subsys_initcall() change.
- - Fix acore/misc.patch for new snd_pci_quirk_lookup_id()
- - Don't define gcd() when already exists
- Define compatible gcd() only when linux/gcd. doesn't exist.
- CONFIG_GCD isn't defined for 2.6.31/32, so it can'be used reliablty
- as the compile condition.
- Reported-by: Ozan Çağlayan <ozan@pardus.org.tr>
- - Fix acore/Makefile for pcm_memory.patch
- - Handle __GFP_ZERO for older kernels
- - Add missing EXPORT_SYMBOL() for gcd wrapper
- - Add gcd() wrapper
- - Add skip_spaces() wrapper
- - ALSA: info - Implement common llseek for binary mode
- The llseek implementation is identical for existing driver implementations,
- so let's merge to the common layer. The same code for the text proc file
- can be used even for the binary proc file.
- The driver can provide its own llseek method if needed. Then the common
- code will be skipped.
- - ALSA: info - Check file position validity in common layer
- Check the validity of the file position in the common info layer before
- calling read or write callbacks in assumption that entry->size is set up
- properly to indicate the max file size.
- Removed the redundant checks from the callbacks as well.
- - ALSA: info - Use standard types for info callbacks
- Use loff_t, size_t and ssize_t for arguments of info callbacks
- to follow the standard procfs.
- - ALSA: Remove BKL from open multiplexer
- Use a local mutex instead of BKL. This should suffice since each device
- type has also its open_mutex.
- Also, a bit of clean-up of the legacy device auto-loading code.
- - ALSA: info - Remove BKL
- Use the fine-grained mutex for the assigned info object, instead.
- - ALSA: timer - pass real event in snd_timer_notify1() to instance callback
- Do not use hardcoded SNDRV_TIMER_EVENT_START value.
- - ALSA: Remove warning message for invalid OSS minor ranges
- When a card instance with a higher card number is registered, warning
- messages are spewed eventually with stack traces due to the invalid minor
- number for OSS device registration. For example, thinkpad-acpi registers
- the card number 29 as default, and you'll see always these messages.
- This is rather confusing (and worries users), thus better to return
- simply the error code.
- - ALSA: use subsys_initcall for sound core instead of module_init
- This is needed for built-in drivers which are built before the sound directory,
- like thinkpad_acpi.
- Otherwise, registering a card fails.
- - ALSA: Add snd_pci_quirk_lookup_id()
- Added a new function to look up a quirk entry with the given PCI SSID
- instead of a pci device pointer. This can be used when the searched ID
- is overridden for debugging or such a purpose.
- - ALSA: sound/core/pcm_timer.c: use lib/gcd.c
- Make sound/core/pcm_timer.c use lib/gcd.c
SoC PXA2xx Core
- - ALSA: alsa-kmirror tree & linux-2.6 tree sync 2010-04-16 (merging issues)
- - ASoC: Zipit Z2 WM8750 ASoC driver
- This patch adds support for sound through the WM8750 codec on Zipit Z2.
- Also, this patch incorporates support for detecting headset jack
- insertion through the jack detection API.
- - [ARM] pxa: introduce PXA_SSP_LEGACY for legacy SSP API
- - ASoC: Remove legacy SSP API usage from pxa-ssp.c
- - ASoC: fix PXA SSP port resume
- Unconditionally save the register states when suspending and restore
- them again at resume time. Register contents were not preserved over
- suspend, and hence the driver takes false assumptions about them.
- The clock must be enabled to access the register block.
Control Midlevel
- - Refresh patches for addition of no_llseek calls
- - ALSA: core - Define llseek fops
- Set no_llseek to llseek file ops of each sound component (but for hwdep).
- This avoids the implicit BKL invocation via generic_file_llseek() used
- as default when fops.llseek is NULL.
- Also call nonseekable_open() at each open ops to ensure the file flags
- have no seek bit.
- - include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
- percpu.h is included by sched.h and module.h and thus ends up being
- included when building most .c files. percpu.h includes slab.h which
- in turn includes gfp.h making everything defined by the two files
- universally available and complicating inclusion dependencies.
- percpu.h -> slab.h dependency is about to be removed. Prepare for
- this change by updating users of gfp and slab facilities include those
- headers directly instead of assuming availability. As this conversion
- needs to touch large number of source files, the following script is
- used as the basis of conversion.
- http://userweb.kernel.org/~tj/misc/slabh-sweep.py
- The script does the followings.
- * Scan files for gfp and slab usages and update includes such that
- only the necessary includes are there. ie. if only gfp is used,
- gfp.h, if slab is used, slab.h.
- * When the script inserts a new include, it looks at the include
- blocks and try to put the new include such that its order conforms
- to its surrounding. It's put in the include block which contains
- core kernel includes, in the same order that the rest are ordered -
- alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
- doesn't seem to be any matching order.
- * If the script can't find a place to put a new include (mostly
- because the file doesn't have fitting include block), it prints out
- an error message indicating which .h file needs to be added to the
- file.
- The conversion was done in the following steps.
- 1. The initial automatic conversion of all .c files updated slightly
- over 4000 files, deleting around 700 includes and adding ~480 gfp.h
- and ~3000 slab.h inclusions. The script emitted errors for ~400
- files.
- 2. Each error was manually checked. Some didn't need the inclusion,
- some needed manual addition while adding it to implementation .h or
- embedding .c file was more appropriate for others. This step added
- inclusions to around 150 files.
- 3. The script was run again and the output was compared to the edits
- from #2 to make sure no file was left behind.
- 4. Several build tests were done and a couple of problems were fixed.
- e.g. lib/decompress_*.c used malloc/free() wrappers around slab
- APIs requiring slab.h to be added manually.
- 5. The script was run on all .h files but without automatically
- editing them as sprinkling gfp.h and slab.h inclusions around .h
- files could easily lead to inclusion dependency hell. Most gfp.h
- inclusion directives were ignored as stuff from gfp.h was usually
- wildly available and often used in preprocessor macros. Each
- slab.h inclusion directive was examined and added manually as
- necessary.
- 6. percpu.h was updated not to include slab.h.
- 7. Build test were done on the following configurations and failures
- were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
- distributed build env didn't work with gcov compiles) and a few
- more options had to be turned off depending on archs to make things
- build (like ipr on powerpc/64 which failed due to missing writeq).
- * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
- * powerpc and powerpc64 SMP allmodconfig
- * sparc and sparc64 SMP allmodconfig
- * ia64 SMP allmodconfig
- * s390 SMP allmodconfig
- * alpha SMP allmodconfig
- * um on x86_64 SMP allmodconfig
- 8. percpu.h modifications were reverted so that it could be applied as
- a separate patch and serve as bisection point.
- Given the fact that I had only a couple of failures from tests on step
- 6, I'm fairly confident about the coverage of this conversion patch.
- If there is a breakage, it's likely to be something in one of the arch
- headers which should be easily discoverable easily on most builds of
- the specific arch.
- Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
- - sound: control: fix minimum TLV length
- Allow TLV blocks that do not have any values; the smallest possible TLV
- is an empty container or one where the information is only in the tag.
- - sound: control: actually allow TLV command access
- Creating a control with TLV_COMMAND access was not possible because
- snd_ctl_new1() forgot to include it in the mask of allowable access
- bits.
Jack Input Event Midlevel
- - ALSA: Add support for key reporting via the jack interface
- Some devices provide support for detection of a small number of
- buttons on their jacks. One common implementation provides a single
- button, implemented by shorting the microphone to ground and detected
- along with microphone presence detection by detecting varying current
- draws on the microphone bias signal.
- Provide support for up to three buttons via the jack interface. These
- default to reporting BTN_n but an API is provided to allow these to
- be remapped to other keys by the machine driver where it knows what
- the keys are. More keys can be added with ease if required.
- This is only intended to support simple accessory button designs. If
- the interface is limiting then either creating a child device for the
- accessory or accessing the input device in the jack directly is
- recommended.
- - ALSA: Rename jack switch table in preparation for button support
- Avoids confusion when we have button support.
PCM Midlevel
- - Refresh patches for addition of no_llseek calls
- - Refresh pcm_native.patch
- - Handle __GFP_ZERO for older kernels
- - ALSA: core - Define llseek fops
- Set no_llseek to llseek file ops of each sound component (but for hwdep).
- This avoids the implicit BKL invocation via generic_file_llseek() used
- as default when fops.llseek is NULL.
- Also call nonseekable_open() at each open ops to ensure the file flags
- have no seek bit.
- - ALSA: pcm - Remove BKL from async callback
- It's simply calling fasync_helper().
- - ALSA: pcm_lib - fix xrun functionality
- The commit 4d96eb255c53ab5e39b37fd4d484ea3dc39ab456 broke the interrupt
- time xrun functionality (stream stop etc.) if the CONFIG_SND_PCM_XRUN_DEBUG
- is not set. This is because the xrun() is null defined without it.
- Fix this by letting the function xrun() to be always defined as it was
- before.
- - ALSA: provide a more useful get_unmapped_area handler for pcm
- Shared memory mappings on nommu machines require a get_unmapped_area
- file operation that suggests an address for the mapping. The current
- implementation returns 0 and thus forces the driver to implement an
- mmap handler that fixes up the start and end address of the vma.
- This patch returns the address of the dma buffer, so it should work
- out of the box for all drivers that use the snd_pcm_runtime->dma_area
- pointer.
- Addresses for mapping the status and control pages are returned as
- well, but to make those work the conditional compilation of
- snd_pcm_mmap_{status,control} would need to be revised.
- URL: http://thread.gmane.org/gmane.linux.alsa.devel/61230
- - ALSA: pcm core - fix fifo_size channels interval check
- - ALSA: pcm_native - fix runtime->boundary calculation
- The code in pcm_lib updating runtime->hw_ptr_interrupt expects
- that runtime->boundary is divisible with runtime->period_size.
- Thanks are going to Clemens Ladisch for the notice.
- Fix the runtime->boundary calculation using buffer_size * period_size
- as base and find a least common multiple for 32bit platforms when
- the expression might overflow.
- - ALSA: pcm_lib - return back hw_ptr_interrupt
- Clemens Ladisch noted for hw_ptr_removal in "cleanup & merge hw_ptr
- update functions" commit:
- "It is possible for the status/delay ioctls to be called when the sound
- card's pointer register alreay shows a position at the beginning of the
- new period, but immediately before the interrupt is actually executed.
- (This happens regularly on a SMP machine with mplayer.) When that
- happens, the code thinks that the position must be at least one period
- ahead of the current position and drops an entire buffer of data."
- Return back the hw_ptr_interrupt variable. The last interrupt pointer
- is always computed from the latest hw_ptr instead of tracking it
- separately (in this case all hw_ptr checks and modifications might
- influence also hw_ptr_interrupt and it is difficult to keep it
- consistent).
- - ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- pgprot_noncached() can be set for vmalloc'ed buffers safely, and we'd
- need non-cached behavior more or less, even for the intermediate ring-
- buffers.
- Now snd_pcm_lib_mmap_vmalloc() is added as the common PCM mmap callback
- that is coupled with snd_pcm_lib_alloc_vmalloc_buffer() & co.
- - ALSA: pcm - Remove unneeded ifdef pgprot_noncached
- - ALSA: pcm_core: Fix wake_up() optimization
- This change fixes the "ALSA: pcm_lib - optimize wake_up() calls for PCM I/O"
- commit. New sleeping queue is introduced to separate user space and kernel
- space wake_ups. runtime->nowake is renamed to twake (transfer wake).
- - ALSA: pcm_lib - fix wrong delta print for jiffies check
- The previous jiffies delta was 0 in all cases. Use hw_ptr variable to
- store and print original value.
- - ALSA: pcm_lib: fix "something must be really wrong" condition
- When runtime->periods == 1 or when pointer crosses end of ring buffer,
- the delta might be greater than buffer_size.
- - ALSA: pcm_lib - optimize wake_up() calls for PCM I/O
- As noted by pl bossart <bossart.nospam@gmail.com>, the PCM I/O routines
- (snd_pcm_lib_write1, snd_pcm_lib_read1) should block wake_up() calls
- until all samples are not processed.
- - ALSA: pcm_lib - cleanup & merge hw_ptr update functions
- Do general cleanup in snd_pcm_update_hw_ptr*() routines and merge them.
- The main change is hw_ptr_interrupt variable removal to simplify code
- logic. This variable can be computed directly from hw_ptr.
- Ensure that updated hw_ptr is not lower than previous one (it was possible
- with old code in some obscure situations when interrupt was delayed or
- the lowlevel driver returns wrong ring buffer position value).
- - ALSA: pcm_lib - add possibility to log last 10 DMA ring buffer positions
- In some debug cases, it might be usefull to see previous ring buffer
- positions to determine position problems from the lowlevel drivers.
- - ALSA: pcm_lib.c - convert second xrun_debug() parameter to use defines
- To increase code readability, convert send xrun_debug() argument to
- use defines.
- - ALSA: Fix indentation in pcm_native.c
- - ALSA: sound/core/pcm_timer.c: use lib/gcd.c
- Make sound/core/pcm_timer.c use lib/gcd.c
- - ALSA: refine rate selection in snd_interval_ratnum()
- Refine the rate selection by choosing the rate
- closer to the requested one in case of selecting
- single frequency. Previously, the higher rate was
- always selected.
- Also, fix problem with the best_diff unsigned int
- value wrapping (turning negative).
- - ALSA: pcm - Add missing inclusion of linux/vmalloc.h
- - ALSA: fix incorrect rounding direction in snd_interval_ratnum()
- The direction of rounding is incorrect in the snd_interval_ratnum()
- It was detected with following parameters (sb8 driver playing
- 8kHz stereo file):
- - num is always 1000000
- - requested frequency rate is from 7999 to 7999 (single frequency)
- The first loop calculates div_down(num, freq->min) which is 125.
- Thus, a frequency range's minimum value is 1000000 / 125 = 8000 Hz.
- The second loop calculates div_up(num, freq->max) which is 126
- The frequency range's maximum value is 1000000 / 126 = 7936 Hz.
- The range maximum is lower than the range minimum so the function
- fails due to empty result range.
- - sound: pcm: add vmalloc buffer helper functions
- There are now five copies of the code to allocate a PCM buffer using
- vmalloc(). Add a sixth in the core so that the others can be removed.
RawMidi Midlevel
- - Refresh patches for addition of no_llseek calls
- - ALSA: core - Define llseek fops
- Set no_llseek to llseek file ops of each sound component (but for hwdep).
- This avoids the implicit BKL invocation via generic_file_llseek() used
- as default when fops.llseek is NULL.
- Also call nonseekable_open() at each open ops to ensure the file flags
- have no seek bit.
Timer Midlevel
- - ALSA: timer - pass real event in snd_timer_notify1() to instance callback
- Do not use hardcoded SNDRV_TIMER_EVENT_START value.
/include/Makefile
- - headers: handle include/linux/usb in mrproper target
/isa/Makefile
- - Remove obsolete dt019x.c again
- - introduce --with-alsakernel option for ./configure
- This patch allows to choose the ALSA kernel tree. It adds support to
- specify own path for the standard Linux 2.6 kernel tree.
- The alsa-kmirror mode was untouched.
- Also, missing isa/dt019x.c is added.
/soc/codecs/Makefile
- - ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
- - ASoC: TWL6040: Add twl6040 codec driver
- Initial version of TWL6040 codec driver.
- The TWL6040 codec uses a proprietary PDM-based digital audio interface.
- Audio paths supported are:
- - Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
- - Output: Headset Left/Right, Handsfree Left/Right
- TWL6040 codec supports power-up/down manual and automatic sequence.
- Manual sequence is done through a specific register writes sequence.
- Automatic sequence is done when the codec is powered-up through the
- external AUDPWRON line. The completion of the sequence is signaled
- through the audio interrupt.
- TWL6040 codec sysclk can be provided by: low-power or high
- performance PLL:
- - The low-power PLL takes a low-frequency input at 32,768 Hz and
- generates an approximate of 17.64 or 19.2 MHz (for 44.1 KHz and 48 KHz
- respectively)
- - The high-performance PLL generates an exact 19.2 MHz clock signal
- from high-frequency input at 12/19.2/26/38.4 MHz.
- Low-power playback mode is a special scenario where only headset path
- (headset DAC and driver) is active.
- For the particular case of headset path, PLL being used defines the
- headset power mode: low-power, high-performance.
- - ASoC: DaVinci: CQ93VC Voice Codec
- Currently the DM365 is the only SoC that includes this Voice Codec.
- - ASoC: Add WM2000 driver
- The WM2000 is a low power, high quality handset receiver speaker
- driver with Wolfson myZone™ Ambient Noise Cancellation (ANC). It
- provides enhanced voice communication quality in a noisy environment
- if the handset acoustics are designed appropriately.
- - ASoC: Add WM8994 CODEC driver
- The WM8994 is a highly integrated ultra-low power hi-fi audio subsystem
- designed for smartphones and other portable devices rich in multimedia
- features. It provides advanced digital mixing facilities enabling low
- power high quality interconnection of CPU, baseband and other audio
- sources through flexible digital and analogue routing, and integrates
- a class W headphone driver and stereo class D speaker drivers.
- - ASoC: add a WM8978 codec driver
- The WM8978 codec from Wolfson Microelectronics is very similar to
- wm8974, but is stereo and also has some differences in pin configuration
- and internal signal routing. This driver is based on wm8974 and takes
- the differences into account.
- - ASoC: Add initial WM8955 CODEC driver
- The WM8955 is a low power, high quality stereo DAC with integrated
- headphone and loudspeaker amplifiers, designed to reduce external
- component requirements in portable digital audio applications. This is
- an initial driver implementing support for the majority of the
- functionality in the device, currently OUT3 is not supported.
- - ASoC: Fix sorting of codecs Makefile entries
- - ASoC: Add DA7210 codec device support for ALSA
- This original driver was created by Dialog Semiconductor,
- and cleanuped by Kuninori Morimoto.
- Special thanks to David Chen.
- This became very simple ASoC codec driver,
- and it is tested by EcoVec24 board.
- - ASoC: Initial WM8904 CODEC driver
- The WM8904 is a high performance ultra-low power stereo CODEC
- optimised for portable audio applications, with features including
- a class W amplifier, FLL with free running mode, Mobile ReTune and
- ground referenced headphone and line outputs.
- Support for some features, most particularly the digital microphone
- interface, is not yet present.
/soc/pxa/Makefile
- - ASoC: Zipit Z2 WM8750 ASoC driver
- This patch adds support for sound through the WM8750 codec on Zipit Z2.
- Also, this patch incorporates support for detecting headset jack
- insertion through the jack detection API.
/usb/misc/Makefile
- - Regenerate patches and build-stubs for usb refactoring
- - ALSA: usb-audio: move ua101 driver
- As part of the USB audio code cleanup, move the non-standard ua101
- driver out of the way.
AC97 Codec
- - ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist
- BugLink: https://launchpad.net/bugs/481058
- The OR has verified that both 'Headphone Jack Sense' and 'Line Jack Sense'
- need to be muted for sound to be audible, so just add the machine's SSID
- to the ac97 jack sense blacklist.
- Reported-by: Richard Gagne
- Tested-by: Richard Gagne
- - ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense blacklist
- BugLink: https://launchpad.net/bugs/303789
- This model needs both 'Headphone Jack Sense' and 'Line Jack Sense'
- muted for audible audio, so just add its SSID to the blacklist and
- don't enumerate the controls.
- - ALSA: ac97: add AC97 STMicroelectronics' codecs
- Add the STMicroelectronics ST7597 codec and an unknown codec
- from the same manufacturer found on the Creative SB 128 card (CT4810).
- - ALSA: ac97: Add Dell Dimension 2400 to Headphone/Line Jack Sense blacklist
- This model needs both 'Headphone Jack Sense' and 'Line Jack Sense' muted
- for audible playback, so just add it to the ad1981 jack sense blacklist.
- Tested-by: Pete <x41215201@gmail.com>
- - ALSA: ac97_codec: merge WM9703 and WM9705 ops
- The WM9705 and WM9703 ops are the same actually so use
- the same code for both.
AD1889 driver
- - sound: use DEFINE_PCI_DEVICE_TABLE
- Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to
- .devinit.rodata section, so they can be discarded in some cases,
- and make them const.
AK4113 receiver
- - ALSA: i2c: cleanup: change parameter to pointer
- We actually pass an array of 7 chars not 5.
- This silences a smatch warning.
ALI5451 driver
- - sound: use DEFINE_PCI_DEVICE_TABLE
- Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to
- .devinit.rodata section, so they can be discarded in some cases,
- and make them const.
ALSA Version
- - ALSA: Release v1.0.23
- - ALSA: Release v1.0.22.1
- - ALSA: Release v1.0.22
ALSA sequencer
- - ALSA: trivial: sound seq ioctl dbg: print hexadecimal value padded with 0s
- Instead of padding with blanks and printing "number=0x a", print
- "number=0x0a".
- - sound: seq_timer: simplify snd_seq_timer_set_tick_resolution() parameters
- As snd_seq_timer_set_tick_resolution() is always called with the same
- three fields of struct snd_seq_timer, it suffices to give that as the
- only parameter.
ALSA<-OSS emulation
- - Refresh patches for addition of no_llseek calls
- - ALSA: core - Define llseek fops
- Set no_llseek to llseek file ops of each sound component (but for hwdep).
- This avoids the implicit BKL invocation via generic_file_llseek() used
- as default when fops.llseek is NULL.
- Also call nonseekable_open() at each open ops to ensure the file flags
- have no seek bit.
- - ALSA: pcm_lib - return back hw_ptr_interrupt
- Clemens Ladisch noted for hw_ptr_removal in "cleanup & merge hw_ptr
- update functions" commit:
- "It is possible for the status/delay ioctls to be called when the sound
- card's pointer register alreay shows a position at the beginning of the
- new period, but immediately before the interrupt is actually executed.
- (This happens regularly on a SMP machine with mplayer.) When that
- happens, the code thinks that the position must be at least one period
- ahead of the current position and drops an entire buffer of data."
- Return back the hw_ptr_interrupt variable. The last interrupt pointer
- is always computed from the latest hw_ptr instead of tracking it
- separately (in this case all hw_ptr checks and modifications might
- influence also hw_ptr_interrupt and it is difficult to keep it
- consistent).
- - ALSA: pcm_lib - cleanup & merge hw_ptr update functions
- Do general cleanup in snd_pcm_update_hw_ptr*() routines and merge them.
- The main change is hw_ptr_interrupt variable removal to simplify code
- logic. This variable can be computed directly from hw_ptr.
- Ensure that updated hw_ptr is not lower than previous one (it was possible
- with old code in some obscure situations when interrupt was delayed or
- the lowlevel driver returns wrong ring buffer position value).
ARM AACI PL041 driver
- - ALSA: aaci - Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3
- The commit 29a4f2d3 used writel() at offset 0x26 which is
- half-word aligned causing unaligned exceptions on a
- Cortex-A8. The original patch solved the "aaci-pl041 fpga:04:
- ac97 read back fail" issue on a soft reset. Reading from any
- arbitrary aaci register seems to solve this issue.
- - ALSA: sound/arm: Fix build failure caused by missing struct aaci definition
- This patch fixes a build failure introduced by the patch
- ALSA: AACI: factor common hw_params logic into aaci_pcm_hw_params [1]
- by adding/moving the aaci struct to the right position.
- The patch mentioned above merged common source parts into one function,
- but unfortunately left out the aaci struct and consequently caused a
- build failure e.g. for arm versatile_config [2]
- References:
- [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d3aee7996c30f928bbbbfd0994148e35d2e83084
- [2] http://kisskb.ellerman.id.au/kisskb/buildresult/1893605/
- Patch against Linus' tree.
- - ALSA: AACI: switch to per-pcm locking
- We can use finer-grained locking, which makes things easier when
- we gain DMA support.
- - ALSA: AACI: add double-rate support
- - ALSA: AACI: factor common hw_params logic into aaci_pcm_hw_params
- - ALSA: AACI: cleanup aaci_pcm_hw_params
- Since the recording and playback paths are now the same, eliminate
- the needless conditionals.
- - ALSA: AACI: simplify codec rate information
- There's no need for a specific rule; ALSA's generic AC'97 support
- calculates the necessary rate constraint information itself, and
- we can use this directly.
- - ALSA: aaci - Fix a typo
- Fixed a typo of the max buffer size specified for buffer allocation
- changed in the commit d6797322231af98b9bb4afb175dd614cf511e5f7.
ARM PXA2XX driver
- - include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
- percpu.h is included by sched.h and module.h and thus ends up being
- included when building most .c files. percpu.h includes slab.h which
- in turn includes gfp.h making everything defined by the two files
- universally available and complicating inclusion dependencies.
- percpu.h -> slab.h dependency is about to be removed. Prepare for
- this change by updating users of gfp and slab facilities include those
- headers directly instead of assuming availability. As this conversion
- needs to touch large number of source files, the following script is
- used as the basis of conversion.
- http://userweb.kernel.org/~tj/misc/slabh-sweep.py
- The script does the followings.
- * Scan files for gfp and slab usages and update includes such that
- only the necessary includes are there. ie. if only gfp is used,
- gfp.h, if slab is used, slab.h.
- * When the script inserts a new include, it looks at the include
- blocks and try to put the new include such that its order conforms
- to its surrounding. It's put in the include block which contains
- core kernel includes, in the same order that the rest are ordered -
- alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
- doesn't seem to be any matching order.
- * If the script can't find a place to put a new include (mostly
- because the file doesn't have fitting include block), it prints out
- an error message indicating which .h file needs to be added to the
- file.
- The conversion was done in the following steps.
- 1. The initial automatic conversion of all .c files updated slightly
- over 4000 files, deleting around 700 includes and adding ~480 gfp.h
- and ~3000 slab.h inclusions. The script emitted errors for ~400
- files.
- 2. Each error was manually checked. Some didn't need the inclusion,
- some needed manual addition while adding it to implementation .h or
- embedding .c file was more appropriate for others. This step added
- inclusions to around 150 files.
- 3. The script was run again and the output was compared to the edits
- from #2 to make sure no file was left behind.
- 4. Several build tests were done and a couple of problems were fixed.
- e.g. lib/decompress_*.c used malloc/free() wrappers around slab
- APIs requiring slab.h to be added manually.
- 5. The script was run on all .h files but without automatically
- editing them as sprinkling gfp.h and slab.h inclusions around .h
- files could easily lead to inclusion dependency hell. Most gfp.h
- inclusion directives were ignored as stuff from gfp.h was usually
- wildly available and often used in preprocessor macros. Each
- slab.h inclusion directive was examined and added manually as
- necessary.
- 6. percpu.h was updated not to include slab.h.
- 7. Build test were done on the following configurations and failures
- were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
- distributed build env didn't work with gcov compiles) and a few
- more options had to be turned off depending on archs to make things
- build (like ipr on powerpc/64 which failed due to missing writeq).
- * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
- * powerpc and powerpc64 SMP allmodconfig
- * sparc and sparc64 SMP allmodconfig
- * ia64 SMP allmodconfig
- * s390 SMP allmodconfig
- * alpha SMP allmodconfig
- * um on x86_64 SMP allmodconfig
- 8. percpu.h modifications were reverted so that it could be applied as
- a separate patch and serve as bisection point.
- Given the fact that I had only a couple of failures from tests on step
- 6, I'm fairly confident about the coverage of this conversion patch.
- If there is a breakage, it's likely to be something in one of the arch
- headers which should be easily discoverable easily on most builds of
- the specific arch.
- Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
- - ASoC: pxa-pcm-lib: initialize DMA channel to -1
- This fixes a warning ("pxa_free_dma: trying to free channel 0 which is
- already freed") when a device was opened but the hw_params() call
- failed.
- - [ARM] pxa: remove now unnecessary pxa_gpio_mode() calls in ac97
- Now most (if not all) PXA platforms have been switched to the new MFP
- API, it's rather safe to remove these unnecessary pxa_gpio_mode() calls
- in pxa2xx-ac97-lib.c now.
- - [ARM] pxa: introduce processor specific pxa27x_assert_ac97reset()
- This is really pxa27x specific and should be kept in pxa27x.c. With this
- newly introduced function, the original set_resetgpio_mode() is deprecated.
- - [ARM] pxa: remove the unnecessary restoring of MFP registers
- MFP registers are saved and restored by the mfp sys_device before all
- other platform devices, and it is unnecessary here.
- - const: constify remaining dev_pm_ops
ATIIXP driver
- - ALSA: atiixp: Specify codec for Foxconn RC4107MA-RS2
- BugLink: https://bugs.launchpad.net/ubuntu/+bug/498863
- This mainboard needs ac97_codec=0.
- Tested-by: Apoorv Parle <apparle@yahoo.co.in>
Apple Onboard Audio driver
- - include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
- percpu.h is included by sched.h and module.h and thus ends up being
- included when building most .c files. percpu.h includes slab.h which
- in turn includes gfp.h making everything defined by the two files
- universally available and complicating inclusion dependencies.
- percpu.h -> slab.h dependency is about to be removed. Prepare for
- this change by updating users of gfp and slab facilities include those
- headers directly instead of assuming availability. As this conversion
- needs to touch large number of source files, the following script is
- used as the basis of conversion.
- http://userweb.kernel.org/~tj/misc/slabh-sweep.py
- The script does the followings.
- * Scan files for gfp and slab usages and update includes such that
- only the necessary includes are there. ie. if only gfp is used,
- gfp.h, if slab is used, slab.h.
- * When the script inserts a new include, it looks at the include
- blocks and try to put the new include such that its order conforms
- to its surrounding. It's put in the include block which contains
- core kernel includes, in the same order that the rest are ordered -
- alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
- doesn't seem to be any matching order.
- * If the script can't find a place to put a new include (mostly
- because the file doesn't have fitting include block), it prints out
- an error message indicating which .h file needs to be added to the
- file.
- The conversion was done in the following steps.
- 1. The initial automatic conversion of all .c files updated slightly
- over 4000 files, deleting around 700 includes and adding ~480 gfp.h
- and ~3000 slab.h inclusions. The script emitted errors for ~400
- files.
- 2. Each error was manually checked. Some didn't need the inclusion,
- some needed manual addition while adding it to implementation .h or
- embedding .c file was more appropriate for others. This step added
- inclusions to around 150 files.
- 3. The script was run again and the output was compared to the edits
- from #2 to make sure no file was left behind.
- 4. Several build tests were done and a couple of problems were fixed.
- e.g. lib/decompress_*.c used malloc/free() wrappers around slab
- APIs requiring slab.h to be added manually.
- 5. The script was run on all .h files but without automatically
- editing them as sprinkling gfp.h and slab.h inclusions around .h
- files could easily lead to inclusion dependency hell. Most gfp.h
- inclusion directives were ignored as stuff from gfp.h was usually
- wildly available and often used in preprocessor macros. Each
- slab.h inclusion directive was examined and added manually as
- necessary.
- 6. percpu.h was updated not to include slab.h.
- 7. Build test were done on the following configurations and failures
- were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
- distributed build env didn't work with gcov compiles) and a few
- more options had to be turned off depending on archs to make things
- build (like ipr on powerpc/64 which failed due to missing writeq).
- * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
- * powerpc and powerpc64 SMP allmodconfig
- * sparc and sparc64 SMP allmodconfig
- * ia64 SMP allmodconfig
- * s390 SMP allmodconfig
- * alpha SMP allmodconfig
- * um on x86_64 SMP allmodconfig
- 8. percpu.h modifications were reverted so that it could be applied as
- a separate patch and serve as bisection point.
- Given the fact that I had only a couple of failures from tests on step
- 6, I'm fairly confident about the coverage of this conversion patch.
- If there is a breakage, it's likely to be something in one of the arch
- headers which should be easily discoverable easily on most builds of
- the specific arch.
- Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
- - of: unify phandle name in struct device_node
- In struct device_node, the phandle is named 'linux_phandle' for PowerPC
- and MicroBlaze, and 'node' for SPARC. There is no good reason for the
- difference, it is just an artifact of the code diverging over a couple
- of years. This patch renames both to simply .phandle.
- Note: the .node also existed in PowerPC/MicroBlaze, but the only user
- seems to be arch/powerpc/platforms/powermac/pfunc_core.c. It doesn't
- look like the assignment between .linux_phandle and .node is
- significantly different enough to warrant the separate code paths
- unless ibm,phandle properties actually appear in Apple device trees.
- I think it is safe to eliminate the old .node property and use
- phandle everywhere.
- Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Asihpi driver
- - ALSA: asihpi - Transform names towards linux style.
- - snd-asihpi: Support mic control caching. Move an enum out of public api.
- - snd-asihpi: Keep HPI buffer pointers in sync with ALSA after rewrite.
- Fixes problem where alsa overwrote buffered data before it had been read.
- - snd-asihpi: Use adapter properties for stream buffer constraints.
- Use adapter properties for stream buffer constraints, matches alsa period
- constraints to adapter internal period.
- Default to less logging, remove VPRINTK3
- Log buffer info in decimal.
- - snd-asihpi: Bump lib version due to added and removed APIs
- - snd-asihpi: Reinit response size for every msg/response transaction. Minor fix const ptr
- Response size must be reinitialised for each use, because it is used as a buffer size limit.
- - snd-asihpi: add const plus a few new defs
- const correct pointer parameters.
- add a new stream state wait and function
- add new adapter properties
- - asihpi - Remove obsolete comment
- - asihpi - Allow mux to have up to 256 sources
- Allow mux to have up to 256 sources. Log warning and return index 0
- rather than error if DSP returns invalid value. (amixer fails if error
- returned on get)
- - Make firmware vs driver major version mismatch an error.
- I.e. incompatible firmware will fail driver load.
- - Sync with AudioScience current CVS at version 4.03.04
- Add support for Universal Control and variable size HPI messages.
- Remove dsp index from HPI messages, add general object index.
- Convert many defines to enums.
- Rearrange code to get rid of hpios_linux_kernel.[ch]
- ALSA specific - check error returns from all HPI calls.
Atmel on-chip Audio Bitstream DAC (ABDAC)
- - ALSA: AC97: add full duplex support for atmel AT91 and AVR.
- This patch add full duplex support on AT91 and AVR.
- It was a bug: we needed to check first if there are some chips opened so we
- could enable both reception and sending of the data.
- - ALSA: AC97: add AC97 support for AT91.
- This patch add AC97 support for ATMEL AT91, using the AVR32 code.
- While AVR is using a DMA, the AT91 chips are using a Peripheral Data
- Controller.
Au12x0/Au1550 PSC ASoC
- - MIPS/SOUND: Alchemy: DB1200 AC97+I2S audio support.
- Machine driver for DB1200 AC97 and I2S audio systems, intended as a proper
- reference asoc machine for Alchemy-based systems. AC97/I2S can be selected
- at boot time by setting switch S6.7.
- - MIPS: Alchemy: change dbdma to accept physical memory addresses
- DMA can only be done from physical addresses; move the "virt_to_phys"
- source/destination buffer address translation from the dbdma queueing
- functions (since the hardware can only DMA to/from physical addresses)
- to their respective users.
- - MIPS: Alchemy: remove dbdma compat macros
- Remove dbdma compat macros, move remaining users over to default
- queueing functions and -flags.
- (Queueing function signature has changed in order to give
- a build failure instead of silent functional changes due
- to the no longer implicitly specified DDMA_FLAGS_IE flag)
Avance Logic ALS300/300+ driver
- - sound: use DEFINE_PCI_DEVICE_TABLE
- Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to
- .devinit.rodata section, so they can be discarded in some cases,
- and make them const.
CMI8788 (Oxygen) driver
- - ALSA: oxygen: change || to &&
- In the original code the condition was always true (hopefully) because
- WM8776_HPLVOL is zero.
- - sound: virtuoso: add Xonar DS support
- Add experimental support for the Asus Xonar DS.
CMIPCI driver
- - ALSA: cmipci: work around invalid PCM pointer
- When the CMI8738 FRAME2 register is read, the chip sometimes (probably
- when wrapping around) returns an invalid value that would be outside the
- programmed DMA buffer. This leads to an inconsistent PCM pointer that is
- likely to result in an underrun.
- To work around this, read the register multiple times until we get a
- valid value; the error state seems to be very short-lived.
- Reported-and-tested-by: Matija Nalis <mnalis-alsadev@voyager.hr>
CS4281 driver
- - ALSA: info - Check file position validity in common layer
- Check the validity of the file position in the common info layer before
- calling read or write callbacks in assumption that entry->size is set up
- properly to indicate the max file size.
- Removed the redundant checks from the callbacks as well.
- - ALSA: info - Use standard types for info callbacks
- Use loff_t, size_t and ssize_t for arguments of info callbacks
- to follow the standard procfs.
CS46xx driver
- - ALSA: info - Check file position validity in common layer
- Check the validity of the file position in the common info layer before
- calling read or write callbacks in assumption that entry->size is set up
- properly to indicate the max file size.
- Removed the redundant checks from the callbacks as well.
- - ALSA: info - Use standard types for info callbacks
- Use loff_t, size_t and ssize_t for arguments of info callbacks
- to follow the standard procfs.
- - ALSA: cs46xx - fix some typos
- - ALSA: cs46xx - Do test writes to register AC97_REC_GAIN in
- snd_cs46xx_codec_reset() bypassing the register cache, so as to not
- clobber the cached register value during resume.
- - ALSA: cs46xx: Fix cpu idling with resume
- Make sure that capture DMA doesn't stay enabled after system resume
- as that potentially prevents the processor from entering deep sleep
- states.
- - ALSA: cs46xx - Fix suspend/resume with new DSP
- Fix the basic suspend/resume of snd-cs46xx drivers with new DSP.
- References:
- https://bugzilla.redhat.com/show_bug.cgi?id=498287
- https://bugzilla.redhat.com/show_bug.cgi?id=160751
- Tested-by: Florian Zumbiehl <florz@florz.de>
CS5535 driver
- - ALSA: cs5535audio: free OLPC quirks from reliance on MGEODE_LX cpu optimization
- Previously, OLPC support for the mic extensions was only enabled in the
- ALSA driver if CONFIG_OLPC and CONFIG_MGEODE_LX were both set. This was
- because the old geode GPIO code was written in a manner that assumed
- CONFIG_MGEODE_LX. With the new cs553x-gpio driver, this is no longer the
- case; as such, we can drop the requirement on CONFIG_MGEODE_LX and instead
- include a requirement on GPIOLIB.
- We use the generic GPIO API rather than the cs553x-specific API.
Compatibility header files
- - include/sound/pcm.patch - add back hw_ptr_interrupt variable
- - pcm.patch - update to recent runtime->tsleep & runtime->twake changes
- - Updated include/sound/pcm.patch according latest alsa-kmirror tree
- Also optimize and improve include/sound/Makefile a bit.
Conexant Riptide driver
- - ALSA: riptide: clean up while loop
- If getpaths() returned an odd number this would be a buffer under-run and an
- endless loop. It turns out that getpaths() can only return even numbers, but
- let's make it easy for people auditing code. With the new code you don't
- need to look at getpaths().
- This silences a smatch warning.
- - ALSA: test off by one in setsamplerate()
- With `while (i++ < MAX_WRITE_RETRY)' i reaches MAX_WRITE_RETRY + 1 after the loop
Creative Sound Blaster X-Fi (20K1/20K2)
- - Fix pci/ctxfi/ctatc.patch for new snd_pci_quirk_lookup_id()
- - ALSA: ctxfi - fix PTP address initialization
- After hours of debugging, I finally found the reason why some source
- and runtime combination does not work. The PTP (page table pages)
- address must be aligned. I am not sure how much, but alignment to
- PAGE_SIZE is sufficient. Also, use ALSA's page allocation routines
- to ensure proper virtual -> physical address translation.
- - ALSA: ctxfi - Add subsystem option
- Added a new option "subsystem" to override the PCI SSID for identifying
- the card type.
DT019x driver
- - Remove obsolete dt019x.c again
- - introduce --with-alsakernel option for ./configure
- This patch allows to choose the ALSA kernel tree. It adds support to
- specify own path for the standard Linux 2.6 kernel tree.
- The alsa-kmirror mode was untouched.
- Also, missing isa/dt019x.c is added.
Digigram VX core
- - handle more nicely new location for autoconf.h (generated/autoconf.h)
- - linux/include/generated directory related changes for 2.6.33
- - ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- pgprot_noncached() can be set for vmalloc'ed buffers safely, and we'd
- need non-cached behavior more or less, even for the intermediate ring-
- buffers.
- Now snd_pcm_lib_mmap_vmalloc() is added as the common PCM mmap callback
- that is coupled with snd_pcm_lib_alloc_vmalloc_buffer() & co.
- - sound: vx: use vmalloc buffer helper functions
- Remove this duplicate of snd_pcm_alloc_vmalloc_buffer and use the
- equivalent core functions instead.
Documentation
- - ALSA: hda - Update document about MSI and interrupts
- - ALSA: hda-intel - remove model=hwio from documentation
- - ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
- The probe_only module parameter skips the codec initialization, too.
- Remove the model=hwio code and use second bit in probe_only to
- skip the HDA codec reset procedure.
- - ALSA: hda-intel - add special 'hwio' model to bypass initialization
- Using the 'model=hwio' option, the driver bypasses any codec
- initialization and the reset procedure for codecs is also
- bypassed. This mode is usefull to enable direct access using
- hwdep interface (using hdaverb or hda-analyzer tools) and
- retain codec setup from BIOS.
- - ALSA: ua101: add Edirol UA-1000 support
- Add support for the Edirol UA-1000 to the UA-101 driver.
- Both devices behave the same, so we just have to shuffle around some
- interface numbers and name strings.
- - ALSA: hda - Add missing description in HD-Audio-Models.txt
- - ALSA: hda - Add Macmini 3,1 support
- BugLink: https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/343989
- Add a model quirk for the NVIDIA based Macmini hardware, aka Macmini 3,1. The
- pinout is almost identical to the mb5 quirk, except for no microphone and
- the line-in mixer controls being on a different index. Everything works in
- 2ch mode, but as I am not sure what needs to be changed for 6ch mode, or
- whether the Mac Mini's chip supports 6ch mode, I have simply duplicated
- the code from the mb5 quirk for the mac mini chmode management. The new
- model parameter for this quirk is "macmini3".
- - ALSA: hda - Add support for Lenovo IdeaPad U150
- Add patch for the Conexant 5066 HDA codec to support the Lenovo IdeaPad U150
- - ALSA: hda - Allow override more fields via patch loader
- Allow the override of vendor-id, subsystem-id, revision-id and chip name
- via patch loading. Updated the document, too.
- - ALSA: hda - Add support for Toshiba Satellite M300
- Added the support for Toshiba Satellite M300 with Conexant 5051 codec.
- Since the laptop has no port C connection and the pin reports always
- the jack sense true, we need to ignore port-C unsol event.
- - ALSA: hda - Minor fixes for Compaq Presario F700 quirk
- Minor fixes for HP Compaq Presario F700 quirks with Cxt5051 codec:
- - changed the capture mixer elements to the standard name.
- - fixed the quirk name string without a space
- - sorted the quirk list
- - updated the documentation
- - sound: virtuoso: add Xonar DS support
- Add experimental support for the Asus Xonar DS.
- - ALSA: ctxfi - Add subsystem option
- Added a new option "subsystem" to override the PCI SSID for identifying
- the card type.
- - ALSA: Fix a typo in Procfile.txt
- Fix a typo in Documentation/sound/alsa/Procfile.txt
- Signed-off-by Masanari Iida <standby24x7@gmail.com>
- - ALSA: jazz16: refine dma and irq selection
- Narrow the dma and irq selection after the DOS driver.
- Add ALSA configuration description as well.
- - ALSA: hda - Add support for the new 27 inch IMacs
- With the attached patch I am able to use the sound on a new IMac 27.
- What works:
- *) Internal speakers
- *) Internal microphone
- *) Headphone
- I don't have an external mic or a SPDIF device to test the rest.
EMU8000 driver
- - sound: sbawe: fix memory detection part 2
- The patch "sbawe: fix memory detection" fixed detection
- for memoryless SB32 cards but broke detection of memory
- above 512KB. This patch fixes the regression.
- The patch has been tested on the SB32 card (CT3670) with
- 0MB, 2MB and 8MB memory installed.
- - ALSA: sbawe: fix memory detection
- Memory amount is increased before a successful write-read
- sequence is done. Thus, 512 kB of onboard memory is detected
- on memoryless cards like SB32.
- Move the increasing of memory counter after successful read
- is done.
Echoaudio driver
- - Echoaudio - add suspend/resume support
- 5/5 Patchin' patcher:
- This patch updates alsa-driver echoaudio.patch .
- Short description:
- This patch updates alsa-driver echoaudio.patch .
- - ALSA: echoaudio - Eliminate use after free
- Use the call to snd_card_free in the error handling code at the end of the
- function, as in the other error cases.
- A simplified version of the semantic patch that finds this problem is as
- follows: (http://coccinelle.lip6.fr/)
- // <smpl>
- @@
- expression E,E2;
- @@
- snd_card_free(E)
- ...
- (
- E = E2
- |
- * E
- )
- // </smpl>
- - ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50
- This patch fixes a division by zero error in the irq handler.
- There is a small window between the hw_params() callback and when
- runtime->frame_bits is set by ALSA middle layer. When another substream is
- already running, if an interrupt is delivered during that window the irq
- handler calls pcm_pointer() which does a division by zero. The patch below
- makes the irq handler skip substreams that are initialized but not started
- yet. Cc to Clemens Ladisch because he proposed an alternate fix.
- For more information, please read the original thread in the linux-kernel
- mailing list: http://lkml.org/lkml/2010/2/2/187
- - ALSA: Echoaudio - Add suspend support #2
- This patch adds rearranges parts of the initialization code and adds
- suspend and resume callbacks.
- This patch adds suspend and resume callbacks.
- It also rearranges parts of the initialization code so it can be
- used in both the first initialization (when the module is loaded we
- also have to load default settings) and the resume callback (where
- we have to restore the previous settings).
- - ALSA: Echoaudio - Add suspend support #1
- Move the controls init code outside the init_hw() function because is must
- not be called during resume.
- This patch moves the code that initializes the card's controls with
- default valued from the init_hw() function into a separated
- set_mixer_defaults() function (one for each of the 16 supported
- cards). This change is necessary because during resume we must
- resurrect the hardware without losing the previous
- settings. set_mixer_defaults() must be called only once when the
- module is loaded.
- - ALSA: Echoaudio - Add firmware cache #2
- This patch implements a simple cache for the firmware files when CONFIG_PM is defined.
- This patch changes get_firmware(), free_firmware() and adds
- free_firmware_cache(). The first two functions implement a very
- simple cache and the latter is used to actually release all the stored
- firmwares when the module is unloaded.
- When CONFIG_PM is not enabled those functions act as before, that is
- free_firmware() releases the firmware immediately and
- free_firmware_cache() does nothing.
- - ALSA: Echoaudio - Add firmware cache #1
- Changes the way the firmware is passed through functions.
- When CONFIG_PM is enabled the firmware cannot be released because the
- driver will need it again to resume the card.
- With this patch the firmware is passed as an index of the struct
- firmware card_fw[] in place of a pointer. That same index is then used
- to locate the firmware in the firmware cache.
GUS Library
- - ALSA: info - Implement common llseek for binary mode
- The llseek implementation is identical for existing driver implementations,
- so let's merge to the common layer. The same code for the text proc file
- can be used even for the binary proc file.
- The driver can provide its own llseek method if needed. Then the common
- code will be skipped.
- - ALSA: info - Check file position validity in common layer
- Check the validity of the file position in the common info layer before
- calling read or write callbacks in assumption that entry->size is set up
- properly to indicate the max file size.
- Removed the redundant checks from the callbacks as well.
- - ALSA: info - Use standard types for info callbacks
- Use loff_t, size_t and ssize_t for arguments of info callbacks
- to follow the standard procfs.
Generic drivers
- - ALSA: dummy driver - add model parameter
- This is a cleanup for the dummy driver. The model kernel module parameter
- is introduced to select the soundcard emulation.
HDA Codec driver
- - ALSA: hda - Add initial support for Thinkpad T410s HDA codec
- attached please find a patch that adds support for at least the T410s
- HDA codec. Most likely it will also add support for the T410 and T510
- based models.
- The patch was derived from Ideapad support. Support for the laptop's and
- docking-station output connectors as well as the docking-station microphone
- connector and the laptops internal devices has been tested. Since it has been
- developed without a data-sheet available, support for digital outputs and the
- laptop's microphone input may well be incorrect.
- Microphone mute functionality is not included:
- The microphone mute button seems to be reported through thinkpad_acpi key
- 0000101b. The mute button LED seems to be wired to thinkpad_acpi led
- number 15.
- - ALSA: hda - add a quirk for Clevo M570U laptop
- Added the matching model for Clevo laptop M570U.
- Tested-by: Maximilian Gerhard <maxbox@directbox.com>
- - ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs
- Some VIA codecs have no multiple source selection for headphone pins,
- thus it's useless (and wrong) to create "Independent HP" control on them.
- This patch adds the check of connections to skip the control in such a
- case.
- - ALSA: hda - Fix control element allocations in VIA codec parser
- The commit 5b0cb1d850c26893b1468b3a519433a1b7a176be
- ALSA: hda - add more NID->Control mapping
- breaks the control element allocation by returning a wrong value.
- Let's fix it.
- - ALSA: hda - Add fix-up for Sony VAIO with ALC269
- Sony VAIO models with ALC269 need to initialize the pin 0x19 to VREF
- ground or Hi-Z to make the headphone working. Other than that, model=auto
- works fine, so let's use model=auto with a specific fix-up table.
- - ALSA: hda - Enhance fix-up table for Realtek codecs
- A few enhancement / fixes for fix-up table of some Realtek codecs:
- - Apply fix-ups only for the auto model
- - Apply additional verbs after normal init verbs
- - Add a debug print to show the fix-up application
- This is basically a preliminary work for the next fix for Sony VAIO.
- - ALSA: hda - Fix initial capture source connections of ALC880/260
- The widget connections of ADC of ALC880 and ALC2260 aren't initialized,
- thus it might point to invalid pin. This can be a problem when mode=auto
- and there is only one input pin. Then user can't change the connection
- at all.
- This patch adds the code to initialize the input pin connection of these
- codecs.
- Reference: Novell bnc#594363
- https://bugzilla.novell.com/show_bug.cgi?id=594363
- - ALSA: hda - Fix setup for ALC269vb amic and dmic models
- Corrected HP and mic pins for ALC269vb amic and dmic models.
- - ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21
- ALC269vb has an alternative HP pin 0x21 in addition.
- Fix the parser to recognize it.
- - ALSA: hda: Add support for Medion WIM2160
- This adds support for the Medion WIM2160 soundcard.
- There's no PCI quirk added because it has the same PCI id as the
- Medion MD2.
- - ALSA: hda - Remove left-over debug printk in patch_realtek.c
- - ALSA: hda - Fix ALC882 DAC connections in auto mode
- Assign DACs properly to each output. Currently, the front output is bound
- to HP/speaker outputs blindly, but they should be assigned to individual
- DACs.
- - ALSA: hda - Fix a wrong array range check in patch_realtek.c
- The commit 6a4f2ccb467e00281470cde2dee08fe5ecde62d1 introduced a wrong
- comparision for the array range check, which effectively skips the whole
- initialization of DAC connections. Fixed now.
- Reference: bko#15689
- https://bugzilla.kernel.org/show_bug.cgi?id=15689
- Reported-by: Adrian Ulrich <kernel@blinkenlights.ch>
- - ALSA: hda - Enable amplifiers on Acer Inspire 6530G
- After more tests it appears that EAPD needs to be enabled
- on both the 0x14 and 0x15 NIDs to enable the main speaker
- and headphone amplifiers. The maximum volume setting is
- now equal to what the machine achieves under other operating
- systems.
- Disabling Front or LFE playback triggers EAPD and disables
- the amplifier. As such, these two playback switches have
- been removed from the mixer.
- - ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981
- BugLink: https://launchpad.net/bugs/551606
- The OR's hardware distorts at PCM 100% because it does not correspond to
- 0 dB. Fix this in patch_ad1981() for all models using the Thinkpad
- quirk.
- Reported-by: Jane Silber
- - ALSA: hda - introduce snd_hda_codec_update_cache()
- Add a new helper, snd_hda_codec_update_cache(), for reducing the unneeded
- verbs. This function checks the cached value and skips if it's identical
- with the given one. Otherwise it works like snd_hda_codec_write_cache().
- The alc269 code uses this function as an example.
- - ALSA: hda - Add mute LED support for HP laptop with ALC269
- Some HP laptops have a mute LED that is controlled over the unused
- MIC2 VREF pin. Implement the LED updater like patch_sigmatel.c for this
- model.
- - ALSA: hda - Add missing printk argument in previous patch
- - ALSA: hda - Fix ADC/MUX assignment of ALC269 codec
- ALC269 codec has a few different variants, and each of them may have
- different ADC and MUX widgets. For example, one model has ADC 0x08
- with MUX 0x23 while others has ADC 0x09 or ADC 0x07 with MUX 022 or
- 0x24. The difference of ADC appears usually as the capability of
- the digital mic pin (0x12), and the current driver sometimes misses
- the internal mic pin due to the mismatching ADC.
- This patch adds a bit more clever way to find the matching ADC instead
- of the static list. Now the driver checks all active input pins and
- fills only the ADC/MUX's that contain all of them.
- - ALSA: hda - Report errors when invalid values are passed to snd_hda_amp_*()
- The values should be in 8 bits.
- - ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()
- The mask and value parameters passed to snd_hda_codec_amp_stereo()
- should be 8-bit values for mute and volume. Passing AMP_IN_MUTE() is
- wrong, which is found in many places in patch_realtek.c as a left-over
- from the conversion to snd_hda_codec_amp_stereo().
- Reported-by: Dan Carpenter <error27@gmail.com>
- - ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
- The probe_only module parameter skips the codec initialization, too.
- Remove the model=hwio code and use second bit in probe_only to
- skip the HDA codec reset procedure.
- - ALSA: hda - Don't set invalid connection index in Realtek initialiaiton
- Skip initialization of connections of DAC widgets that aren't used,
- which resulted in invalid verb parameters.
- - ALSA: hda-intel - AD1984 thinkpad - add analog beep input control
- For Lenovo Thinkpad T61/X61, the analog beep input is connected
- to node 0x20, index 3. Move the digital beep mute/volume controls
- as "Digital Beep" and create analog beep controls for mentioned node.
- - ALSA: hda-intel - add special 'hwio' model to bypass initialization
- Using the 'model=hwio' option, the driver bypasses any codec
- initialization and the reset procedure for codecs is also
- bypassed. This mode is usefull to enable direct access using
- hwdep interface (using hdaverb or hda-analyzer tools) and
- retain codec setup from BIOS.
- - ALSA: hdmi - show debug message on changing audio infoframe
- Also change printk level for the two others.
- - ALSA: hda - Fix uninitialized variable warning in alc_auto_parse_customize_define()
- - ALSA: hda - Fix access-after-free in patch_realtek.c
- alc_free_kctls() has to be called after all jobs done in alc_build_controls().
- - ALSA: hda - Sort codec entry list of Nvidia HDMI
- - ALSA: hda - Add support of Nvidia GT220 HDMI
- This patch adds the device id for Nvidia GT220 cards to the nvhdmi
- driver. I have tested it and confirmed it to be working.
- Original patch download link:
- https://gist.github.com/324070/
- - ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki)
- BugLink: https://launchpad.net/bugs/420578
- The OR has verified that his hardware distorts because of the 0 dB
- offset not corresponding to the highest PCM level. Fix this by capping
- said PCM level to 0 dB similarly to what we do for CX20549 (Venice).
- Reported-by: Mike Pontillo <pontillo@gmail.com>
- Tested-by: Mike Pontillo <pontillo@gmail.com>
- - ALSA: hda - Add PCI quirk for HP dv6-1110ax.
- Adding this PCI quirk fixes the board config detection.
- This also fixes jack sensing by using "hp_detect=1" via properly detected
- board config.
- - ALSA: hda - Add alc_codec_rename() helper
- Added alc_codec_rename() helper for renaming codec->chip_name.
- Added Acer-specific codec naming for ALC269/662.
- [Clean-up and refactoring by tiwai]
- - ALSA: hda - Add parse customize define function for Realtek codecs
- Added alc_auto_parse_customize_define() to parse the Realtek-specific
- attributes from SKU. Also enable beep controls only when the proper
- attribute bit is set.
- - ALSA: hda - Take internal mic as Front Mic
- Add new check for MIC. Do the internal DMIC as the Front MIC.
- It could solve the default record source index issue.
- [Fix the check properly using the bitmask by tiwai]
- - ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212
- BugLink: https://bugs.launchpad.net/bugs/538895
- The OR has verified that both position_fix=1 and model=6stack-dig are
- necessary to have capture function properly. (The existing 3stack-6ch
- model quirk seems to be incorrect.)
- Reported-by: Reuben Bailey <reuben.e.bailey@gmail.com>
- Tested-by: Reuben Bailey <reuben.e.bailey@gmail.com>
- - ALSA: hda - Add PCI quirks for MSI NetOn AP1900 and Wind Top AE2220
- This should make the speakers and jack detection work on MSI all-in-one
- computers NetOn AP1900 and Wind Top AE2220.
- - ALSA: hda - Fix secondary ADC of ALC260 basic model
- Fix adc_nids[] for ALC260 basic model to match with num_adc_nids.
- Otherwise you get an invalid NID in the secondary "Input Source" mixer
- element.
- - ALSA: hda - Add an error message for invalid mapping NID
- Add an error message to snd_hda_add_nid() for invalid mapping NID to make
- easier to hunt the buggy code.
- Also added a missing space to the error message in snd_hda_build_controls()
- - ALSA: hda - Fix input source elements of secondary ADCs on Realtek
- Since alc_auto_create_input_ctls() doesn't set the elements for the
- secondary ADCs, "Input Source" elemtns for these also get empty, resulting
- in buggy outputs of alsactl like:
- control.14 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- iface MIXER
- name 'Input Source'
- index 1
- value 0
- }
- This patch fixes alc_mux_enum_*() (and others) to fall back to the
- first entry if the secondary input mux is empty.
- - ALSA: hda - Fix wrong model range check for ALC268
- Fix a wrong value passed to snd_hda_check_board_codec_sid_config() as
- the upper-limit in parse_alc268(), so that any wrong value can't be
- passed.
- So far, no bogus value was set in the quirk entries, so this won't give
- any behavioral changes.
- - ALSA: hdmi - merge common code for intelhdmi and nvhdmi
- Create patch_hdmi.c to hold common code from intelhdmi and nvhdmi.
- For now the patch_hdmi.c file is simply included by patch_intelhdmi.c
- and patch_nvhdmi.c, and does not represent a real codec.
- There are no behavior changes to intelhdmi. However nvhdmi made several
- changes when copying code out of intelhdmi, which are all reverted in
- this patch. Wei Ni confirmed that the reverted code actually works fine.
- Tested-by: Wei Ni <wni@nvidia.com>
- - ALSA: hda: uninitialized variable fix
- Commit eaa9b3a748539651f50e3a234c8854e1b42a839a introduced the following
- uninitialized warning:
- sound/pci/hda/patch_realtek.c: In function 'set_capture_mixer':
- sound/pci/hda/patch_realtek.c:4928: warning: 'pin' is used uninitialized in this function
- sound/pci/hda/patch_realtek.c:4918: note: 'pin' was declared here
- It appears indeed that 'pin' needs to be initialized to 0.
- - ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
- Support nvidia MCP89 and GT21x 8ch hdmi audio.
- Add some eld support.
- - ALSA: sound/pci/hda/hda_codec.c: various coding style fixes
- - ALSA: hda - Add missing hp_pins definitions for ALC269 quirks
- In 2.6.33 ACL269 unsol event handler was changed to look up the pre-defined
- pins, but the headphone pins aren't defined properly in each quirk.
- This patch adds the missing definitions, and fixes the speaker auto-mute
- regression on some ASUS (and possibly other) laptops.
- - ALSA: hda: Use 3stack quirk for Toshiba Satellite L40-10Q
- BugLink: https://bugs.launchpad.net/bugs/524948
- The OR has verified that the existing model=laptop-eapd quirk does not
- function correctly but instead needs model=3stack. Make this change
- so that manual corrections to module-init-tools file(s) are not
- required.
- Reported-by: Lasse Havelund <lasse@havelund.org>
- - ALSA: hda - Add/fix ALC269 FSC and Quanta models
- Specify proper quirk models for FSC and Quanta machines with ALC269 codec.
- - ALSA: hda - Add ALC670 codec support
- - Fixed alc_subsystem_id( ) typo and add new function.
- - !(ass & 0x100000)) ==> Delete this check. It is unnecessary check.
- - Add porti
- - ALC670 support
- - ALSA: hda - remove unnecessary msleep on power state transitions
- This will save ~15ms boot time.
- The first 10ms sleep was introduced in commit d2595d86e5 for (buggy)
- Cxt codecs, so better to limit the sleep to the problem hardware.
- For the second 10ms sleep, the HDA spec says:
- Power State[1:0]:
- 00: Node Power state (D0) is fully on.
- 01: Node Power state (D1) allows for (does not require) the lowest possible power consuming state from which it
- can return to the "fully on" state (D0) within 10 ms, excepting analog pass through circuits (e.g., CD analog
- playback) which must remain fully on.
- 10: Node Power state (D2) allows for (does not require) the lowest possible power consuming state from which it
- can return to the "fully on" state (D0) within 10 ms. For modems, this is the "wake on ring" power state.
- 11: Node Power state (D3) allows for (does not require) lowest possible power consuming state under software
- control. Note that any low power state set by software must retain sufficient operational capability to properly
- respond to subsequent software Power State command.
- So 10ms is actually the max wait time. It should be safe to
- remove/reduce it and rely on the loop of 1ms-sleeps.
- - ALSA: add support for Macbook Air 2,1 internal speaker
- Add support for Macbook Air 2,1 (late 2008) internal speaker and
- headphones. Create a "mba21" model for snd-hda-intel.
- - ALSA: hda - Remove identical definitions for macmini3 model
- The channel mode definitions for macmini3 model are identical with mb5.
- - ALSA: hda - Clean up Intel Mac unsol codes
- Use the standard unsol_event callback with each setup callback for
- IntelMac models with Realtek ALC885 codecs.
- - ALSA: hda - Add Macmini 3,1 support
- BugLink: https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/343989
- Add a model quirk for the NVIDIA based Macmini hardware, aka Macmini 3,1. The
- pinout is almost identical to the mb5 quirk, except for no microphone and
- the line-in mixer controls being on a different index. Everything works in
- 2ch mode, but as I am not sure what needs to be changed for 6ch mode, or
- whether the Mac Mini's chip supports 6ch mode, I have simply duplicated
- the code from the mb5 quirk for the mac mini chmode management. The new
- model parameter for this quirk is "macmini3".
- - ALSA: hda - Add support for Lenovo IdeaPad U150
- Add patch for the Conexant 5066 HDA codec to support the Lenovo IdeaPad U150
- - ALSA: hda - Fix default polarity of mute-LED GPIO on 92HD83x/88x codecs
- The previous commit caused a regression on HP laptops with 92HD83x/88x
- codecs. The default polarity of mute-LED GPIO is inverted on these
- devices.
- Reference: Novell bnc#578190
- https://bugzilla.novell.com/show_bug.cgi?id=578190
- - ALSA: hda - Remove static gpio_led setup via model
- We have now a better mute-LED GPIO detection, and no need to assign the
- values statically per model option.
- - ALSA: hda - Merge HP mute-LED status callback on both IDT 92HD7x and 8x codecs
- Merge the mute-LED status callback function for both IDT 92HD7x and 8x
- codecs to one function. Also it's changed to check all DACs, and called
- in the initialization to sync with the current status.
- - ALSA: hda - Detect HP mute-LED GPIO setup from GPIO counts
- The GPIO pin number for the mute LED control on HP laptops can be
- determined more easily by checking the number of available GPIO pins
- of the codec chip. On a small package with up to 3 GPIOs, GPIO 0 is
- used while GPIO 3 is used for others.
- This fixes the missing mute GPIO for some HP laptops with new codecs.
- - ALSA: hda - Add support of ALC665
- - Add support for ALC665
- - Add more ASUS model
- - Modify common patch for ALC272 ALC273 ALC661 ALC662 ALC663 ALC665
- - ALSA: hda - Add ALC269VB support
- - Add new models ALC269VB_AMIC ALC269VB_DMIC
- - Add alc269vb_laptop_dmic_setup
- The record source index Dmic is 0x6 for ALC269VB.
- - Change eeepc words for ALC269
- - Modify init_verb tables of patch_alc269 patch_alc662 patch_alc882
- - Modify common patch for ALC270 ALC269VB ALC275
- - ALSA: hda - Remove superfluous init verb entries for ALC88[235]
- The default values are no need to be set in init_verbs.
- - ALSA: hda - Fix docking output for IDT 92HD8xx codecs
- This patch fixes docking output support for IDT 92HD81/83/88 family codecs.
- Typically one of ports 0xE or 0xF is used for docking output, while only
- port 0xF is common on all the three codec families. We don't want the
- pin to select the analog mixer here.
- - ALSA: hda - Adding support for another IDT 92HD83XXX codec
- - ALSA: hda - Turn on EAPD only if available for Realtek codecs #2
- Some codecs disable widgets used for output pins and reserve as vendor-
- spec widgets. Thus we need to check the widget type and pin cap before
- actually sending SET_EAPD verbs in the auto-configuration mode.
- - ALSA: hda - Add support for IDT 92HD88 family codecs
- - ALSA: hda - Add mute LED check for HP laptops with IDT 92HD83xxx codec
- This patch adds HP mute LED support for IDT 92HD81/3 family of the codecs.
- - ALSA: hda - Fix index of HP Compaq F700 mic amp
- The amp used for the mic input on HP Compaq F700 with Cxt5051 codec
- has no multiple inputs, thus its index should be 0 instead of 1.
- - ALSA: hda - Define max number of PCM devices in hda_codec.h
- Define the constant rather in the common header file.
- - ALSA: hda - Turn on EAPD only if available for Realtek codecs
- Some codecs disable widgets used for output pins and reserve as vendor-
- spec widgets. Thus we need to check the widget type and pin cap before
- actually sending SET_EAPD verbs in the auto-configuration mode.
- - ALSA: hda - Remove the COEF setup for ALC267/ALC268
- The COEF setup for model=auto seems problematic on some laptops,
- resulting in the silent speaker output. Better to disable it for now.
- - ALSA: hda - Remove coef output in Realtek proc files
- The output of COEF index/value in the proc file for Realtek codecs is
- rather useless since the value varies together with the index.
- Let's get rid of it again.
- - ALSA: hda - Change headphone pin control with master volume on cx5051
- The HP pin (0x16) control has to be changed dynamically depending on
- the master volume switch as well as the speaker pin (0x1a). Otherwise
- the headphone still sounds with master off.
- - ALSA: hda - Fix SPDIF output widget for Cxt5051 codec
- Fixed the wrongly set up for SPDIF output on Conexant 5051 codec.
- It must point to the audio out widget instead of a pin.
- - ALSA: hda - initialize mic port on cxt5051 codec dynamically
- Initialize the mic ports B & C on Conexant 5051 codec dynamically
- according to the mic jack detection, instead of static init arrays.
- - ALSA: hda - Merge playback controls for Cx5051 codec models
- All cx5051 codec models have the same Master playback mixer definitions.
- Merge them together.
- - ALSA: hda - Add support for Toshiba Satellite M300
- Added the support for Toshiba Satellite M300 with Conexant 5051 codec.
- Since the laptop has no port C connection and the pin reports always
- the jack sense true, we need to ignore port-C unsol event.
- - ALSA: hda - Fix HP dv6736 capture mixer name
- Use the standard "Capture" mixer name for HP dv6736 with Cxt5051 codec.
- - ALSA: hda - Minor fixes for Compaq Presario F700 quirk
- Minor fixes for HP Compaq Presario F700 quirks with Cxt5051 codec:
- - changed the capture mixer elements to the standard name.
- - fixed the quirk name string without a space
- - sorted the quirk list
- - updated the documentation
- - ALSA: hda - add possibility to choose speakers configuration for 4930g
- Now one can choose speaker configuration in e.g. PulseAudio mixer
- - ALSA: hda - Fix HP T5735 automute
- This patch fixes the aut-mute setup on HP T5735 with ALC262 codec.
- Instead of wrong amp, use pin control toggling for muting the speaker now.
- Tested-by: Lee Trager <lee.trager@hp.com>
- - ALSA: hda - Fix parsing pin node 0x21 on ALC259
- ALC259 has a widget NID 0x21 for the output pin, but it wasn't handled
- properly in alc268_new_analog_output().
- - ALSA: hda - AD1988 codec - fix SPDIF-input mixer initialization (unmute)
- The SPDIF-input pin 0x1c is muted by default in hardware. Unmute appropriate
- pin to get captured samples instead zeros. Tested on Lenovo Thinkstation.
- - ALSA: hda - Fix capture on Sony VAIO with single input
- Sony VAIO VGN-P11G with ALC262 codec has only one input pin, and the
- recording doesn't work with model=auto because ALC262 parser sets the
- wrong cap NIDs to choose the route and the default route for the sole
- input pin wasn't initialized properly. This patch solves these issues.
- - ALSA: hda - Fix mute led GPIO on HP dv-series notebooks
- On my laptop (HP dv6-1110ax), there are no OEM strings in SMBIOS of type
- "HP_Mute_LED*". Hence, the GPIO for the mute button LED doesn't get set
- properly. I didn't find the strings in my cousin's laptop (HP dv9500t CTO)
- either.
- As per the documentation of find_mute_led_gpio(), these strings occur
- in HP B-series systems - so, before scanning the SMBIOS strings, we need to
- check if we're dealing with a B-series system.
- Need to get confirmation from HP if this logic takes care of all the
- systems. I'm trying to poke a friend there.
- - ALSA: hda - Fix missing capture mixer for ALC861/660 codecs
- The capture-related mixer elements are missing with ALC861/ALC660 codecs
- when quirks are present, due to missing call of set_capture_mixer().
- Reference: Novell bnc#567340
- http://bugzilla.novell.com/show_bug.cgi?id=567340
- - ALSA: hda - Improved MacBook (Pro) 5,1 / 5,2 support
- This patch adds support for automatically muting the speakers when headphones
- are inserted, as well as relabelling the headphone widgets from the
- non-standard "HP" to the standard "Headphone" for the mb5 model.
- - ALSA: hda - Fix Toshiba NB20x quirk entry
- The alc664-mode4 model doesn't seem to fit with Toshiba NB205 correctly.
- NB205 uses the pin 0x17 connected with the mixer 0x0f for the speaker
- output, which isn't controlled by mode4 model at all.
- Rather model=auto works fine as is on the latest driver, so let it back
- again.
- Tested-by: Nickolas Lloyd <ultrageek.lloyd@gmail.com>
- - ALSA: hda - Fix ALC861-VD capture source mixer
- The capture source or input source mixer element wasn't created properly
- for ALC861-VD codec due to the wrong NID passed to
- alc_auto_create_input_ctls().
- References: Novell bnc#568305
- http://bugzilla.novell.com/show_bug.cgi?id=568305
- - ALSA: hda - support OLPC XO-1.5 DC input
- The XO's audio hardware is wired up to allow DC sensors (e.g. light
- sensors, thermistors, etc) to be plugged in through the microphone jack.
- Add sound mixer controls to allow this mode to be enabled and tweaked.
- - ALSA: hda - Configure XO-1.5 microphones at capture time
- The XO-1.5 has a microphone LED designed to indicate to the user when
- something is being recorded.
- This light is controlled by the microphone bias voltage and it is
- currently coming on all the time.
- This patch defers the microphone port configuration until when recording
- is actually taking place, fixing the behaviour of the LED.
- - ALSA: hda - conexant - Fixed microphone mixer for HP Compaq Presario F700
- Added patch for Hewlett-Packard Company Device Subsystem id - 103c:30ea.
- - ALSA: hda: Refactor powerdown for Realtek HDA codecs
- This patch converts the alc889 Aspire-specific powerdown to a generic
- one. Like the previous effort, it currently only handles Front and PCM
- but can be easily extended to cover other nids. The existing hook for
- alc889 Aspire-specific remains enabled. Upon further testing, I've added
- its use for ALC861_AUTO as well. Following patches will enable them for
- other quirks.
- Tested-by: Dr. David Alan Gilbert <linux@treblig.org>
- - ALSA: hda: Add powerdown for Analog Devices HDA codecs
- This patch ports powerdown fixes to AD198x. Currently we only turn off
- Front and HP for suspend, but this is easily extended for additional
- nids.
- - ALSA: hda - Use strict_strtoul()
- Rewrite the codes to use strict_strtoul() instead of simple_strtoul().
- - ALSA: hda - Add sanity check for storing the user-defined pin configs
- Check whether the given NID is a pin widget before storing the
- user-defined pin configs.
- - ALSA: hda - Fix click noises at suspend/free with Realtek codecs
- Call snd_hda_shutup_pins() at suspend and free for avoiding click noises.
- - ALSA: hda - Add snd_hda_shutup_pins() helper function
- Add a common helper function for clearing pin controls before suspend.
- Use the pincfg array instead of looking through all widget tree.
- - ALSA: hda - Add more hints for GPIO setup of IDT/STAC codecs
- gpio_led, gpio_led_polarity and gpio_mute are added now.
- - ALSA: hda - use snd_hda_jack_detect() again in patch_sigmatel.c
- Use snd_hda_jack_detect() again for jack-sensing.
- The triggering problem can be worked around with codec->no_trigger_sense
- flag now.
- - ALSA: hda - Disable tigger at pin-sensing on AD codecs
- Analog Device codecs seem to have problems with the triggering of
- pin-sensing although their pincaps give the trigger requirements.
- Some reported that constant CPU load on HP laptops with AD codecs.
- For avoiding this regression, add a flag to codec struct to notify
- explicitly that the codec doesn't suppot the trigger at pin-sensing.
- Tested-by: Maciej Rutecki <maciej.rutecki@gmail.com>
- - ALSA: hda - Add STAC9205 PCI_QUIRK for Dell Vostro 1700
- - ALSA: hda - Set mixer name after codec patch
- Postpone the mixer name setup after the codec patch since the codec
- patch may change the codec name string in itself.
- - ALSA: hda - Fix NID association for capture mixers
- Fix the wrong implementation of NID <-> kctl mapping for capture mixers
- introduced by the ocmmit 5b0cb1d850c26893b1468b3a519433a1b7a176be.
- So far, the driver returns an error at probe.
- - ALSA: hda - Add Bass Speaker switch for HP dv7
- The bass speaker is controlled via GPIO5.
- Tested-by: Wael Nasreddine <mla@nasreddine.com>
- - ALSA: hda - Add support for the new 27 inch IMacs
- With the attached patch I am able to use the sound on a new IMac 27.
- What works:
- *) Internal speakers
- *) Internal microphone
- *) Headphone
- I don't have an external mic or a SPDIF device to test the rest.
- - ALSA: hda - Fix NULL dereference with enable_beep=0 option
- - ALSA: HDA: add powersaving hook for Realtek
- The current Realtek code makes no specific provision for turning stuff
- off. The codec chip is placed into low-power mode generically, but this
- doesn't turn off any external hardware connected to it, in particular
- external amplifiers.
- This patch creates a hook function that is called by the codec
- suspend/resume functions. It ought to disable any external hardware in a
- device-specific way. I've implemented a generic ALC889 function that
- sets the EAPD pin properly, and used it for the Acer Aspire 8930G which
- can benefit from this feature.
- On my laptop, this results in ~0.5W extra savings.
- - ALSA: HDA: remove useless mixers on Aspire 8930G
- This patch removes some extra mixers that do nothing on the Acer Aspire
- 8930G.
- The CD mixer is useless because the SATA DVD/Blu-Ray drive has no analog
- audio output, and the Side mixer is useless because we max out at 6ch
- anyway.
- - ALSA: HDA: simplify Aspire 8930G verb array
- This patch just simplifies the 8930G verb array a bit. Just use the
- common ALC889 EAPD verb array to make things more consistent. The file
- is already huge enough already.
- - ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410
- BugLink: https://bugs.launchpad.net/bugs/479373
- The OR has verified with hda-verb that the internal microphone needs
- VREF50 set for audible capture.
- - ALSA: hda/realtek: Remove extra .capsrc_nids initialization for ALC889_INTEL
- - ALSA: Use kzalloc for allocating only one thing
- Use kzalloc rather than kcalloc(1,...)
- The semantic patch that makes this change is as follows:
- (http://coccinelle.lip6.fr/)
- // <smpl>
- @@
- @@
- - kcalloc(1,
- + kzalloc(
- ...)
- // </smpl>
- - ALSA: hda - Fix quirk for Maxdata obook4-1
- Works fine with the auto-parser.
- Reference: Novell bnc#564940
- https://bugzilla.novell.com/show_bug.cgi?id=564940
- - ALSA: hda - Fix NULL dereference in kctl-NID mapping in patch_realtek.c
- capsrc_nids can be NULL, and adc_nids should be taken as fallback.
- - ALSA: hda - Fix missing capsrc_nids for ALC88x
- Some model quirks missed the corresponding capsrc_nids. This resulted in
- non-working capture source selection.
- - ALSA: hda - Make use of beep device found in Dell Vostro 1015n
- Conexant CX20583-10Z has digital beep device with volume control.
- Making use of them.
- - ALSA: hda - Fixed internal mic initialization for Dell Vostro 1015
- Fixed initialization of internal mic and added internal mic boost control
- Renamed analog mic boost control to ext mic boost contol.
- Name pair analog/digital seems too confusing for a normal user.
- - ALSA: hda - More ALC663 fixes and support of compatible chips
- 1. Add more ASUS NB model.
- 2. Fixed alc663_m51va_setup
- M51VA has Digital Mic that NID is 0x12. The record source index is
- 0x9 for ALC663.
- So, to modify the alc663_m51va_setup function to index 0x9
- and add analog Mic aupport function alc663_mode1_setup.
- 3. Add ASUS mode7 and mode8 modules for ALC663
HDA Intel driver
- - ALSA: hda - Add position_fix quirk for Biostar mobo
- The Biostar mobo seems to give a wrong DMA position, resulting in
- stuttering or skipping sounds on 2.6.34. Since the commit
- 7b3a177b0d4f92b3431b8dca777313a07533a710, "ALSA: pcm_lib: fix "something
- must be really wrong" condition", makes the position check more strictly,
- the DMA position problem is revealed more clearly now.
- The fix is to use only LPIB for obtaining the position, i.e. passing
- position_fix=1. This patch adds a static quirk to achieve it as default.
- Reported-by: Frank Griffin <ftg@roadrunner.com>
- - ALSA: hda - Add MSI blacklist for Aopen MZ915-M
- The device needs MSI disablement. Added to the quirk list.
- Reported-by: Harald Dunkel <harri@afaics.de>
- - ALSA: hda: Use LPIB for ga-ma770-ud3 board
- BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575669
- The OR states that position_fix=1 is necessary to work around glitching
- during volume adjustments using PulseAudio.
- Reported-by: Carlos Laviola <claviola@debian.org>
- Tested-by: Carlos Laviola <claviola@debian.org>
- - ALSA: hda-intel - probe_only module option is int type now
- - ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
- The probe_only module parameter skips the codec initialization, too.
- Remove the model=hwio code and use second bit in probe_only to
- skip the HDA codec reset procedure.
- - ALSA: hda-intel - add special 'hwio' model to bypass initialization
- Using the 'model=hwio' option, the driver bypasses any codec
- initialization and the reset procedure for codecs is also
- bypassed. This mode is usefull to enable direct access using
- hwdep interface (using hdaverb or hda-analyzer tools) and
- retain codec setup from BIOS.
- - ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212
- BugLink: https://bugs.launchpad.net/bugs/538895
- The OR has verified that both position_fix=1 and model=6stack-dig are
- necessary to have capture function properly. (The existing 3stack-6ch
- model quirk seems to be incorrect.)
- Reported-by: Reuben Bailey <reuben.e.bailey@gmail.com>
- Tested-by: Reuben Bailey <reuben.e.bailey@gmail.com>
- - ALSA: hda - Disable MSI for Nvidia controller
- Judging from the member of enable_msi white-list, Nvidia controller
- seems to cause troubles with MSI enabled, e.g. boot hang up or other
- serious issue may come up. It's safer to disable MSI as default for
- Nvidia controllers again for now.
- - ALSA: hda - New Intel HDA controller
- Added a PCI controller id on new Dell laptops.
- - ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55
- without the following patch audio ssttuutteerrs on
- ASUS M2N32-SLI PREMIUM ACPI BIOS Revision 1304
- the sound device is:
- 00:0e.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2)
- worked with 2.6.32
- - ALSA: hda - Add ASRock mobo to MSI blacklist
- This avoids a lockup at boot.
- - ALSA: hda: Use LPIB for a Biostar Microtech board
- BugLink: https://launchpad.net/bugs/523953
- The OR has verified that position_fix=1 is necessary to work around
- errors on his machine.
- Reported-by: MMarking
- - ALSA: hda: Use LPIB for Dell Latitude 131L
- BugLink: https://launchpad.net/bugs/530346
- The OR has verified that position_fix=1 is necessary to work around
- errors on his machine.
- Reported-by: Tom Louwrier
- - ALSA: hda - Support max codecs to 8 for nvidia hda controller
- Support max codecs to 8 for nvidia hda controller.
- Change AZX_MAX_CODECS to 8, and add
- "#define AZX_DEFAULT_CODECS 4" for default driver.
- Set azx_max_codecs to 8 for nvidia controller.
- - ALSA: hda - enable snoop for Intel Cougar Point
- This patch enables snoop, eliminating static during playback.
- This patch supersedes the previous Cougar Point audio patch.
- - ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE.
- With PulseAudio and an application accessing an input device like `gnome-volume-manager` both have high CPU load as reported in [1].
- Loading `snd-hda-intel` with `position_fix=1` fixes this issue. Therefore add a quirk for ASUS M2V-MX SE.
- The only downside is, when now exiting for example MPlayer when it is playing an audio file a high pitched sound is outputted by the speaker.
- $ lspci -vvnn | grep -A10 Audio
- 20:01.0 Audio device [0403]: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) [1106:3288] (rev 10)
- Subsystem: ASUSTeK Computer Inc. Device [1043:8290]
- Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
- Latency: 0, Cache Line Size: 64 bytes
- Interrupt: pin A routed to IRQ 17
- Region 0: Memory at fbffc000 (64-bit, non-prefetchable) [size=16K]
- Capabilities: <access denied>
- Kernel driver in use: HDA Intel
- [1] http://sourceforge.net/mailarchive/forum.php?thread_name=1265550675.4642.24.camel%40mattotaupa&forum_name=alsa-user
- - ALSA: Typo. s/distrubs/disturbs/
- - ALSA: hda - Correct ASUA blacklist for MSI brokenness
- The MSI blacklist entry for ASUS mobo added in the commit
- 8ce28d6abff34886d3797b25324c940471b99164 was based on the alsa-info
- output wrongly posted. Fix the id to the right one now.
- Reported-by: Sid Boyce <sboyce@blueyonder.co.uk>
- - ALSA: hda - use WARN_ON_ONCE() for zero-division detection
- Replace the zero-division warning message with WARN_ON_ONCE() per the
- advice by Linus. This shouldn't happen, but if it happens, it's
- possible that the bug happens often due to buggy IRQs.
- - ALSA: hda-intel: Avoid divide by zero crash
- On my AMD780V chipset, hda_intel.c can crash the kernel with a divide by
- zero
- for as-yet unknown reasons. A simple check for zero prevents it, though
- the problem that causes it remains. Since the workaround is harmless and
- won't affect anyone except victims of this bug, it should be safe;
- moreover,
- because this crash can be triggered by a user-mode application, there are
- denial of service implications on the systems affected by the bug without
- the patch.
- - ALSA: cosmetic: make hda intel interrupt name consistent with others
- This renames the interrupt name in /proc/interrupt.
- HDA Intel -> hda_intel
- This also eliminates space from the name, probably helping some
- parsers.
- Don't think anybody depends on this name in userspace
- - ALSA: hda - Delay switching to polling mode if an interrupt was missing
- My sound codec seems sometimes (very rarely) to omit interrupts (ALC268)
- However, interrupt mode still works.
- Thus if we get timeout, poll the codec once.
- If we get 3 such polls in a row, then switch to polling mode.
- This patch is maybe an bandaid, but this might be a workaround for hardware bug.
- - ALSA: hda - Define max number of PCM devices in hda_codec.h
- Define the constant rather in the common header file.
- - ALSA: hda - Change the AZX_MAX_PCMS to 10
- In hda_codec.c, it has define
- "[HDA_PCM_TYPE_HDMI] = { 3, 7, 8, 9, -1 },",
- it support up to device 9 for HDMI.
- But in hda_intel.c, it only define AZX_MAX_PCMS as 8.
- So if it have 4 hdmi codecs, when run azx_attach_pcm_stream(),
- it will show error "Invalid PCM device number 8", and "... number 9",
- and return "-EINVAL".
- We should change the AZX_MAX_PCMS to 10.
- - ALSA: hda - Add an ASUS mobo to MSI blacklist
- Sid Boyce reported that his machine locks up without enable_msi=0 option.
- This looks like another ASUS mobo with Nvidia combo.
- Reported-by: Sid Boyce <sboyce@blueyonder.co.uk>
- - ALSA: hda - Add support for more the 8 streams
- In azx_stream_start() and azx_stream_stop(),
- it use azx_readb/azx_writeb to read/write SIE,
- it just enable/disable 8 streams.
- But according to the HDA spec, it support 30 streams,
- and the new HDA controller will support more then 8
- streams. So we should use azx_readl/azx_writel to
- read/write SIE.
- - ALSA: hda_intel: ALSA HD Audio patch for Intel Cougar Point DeviceIDs
- This patch adds the Intel Cougar Point (PCH) HD Audio Controller DeviceIDs.
- - ALSA: hda - HDMI sticky stream tag support
- When we run the following commands in turn (with
- CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0),
- speaker-test -Dhw:0,3 -c2 -twav # HDMI
- speaker-test -Dhw:0,0 -c2 -twav # Analog
- The second command will produce sound in the analog lineout _as well as_
- HDMI sink. The root cause is, device 0 "reuses" the same stream tag that
- was used by device 3, and the "intelhdmi - sticky stream id" patch leaves
- the HDMI codec in a functional state. So the HDMI codec happily accepts
- the audio samples which reuse its stream tag.
- The proposed solution is to remember the last device each azx_dev was
- assigned to, and prefer to
- 1) reuse the azx_dev (and hence the stream tag) the HDMI codec last used
- 2) or assign a never-used azx_dev for HDMI
- With this patch and the above two speaker-test commands,
- HDMI codec will use stream tag 8 and Analog codec will use 5.
- The stream tag used by HDMI codec won't be reused by others, as long
- as we don't run out of the 4 playback azx_dev's. The legacy Analog
- codec will continue to use stream tag 5 because its device id is 0
- (this is a bit tricky).
- - ALSA: hda - Add MSI blacklist
- A machine with AMD CPU with Nvidia board doesn't work with MSI.
- Reported-by: Robert J. King <peritus@gurunetwork.org>
- - ALSA: hda - Check class to identify Nvidia controller chips
- Instead of listing all individual PCI IDs, check the matching with
- the PCI class together with the vendor id for Nvidia.
- This simplifies the pci id entries.
HDA generic driver
- - Regenerate hda_intel.patch
- - Fix hda_intel.patch
- Separate msi_whte_list to patch more robustly.
- - ALSA: hda - Build hda_eld into snd-hda-codec module
- Now two modules require hda_eld.o, so we need to put it to the common
- place instead of building into two individual modules.
- - ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
- Support nvidia MCP89 and GT21x 8ch hdmi audio.
- Add some eld support.
- - ALSA: hda - Allow override more fields via patch loader
- Allow the override of vendor-id, subsystem-id, revision-id and chip name
- via patch loading. Updated the document, too.
- - ALSA: hda - Use strict_strtoul()
- Rewrite the codes to use strict_strtoul() instead of simple_strtoul().
- - ALSA: hda - Fix Oops at reloading beep devices
- The recent change for supporting dynamic beep device allocation caused
- a problem resulting in Oops at reloading the driver. Also, it ignores
- the error from input device registration.
- This patch fixes the wrong check in snd_hda_detach_beep_device(), and
- returns an error when the input device registration fails properly.
- - ALSA: hda - Don't cache beep controls
- The beep control verbs don't need to be cached for resume.
- - ALSA: hda - Fix NID association for capture mixers
- Fix the wrong implementation of NID <-> kctl mapping for capture mixers
- introduced by the ocmmit 5b0cb1d850c26893b1468b3a519433a1b7a176be.
- So far, the driver returns an error at probe.
- - tree-wide: convert open calls to remove spaces to skip_spaces() lib function
- Makes use of skip_spaces() defined in lib/string.c for removing leading
- spaces from strings all over the tree.
- It decreases lib.a code size by 47 bytes and reuses the function tree-wide:
- text data bss dec hex filename
- 64688 584 592 65864 10148 (TOTALS-BEFORE)
- 64641 584 592 65817 10119 (TOTALS-AFTER)
- Also, while at it, if we see (*str && isspace(*str)), we can be sure to
- remove the first condition (*str) as the second one (isspace(*str)) also
- evaluates to 0 whenever *str == 0, making it redundant. In other words,
- "a char equals zero is never a space".
- Julia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,
- and found occurrences of this pattern on 3 more files:
- drivers/leds/led-class.c
- drivers/leds/ledtrig-timer.c
- drivers/video/output.c
- @@
- expression str;
- @@
- ( // ignore skip_spaces cases
- while (*str && isspace(*str)) { \(str++;\|++str;\) }
- |
- - *str &&
- isspace(*str)
- )
I2C lib core
- - ALSA: i2c: Fixed 8 checkpatch errors
- Fixed 8 checkpatch errors (ERROR: do not use assignment in if condition)
- in sound/i2c/i2c.c.
ICE1712 driver
- - ALSA: aureon - Patch for suspend/resume for Terratec Aureon cards.
- Add proper suspend/resume code for Terratec Aureon cards.
- Based on ice1724 suspend/resume work of Igor Chernyshev.
- Fixes bug https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4944
- Tested on linux-2.6.32.9
- - ALSA: ice1712: fix: lock samplerate when samplerate locking is enabled
- I found that the sampling rate locking setting of the ice1712 sound driver
- was only half-respected : when the driver was locked to, let's say, 44100Hz,
- and a usermode app was requesting 48000Hz playback, the request was succesful
- although the soundcard would continue to run at 44100Hz.
- Here's a patch that will make those requests to fail.
- - ALSA: ice1724 - aureon - fix wm8770 volume offset
- The volume register is from 0..0x7f and 0..0x1a range is mute.
- Also, fix mute combining in wm_vol_put(). The wrong behaviour was
- noticed by Peter Christensen.
ISA
- - ALSA: jazz16: Add support for Media Vision Jazz16 chipset
- This is one of Sound Blaster Pro compatible chipsets which is supported
- by Linux OSS driver and was missing native supoort for ALSA.
- The Jazz16 audio codec is Crystal CS4216 which is capable
- of playback and recording up to 48 kHz stereo.
MIXART driver
- - ALSA: info - Implement common llseek for binary mode
- The llseek implementation is identical for existing driver implementations,
- so let's merge to the common layer. The same code for the text proc file
- can be used even for the binary proc file.
- The driver can provide its own llseek method if needed. Then the common
- code will be skipped.
- - ALSA: mixart: range checking proc file
- The original code doesn't take into consideration that the value of
- MIXART_BA0_SIZE - pos can be less than zero which would lead to a large
- unsigned value for "count".
- Also I moved the check that read size is a multiple of 4 bytes below
- the code that adjusts "count".
MSND driver
- - ALSA: Use kzalloc for allocating only one thing
- Use kzalloc rather than kcalloc(1,...)
- The semantic patch that makes this change is as follows:
- (http://coccinelle.lip6.fr/)
- // <smpl>
- @@
- @@
- - kcalloc(1,
- + kzalloc(
- ...)
- // </smpl>
Memalloc module
- - handle more nicely new location for autoconf.h (generated/autoconf.h)
- - linux/include/generated directory related changes for 2.6.33
OPL4
- - ALSA: info - Implement common llseek for binary mode
- The llseek implementation is identical for existing driver implementations,
- so let's merge to the common layer. The same code for the text proc file
- can be used even for the binary proc file.
- The driver can provide its own llseek method if needed. Then the common
- code will be skipped.
- - ALSA: info - Check file position validity in common layer
- Check the validity of the file position in the common info layer before
- calling read or write callbacks in assumption that entry->size is set up
- properly to indicate the max file size.
- Removed the redundant checks from the callbacks as well.
- - ALSA: info - Use standard types for info callbacks
- Use loff_t, size_t and ssize_t for arguments of info callbacks
- to follow the standard procfs.
OSS device core
- - ALSA: use subsys_initcall for sound core instead of module_init
- This is needed for built-in drivers which are built before the sound directory,
- like thinkpad_acpi.
- Otherwise, registering a card fails.
Opti9xx drivers
- - sound: fix opti92x-ad1848 build
- Fix 'else' placement in ifdef block so that build succeeds:
- sound/isa/opti9xx/opti92x-ad1848.c:221: error: 'else' without a previous 'if'
- - ALSA: opti92x: use PnP data to select Master Control port
- The Master Control port (MC) is available as the last
- PnP resource (OPT005). Use this value instead fo guessing.
- Also, add some comments to the code.
PCI drivers
- - sound: virtuoso: add Xonar DS support
- Add experimental support for the Asus Xonar DS.
PDAudioCF driver
- - ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- pgprot_noncached() can be set for vmalloc'ed buffers safely, and we'd
- need non-cached behavior more or less, even for the intermediate ring-
- buffers.
- Now snd_pcm_lib_mmap_vmalloc() is added as the common PCM mmap callback
- that is coupled with snd_pcm_lib_alloc_vmalloc_buffer() & co.
- - sound: pdaudiocf: use vmalloc buffer helper functions
- Remove this duplicate of snd_pcm_alloc_vmalloc_buffer and use the
- equivalent core functions instead.
- - sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
- When allocating the PCM buffer, use vmalloc_user() instead of vmalloc().
- Otherwise, it would be possible for applications to play the previous
- contents of the kernel memory to the speakers, or to read it directly if
- the buffer is exported to userspace.
- - pcmcia: remove unused IRQ_FIRST_SHARED
- Komuro pointed out that IRQ_FIRST_SHARED is not used at all in the
- PCMCIA subsystem, so remove it. Also, remove two bogus assignments.
PPC AWACS driver
- - of: add 'of_' prefix to machine_is_compatible()
- machine is compatible is an OF-specific call. It should have
- the of_ prefix to protect the global namespace.
PPC Burgundy driver
- - of: add 'of_' prefix to machine_is_compatible()
- machine is compatible is an OF-specific call. It should have
- the of_ prefix to protect the global namespace.
PPC PMAC driver
- - of: add 'of_' prefix to machine_is_compatible()
- machine is compatible is an OF-specific call. It should have
- the of_ prefix to protect the global namespace.
PPC Tumbler driver
- - ALSA: powermac - Fix obsoleted machine_is_compatible()
- machine_is_compatible() was renamed to of_machine_is_compatible().
- - ALSA: powermac - Add debug log
- Add some debug log in tumbler.c.
- - ALSA: powermac - Lineout detection on G4 DA
- Lineout (Pro Speaker) detection on PowerMac G4 Digital Audio (Tumbler).
- - ALSA: powermac - Reverse HP detection on G4 DA
- Reverse headphone detection bit on PowerMac G4 Digital Audio (Tumbler).
RME9652 driver
- - tree-wide: Assorted spelling fixes
- In particular, several occurances of funny versions of 'success',
- 'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address',
- 'beginning', 'desirable', 'separate' and 'necessary' are fixed.
SB drivers
- - Add isa/sb/jazz16 build stub
- - ALSA: fix jazz16 compile (udelay)
- While trying to compile jazz16 isa sound driver on alpha (2.6.33+git), I
- found a compile failure in jazz16.c (udelay is unknown). Fix it by
- including delay.h.
- Signed-foo-by: Meelis Roos <mroos@linux.ee>
- - ALSA: jazz16: refine dma and irq selection
- Narrow the dma and irq selection after the DOS driver.
- Add ALSA configuration description as well.
- - ALSA: jazz16: Add support for Media Vision Jazz16 chipset
- This is one of Sound Blaster Pro compatible chipsets which is supported
- by Linux OSS driver and was missing native supoort for ALSA.
- The Jazz16 audio codec is Crystal CS4216 which is capable
- of playback and recording up to 48 kHz stereo.
SB8 driver
- - ALSA: jazz16: refine dma and irq selection
- Narrow the dma and irq selection after the DOS driver.
- Add ALSA configuration description as well.
- - ALSA: jazz16: Add support for Media Vision Jazz16 chipset
- This is one of Sound Blaster Pro compatible chipsets which is supported
- by Linux OSS driver and was missing native supoort for ALSA.
- The Jazz16 audio codec is Crystal CS4216 which is capable
- of playback and recording up to 48 kHz stereo.
SGI O2 Audio
- - ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
- pgprot_noncached() can be set for vmalloc'ed buffers safely, and we'd
- need non-cached behavior more or less, even for the intermediate ring-
- buffers.
- Now snd_pcm_lib_mmap_vmalloc() is added as the common PCM mmap callback
- that is coupled with snd_pcm_lib_alloc_vmalloc_buffer() & co.
- - sound: sgio2audio: use vmalloc buffer helper functions
- Remove this duplicate of snd_pcm_alloc_vmalloc_buffer and use the
- equivalent core functions instead.
- - sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
- When allocating the PCM buffer, use vmalloc_user() instead of vmalloc().
- Otherwise, it would be possible for applications to play the previous
- contents of the kernel memory to the speakers, or to read it directly if
- the buffer is exported to userspace.
SoC Audio for Freecale i.MX1x i.MX2x CPUs
- - ALSA: alsa-kmirror tree & linux-2.6 tree sync 2010-04-16 (merging issues)
- - ASoC: Move WM8350 microphone detection bias managment out of driver
- Allow machines to control exactly when the bias is turned on and off.
- - ASoC: Hook up microphone jack detection on 1133-EV1 board
- Note that since all the microphones share a bias there is a single
- jack exported for all three, even though there are two physical
- connectors plus the soldered down silicon mic. Note also that the SiMic
- is always present by default.
- - ASoC: Correct typoed Mic2 connections on 1133-EV1 board
- - ASoC: Remove BROKEN from i.MX audio after dependencies merged
- - ASoC: Wolfson Microelectronics 1133-EV1 audio support
- Initial support for audio using the 1133-EV1 audio and PMIC module for
- the i.MX31ADS. Currently only playback is supported, and the FIQ DMA
- driver has performance problems at higher sample rates which cause
- audible dropouts.
- This driver is based heavily on an out of tree one written by Liam
- Girdwood.
- - ASoC: Check progress when reporting periods from i.MX FIQ handler
- Currently the i.MX FIQ handler is reporting periods as elapsed based
- purely on a timer running in the CPU. This means that any clock
- mismatch between the CPU and the audio subsystem can result in the
- status reported to applications drifting away from the actual status
- of the hardware. This is particularly likely at present since the
- SSI driver is only capable of operating in slave mode so it's very
- likely that the interface will be clocked from a different source.
- Instead check the offset reported by the FIQ and only notify when we
- have transferred at least one period, re-firing the timer if we didn't
- do so. Also factor out the calculation of the timer expiry time for
- make it a bit easier to experiment with.
- Note that this only improves the situation, problems can still be
- triggered.
- - ASoC: Remove a unused variables from i.MX FIQ runtime data
- - ASoC: Typo. s/Freecale/Freescale/
- - ASoC: add phycore-ac97 sound support
- This patch adds sound support for Phytec PhyCORE / PhyCARD
- modules in AC97 mode.
- - ASoC: Remove old i.MX driver code
- This has been superceeded by Sascha's new driver but was not removed in
- the patch series due to cutdowns for review.
- - ASoC: i.MX SSI driver does not yet support master mode
- The clocks for the SSI block need handling before this can work.
- - ASoC: Convert new i.MX SSI driver to use static DAI array
- While dynamically allocated DAIs are the way forward the core doesn't
- yet support anything except matching with a pointer to the actual DAI
- so convert to doing that so that machine drivers don't have to jump
- through hoops to register themselves.
- - ASoC: Mark new i.MX drivers as BROKEN until arch/arm merged
- Currently they don't build due to cross tree dependencies, they will be
- reenabled once the arch/arm side has merged.
- - ASoC: Fix i.MX audio build for i.MX3x
- Don't unconditionally include the i.MX2x DMA driver, the arch/arm
- functions it uses aren't available for i.MX3x.
- - ASoC: Add a new imx-ssi sound driver
- The old driver has the number of SSI units in the system hardcoded,
- does not make use of the device model and works only on i.MX21/27.
- This driver replaces it. It works in DMA mode on i.MX21/27 and using
- an FIQ handler on other systems. It also supports AC97 mode of
- the SSI units.
- - ASoC: add missing parameter to mx27vis_hifi_hw_free()
- Commit 2ccafed4 added an extra parameter to the DAI .set_pll() method, but
- it missed this call in sound/soc/imx/mx27vis_wm8974.c.
SoC Audio for the Atmel AT32/AT91 System-on-Chip
- - ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
- This fixes a memory corruption when ASoC devices are used in
- full-duplex mode. Specifically for pxa-ssp code, where this pointer
- is dynamically allocated for each direction and destroyed upon each
- stream start.
- All other platforms are fixed blindly, I couldn't even compile-test
- them. Sorry for any breakage I may have caused.
- Reported-by: Sven Neumann <s.neumann@raumfeld.com>
- Reported-by: Michael Hirsch <m.hirsch@raumfeld.com>
- - ASoC: Change how suspend and resume obtain the PCM runtime
- Currently only the atmel driver make use of snd_soc_dai.runtime field.
- If the dais are to be shared among two or more dai_links, the field
- must be got rid of.
- So, in atmel driver reach the substream via dai_link->pcm so as to
- not depend of snd_soc_dai.runtime field.
- - ASoC: Pass dai_link as argument to platform suspend and resume
- Passing pointer to relevant dai_link provides easier reach to the
- ASoC tree in suspend/resume of snd_soc_platform. It also provides
- direct access to the dai at the other end of the dai_link.
SoC Audio for the Samsung S3C24XX chips
- - ASoC: S3C: I2Sv2: Segregate hw_params callback
- Towards having build for multiple SoCs segregate hw_params callback
- for s3c2412 and s3c64xx.
- Since, all new SoCs have s3c64xx like register map, we keep that as
- default implementation if no SoC specific callback is already defined.
- - ASoC: S3C64XX: I2S: Make BCLK independent of sample size
- For some CPU-CODEC and source clock combination we might need to set
- BCLK to N*Sample_size*LRCLK, where N may be even 3 or 4, not just 2.
- We can simply remove the dependency of BCLK on sample size as there
- is already a callback(S3C_I2SV2_DIV_BCLK) available to set required BCLK.
- - ASoC: S3C: I2Sv2: Reject immidiate register value
- Towards generalizing CPU driver interface, do not accept direct field
- values for the BCLK and RCLK.
- The machine driver should simply request the FS-multiple and not provide
- the value to be set in divide field of IISMOD.
- [Confirmed by Jassi that no existing machine drivers are affected --
- broonie]
- - ASoC: S3C64XX: I2S: Move RATE and FMT defines to header
- In order for the RATE and FMT defines to be reuseable in future by the
- i2sv4 driver, move the MACROs out to the header file.
- - ASoC: s3c64xx-i2s remove unncessary headers
- s3c64xx-i2s remove unncessary headers
- - ASoC: s3c-i2s-v2 remove unnecessary headers
- s3c-i2s-v2 remove unnecessary headers
- - ASoC: S3C: I2Sv2: Unify clock source IDs
- Rather than having the multiple definitions of the same clocks,
- define them in one common place and refer by SoC specific names.
- - ASoC: S3C: I2Sv2: Add missing semicolon
- Add missing semicolon after s3c2412_i2s_delay
- - ASoC: Add delay information for Samsung IISv2 DAIs
- Report the current FIFO depth when delay is queried. The FIFO is only
- 16 frames deep so the latency will be at most a couple of miliseconds
- (and we tend to end up reporting zero most of the time) but it may
- help some applications.
- - ASoC: Fix S3C64xx IIS driver for Samsung header reorg
- The reorgs of the Samsung headers have moved the GPIO bank definitions
- from plat/ to mach/ - the IIS driver needs to be updated to take care
- of this.
- - ASoC: Fix continuation line formats
- String constants that are continued on subsequent lines with \
- are not good.
- - ASoC: AC97: SMDK-WM9713: Convert notes from cset to sset
- It's more robust when references are provided in control names
- rather than numid.
- - ASoC: Note jumper settings for smdk_wm9713 driver on SMDK6410
- The board supports both GPIO sets for the AC97 bus and the analogue
- outputs can be switched between this and the WM8580 so add some
- comments saying what the setup the standard kernel expects is.
- - ASoC: AC97: S3C2443: Remove unused driver
- Since, we have generic AC97 controller driver and all the machines
- have moved to that, there is no need for old s3c2443-ac97.c to exist.
- - ASoC: AC97: LN2440SBC: Switch to s3c-ac97.c
- Switch to use s3c-ac97.c AC97 controller driver.
- - ASoC: AC97: SMDK2443: Switch to s3c-ac97.c
- Switch to use s3c-ac97.c AC97 controller driver.
- - ASoC: AC97: SMDK: Add wm9713 machine driver
- This patch adds the common machine driver for SMDKs that
- have a WM9713 codec attched to the AC97 controller.
- - ASoC: AC97: S3C: Add controller driver
- Add the AC97 controller driver for Samsung SoCs that have one.
- - ASoC: S3C64XX: Compress and generalize the CPU driver
- The driver can be 'generalized' a bit by not hardcoding '2'(the number of
- I2Sv3 controllers that the driver can handle) at many places, instead we
- define a macro for it. That makes it easier to increase number of controllers
- by changing the parameter at just one place, this will be useful when there is
- support for newer SoCs, which have the same controller, only more in number.
- - ASoC: S3C64XX: Remove unnecessary header includes
- Removed redundant header includes which make no difference to compilation.
- - const: constify remaining dev_pm_ops
SoC Blackfin
- - ASoC: change bf5xx-ad1938 machine driver to bf5xx-ad193x machine driver
- - ASoC: bf5xx-sport: use common SPORT code for MMR info
- No point in duplicating this structure layout in each driver.
- - ASoC: Fix continuation line formats
- String constants that are continued on subsequent lines with \
- are not good.
SoC Codec AC97
- - ASoC: Fix passing platform_data to ac97 bus users and fix a leak
- [The issue is an attempt to write the pdata without the AC97 device
- allocated when using ac97.c - also added a comment in soc-core.c for the
- special case for ac97. -- broonie]
- - ASoC: fixup oops in generic AC97 codec glue
- Initialize the glue by calling snd_soc_new_ac97_codec() as is done
- in other ASoC AC97 codecs. Fixes an oops caused by dereferencing
- uninitialized members in snd_soc_new_pcms().
- Run-tested on Au1250.
SoC Codec AD1836
- - ASoC: ad1836: use soc-cache framework for codec registers access
- - ASoC: ad1836: reset and restore clock control mode in suspend/resume entry
- tests show frequent suspend/resume(frequent poweroff/on ad1836 internal
- components) maybe make ad1836 clock mode wrong sometimes after wakeup.
- This patch reset/restore ad1836 clock mode while executing PM, then
- ad1836 can always resume to right clock status.
- - sound: Revert "ASoC: ad1836: reset and restore clock control mode in suspend/resume entry"
- This reverts commit afe1c2cd71eb4e0fade720b5709722e7124f29c0 since it
- doesn't build.
- - ASoC: ad1836: reset and restore clock control mode in suspend/resume entry
- Tests show frequent suspend/resume(frequent poweroff/on ad1836 internal
- components) maybe make ad1836 clock mode wrong sometimes after wakeup.
- This patch reset/restore ad1836 clock mode while executing PM, then
- ad1836 can always resume to right clock status.
SoC Codec AD1938
- - ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
- - ASoC: ad1938: use soc-cache framework for codec registers access
- - ASoC: ad1938: let soc-core dapm handle PLL power
- PM architecture of ad1938 is simple, we don't need a bundle of functions like
- ad1938_pll_powerctrl, ad1938_set_bias_level for only PLL. A dapm supply will
- handle on/off of PLL.
- Since soc-core can poweron/off PLL on-demand, we don't need to poweron/off PLL
- in suspend/resume entries too.
- - ASoC: ad1938: fix typo, rename mask to rx_mask for ad1938_set_tdm_slot
SoC Codec AD193X
- - ASoC: update for removeal of slab.h from percpu.h
- - ASoC: ad193x: move codec register/unregister to bus probe/remove
- The way i've factored out the bus probe and removal functions so
- that there's no code in the individual I2C and SPI functions means
- that the register() and unregister() functions could just be squashed
- into the bus_probe() and bus_remove() functions.
- - ASoC: Unexport AD193x bus probe/remove functions
- The export is not needed since the per-bus code lives in the same
- module.
- - ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
SoC Codec AK4104
- - ASoC: fix ak4104 register array access
- Don't touch the variable 'reg' to construct the value for the actual SPI
- transport. This variable is again used to access the driver's register
- cache, and so random memory is overwritten.
- Compute the value in-place instead.
- - ASoC: ak4104: allow more sample rates
- The transmitter supports all sample rates up to 192KHz, so the driver
- should not give a limit.
SoC Codec AK4642
- - ASoC: ak4642: Add enhanced sampling rate
- - ASoC: ak4642: Add set_fmt function for snd_soc_dai_ops
- - ASoC: ak4642: Add pll select support
- Current ak4642 was not able to select pll.
- This patch add support it.
- It still expect PLL base input pin is MCKI.
- see Table 5 "setting of PLL Mode" of datasheet
- - ASoC: ak4642: Add default return value in ak4642_modinit
- If ak4642 driver was compiled without I2C configs,
- ak4642_modinit return value will become un-stable.
- This patch modify this bug
- Reported-by: Magnus Damm <damm@opensource.se>
SoC Codec CQ0093 Voice
- - ASoC: update gfp/slab.h includes
- Implicit slab.h inclusion via percpu.h is about to go away. Make sure
- gfp.h or slab.h is included as necessary.
- - ASoC: DaVinci: CQ93VC Voice Codec
- Currently the DM365 is the only SoC that includes this Voice Codec.
SoC Codec CS4270
- - ASoC: cs4270: enable regulators at probe time
- Enable the bulk regulators at probe time so we can safely disable them
- again when going to suspend without confusing the reference counter.
- - ASoC: cs4270: allow passing freq=0 in set_dai_sysclk()
- For setups with variable MCLKs, the current logic of limiting the
- available sampling rates at startup time is not sufficient. We need to
- be able to change the setting at a later point, and so the codec must
- offer all possible rates until the hw_params are given.
- This patches allows that by passing 0 as 'freq' argument to
- cs4270_set_dai_sysclk().
- - ASoC: Add regulator support to CS4270 codec driver
SoC Codec DA7210
- - ASoC: da7210: Add 11025/22050/44100/88200 rate support
- This driver USE PLL for 11025/22050/44100/88200 rate.
- To enable switching to bypass mode, PLL is always turned on.
- Special thanks to Phil
- - ASoC: da7210: Add 8/12/16/24/32/48/96 kHz rate support
- - ASoC: Add missing __devexit and __devinit annotations
- - ASoC: Fix build of DA7210
- DAC_VOICE_EN was not defined - looks to have been overly enthusiastically
- deleted from a previous revision of the patch, pull the value from v1.
- - ASoC: Add DA7210 codec device support for ALSA
- This original driver was created by Dialog Semiconductor,
- and cleanuped by Kuninori Morimoto.
- Special thanks to David Chen.
- This became very simple ASoC codec driver,
- and it is tested by EcoVec24 board.
SoC Codec Philips UDA1380
- - bitops: rename for_each_bit() to for_each_set_bit()
- Rename for_each_bit to for_each_set_bit in the kernel source tree. To
- permit for_each_clear_bit(), should that ever be added.
- The patch includes a macro to map the old for_each_bit() onto the new
- for_each_set_bit(). This is a (very) temporary thing to ease the migration.
- [akpm@linux-foundation.org: add temporary for_each_bit()]
- Suggested-by: Alexey Dobriyan <adobriyan@gmail.com>
- Suggested-by: Andrew Morton <akpm@linux-foundation.org>
SoC Codec SSM2602
- - ASoC: SSM2602: add SND control for mic boost2 and default it to off
SoC Codec STAC9766
- - ASoC: Fix disable of SPDIF on STAC9766 codec
- Change code so that switching to playing music through the analog output
- disables SPDIF out instead of disabling it when stream ends.
SoC Codec TLV320AIC23
- - ASoC: AIC23: Fixing writes to non-existing registers in resume function
- Commit e9ff5eb2 (Fixing infinite loop in resume path) uses wrong AIC23
- register in resume function because of which register writes happen
- on some non-existing registers.
SoC Codec TLV320AIC3X
- - ASoC: Fix variable shadowing warning in TLV320AIC3x
- - ASoC: PLL computation in TLV320AIC3x SoC driver
- fix precision of PLL computation for TLV320AIC3x SoC driver,
- test results are at http://pmeerw.net/clk
SoC Codec TLV320DAC33
- - ASoC: tlv320dac33: Internal clocking changes
- During validation of the internal clocking setup it has
- been found that the following settings were not configured
- in an optimal way:
- ASRC_CTRL_A: SRCLKDIV was incorrect, instad of divide ratio 3,
- ratio of 2 has to be used (as the comment stated)
- DAC_CTRL_A: Fs = Fsref is the desired configuration instead of
- Fs = Fsref / 1.5
- - ASoC: tlv320dac33: Fix DSP modes
- To make DSP_A mode working correctly the data delay should be
- configured to 0. DSP_B mode thus can not be used with DAC33,
- so remove it.
- - ASoC: tlv320dac33: Add option for keeping the BCLK running
- Platform data option for the codec to keep the BCLK clock
- continuously running in FIFO modes (codec master).
- OMAP3 McBSP when in slave mode needs continuous BCLK running
- on the serial bus in order to operate correctly.
- Since in FIFO mode the DAC33 can also shut down the BCLK clock
- and enable it only when it is needed, let the platforms decide
- if the CPU side needs the BCLK running or not.
- - ASoC: tlv320dac33: Start/stop sequence change
- To avoid race condition especially in FIFO modes the
- sequence for enabling and disabling the codec need to
- be changed.
- - ASoC: tlv320dac33: Correct the OSCSET calculation
- OSCSET calculation was not correct in case of 44.1KHz
- sampling rate.
- With small adjustment both 48 and 44.1 KHz calculation
- now gives the correct value.
- - ASoC: tlv320dac33: Clearing FIFOFLUSH flag before playback
- In repeated playback the FIFOFLUSH bit remained set, and
- never has been cleared.
- Clear it during the setup phase.
- - ASoC: tlv320dac33: Burst mode BCLK divider configuration
- Add possibility to configure the burst mode BCLK divider through platform
- data structure.
- The BCLK divider changes the actual speed of the serial bus in burst mode,
- which is faster than the sampling frequency of the running stream.
- In this way platforms can experiment with the optimal burst speed without
- the need to modify the codec driver itself.
- - ASoC: tlv320dac33: BCLK divider fix
- The BCLK divider was not configured in case of mode7.
- This leads to unpredictable behavior when switching between FIFO modes.
- Configure the BCLK divider depending on the fifo_mode (FIFO is in use,
- or FIFO bypass).
- - ASoC: tlv320dac33: Correct the prefill number of samples
- Set the prefill number of samples as the same as the lower
- threshold in mode7.
- In this way the codec will read the same amount of data on
- startup and during the running playback.
- - ASoC: Add missing __devexit and __devinit annotations
- - ASoC: tlv320dac33: Safety check for codec slave mode
- The currently available FIFO modes (mode1 and mode7) require master
- mode from the codec.
- Do not allow the slave configuration when the FIFO is in use.
- - ASoC: tlv320dac33: Add new FIFO mode: mode 7
- Mode 7 of tlv320dac33 operates in the following way:
- The codec is in master mode.
- Host configures upper and lower thresholds in tlv320dac33
- During playback the codec will clock in the data until the
- upper threshold is reached in FIFO. At this point the codec
- stops the colocks on the serial bus.
- When the FIFO fill is reaching the lower threshold limit the
- codec will enable the clocks on the serial bus, and clocks
- in data till the upper threshold is reached.
- In this mode, we can also request interrupts for threshold
- events (upper, lower and alarm), which could be used for
- power management.
- At this point the interrupts are not enabled for this mode,
- but it can be taken into use in the future, when the surrounding
- code makes it possible to use it.
- - ASoC: tlv320dac33: Clean up the hardware configuration code
- Use switch instead of if statements to configure FIFO bypass
- and mode1.
- With this change adding new FIFO mode is going to be easier,
- and cleaner.
- - ASoC: tlv320dac33: Introduce prefill and playback state handlers
- Ensure that the code is going to be readable, when new FIFO modes
- are introduced later.
- Move the prefill and playback state handling to inlined
- functions.
- - ASoC: tlv320dac33: Change nsample switch to FIFO mode enum
- In order to have support for more FIFO modes supported by
- tlv320dac33, the switch for enabling/disabling the FIFO
- use has to be replaced with an enum.
- - ASoC: tlv320dac33: Add support for regulator framework
- Take the regulator framework in use for managing the power sources.
SoC Codec TPA6130A2
- - ASoC: Add missing __devexit and __devinit annotations
- - ASoC: tpa6130a2: Support for tpa6140's regulators
- tpa6140a2 uses different names for the regulators.
- - ASoc: tpa6130a2: Remove unnecessary variable
- - ASoC: tpa6130a2: Add support for regulator framework
- Take the regulator framework in use for managing the power sources
SoC Codec TWL4030
- - ASoC: TWL4030: PM fix for output amplifiers
- Gain controls on outputs affect the power consumption
- when the gain is set to non 0 value.
- Outputs with amps have one register to configure the
- routing and the gain:
- PREDL_CTL (0x25):
- bit 0: Voice enable
- bit 1: Audio L1 enable
- bit 2: Audio L2 enable
- bit 3: Audio R2 enable
- bit 4-5: Gain (0x0 - power down, 0x1 - 6dB, 0x2 - 0dB, 0x3 - -6dB)
- bit 0 - 3: is handled in DAPM domain (DAPM_MIXER)
- bit 4 - 5: has simple volume control
- If there is no audio activity (BIAS_STANDBY), and
- user changes the volume, than the output amplifier will
- be enabled.
- If the user changes the routing (but the codec remains in
- BIAS_STANDBY), than the cached gain value also be written
- to the register, which enables the amplifier.
- The existing workaround for this is to have virtual
- PGAs associated with the outputs, and whit DAPM PMD
- the gain on the output will be forced to 0 (off) by
- bypassing the regcache.
- This failed to disable the amplifiers in several
- scenario (as mentioned above).
- Also if the codec is in BIAS_ON state, and user modifies
- a volume control, which path is actually not enabled, than
- that amplifier will be enabled as well, but it will
- be not turned off, since there is no DAPM path, which
- would make mute it.
- To prevent amps being enabled, when they are not
- needed, introduce the following workaround:
- Track the state of each of this type of output.
- In twl4030_write only allow actual write, when the
- given output is enabled, otherwise only update
- the reg_cache.
- The PGA event handlers on power up will write the cached
- value to the chip (restoring gain, routing selection).
- On power down 0 is written to the register (disabling
- the amp, and also just in case clearing the routing).
- - ASoC: TWL4030: Use codec defaults for Headset initial configuration
- Disable the amplifiers for the headset outputs, and do not select
- routings by default to the headset outputs.
- - ASoC: TWL4030: Add supply for audio serial interface control
- The serial interface (TDM/I2S) for the audio block have been
- constantly enabled.
- Introduce a new DAPM_SUPPLY for handling the AIF_EN bit, so
- the interface is only enabled, when there is a need for it.
- For example when only the analog loopback is enabled, there
- is no need to keep the serial interface active.
- I have added the persons who contributed to the Voice path
- of twl4030 codec driver, so they might have the ability
- to test this patch, and send an update for the Voice path,
- if it is necessary
- - ASoC: TWL4030: Module unloading fix
- The module unloading path had several problems:
- - it freed up the private structure twice
- - it freed up the codec structure, which was allocated as part
- of the private structure
- - it did not freed up the reg_cache
- - it did not unregistered the dais and the codec
- - ASoC: TWL4030: Modify codec default settings
- Change the legacy default register configuration, which left some
- internal components on.
- Now we have either DAPM, or other ways to control these bits,
- so there is no need to enable them by default.
- The affected parts:
- Disable ADCL and ADCR
- Disable ARXL2 and ARXR2 analog PGA (playback)
- Disable APLL by default
- - ASoC: TWL4030: Fix typo in comment in header file
- - ASoC: TWL4030: Replace comma with semicolon in probe function
- The codec structure initialization statements should be
- separated by semicolons.
- - mfd: Rename all twl4030_i2c*
- This patch renames function names like twl4030_i2c_write_u8,
- twl4030_i2c_read_u8 to twl_i2c_write_u8, twl_i2c_read_u8
- and also common variable in twl-core.c
- - mfd: Rename twl4030* driver files to enable re-use
- The upcoming TWL6030 is companion chip for OMAP4 like the current TWL4030
- for OMAP3. The common modules like RTC, Regulator creates opportunity
- to re-use the most of the code from twl4030.
- This patch renames few common drivers twl4030* files to twl* to enable
- the code re-use.
SoC Codec TWL6040
- - ASoC: Fix file permission of soc/codecs/twl6040.c
- - ASoC: TWL6040: use of kzalloc/kfree requires the include of slab.h
- - ASoC: TWL6040: Add twl6040 codec driver
- Initial version of TWL6040 codec driver.
- The TWL6040 codec uses a proprietary PDM-based digital audio interface.
- Audio paths supported are:
- - Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
- - Output: Headset Left/Right, Handsfree Left/Right
- TWL6040 codec supports power-up/down manual and automatic sequence.
- Manual sequence is done through a specific register writes sequence.
- Automatic sequence is done when the codec is powered-up through the
- external AUDPWRON line. The completion of the sequence is signaled
- through the audio interrupt.
- TWL6040 codec sysclk can be provided by: low-power or high
- performance PLL:
- - The low-power PLL takes a low-frequency input at 32,768 Hz and
- generates an approximate of 17.64 or 19.2 MHz (for 44.1 KHz and 48 KHz
- respectively)
- - The high-performance PLL generates an exact 19.2 MHz clock signal
- from high-frequency input at 12/19.2/26/38.4 MHz.
- Low-power playback mode is a special scenario where only headset path
- (headset DAC and driver) is active.
- For the particular case of headset path, PLL being used defines the
- headset power mode: low-power, high-performance.
SoC Codec WM2000
- - ASoC: Add WM2000 driver
- The WM2000 is a low power, high quality handset receiver speaker
- driver with Wolfson myZone™ Ambient Noise Cancellation (ANC). It
- provides enhanced voice communication quality in a noisy environment
- if the handset acoustics are designed appropriately.
SoC Codec WM8350
- - ASoC: Allow disabling of WM835x jack detection
- If no report is specified then disable detection. Note that we don't
- disable the slow clock, though the power consumption from it should
- be negligable. That should be reference counted, ideally through DAPM.
- - ASoC: Move WM8350 microphone detection bias managment out of driver
- Allow machines to control exactly when the bias is turned on and off.
- - ASoC: Implement WM835x microphone jack detection support
- The WM8350 provides microphone presence and short circuit detection.
- Integrate this with the ASoC jack reporting API.
- - mfd: Update WM8350 drivers for changed interrupt numbers
- The headphone detect and charger are using the IRQ numbers so need
- to take account of irq_base with the genirq conversion. I obviously
- picked the wrong system for initial testing.
- - mfd: Add a data argument to the WM8350 IRQ free function
- To better match genirq.
- - ASoC: Fix WM8350 DSP mode B configuration
- We need to set the LRCLK inversion bit to select DSP mode.
- - mfd: Mask and unmask wm8350 IRQs on request and free
- Bring the WM8350 IRQ API more in line with the generic IRQ API by
- masking and unmasking interrupts as they are requested and freed.
- This is mostly just a case of deleting the mask and unmask calls
- from the individual drivers.
- The RTC driver is changed to mask the periodic IRQ after requesting
- it rather than only unmasking the alarm IRQ. If the periodic IRQ
- fires in the period where it is reqested then there will be a
- spurious notification but there should be no serious consequences
- from this.
- The CODEC drive is changed to explicitly disable headphone jack
- detection prior to requesting the IRQs. This will avoid the IRQ
- firing with no jack set up.
- - mfd: Convert wm8350 IRQ handlers to irq_handler_t
- This is done as simple code transformation, the semantics of the
- IRQ API provided by the core are are still very different to those
- of genirq (mainly with regard to masking).
SoC Codec WM8510
- - ASoC: fix params_rate() macro use in several codecs
- Sevelar ASoC codec drivers wrongly assume, that the params_rate() macro
- returns one of SNDRV_PCM_RATE_* defines instead of the actual numerical
- sampling rate. Fix them.
SoC Codec WM8727
- - ASoC: Register the CODEC in WM8727
SoC Codec WM8731
- - ASoC: Use SNDRV_PCM_RATE_8000_96000 macro for WM8731
- - ASoC: Only restore non-default registers for WM8731
SoC Codec WM8750
- - ASoC: WM8750: Convert to new API
- Register the WM8750 as a SPI or I2C device. This patch mostly shuffles code
- around. Hugely inspired by WM8753 which was already converted.
- Also, this patch fixes the Jive and Spitz machine.
- - ASoC: Refresh WM8750 bias management
- The WM8750 is using some delayed work to manage the ramping of the bias
- at startup and resume out of line from the normal flow. This predates
- the support within ASoC core for moving the resume out of line from the
- main system resume which provides equivalent functionality with better
- interaction with applications. Change to doing the ramp in line to make
- use of the core functionality.
- - ASoC: Remove version display from WM8750
SoC Codec WM8753
- - ASoC: Remove unneeded suspend checks from CODEC drivers
- Better integration of the core with the device model means that we now
- no longer get the ASoC suspend and resume callbacks without the card
- having been set up.
SoC Codec WM8776
- - ASoC: Only restore non-default registers for WM8776
SoC Codec WM8900
- - ASoC: Correct code taking the size of a pointer
- sizeof(codec->reg_cache) is just the size of the pointer. Elsewhere in the
- file, codec->reg_cache is used with sizeof(wm8900_reg_defaults), so the
- code is changed to do the same here.
- A simplified version of the semantic patch that finds this problem is as
- follows: (http://coccinelle.lip6.fr/)
- // <smpl>
- @@
- expression *x;
- expression f;
- type T;
- @@
- *f(...,(T)x,...)
- // </smpl>
SoC Codec WM8903
- - ASoC: Allow WM8903 mic detect disable and don't force bias on
- Don't force enable the microphone bias on WM8903 when doing jack
- detection, and don't force enable microphone bias. This allows
- platforms to only enable microphone detection when a jack has been
- inserted.
- - ASoC: Implement interrupt driven microphone detection for WM8903
- Support use of the WM8903 IRQ for reporting of microphone presence
- and short detection.
- - ASoC: Add WM8903 interrupt support
- Currently used to detect completion of the write sequencer.
- - ASoC: Initial WM8903 microphone bias and short detection
- Provide support for WM8903 microphone presence and short detection
- using the GPIOs to route out a logic signal suitable for handling
- using snd_soc_jack_add_gpios() on the processor GPIOs.
- - ASoC: Add GPIO configuration support for WM8903
- Allow users to pass in a default configuration for the GPIOs of
- the WM8903 as platform data. This allows configuration of the pin
- muxing of the device.
- - ASoC: fix a memory-leak in wm8903
- Remember to free the temporary register-cache.
SoC Codec WM8904
- - ASoC: Support GPIO based microphone detection for WM8904
- The WM8904 allows microphone detection signals to be brought out as
- alternate functions of the GPIO signals which can be detected using
- interrupt inputs on the CPU. Allow this to be configured using
- platform data.
- - ASoC: Allow configuration of WM8904 GPIO pin functions
- Provide platform data allowing the configuration of the GPIO pins
- on the WM8904 to be selected, allowing alternate functions to be
- enabled.
- - ASoC: Add WM8912 DAC support
- The WM8912 is a DAC only device register compatible with the WM8904
- CODEC with ADC portions omitted. Support it within the WM8904 driver
- based on the configured I2C device name.
- - ASoC: Optimise WM8904 output stage power control
- Handle the output PGAs as part of the output powerup since they can
- never be powered separately and reorder things so that we remove the
- output shorts after both line and headphone outputs have been brought
- up, minimising the opportunity for any issues.
- - ASoC: Add support for BIAS_OFF when idle to WM8904
- As well as disabling the biases of the CODEC the drop into BIAS_OFF will
- also disable all the regulators powering the CODEC, allowing even greater
- power savings on appropriately configured systems.
- Since the regulator API does not currently provide notification when
- regulators are disabled we assume that this always happens when we stop
- using the regulators. Once 2.6.34 is merged this code can be optimised
- to only sync the cache when power was actually removed.
- - ASoC: Host clock2 read up in WM8904 FLL configuration
- Avoids skipping over the read for disable cases.
- - ASoC: Set AIF word length for WM8904
- - ASoC: Initial WM8904 CODEC driver
- The WM8904 is a high performance ultra-low power stereo CODEC
- optimised for portable audio applications, with features including
- a class W amplifier, FLL with free running mode, Mobile ReTune and
- ground referenced headphone and line outputs.
- Support for some features, most particularly the digital microphone
- interface, is not yet present.
SoC Codec WM8940
- - ASoC: fix params_rate() macro use in several codecs
- Sevelar ASoC codec drivers wrongly assume, that the params_rate() macro
- returns one of SNDRV_PCM_RATE_* defines instead of the actual numerical
- sampling rate. Fix them.
SoC Codec WM8955
- - ASoC: Add initial WM8955 CODEC driver
- The WM8955 is a low power, high quality stereo DAC with integrated
- headphone and loudspeaker amplifiers, designed to reduce external
- component requirements in portable digital audio applications. This is
- an initial driver implementing support for the majority of the
- functionality in the device, currently OUT3 is not supported.
SoC Codec WM8960
- - ASoC: Add support for WM8960 capless mode
- The WM8960 headphone outputs can be run in capless mode with OUT3
- used to drive a pseudo ground for the headphone drivers. In this
- mode the mono mixer is not used, the mixer should be turned on
- in concert with the headphone output drivers and the device bias
- levels are managed differently.
- Also tweak the existing bias management to remove the use of active
- discharge while we're at it since that's often audible.
- - ASoC: Move WM8960 platform data into include/sound
- Avoids machine files having to peer into sound/soc which is a bit
- rude and icky.
- - ASoC: Prettify wm8960 logging
- The driver name gets used by dev_() logging so use something a bit
- more idiomatic.
SoC Codec WM8961
- - ASoC: Only restore non-default registers for WM8961
SoC Codec WM8974
- - ASoC: clean up wm8974 and wm8978 clock divider handling
- wm8974 and wm8978 codec drivers control DAC and ADC oversampling rates in their
- .set_clkdiv() methods, which is wrong, because these are simple boolean
- switches and not clock dividers. Move these bits to sound controls. Also remove
- manual configuration of the MCLK divider in wm8978, since it is configured
- automatically.
- - ASoC: fix params_rate() macro use in several codecs
- Sevelar ASoC codec drivers wrongly assume, that the params_rate() macro
- returns one of SNDRV_PCM_RATE_* defines instead of the actual numerical
- sampling rate. Fix them.
- - ASoC: wm8974: fix a wrong bit definition
- The wm8974 datasheet defines BUFIOEN as bit 2.
SoC Codec WM8978
- - ASoC: improve MCLKDIV calculation in wm8978, when OPCLK is not used
- In case, if OPCLK is not used, and PLL is used for driving the codec, the
- choice of PLL output frequency could result in a needlessly imprecise
- system clock frequency. Use an iterative process to select a precise
- configuration.
- - ASoC: clean up wm8974 and wm8978 clock divider handling
- wm8974 and wm8978 codec drivers control DAC and ADC oversampling rates in their
- .set_clkdiv() methods, which is wrong, because these are simple boolean
- switches and not clock dividers. Move these bits to sound controls. Also remove
- manual configuration of the MCLK divider in wm8978, since it is configured
- automatically.
- - ASoC: remove bogus SLEEP mode from wm8978 driver
- Tests showed, that bit 6 of the WM8978_POWER_MANAGEMENT_2 register of wm8978
- affects codec clocks. Being useless for suspend / resume, it cannot be used in
- bias-level control either. Remove this bit handling.
- - ASoC: add a WM8978 codec driver
- The WM8978 codec from Wolfson Microelectronics is very similar to
- wm8974, but is stereo and also has some differences in pin configuration
- and internal signal routing. This driver is based on wm8974 and takes
- the differences into account.
SoC Codec WM8990
- - tree-wide: Assorted spelling fixes
- In particular, several occurances of funny versions of 'success',
- 'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address',
- 'beginning', 'desirable', 'separate' and 'necessary' are fixed.
- - ASoC: Remove unneeded suspend checks from CODEC drivers
- Better integration of the core with the device model means that we now
- no longer get the ASoC suspend and resume callbacks without the card
- having been set up.
SoC Codec WM8993/4
- - ASoC: Don't use DCS_DATAPATH_BUSY for WM hubs devices
- The DCS_DATAPATH_BUSY bit used to monitor the completion of DC servo
- operations has been deprecated and with some more recente revisions
- may perform incorrectly, especially when only analogue bypass paths
- are in use. Switch to using readback from the DC servo command
- register instead, which is supported for all devices. Without this
- unacceptably long timeouts may be observed in some circumstances.
- - ASoC: Don't do runtime wm_hubs DC servo updates if using offset correction
- If we need to offset correct the DC servo then don't use runtime
- recalibration since that is likely to introduce further offsets
- which will be evident on powerdown.
- - ASoC: Support second DC servo readback method for wm_hubs
- More recent Wolfson hubs devices add the ability to read back the DC
- servo calibration information from the register used to write offsets,
- and later still ones remove the old readback registers. Add support
- for the new scheme, and use it for WM8994 device revisions that
- support it.
- - ASoC: Avoid wraparound in wm_hubs DC servo correction
- If the correction wraps around then a substantial offset would be
- introduced.
- - ASoC: Bail out of wm_hubs DC servo if calibration fails
- We're keeping track of the number of times we've iterated but never
- actually using this to bail out if the chip looks stuck.
- - ASoC: Disable WM8993 regulators when turning bias off
- While the regulators are disabled we cache all register writes.
- Currently we assume that the regulator disable actually takes
- effect, after the merge with the regulator tree in 2.6.34 the
- regulator API will be able to notify us if the power is actually
- removed (due to constraints or regulator sharing it may not be).
- - ASoC: Initial WM8993 regulator API hookup
- At the minute the regulators are simply enabled for the entire
- lifetime of the device.
- - ASoC: Convert WM8993 to use shared cache I/O code
- Saves a little bit of code duplication.
- - ASoC: Activate DCS correction for WM8993
- Use a two code correction for optimal performance.
- - ASoC: Improved wm_hubs headphone handling
- Perform DC servo offset calibration using a series update sequence
- rather than startup update sequence, tuning the configuration of the
- WM8993 DC servo to make best use of this.
- Also introduce currently unused data allowing us to correct for
- any systematic errors in the DC servo calibration results and an
- alternative startup path for the headphone output which performs
- better with some chip revisions. The alternative setup sequence is
- enabled for WM8993.
- - ASoC: Use BIAS_OFF when idle for wm_hubs devices
- This provides a small power saving when audio is inactive.
- - ASoC: Implement suspend and resume for WM8993
SoC Codec WM8994
- - Add soc/codecs/wm8994.c build stub
- - ASoC: Implement interrupt based WM8994 microphone detection
- Support interrupt based microphone bias detection. The WM8994 has two
- microphone bias supplies, with detection supported on both. Detection
- using GPIOs together with the standard GPIO based jack framework is
- already supported via the platform data for the WM8994 core driver.
- Note that as well as the microphone bias itself the system clock and
- whichever AIF clock is supplying the system clock will need to be
- enabled for detection to function.
- - ASoC: Only do WM8994 bias off transition from standby
- Otherwise we may try to power down multiple times when the using
- idle bias off and the driver is removed.
- - ASoC: Support second DC servo readback method for wm_hubs
- More recent Wolfson hubs devices add the ability to read back the DC
- servo calibration information from the register used to write offsets,
- and later still ones remove the old readback registers. Add support
- for the new scheme, and use it for WM8994 device revisions that
- support it.
- - ASoC: wm8994: playback => capture
- Sparse caught that initialize "playback" two times instead of
- initializing "capture".
- - ASoC: Implement WM8994 DAI tristate support
- This also adds the first DAI operation for AIF3 so fill out the ID and
- the ops for that too.
- - ASoC: Fix BCLK calculation of WM8994
- This fixes BCLK calculation and removes unnecessary check code.
- - ASoC: Add WM8994 CODEC driver
- The WM8994 is a highly integrated ultra-low power hi-fi audio subsystem
- designed for smartphones and other portable devices rich in multimedia
- features. It provides advanced digital mixing facilities enabling low
- power high quality interconnection of CPU, baseband and other audio
- sources through flexible digital and analogue routing, and integrates
- a class W headphone driver and stereo class D speaker drivers.
SoC Codec WM9712
- - ASoC: Do not write to invalid registers on the wm9712.
- This patch fixes a bug where "virtual" registers were being written to the ac97
- bus. This was causing unrelated registers to become corrupted (headphone 0x04,
- touchscreen 0x78, etc).
- This patch duplicates protection that was included in the wm9713 driver.
SoC Codec WM9713
- - ASoC: Add TLV information and additional volumes to WM9713
- Also renames a few things to make volumes and switches match up in
- alsamixer.
- - ASoC: Remove version display from WM9713
- The version isn't being updated or used, the kernel revision
- tracking is enough.
SoC DaVinci
- - ASoC: update gfp/slab.h includes
- Implicit slab.h inclusion via percpu.h is about to go away. Make sure
- gfp.h or slab.h is included as necessary.
- - ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
- This fixes a memory corruption when ASoC devices are used in
- full-duplex mode. Specifically for pxa-ssp code, where this pointer
- is dynamically allocated for each direction and destroyed upon each
- stream start.
- All other platforms are fixed blindly, I couldn't even compile-test
- them. Sorry for any breakage I may have caused.
- Reported-by: Sven Neumann <s.neumann@raumfeld.com>
- Reported-by: Michael Hirsch <m.hirsch@raumfeld.com>
- - sound: DaVinci: DM365: Voice Codec support for the DM365 EVM
- The DM365 EVM has two codecs: the Audio Codec (AIC3x) and the Voice Codec,
- the idea is to have both enabled in the same kernel simultaneously. However,
- the current soc-core doesn't support simultaneous codecs, once that
- support will have added, a patch will be posted to enable both codecs in
- the DM365 EVM.
- - ASoC: DaVinci: Voice Codec Interface
- This patch adds the support for the interface needed by the DaVinci
- Voice Codec CQ93VC.
- - ASoC: DaVinci: Add hw_param callback for S/PDIF DIT link
- On TI DM6467 EVM, S/PDIF DIT codec fails to open as it is unable to install
- hardware params. This dummy codec has no set_fmt and set_sysclk implementations
- and calls from the application to these functions cause errors. This patch adds
- a new hardware params callback function for S/PDIF transciever codec.
- Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
- - ASoC: DaVinci: Fix stream restart error
- Sometimes after a suspend-resume cycle, the ALSA application
- restarts the stream when resume fails and McASP fails to work
- as the clock is not enabled. This patch corrects this bug.
- Testes on TI DA850/OMAP-L138 EVM.
- - ASoC: DaVinci: Update suspend/resume support for McASP driver
- Add clock enable and disable calls to resume and suspend respectively.
- Also add a member to the audio device data structure which tracks the clock
- status.
- Tested on DA850/OMAP-L138 EVM. For the purpose of testing, the patches[1] which
- add suspend-to-RAM support to DA850/OMAP-L138 SoC were applied.
- [1] http://linux.davincidsp.com/pipermail/davinci-linux-open-source/
- 2009-November/016958.html
SoC Dynamic Audio Power Management
- - ASoC: Allow force enabled pins to be disabled
- Some systems, such as those with mechanical jack detection, may wish
- to force enable a pin (typically mic bias) only some of the time.
- Support such systems by having disable_pin() also coveer force enabled
- pins.
- - ASoC: Remove current PGA control handling
- A code audit reveals that there are currently no users of the widget
- controls on PGAs. This is likely to continue to be the case since
- while there are useful things that can be done with integrating the
- PGA gain and mute controls with the power sequencing userspace
- generally wants stereo controls for output stages which this doesn't
- map onto well.
- In preparation for implementing something more useful strip out the
- existing code, leaving the parameters there for use by the new code.
- - ASoC: Allow pins to be force enabled
- Allow pins to be forced on regardless of their power state. This is
- intended for use with microphone bias supplies which need to be
- enabled in order to support microphone detection - in systems without
- appropriate hardware leaving the microphone unbiased when not in use
- saves power.
- The force done at power check time in order to avoid disrupting other
- power detection logic.
- - ASoC: Remove unused 'muted' flag from DAPM widgets
- - ASoC: Improve DAPM pop_wait delays
- Currently during pop/click debug we're inserting a delay both after
- every log message we generate and at explicit points in the sequence,
- slowing things down even further than they need to be especially when
- many writes get coalesced by the sequence generation code.
- Remove the per-printk delay and ensure that we have explicit delays
- where we say we want them.
- - ASoC: Remove unused pmdown_time flag
- The flag is no longer used in the code so it just wastes a bit.
- - ASoC: add simplified versions of widget macros
- Many macros from include/sound/soc-dapm.h take an array and a number of
- elements in it as arguments, whereas most users use static arrays and use
- "x, ARRAY_SIZE(x)" as arguments. This patch adds simplified versions of
- those macros, calling ARRAY_SIZE() internally.
- - ASoC: Support turning off bias when the CODEC is idle
- Currently ASoC always maintains the bias of the CODEC while the system
- is active. With older mobile CODECs this is required since the outputs
- are referenced to a non-zero voltage and enabling or disabling this
- voltage without audible pops or clicks in the output takes too long to
- do when starting or stopping audio.
- As a result of features such as ground referenced outputs and class D
- speaker drivers current generation devices are able to power on and off
- much more quickly without these system level issues so provide a new
- flag idle_bias_off in snd_soc_codec which will cause the core to turn
- off the CODEC bias. The distinction between STANDBY and OFF is still
- maintained. This is partly for consistency but also allows for
- potential future extensions such as per-machine overrides or deferring
- the bias removal.
- - ASoC: Remove console DAPM debug code
- The same information is now visible via debugfs and with large modern
- devices dumping everything to the console can be very resource
- intensive, causing more harm than good.
- - ASoC: Sort DAPM sequences by CODEC as well
- In preparation for multiple device support.
- - ASoC: Push registers out of mixer power decision
- No need for the mixers to know about this, and it allows for virtual
- controls.
- - ASoC: Display the power register in DAPM widget debugfs
- Make it a bit easier to tie DAPM widgets in with the register map
- without referring to the source by including the register location
- controlled by the widget.
SoC Freescale
- - of: add 'of_' prefix to machine_is_compatible()
- machine is compatible is an OF-specific call. It should have
- the of_ prefix to protect the global namespace.
SoC Layer
- - Fix soc/soc-core.patch
- consitify patch caused conflicts.
- - ALSA: alsa-kmirror tree & linux-2.6 tree sync 2010-04-16 (merging issues)
- - ASoC: Fix passing platform_data to ac97 bus users and fix a leak
- [The issue is an attempt to write the pdata without the AC97 device
- allocated when using ac97.c - also added a comment in soc-core.c for the
- special case for ac97. -- broonie]
- - ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream
- This fixes a memory corruption when ASoC devices are used in
- full-duplex mode. Specifically for pxa-ssp code, where this pointer
- is dynamically allocated for each direction and destroyed upon each
- stream start.
- All other platforms are fixed blindly, I couldn't even compile-test
- them. Sorry for any breakage I may have caused.
- Reported-by: Sven Neumann <s.neumann@raumfeld.com>
- Reported-by: Michael Hirsch <m.hirsch@raumfeld.com>
- - ASoC: Add a notifier for jack status changes
- Some systems provide both mechanical and electrical detection of jack
- status changes. On such systems power savings can be achieved by only
- enabling the electrical detection methods when physical insertion has
- been detected.
- Begin supporting such systems by providing a notifier for jack status
- changes which can be used to trigger any reconfiguration.
- - ASoC: remove a card from the list, if instantiation failed
- If instantiation of a card failed, we still have to remove it from the
- card list on unregistration. This fixes an Oops on Migo-R, triggering,
- when after a failed firmware load attempt the driver modules are removed
- and re-inserted again.
- - ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
- - ASoC: TWL6040: Add twl6040 codec driver
- Initial version of TWL6040 codec driver.
- The TWL6040 codec uses a proprietary PDM-based digital audio interface.
- Audio paths supported are:
- - Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
- - Output: Headset Left/Right, Handsfree Left/Right
- TWL6040 codec supports power-up/down manual and automatic sequence.
- Manual sequence is done through a specific register writes sequence.
- Automatic sequence is done when the codec is powered-up through the
- external AUDPWRON line. The completion of the sequence is signaled
- through the audio interrupt.
- TWL6040 codec sysclk can be provided by: low-power or high
- performance PLL:
- - The low-power PLL takes a low-frequency input at 32,768 Hz and
- generates an approximate of 17.64 or 19.2 MHz (for 44.1 KHz and 48 KHz
- respectively)
- - The high-performance PLL generates an exact 19.2 MHz clock signal
- from high-frequency input at 12/19.2/26/38.4 MHz.
- Low-power playback mode is a special scenario where only headset path
- (headset DAC and driver) is active.
- For the particular case of headset path, PLL being used defines the
- headset power mode: low-power, high-performance.
- - ASoC: soc-cache: let reg be AND'ed by 0xff instead of data buffer for 8_8 mode
- The registers for AD193X are defined as 0x800-0x810 for spi which uses
- 16_8 mode, for i2c to support AD1937, we will use 8_8 mode, only the low
- byte of 0x800-0x810 is valid. The patch will not destory other codecs,
- but make soc cache interface more useful.
- - ASoC: soc-cache: add i2c read entry for 8_8 mode
- - ASoC: DaVinci: CQ93VC Voice Codec
- Currently the DM365 is the only SoC that includes this Voice Codec.
- - ASoC: PCM_RATE: Check for KNOT and CONTINUOUS flags
- For ASoC, if either CPU or CODEC driver has set the flag, the MACHINE driver
- should be given a chance to figure out if the dai, that set the flag, can
- accomodate a rate that it does not explicitly specify but is specified
- by the dai at the other end of the link.
- - ASoC: Add 16/16 registers to soc-cache
- I2C only at the minute.
- - ASoC: core: Add delay operation to snd_soc_dai_ops
- The delay callback can be used by the core to query the delay
- on the dai caused by FIFO or delay in the platform side.
- In case if both CPU and CODEC dai has FIFO the delay reported
- by each will be added to form the full delay on the chain.
- If none of the dai has FIFO, than the delay will be kept as
- zero.
- - ASoC: core: soc level wrapper for pcm_pointer callback
- Create a soc level wrapper for pcm_pointer callback.
- This will facilitate the soc level handling of different
- HW buffers in the audio path.
- - ASoC: core: fix tailing whitespace in soc_pcm_apply_symmetry
- My editor removes the tailing spaces, which causes problems when
- changing the soc-core.c
- Removing the space.
- - ASoC: Allow mulitple usage count of codec and cpu dai
- If we are to have a snd_soc_dai i.e, cpu_dai and codec_dai, shared among two
- or more dai_links we need to log the number of active users of the dai.
- For that, we change semantics of the snd_soc_dai.active flag from indicator
- to reference counter.
- - ASoC: Remove runtime field from DAI
- In order for having snd_soc_dais shared among two or more dai_links,
- remove the relatively global runtime field from the struct snd_soc_dai
- - ASoC: Pass dai_link as argument to platform suspend and resume
- Passing pointer to relevant dai_link provides easier reach to the
- ASoC tree in suspend/resume of snd_soc_platform. It also provides
- direct access to the dai at the other end of the dai_link.
- - ASoC: soc_pcm_open: Add missing bailout tag
- The codec_dai needs to be shutdown should the machine startup fails.
- This patch adds another bailout tag for that case and rename the tag
- for configuration failures.
- - ASoC: core: On resume also check the soc device state
- Check the card->codec on soc_resume to detect if the soc
- device is properly initialized.
- If the card->codec is NULL, than do not continue the resume
- operation, since the device is not initialized properly.
- - ASoC: Make pmdown_time a long
- Fixes a warning.
- - ASoC: Make pmdown_time runtime configurable
- Provide a sysfs file allowing userspace to inspect and change the
- pmdown_time setting at runtime.
- - ASoC: Make pmdown_time a per-card setting
- Make the pmdown_time a per-card setting rather than a global one,
- initialised before the card initialisation runs. This allows cards
- to override the default setting if it makes sense to do so (for
- example, due to an unavoidable pop).
- - ASoC: Add WM2000 driver
- The WM2000 is a low power, high quality handset receiver speaker
- driver with Wolfson myZone™ Ambient Noise Cancellation (ANC). It
- provides enhanced voice communication quality in a noisy environment
- if the handset acoustics are designed appropriately.
- - ASoC: Add a cache_sync bit to the CODEC structure
- Add a bit to the CODEC structure indicating if a cache sync is required.
- By default this will be set if a cache only write is done to a soc-cache
- register cache. This allows us to avoid syncing the cache back after
- using cache only writes if there were no changes.
- - ASoC: Allow CODECs to ask soc-cache to suppress physical writes
- Currently the soc-cache code will always write to the device, meaning
- that we need the device to be powered and active at pretty much all
- times the system is active. Allowing cache only writes lays some
- groundwork for future enhancements to allow devices to be put into a
- full off state when the audio subsystem is idle.
- - ASoC: Fix WM8994 dependency
- The dependency on MFD_WM8994 rather than I2C went awry.
- - ASoC: Add WM8994 CODEC driver
- The WM8994 is a highly integrated ultra-low power hi-fi audio subsystem
- designed for smartphones and other portable devices rich in multimedia
- features. It provides advanced digital mixing facilities enabling low
- power high quality interconnection of CPU, baseband and other audio
- sources through flexible digital and analogue routing, and integrates
- a class W headphone driver and stereo class D speaker drivers.
- - ASoC: ad1836: use soc-cache framework for codec registers access
- - ASoC: Set codec->dev for AC97 devices
- - ASoC: add a WM8978 codec driver
- The WM8978 codec from Wolfson Microelectronics is very similar to
- wm8974, but is stereo and also has some differences in pin configuration
- and internal signal routing. This driver is based on wm8974 and takes
- the differences into account.
- - ASoC: ad1938: use soc-cache framework for codec registers access
- - ASoC: add helper macros to declare struct soc_enum instances
- Several shortcuts for popular uses of some of SOC_ENUM_* and
- SOC_VALUE_ENUM_* macros.
- - ASoC: Support turning off bias when the CODEC is idle
- Currently ASoC always maintains the bias of the CODEC while the system
- is active. With older mobile CODECs this is required since the outputs
- are referenced to a non-zero voltage and enabling or disabling this
- voltage without audible pops or clicks in the output takes too long to
- do when starting or stopping audio.
- As a result of features such as ground referenced outputs and class D
- speaker drivers current generation devices are able to power on and off
- much more quickly without these system level issues so provide a new
- flag idle_bias_off in snd_soc_codec which will cause the core to turn
- off the CODEC bias. The distinction between STANDBY and OFF is still
- maintained. This is partly for consistency but also allows for
- potential future extensions such as per-machine overrides or deferring
- the bias removal.
- - ASoC: fix compile breakage - add a missing header include
- - ASoC: Use snprintf() when generating stream names
- - ASoC: soc-cache: cleanup training whitespace and coding style
- - ASoC: Add initial WM8955 CODEC driver
- The WM8955 is a low power, high quality stereo DAC with integrated
- headphone and loudspeaker amplifiers, designed to reduce external
- component requirements in portable digital audio applications. This is
- an initial driver implementing support for the majority of the
- functionality in the device, currently OUT3 is not supported.
- - ASoC: Add DA7210 codec device support for ALSA
- This original driver was created by Dialog Semiconductor,
- and cleanuped by Kuninori Morimoto.
- Special thanks to David Chen.
- This became very simple ASoC codec driver,
- and it is tested by EcoVec24 board.
- - ASoC: Initial WM8904 CODEC driver
- The WM8904 is a high performance ultra-low power stereo CODEC
- optimised for portable audio applications, with features including
- a class W amplifier, FLL with free running mode, Mobile ReTune and
- ground referenced headphone and line outputs.
- Support for some features, most particularly the digital microphone
- interface, is not yet present.
- - ASoC: Export snd_soc_update_bits_unlocked()
- Allows custom controls to use it.
- - const: constify remaining dev_pm_ops
SoC PXA2xx Aeronix Zipit Z2
- - ASoC: Zipit Z2 WM8750 ASoC driver
- This patch adds support for sound through the WM8750 codec on Zipit Z2.
- Also, this patch incorporates support for detecting headset jack
- insertion through the jack detection API.
SoC PXA2xx Spitz
- - ASoC: WM8750: Convert to new API
- Register the WM8750 as a SPI or I2C device. This patch mostly shuffles code
- around. Hugely inspired by WM8753 which was already converted.
- Also, this patch fixes the Jive and Spitz machine.
SoC SH7760 AC97
- - ASoC: fsi: Add FSI2 device support
- ARM-SHMOBILE series have FIFO-buffered serial interface 2 (FSI2)
- device which is advanced version of FSI.
- This patch add simple support for it.
- - ASoC: fsi: Add FIFO size calculate
- - ASoC: fsi: IRQ related process had be united
- - ASoC: fsi: ensures process inside master lock
- Bit operation for fsi_master should be done inside master lock.
- But soft-reset/interrupt operation were outside of it.
- This patch modify this problem.
- It still allow to INT_ST outside-operation on fsi_interrupt,
- but it is not problem.
- Because this register doesn't need the bit operation.
- - ASoC: ak4642: Add set_fmt function for snd_soc_dai_ops
- - ASoC: ak4642: Add pll select support
- Current ak4642 was not able to select pll.
- This patch add support it.
- It still expect PLL base input pin is MCKI.
- see Table 5 "setting of PLL Mode" of datasheet
- - ASoC: SIU driver shall select FW_LOADER
- The SIU ASoC driver must load firmware to program the DSP, therefore it
- has to select FW_LOADER in its Kconfig entry.
- - dmaengine: shdma: separate DMA headers.
- Separate SH DMA headers into ones, commonly used by both drivers, and ones,
- specific to each of them. This will make the future development of the
- dmaengine driver easier.
- - ASoC: fsi: Modify over/under run error settlement
- In current FSI driver, playback function cares only overrun,
- and capture function cares only underrun.
- But playback function should had cared about underrun,
- and capture function should had cared about overrun too.
- - ASoC: fix compile breakage if CONFIG_SH_DMA_API=y && CONFIG_SND_SIU_MIGOR!=n
- Audio on Migo-R cannot work if CONFIG_SH_DMA_API=y, but compilation should not
- break anyway.
- - ASoC: fix compilation breakage in sound/soc/sh/fsi.c
- ctrl_outl() has become void at some point, which breaks compilation of fsi.c.
- Make writing functions void, as their output is anyway not evaluated, and use
- __raw_writel and __raw_readl instead of deprecated ctrl_outl and ctrl_inl
- respectively.
- - ASoC: clean up wm8974 and wm8978 clock divider handling
- wm8974 and wm8978 codec drivers control DAC and ADC oversampling rates in their
- .set_clkdiv() methods, which is wrong, because these are simple boolean
- switches and not clock dividers. Move these bits to sound controls. Also remove
- manual configuration of the MCLK divider in wm8978, since it is configured
- automatically.
- - ASoC: add support for the sh7722 Migo-R board
- Add support for audio on sh7722-based Migo-R boards, using SIU and wm8978
- codec, recording via external microphone and playback via headphones are
- implemented.
- - ASoC: fsi: Add spin lock operation for accessing shared area
- fsi_master_xxx function should be protected by spin lock,
- because it are used from both FSI-A and FSI-B.
- - ASoC: add DAI and platform / DMA drivers for SH SIU
- Several SuperH platforms, including sh7722, sh7343, sh7354, sh7367 include
- a Sound Interface Unit (SIU). This patch adds DAI and platform / DMA
- drivers for this interface.
- - ASoC: fsi: Add over/under run error settlement
- - ASoC: fsi: Add fsi_get_dai to get snd_soc_dai
- - ASoC: fsi: Add over_period flag to prevent the misunderstanding
- - ASoC: fsi-ak4642: Remove ak4642_add_i2c_device
- I2C devices should be registered when platform board setting
- in latest ASoC.
- - ASoC: sh: FSI:: don't check platform_get_irq's return value against zero
- platform_get_irq returns -ENXIO on failure, so !irq was probably
- always true. Better use (int)irq <= 0. Note that a return value of
- zero is still handled as error even though this could mean irq0.
- This is a followup to 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 that
- changed the return value of platform_get_irq from 0 to -ENXIO on error.
- - ASoC: Add FSI-DA7210 sound support for SuperH
- - ASoC: sh_fsi: avoid using global variable
- Current FSI driver use global variable to access device data.
- But this style will be broken
- if SuperH come with multiple FSI blocks in future.
- To solve this problem, this patch use cpu_dai->private_data.
SoC Texas Instruments OMAP
- - ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code
- With recent (2.6.34) chnages in PCM handling, capture stopped working on my
- OMAP1510 based Amstrad Delta videophone.
- Using 2.6.34-rc2, I was able to correct the problem in 3 different ways:
- 1. reverting commit 7b3a177b0d4f92b3431b8dca777313a07533a710,
- 2. enabling additional jiffies check with
- echo 4 >/proc/asound/card0/pcm0c0/xrun_debug
- 3. applying the patch below.
- Since I wasn't able to reproduce the problem on my i686 PC, I guess the
- problem is probably machine specific.
- The patch reuses the method for software emulation of missing hardware
- pointer, already implemented for playback on OMAP1510. It's possible that
- event if a hardware pointer is available for capture on this machine, its
- behaviour may be not compatible with what upper layer expects.
- If you think the problem may be more general and should be solved differently,
- on a higher level, I can try to work more on it if you give me a hint.
- If the patch gets accepted, I suggest it goes as a fix in the current release
- cycle.
- Created and tested against linux-2.6.34-rc2.
- - ASoC: omap-mcbsp: Add support for Left Justified format
- Basic support for Left Justified coding for OMAP McBSP.
- - ASoC: McPDM: Use tabs for indentation
- Indentation in initial support for McPDM driver was converted to spaces.
- Use tabs to comply with open source coding-style.
- - ASoC: OMAP3: Report delay caused by the internal FIFO
- Use the new delay calback function to report the delay through
- ALSA for application caused by the internal FIFO.
- - ASoC: OMAP-McBSP: ASoC interface for McBSP sidetone
- Add ASoC interface for OMAP McBSP2 and McBSP3 sidetones.
- Tested-by: Jarkko Nikula <jhnikula@gmail.com>
- - omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3
- Replace ARCH_OMAP34XX with ARCH_OMAP3
- - omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2
- Convert ARCH_OMAP24XX to ARCH_OMAP2
- - ASoC: OMAP4: Add support for McPDM
- McPDM is the interface between Phoenix audio codec
- and the OMAP4430 processor. It enables data to be transfered
- to/from Phoenix at sample rates of 88.4 or 96 KHz.
- - ASoC: OMAP4: Add McPDM platform driver
- McPDM platform driver is configured to use sDMA in order to transfer
- to/from memory. Support for interfacing with ABE will be added later.
- McPDM dai currently supports up to 4 downlink channels and 2 uplink
- channels simultaneously, as well as 88.2 and 96 KHz, and a sample
- size of 32 bits.
- - ASoC: OMAP: data_type and sync_mode configurable in audio dma
- Allow client drivers to set the data_type (16, 32) and the
- sync_mode (element, packet, etc) of the audio dma transferences.
- McBSP dai driver configures it for a data type of 16 bits and
- element sync mode.
- - sound: Add ASoC support for Devkit8000
- This patch expands the omap3beagle sound soc for the
- beagle board clone DevKit8000.
- - ASoC: pandora: Add DAC regulator support
- Pandora's external DAC is connected to VSIM TWL4030 supply, so let's
- start switching it too to save more power.
- Also DAC got it's own DAPM handler.
- - ASoC: pandora: Add APLL supply to fix audio output
- Pandora's external DAC is using 256*Fs output from the TWL4030
- codec, and TWL4030 needs to have APLL enabled for it's 256*Fs
- output to function.
- - ASoC: AM3517: ASoC driver not getting compiled
- Commit 761c9d45 (ASoC: Fix build of OMAP sound drivers) changes
- CONFIG_MACH_OMAP3517EVM -> CONFIG_SND_OMAP_SOC_OMAP3517EVM in the
- Makefile. Whereas the config option defined in Kconfig is
- SND_OMAP_SOC_AM3517EVM. Because of this, ASoC driver for AM3517
- was not getting compiled.
- - mfd: twl: fix twl4030 rename for remaining driver, board files
- Recent drivers/mfd/twl4030* renames to twl broke compile for
- various boards as the series was missing a patch to change
- the board-*.c files.
- This patch renames include twl4030.h to include twl.h
- and also renames twl4030_i2c_ routines.
- Reviewed-by: Felipe Balbi <felipe.balbi@nokia.com>
Soc PXA2xx Raumfeld
- - ASoC: support more sample rates on raumfeld devices
- Add support for sample rates other than 44100Khz on raumfeld audio
- devices. At startup time, call snd_soc_dai_set_sysclk() with 0 as 'freq'
- argument so it offers all the sample rates. Later, the function is
- called again to give proper constraints.
- Use the external audio clock generator to provide double data rate
- clocks as the PXA's internal baud generator does anything but what's
- described in the datasheets.
TEA575x tuner
- - handle more nicely new location for autoconf.h (generated/autoconf.h)
USB
- - Refresh build-stub for usb mixer refactoring
- - Regenerate patches and build-stubs for usb refactoring
- - ALSA: usbmixer: rename usbmixer.[ch] -> mixer.[ch]
- For clearer namespace, also rename usbmixer_maps.c -> mixer_maps.c
- - ALSA: usb-mixer: factor out quirks
- Move all non-standard mixer controls and vendor-specific extensions to a
- separate file. Some structs need to be exported now.
- - ALSA: usb-audio: refactor code
- Clean up the usb audio driver by factoring out a lot of functions to
- separate files. Code for procfs, quirks, urbs, format parsers etc all
- got a new home now.
- Moved almost all special quirk handling to quirks.c and introduced new
- generic functions to handle them, so the exceptions do not pollute the
- whole driver.
- Renamed usbaudio.c to card.c because this is what it actually does now.
- Renamed usbmidi.c to midi.c for namespace clarity.
- Removed more things from usbaudio.h.
- The non-standard drivers were adopted accordingly.
- - ALSA: usb-audio: header file cleanups
- Rename snd-usb-lib to snd-usbmidi-lib as MIDI functions are the only
- thing it actually contains. Introduce a new header file to only declare
- these functions.
- Introduced usbmixer.h for all functions exported by usbmixer.c.
- - ALSA: usb-audio: move ua101 driver
- As part of the USB audio code cleanup, move the non-standard ua101
- driver out of the way.
- - ALSA: ua101: remove experimental status
- Now that the EHCI driver copes with small iso packets without blowing
- up, take the snd-ua101 driver out of the alpha-test stage.
- - ALSA: usb/caiaq: Add support for Traktor Kontrol X1
- This device does not have audio controllers and backlit buttons only.
- Input data is handled over a dedicated USB endpoint.
- All functions are supported by the driver now.
- - ALSA: ua101: add Edirol UA-1000 support
- Add support for the Edirol UA-1000 to the UA-101 driver.
- Both devices behave the same, so we just have to shuffle around some
- interface numbers and name strings.
USB Edirol UA101 driver
- - ALSA: usb-audio: refactor code
- Clean up the usb audio driver by factoring out a lot of functions to
- separate files. Code for procfs, quirks, urbs, format parsers etc all
- got a new home now.
- Moved almost all special quirk handling to quirks.c and introduced new
- generic functions to handle them, so the exceptions do not pollute the
- whole driver.
- Renamed usbaudio.c to card.c because this is what it actually does now.
- Renamed usbmidi.c to midi.c for namespace clarity.
- Removed more things from usbaudio.h.
- The non-standard drivers were adopted accordingly.
- - ALSA: usb-audio: header file cleanups
- Rename snd-usb-lib to snd-usbmidi-lib as MIDI functions are the only
- thing it actually contains. Introduce a new header file to only declare
- these functions.
- Introduced usbmixer.h for all functions exported by usbmixer.c.
- - ALSA: usb-audio: move ua101 driver
- As part of the USB audio code cleanup, move the non-standard ua101
- driver out of the way.
- - ALSA: ua101: add Edirol UA-1000 support
- Add support for the Edirol UA-1000 to the UA-101 driver.
- Both devices behave the same, so we just have to shuffle around some
- interface numbers and name strings.
- - sound: ua101: use vmalloc buffer helper functions
- Remove this duplicate of snd_pcm_alloc_vmalloc_buffer and use the
- equivalent core functions instead.
USB USX2Y
- - ALSA: usb-audio: refactor code
- Clean up the usb audio driver by factoring out a lot of functions to
- separate files. Code for procfs, quirks, urbs, format parsers etc all
- got a new home now.
- Moved almost all special quirk handling to quirks.c and introduced new
- generic functions to handle them, so the exceptions do not pollute the
- whole driver.
- Renamed usbaudio.c to card.c because this is what it actually does now.
- Renamed usbmidi.c to midi.c for namespace clarity.
- Removed more things from usbaudio.h.
- The non-standard drivers were adopted accordingly.
- - ALSA: usb-audio: header file cleanups
- Rename snd-usb-lib to snd-usbmidi-lib as MIDI functions are the only
- thing it actually contains. Introduce a new header file to only declare
- these functions.
- Introduced usbmixer.h for all functions exported by usbmixer.c.
- - ALSA: usbaudio: consolidate header files
- Use the definitions from linux/usb/audio.h all over the ALSA USB audio
- driver and add some missing definitions there as well.
- Use the endpoint attribute macros from linux/usb/ch9 and remove the own
- things from sound/usb/usbaudio.h.
- Now things are also nicely prefixed which makes understanding the code
- easier.
USB caiaq
- - usc/caiaq/input.patch: Fix missing change in the previous commit
- - usb/caiaq/input.patch: Fix builds with older 2.6.x kernels
- - Refreshed usb/caiaq/input.patch
- - ALSA: usb - update gfp/slab.h includes
- Implicit slab.h inclusion via percpu.h is about to go away. Make sure
- gfp.h or slab.h is included as necessary.
- - ALSA: usb/caiaq: Add support for Traktor Kontrol X1
- This device does not have audio controllers and backlit buttons only.
- Input data is handled over a dedicated USB endpoint.
- All functions are supported by the driver now.
- - ALSA: sound/usb/caiaq/midi.h: Checkpatch cleanup
- sound/usb/caiaq/midi.h:6: ERROR: "foo* bar" should be "foo *bar"
USB generic driver
- - usb/card.c - build fix for Linux 2.4 kernels
- - Refresh build-stub for usb mixer refactoring
- - Regenerate patches and build-stubs for usb refactoring
- - Refreshed usbaudio.patch
- - Fix the build with kernels older than 2.6.23
- struct usb_interface of older kernel has no intf_assoc field.
- Simply disable the support of USB v2 on these kernels to fix the
- build error.
- - More fixes for build errors after usb v2.0 merge
- - Fix usb v2.0 builds
- - Fix for previous commit (RHEL 5.4 support)
- - RHEL 5.4 compilation changes
- - ALSA: usb/mixer - use get_iface_desc() rather than direct structure
- - ALSA: usb - Fix Oops after usb-midi disconnection
- usb-midi causes sometimes Oops at snd_usbmidi_output_drain() after
- disconnection. This is due to the access to the endpoints which have
- been already released at disconnection while the files are still alive.
- This patch fixes the problem by checking disconnection state at
- snd_usbmidi_output_drain() and by releasing urbs but keeping the
- endpoint instances until really all freed.
- Tested-by: Tvrtko Ursulin <tvrtko@ursulin.net>
- - ALSA: usb - update gfp/slab.h includes
- Implicit slab.h inclusion via percpu.h is about to go away. Make sure
- gfp.h or slab.h is included as necessary.
- - ALSA: usb pcm: use of kmalloc requires the include of slab.h
- - ALSA: usb - use of kmalloc/kfree requires the include of slab.h
- - ALSA: usbaudio: Add basic support for M-Audio Fast Track Ultra series
- This adds basic support for M-Audio's Fast Track Ultra series of USB
- audio interfaces. It is a refactored version of the patch Clemens
- Ladisch posted some time ago. Neither playback nor capturing work
- properly at 44100 Hz (don't know why).
- The other sampling rates work properly. There's no support for the DSP
- mixer, yet.
- - ALSA: usb-mixer: Add support for Audio Class v2.0
- USB Audio Class v2.0 compliant devices have different descriptors and a
- different way of setting/getting min/max/res/cur properties. This patch
- adds support for them.
- - ALSA: usb-mixer: parse descriptors with structs
- Introduce a number of new structs for mixer, selector, feature and
- processing units and some static inline helpers to access fields which
- have dynamic offsets. Use them in mixer.c to parse the descriptors. This
- is necessary for the upcoming audio v2 parsers.
- - ALSA: usbmixer: rename usbmixer.[ch] -> mixer.[ch]
- For clearer namespace, also rename usbmixer_maps.c -> mixer_maps.c
- - ALSA: usb-mixer: use defines from audio.h
- No need for the private enum.
- - ALSA: usb: fix usb build error when PM is not enabled
- Fix build errors when CONFIG_PM is not enabled:
- sound/usb/card.c:629: error: 'usb_audio_suspend' undeclared here (not in a function)
- sound/usb/card.c:630: error: 'usb_audio_resume' undeclared here (not in a function)
- - sound: linux/usb/audio.h: split header
- - Split the audio.h file in two to clearly denote the differences
- between the standards.
- - Add many more defines to audio-v2.h. Most of them are not currently
- used.
- - Replaced a magic value with a proper define
- - ALSA: usb-audio: add support for samplerate setting on v2 devices
- Sample rate setting is done with a 4-byte long class request that
- addresses the interface.
- - ALSA: usb-audio: support multiple formats with audio class v2 devices
- Change the parser to correctly handle v2 descriptors with multiple
- format bits set.
- - ALSA: usb-audio: use a format bitmask per alternate setting
- In preparation for USB audio 2.0 support, change the audioformat
- structure so that it uses a bitmask to specify possible formats.
- - ALSA: usb-audio: rename substream format field to altset_idx
- The snd_usb_substream::format field actually contains the index of the
- current alternate setting, so rename it to altset_idx to avoid
- confusion.
- - ALSA: usb-mixer: factor out quirks
- Move all non-standard mixer controls and vendor-specific extensions to a
- separate file. Some structs need to be exported now.
- - ALSA: usb-audio: refactor code
- Clean up the usb audio driver by factoring out a lot of functions to
- separate files. Code for procfs, quirks, urbs, format parsers etc all
- got a new home now.
- Moved almost all special quirk handling to quirks.c and introduced new
- generic functions to handle them, so the exceptions do not pollute the
- whole driver.
- Renamed usbaudio.c to card.c because this is what it actually does now.
- Renamed usbmidi.c to midi.c for namespace clarity.
- Removed more things from usbaudio.h.
- The non-standard drivers were adopted accordingly.
- - ALSA: usb-audio: header file cleanups
- Rename snd-usb-lib to snd-usbmidi-lib as MIDI functions are the only
- thing it actually contains. Introduce a new header file to only declare
- these functions.
- Introduced usbmixer.h for all functions exported by usbmixer.c.
- - ALSA: ua101: add Edirol UA-1000 support
- Add support for the Edirol UA-1000 to the UA-101 driver.
- Both devices behave the same, so we just have to shuffle around some
- interface numbers and name strings.
- - ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
- This patch works around misbehaviour of Creative Creative VF0470 Live Cam
- which reports 16 kHz sample rate for audio capture while actually producing
- 8 kHz stream.
- - ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line
- - ALSA: usbaudio: consolidate header files
- Use the definitions from linux/usb/audio.h all over the ALSA USB audio
- driver and add some missing definitions there as well.
- Use the endpoint attribute macros from linux/usb/ch9 and remove the own
- things from sound/usb/usbaudio.h.
- Now things are also nicely prefixed which makes understanding the code
- easier.
- - ALSA: usbmixer: bail out early when parsing audio class v2 descriptors
- This is just a quick hack that needs to be removed once the new units
- defined by the audio class v2.0 standard are supported.
- However, it allows using these devices for now, without mixer support.
- - ALSA: usbaudio: implement basic set of class v2.0 parser
- This adds a number of parsers for audio class v2.0. In particular, the
- following internals are different and now handled by the code:
- * the number of streaming interfaces is now reported by an interface
- association descriptor. The old approach using a proprietary
- descriptor is deprecated.
- * The number of channels per interface is now stored in the AS_GENERAL
- descriptor (used to be part of the FORMAT_TYPE descriptor).
- * The list of supported sample rates is no longer stored in a variable
- length appendix of the format_type descriptor but is retrieved from
- the device using a class specific GET_RANGE command.
- * Supported sample formats are now reported as 32bit bitmap rather than
- a fixed value. For now, this is worked around by choosing just one of
- them.
- * A devices needs to have at least one CLOCK_SOURCE descriptor which
- denotes a clockID that is needed im the class request command.
- * Many descriptors (format_type, ...) have changed their layout. Handle
- this by casting the descriptors to the appropriate structs.
- - ALSA: usbaudio: introduce new types for audio class v2
- This patch adds some definitions for audio class v2.
- Unfortunately, the UNIT types PROCESSING_UNIT and EXTENSION_UNIT have
- different numerical representations in both standards, so there is need
- for a _V1 add-on now. usbmixer.c is changed accordingly.
- - ALSA: usbaudio: parse USB descriptors with structs
- In preparation of support for v2.0 audio class, use the structs from
- linux/usb/audio.h and add some new ones to describe the fields that are
- actually parsed by the descriptor decoders.
- Also, factor out code from usb_create_streams(). This makes it easier to
- adopt the new iteration logic needed for v2.0.
- - ALSA: usbaudio Mbox support, output only
- - ALSA: usbmixer - use MAX_ID_ELEMS where possible
- - ALSA: usbmixer - add usb_id value to usbmixer proc file
- - ALSA: usbmixer - introduce /proc/asound/card#/usbmixer file
- The usbmixer proc file contains mapping between ALSA control API and
- USB mixer control units. The purpose of this file is for debugging
- and a problem diagnostics.
- - ALSA: USB MIDI support for Access Music VirusTI
- Here's a patch that adds MIDI support through USB for one of the Access
- Music synths, the VirusTI.
- The synth uses standard USBMIDI protocol on its USB interface 3, although
- it does signal "vendor specific" class. A magic string has to be sent on
- interface 3 to enable the sending of MIDI from the synth (this string was
- found by sniffing usb communication of the Windows driver). This is all
- my patch does, and it works on my computer.
- Please note that the synth can also do standard usb audio I/O on its
- interfaces 2&3, which already works with the current snd-usb-audio driver,
- except for the audio input from the synth. I'm going to work on it when I
- have some time.
- - ALSA: usb-audio: reduce MIDI packet size to work around broken firmware
- Extend the list of devices whose firmware does not expect more than one
- USB MIDI packet in one USB packet.
- bug report: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3752
- - ALSA: usbmixer - add possibility to remap dB values
- USB devices tends to represent dB ranges in different way than ALSA expects.
- Add possibility to override these values and add guessed values for
- SoundBlaster MP3+.
- Also rename 'Capture Input Source' control to 'Capture Source' for
- SoundBlaster MP3+ and Extigy.
- - ALSA: usb-audio: use usbquirk.h for detection of HVR-950Q/850
- Detect the HVR-950Q HVR-850 urb data alignment quirk using usbquirk.h
- rather than using a case statement in snd_usb_audio_probe.
- - ALSA: usb-audio: relax urb data align. restriction HVR-950Q and HVR-850 only
- Addressing audio quality problem.
- In sound/usb/usbaudio.c, for the Hauppage HVR-950Q and HVR-850 only, change
- retire_capture_urb to allow transfers on audio sub-slot boundaries rather
- than audio slots boundaries.
- With these devices the left and right channel samples can be split between
- two different urbs. Throwing away extra channel samples causes a sound
- quality problem for stereo streams as the left and right channels are
- swapped repeatedly, perhaps many times per second.
- Urbs unaligned on sub-slot boundaries are still truncated to the next
- lowest stride (audio slot) to retain synchronization on samples even
- though left/right channel synchronization may be lost in this case.
- Detect the quirk using a case statement in snd_usb_audio_probe.
- BugLink: https://bugs.launchpad.net/ubuntu/+bug/495745
- - ALSA: usb-audio: make buffer pointer based on bytes instead on frames
- Since there are devices that do not align the size of their data packets
- to frame boundaries, the driver needs to be able to keep track of
- partial frames. This patch prepares for support for such devices by
- changing the hwptr_done variable from a frame counter to a byte counter.
- - ALSA: usb-audio - Added functionality for E-mu 0404USB/0202USB/TrackerPre
- Added functionality:
- 1) Extension Units support (all XU settings now available at alsamixer,
- kmix, etc):
- - "AnalogueIn soft limiter" switch;
- - "Sample rate" selector (values 0,1,2,3,4,5 corresponds to 44.1 48 ...
- 192 kHz);
- - "DigitalIn CLK source" selector (internal/external) (**);
- - "DigitalOut format SPDIF/AC3" switch (**);
- (**)E-mu-0404usb only.
- 2) Automatic device sample rate adjustment depending on substream
- samplerate for both capture and playback substream.
- [minor coding-style fixes by tiwai]
- - ALSA: usb-audio - Avoid Oops after disconnect
- As the release of substreams may be done asynchronously from the
- disconnection, close callback needs to check the shutdown flag before
- actually accessing the usb interface.
- Reference: Novell bnc#505027
- http://bugzilla.novell.com/show_bug.cgi?id=565027
- - sound: usb-audio: use vmalloc buffer helper functions
- Remove this duplicate of snd_pcm_alloc_vmalloc_buffer and use the
- equivalent core functions instead.
- - sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
- When allocating the PCM buffer, use vmalloc_user() instead of vmalloc().
- Otherwise, it would be possible for applications to play the previous
- contents of the kernel memory to the speakers, or to read it directly if
- the buffer is exported to userspace.
Utils
- - alsa-compile.sh: add moprobe soundcore for --kmodules
- - alsa-compile.sh: Check for aclocal and install if missing
- - alsa-compile.sh: Don't rely on yum exit code
- - alsa-compile.sh: fix path for /sbin utilities
- - alsa-compile.sh: fix --kmodclean commmand
- - alsa-compile.sh: add handling of kernel module parameters, fix --clean
- - Add choice/endchoice pair to mod-deps
- Ignore the content, so far, as a quick'n'dirty workaround.
- This should be fixed in future!
- - alsa-compile.sh: update version number to 0.1.3
- - alsa-compile.sh: Fix --clean command
- - alsa-compile.sh: more tree variable cleanups, fixes for --run
- - alsa-compile.sh: use local variables
- It is a bash script, and declaring variables local makes it slightly easier to
- see the structure. "for" loop variables can however not be local.
- - alsa-compile.sh: Remove duplicate and different packagedir assignment
- - alsa-compiler.sh: Move cleaning out of command line parsing
- - alsa-compile.sh: handle ac97_bus module in current_modules
- - alsa-compile.sh: Fix code logic for kmod cmds when source tree does not exists
- - alsa-compile.sh: version 0.1.2
- - alsa-compile.sh: Various cleanup
- More consistent use of echo and formatting and minor fixes.
- "docstrings" for functions.
- - alsa-compile.sh: Fix some minor issues
- - alsa-compile.sh: remove debugging code
- - alsa-compile.sh: set version to 0.1.1
- - alsa-compile.sh: add --kmodclean option, use updates/alsa tree for kmods
- - alsa-compile.sh: Use packagedir variable consistently
- - alsa-compile.sh: Support building on Fedora PAE kernels where kernel-PAE-devel is used
- - alsa-compile.sh: Check package installation - don't rely on yum exit code
- - alsa-compile.sh: Use bash for bash script
- - alsa-compile.sh: added --patch and --kmodmesg options
- Use snd-dummy1 module to identify start of the ALSA dmesg lines. It's not
- ideal - waiting for other ideas to trigger a unique kernel printk.
- - alsa-compile.sh: Fix dst variable usage in parse_modules()
- - remove 'insert' and 'remove' scripts - the alsa-compile.sh obsoletes them
- - alsa-compile.sh: added --kmodremove command
- - alsa-compile.sh: add --examples and file: protocol support
- - alsa-info.sh: added --run parameter
- - alsa-info.sh: fix some issues (parsing package)
- - alsa-compile.sh: added --kmodlist option and support for more ALSA packages
- - alsa-compile.sh: add git support, cache environment state
- - introduce alsa-compile.sh script - not finished
- - gitcompile - add more error checks, update utils/insert script
- - alsa-info.sh: Add usbmixer proc file to output
- - remove cvscompile script - we use git now
- - Add gcd() wrapper
VIA82xx driver
- - ALSA: via82xx: add quirk for D1289 motherboard
- Add a headphones-only quirk for the Fujitsu Siemens D1289.
- Reported-and-tested-by: Marc Haber <mh+alsa201002@zugschlus.de>
cvscompile script
- - remove cvscompile script - we use git now
gitcompile script
- - gitcompile - add more error checks, update utils/insert script
alsa-lib
Core
- - Release v1.0.23
- - add atomic operations for Blackfin parts
Control API
- - modem.conf Off-hook improve behavior
- Only restore the old value if it differs from the requested
- value, because if it has changed restoring the old value
- overrides the change. Take for example, a voice modem with
- a .conf that sets preserve off-hook. Start playback (on-hook
- to off-hook), start record (off-hook to off-hook), stop
- playback (off-hook to restore on-hook), stop record (on-hook
- to restore off-hook), Clearly you don't want to leave the
- modem "on the phone" now that there isn't any playback or
- recording active.
PCM API
- - pcm_share plugin: fix pcm->monotonic setup in open() function
- - pcm_hw - show errno codes
- - pcm direct plugins: drain() call might be blocked when threads are used
- Add SETUP state checks and do modifications according latest ALSA driver
- (passing wrong event identification).
- ALSA bug#4914
- - pcm_dmix: add support for S24_LE format
- - Fix snd_pcm_sw_params_set_period_event() implementation
- Fix the PCM timer open subdevice number in the pcm_hw plugin.
- - pcm: fix read_areas and write_areas
- The stream state was wrongly updated and handled.
- - pcm: Fix the sound distortions for S24_3LE stream in pcm_softvol plugin
- This patch fixes sound distortions in alsa-lib "softvol"
- for S24_3LE sound stream, when softvol slider is not at 0.0dB
- position.
- - pcm: Close event timer in pcm_hw plugin
- Dan McCombs discovered that snd_pcm_close() invocations are not leading
- to associated timers being closed, which results in successively more
- timers being created but not freed.
- Original patch from Daniel T Chen <crimsun@ubuntu.com>.
- BugLink: https://bugs.launchpad.net/bugs/451893
alsa-utils
Core
- - Release v1.0.23
ALSA Control (alsactl)
- - alsactl: update debug prints in state.c
- - alsactl: add more debug prints to state.c
- - alsactl: improve -d to get warnings and store exitcode to runstate file
- Also, make the initialization & restore logic for one card similar to
- multiple card initialization & restore.
- - alsactl: Fix return code
- The main() should return positive error value.
ALSA RawMidi Utility (amidi)
- - amidi: fix port listing
- Rewrite the port listing code because it was too complex and had some
- bugs when handling write-only or read-only ports.
Speaker Test
- - speaker-test: add fflush(stdout) to write_loop
- Flush stdout for pipes. The monitor tool from hda-analyzer requires this.
aconnect
- - aconnect -x: Do not update index after removal of connection.
alsamixer
- - alsamixer: handle out-of-range volume values
- Ensure that control volume values are in their allowed range; otherwise,
- the displayed values could be outside the range 0..100 and mess up the
- layout.
- - alsamixer: fix division by zero
- The attempt to divide by max-min fails if a control has only one valid
- value. In this case, adjust the maximum so that the computation can
- succeed; the control will look like 0%.
amixer
- - amixer: add support for TLV dB minmax types
- - amixer: fix display of unreadable control elements
- When an element is marked as not readble, do not try to read it and then
- complain about the error, but just ignore it.
aplay/arecord
- - aplay -- update the man file
- Bring the man file up to date, documenting the signals and all the
- options, including those added for audio surveilance.
- - aplay -- add features for audio surveilance
- Add signal SIGUSR1 to turn over the output file,
- --max-file-time to cause the output file to turn over automatically,
- and --use-strftime to create output files based on the current time.
- - aplay - add option --process-id-file
- Write the process ID to a file so other programs can
- signal aplay. When aplay exits, delete the file.
- - aplay: Dump PCM state on xrun when verbose mode is active
alsa-tools
Core
- - Release v1.0.23
- - add hwmixvolume
- Add a tool to control the volume of individual streams on sound cards
- that use hardware mixing.
hwmixvolume
- - hwmixvolume: add hwmixvolume to EXTRA_DIST
- - Fix hwmixvolume gitcompile script (missing files)
- - hwmixvolume: make scripts executable
- The gitcompile script is easier to use if it's executable.
- - add hwmixvolume
- Add a tool to control the volume of individual streams on sound cards
- that use hardware mixing.
alsa-plugins
Core
- - Release v1.0.23
USB stream plugin
- - usb_stream: Allow user-set period-size and rate
- * usb_stream/pcm_usb_stream.c: Allow user-set period-size and rate.
- - usb_stream: Check for NULL-ness before dereferencing
- * usb_stream/pcm_usb_stream.c (snd_pcm_us_stop): Prevent
- dereferencing when structure is not initialized.