Changes v1.0.22 v1.0.22.1
Jump to navigation
Jump to search
Changelog between 1.0.22 and 1.0.22.1 releases
alsa-driver
Sound Core
- 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
- 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: sound/core/pcm_timer.c: use lib/gcd.c
PCM Midlevel
- Handle __GFP_ZERO for older kernels
- 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
/isa/Makefile
- Remove obsolete dt019x.c again
- introduce --with-alsakernel option for ./configure
/soc/codecs/Makefile
- 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
ALSA Version
- ALSA: Release v1.0.22
ARM AACI PL041 driver
- 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
- const: constify remaining dev_pm_ops
ATIIXP driver
- ALSA: atiixp: Specify codec for Foxconn RC4107MA-RS2
CS46xx driver
- ALSA: cs46xx - Fix suspend/resume with new DSP
CS5535 driver
- ALSA: cs5535audio: free OLPC quirks from reliance on MGEODE_LX cpu optimization
Conexant Riptide driver
- ALSA: test off by one in setsamplerate()
DT019x driver
- Remove obsolete dt019x.c again
- introduce --with-alsakernel option for ./configure
Digigram VX core
- sound: vx: use vmalloc buffer helper functions
Documentation
- 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
- ALSA: sbawe: fix memory detection
Edirol UA-101 driver
- sound: ua101: use vmalloc buffer helper functions
HDA Codec driver
- 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 - HDMI sticky stream tag support
- ALSA: hda - Add MSI blacklist
- ALSA: hda - Check class to identify Nvidia controller chips
HDA generic driver
- Fix hda_intel.patch
- 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
ISA
- ALSA: jazz16: Add support for Media Vision Jazz16 chipset
MSND driver
- ALSA: Use kzalloc for allocating only one thing
PDAudioCF driver
- sound: pdaudiocf: use vmalloc buffer helper functions
- sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
- pcmcia: remove unused IRQ_FIRST_SHARED
SB drivers
- Add isa/sb/jazz16 build stub
- 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
- sound: sgio2audio: use vmalloc buffer helper functions
- sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
SoC Audio for Freecale i.MX1x i.MX2x CPUs
- ASoC: add missing parameter to mx27vis_hifi_hw_free()
SoC Audio for the Samsung S3C24XX chips
- ASoC: S3C64XX: Compress and generalize the CPU driver
- ASoC: S3C64XX: Remove unnecessary header includes
- const: constify remaining dev_pm_ops
SoC Codec AK4642
- ASoC: ak4642: Add default return value in ak4642_modinit
SoC Codec CS4270
- ASoC: Add regulator support to CS4270 codec driver
SoC Codec DA7210
- ASoC: Fix build of DA7210
- ASoC: Add DA7210 codec device support for ALSA
SoC Codec STAC9766
- ASoC: Fix disable of SPDIF on STAC9766 codec
SoC Codec TLV320AIC3X
- ASoC: PLL computation in TLV320AIC3x SoC driver
SoC Codec TLV320DAC33
- ASoC: tlv320dac33: Add support for regulator framework
SoC Codec TPA6130A2
- ASoC: tpa6130a2: Add support for regulator framework
SoC Codec TWL4030
- mfd: Rename all twl4030_i2c*
- mfd: Rename twl4030* driver files to enable re-use
SoC Codec WM8350
- mfd: Mask and unmask wm8350 IRQs on request and free
- mfd: Convert wm8350 IRQ handlers to irq_handler_t
SoC Codec WM8727
- ASoC: Register the CODEC in WM8727
SoC Codec WM8900
- ASoC: Correct code taking the size of a pointer
SoC Codec WM8904
- ASoC: Host clock2 read up in WM8904 FLL configuration
- ASoC: Set AIF word length for WM8904
- ASoC: Initial WM8904 CODEC driver
SoC Codec WM8955
- ASoC: Add initial WM8955 CODEC driver
SoC Codec WM8974
- ASoC: wm8974: fix a wrong bit definition
SoC Codec WM9712
- ASoC: Do not write to invalid registers on the wm9712.
SoC DaVinci
- ASoC: DaVinci: Update suspend/resume support for McASP driver
SoC Dynamic Audio Power Management
- 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 Layer
- Fix soc/soc-core.patch
- 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 SH7760 AC97
- 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
- mfd: twl: fix twl4030 rename for remaining driver, board files
USB generic driver
- 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
- Add gcd() wrapper
Detailed changelog between 1.0.22 and 1.0.22.1 releases
alsa-driver
Sound Core
- - 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
- - 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: sound/core/pcm_timer.c: use lib/gcd.c
- Make sound/core/pcm_timer.c use lib/gcd.c
PCM Midlevel
- - Handle __GFP_ZERO for older kernels
- - 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.
/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: 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - ASoC: Fix sorting of codecs Makefile entries
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
ALSA Version
- - ALSA: Release v1.0.22
ARM AACI PL041 driver
- - 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
- - 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.
- Cc: stable@kernel.org
- Tested-by: Apoorv Parle <apparle@yahoo.co.in>
CS46xx driver
- - 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.
- Cc: Takashi Iwai <tiwai@suse.de>
- Cc: Jordan Crouse <jordan@cosmicpenguin.net>
- Cc: David Brownell <david-b@pacbell.net>
Conexant Riptide driver
- - ALSA: test off by one in setsamplerate()
- With `while (i++ < MAX_WRITE_RETRY)' i reaches MAX_WRITE_RETRY + 1 after the loop
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
- - 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: 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
- - 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.
Edirol UA-101 driver
- - sound: ua101: use vmalloc buffer helper functions
- Remove this duplicate of snd_pcm_alloc_vmalloc_buffer and use the
- equivalent core functions instead.
HDA Codec driver
- - 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.
- Cc: <stable@kernel.org>
- - 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 - 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
- - Fix hda_intel.patch
- Separate msi_whte_list to patch more robustly.
- - 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)
- )
- Cc: Julia Lawall <julia@diku.dk>
- Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
- Cc: Jeff Dike <jdike@addtoit.com>
- Cc: Ingo Molnar <mingo@elte.hu>
- Cc: Thomas Gleixner <tglx@linutronix.de>
- Cc: "H. Peter Anvin" <hpa@zytor.com>
- Cc: Richard Purdie <rpurdie@rpsys.net>
- Cc: Neil Brown <neilb@suse.de>
- Cc: Kyle McMartin <kyle@mcmartin.ca>
- Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
- Cc: David Howells <dhowells@redhat.com>
- Cc: <linux-ext4@vger.kernel.org>
- Cc: Samuel Ortiz <samuel@sortiz.org>
- Cc: Patrick McHardy <kaber@trash.net>
- Cc: Takashi Iwai <tiwai@suse.de>
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.
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>
PDAudioCF driver
- - 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.
- Cc: <stable@kernel.org>
- - 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.
- CC: Karsten Keil <keil@b1-systems.de>
- CC: netdev@vger.kernel.org
- CC: alsa-devel@alsa-project.org
- CC: Komuro <komurojun-mbn@nifty.com>
SB drivers
- - Add isa/sb/jazz16 build stub
- - 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
- - 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.
- Cc: <stable@kernel.org>
SoC Audio for Freecale i.MX1x i.MX2x CPUs
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Audio for the Samsung S3C24XX chips
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - ASoC: S3C64XX: Remove unnecessary header includes
- Removed redundant header includes which make no difference to compilation.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - const: constify remaining dev_pm_ops
SoC Codec AK4642
- - 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>
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec CS4270
- - ASoC: Add regulator support to CS4270 codec driver
- Acked-by: Timur Tabi <timur@freescale.com>
- Cc: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec DA7210
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
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.
- Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com
SoC Codec 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
- Acked-by: Vladimir Barinov <vova.barinov@gmail.com>
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec TLV320DAC33
- - ASoC: tlv320dac33: Add support for regulator framework
- Take the regulator framework in use for managing the power sources.
- Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec TPA6130A2
- - ASoC: tpa6130a2: Add support for regulator framework
- Take the regulator framework in use for managing the power sources
- Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
- Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec TWL4030
- - 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
- Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
- - 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.
- Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
SoC Codec WM8350
- - 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 WM8727
- - ASoC: Register the CODEC in WM8727
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
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>
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec WM8904
- - ASoC: Host clock2 read up in WM8904 FLL configuration
- Avoids skipping over the read for disable cases.
- - ASoC: Set AIF word length for WM8904
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Codec WM8974
- - ASoC: wm8974: fix a wrong bit definition
- The wm8974 datasheet defines BUFIOEN as bit 2.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- Cc: stable@kernel.org
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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- Cc: stable@kernel.org
SoC DaVinci
- - 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
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Dynamic Audio Power Management
- - ASoC: Sort DAPM sequences by CODEC as well
- In preparation for multiple device support.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - ASoC: Push registers out of mixer power decision
- No need for the mixers to know about this, and it allows for virtual
- controls.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Layer
- - Fix soc/soc-core.patch
- consitify patch caused conflicts.
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - ASoC: Export snd_soc_update_bits_unlocked()
- Allows custom controls to use it.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - const: constify remaining dev_pm_ops
SoC SH7760 AC97
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - ASoC: Add FSI-DA7210 sound support for SuperH
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
- - 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.
- Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
SoC Texas Instruments OMAP
- - 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.
- Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- Reviewed-by: Felipe Balbi <felipe.balbi@nokia.com>
- Cc: Samuel Ortiz <sameo@linux.intel.com>
USB generic driver
- - 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.
- Cc: <stable@kernel.org>
Utils
- - Add gcd() wrapper