Changes v1.0.14 v1.0.15rc1

From AlsaProject

Jump to: navigation, search

Contents

Changelog between 1.0.14 and 1.0.15rc1 releases

alsa-driver

Sound Core

2.6.22 is supported as well.
Create hacked autoconf.h from the kernel build tree
Remove gzipped file in install-modules
Add SPI devices to ALSA Kconfig and Makefile
pc-speaker update
release 1.0.15rc1
[S390] Kconfig: menus with depends on HAS_IOMEM.
Fix for CONFIG_HAS_DMA
Support xxx-y style in Makefile for 2.2/2.4 kernels

ALSA Core

unregister_chrdev(): ignore the return value
Regenerate the patch
Add workaround for pci->revision
hda-intel - Add hwdep interface
Add a workaround to make snd-page-alloc independent from snd
misc_driver: protect PM code with CONFIG_PM
linux 2.6 sync - spelling/typo fixes
Fix build error without CONFIG_HAS_DMA
Clean up Makefile
Fix the wrong kfree error with kmemdup
Fix isa driver wrapper for 2.2/2.4 kernels

SoC PXA2xx Core

[ARM] 4527/1: pxa: fix pxa27x ac97 cold reset in ASoC due to CKEN change
[ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume
fix file specification in comments

Control Midlevel

Add helper functions for frequently used callbacks

PCM Midlevel

Fix substream to check in PCM drain
pcm: merge rates[] from pcm_misc.c and pcm_native.c
pcm: add snd_pcm_rate_to_rate_bit() helper
Support 3-bytes 24bit format in PCM OSS emulation

RawMidi Midlevel

Clean up duplicate includes in sound/core/

Timer Midlevel

timer: check for incorrect device state in non-debug compiles, too

/arm/Makefile

Move CONFIG_H3600_HAL codes to sa11xx-uda1341.patch

/i2c/Makefile

Clean up Makefile

/soc/codecs/Makefile

ASoC CS4270 codec device driver

/spi/Makefile

Add SPI devices to ALSA Kconfig and Makefile
ALSA sound driver for the AT73C213 DAC using Atmel SSC driver

AC97 Codec

Use msecs_to_jiffies() in ac97_codec.c
Add missing static in ac97_codec.c
linux 2.6 sync - spelling/typo fixes
ac97 - Suppress the reset of audio-codec from modem-codec at resume

AD1848 driver

isa libs Makefiles cleanup
Fix invalid schedule_timeout_interruptible()

ALI5451 driver

Add workaround for pci->revision
ali5451 warning fix
PCI: Change all drivers to use pci_device->revision

ALSA sequencer

seq_midi_event: fix encoding of data bytes after end of sysex
seq_midi_event: prevent running status after system messages
seq_midi_event: fix parsing of missing data bytes
seq_midi_event: fix parsing of F9/FD bytes
some kmalloc/memset ->kzalloc (tree wide)
Fix invalid schedule_timeout_interruptible()

ALSA<-OSS emulation

Remove ifdefs from OSS PCM emulation codes
Simplify the format conversion in PCM OSS emulation
Support 3-bytes 24bit format in PCM OSS emulation
Add new AFMT_* formats for OSS emulation

ALSA<-OSS sequencer

seq: resource leak fix and various code cleanups

ARM PXA2XX driver

[ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume

ATIIXP driver

Add workaround for pci->revision
PCI: Change all drivers to use pci_device->revision

ATIIXP-modem driver

Add workaround for pci->revision
PCI: Change all drivers to use pci_device->revision

Apple Onboard Audio driver

Fix tas_suspend/resume build warning
Clean up with common snd_ctl_boolean_*_info callbacks
snd-aoa-codec-onyx: fix typo

Asihpi driver

remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()
Build fix for 2.6.23-rc1
check for linked substreams of different cards
Fix build with 2.6.23-rc1 kernel
asihpi - Fix StreamGetInfo
asihpi unify play/capture timer functions
asihpi: mmap and link streams
asihpi: Fix compatibility with 64-bit resource_size_t

Atmel AT73C213 DAC driver

ALSA sound driver for the AT73C213 DAC using Atmel SSC driver

BT87x driver

pcm: add snd_pcm_rate_to_rate_bit() helper
bttv: Fix Viewcast Osprey 440 support
bt87x - Add known PCI ID entries

CA0106 driver

snd-ca0106:Add recognition for new variant. Fixes ALSA bug#3251
Coding style fix sound/pci/ca0106/ca_midi.h
ca0106: Add analog mute controls for cards with SPI DAC
ca0106: replaced control add sequences with macro
ca0106: power down SPI DAC channels when not in use
ca0106: Add more symbol SPI register names and use them
ca0106: remove extra commands in SPI DAC init sequence

CMI8788 driver

cmi8788: add sync start
cmi8788: change shortname
cmi8788: add __NO_VERSION__
add cmi8788 driver
cmi8788: use one function for pointer callback
cmi8788: write correct values to BaseTCount
cmi8788: move hw_params-specific code to hw_params callback
cmi8788: fix and optimize trigger callback
cmi8788: clean up pcm init
cmi8788: remove int_sta_mask field
cmi8788: optimize interrupt handler
cmi8788: move interrupt enabling out of trigger callback
cmi8788: initialize stream mask bits once
cmi8788: fix AC97 playback interrupt mask
cmi8788: merge interrupt and DMA bit masks
remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()
cmi8788: cache interrupt/dma mask registers
cmi8788: clear interrupt/DMA status when loading
cmi8788: make interrupt acking more robust
cmi8788: fix formatting
cmi8788: remove unused symbols
cmi8788: remove ioremap
cmi8788: remove cmi_printk
cmi8788: reorganize chip data
cmi8788: remove controller structure
cmi8788: move PCM code to cmi_pcm.c
cmi8788: remove unused fields
cmi8788: fix interrupt status check
cmi8788: move declarations to header
cmi8788: remove typedefs
cmi8788: remove superfluous NULL checks
cmi8788: simplify AC97 register writes
cmi8788: simplify some code
cmi8788 - Fix build with the recent kernel
cmi8788: store cmi_substream pointer in runtime->private_data
cmi8788: clean up pcm open callback
cmi8788: remove unsupported formats
cmi8788: fix format bits
cmi8788: factor out format bits lookup
cmi8788: add rate setting
cmi8788: detect chip revisions
cmi8788: fix capture buffer size
cmi8788: add SPDIF PCM
cmi8788: move low-level functions to cmi_lib.c
cmi8788: simplify more code
cmi8788: fix pcm hardware info
cmi8788: remove DMA_chan_reset field
cmi8788: remove superfluous header

CMIPCI driver

cmipci: make the test for integrated MIDI port address more robust
cmipci: reorganize chip version detection
cmipci: remove has_dual_dac
cmipci: show actual chip name in card longname
cmipci: fix MIDI device name
cmipci: fix handling of FM/MIDI port addresses

CREDITS file

Update Claudio's CREDITS information
linux 2.6 sync (2007-07-30)
linux 2.6 code sync (2007-07-19)

CS4231 driver

Fix bugs in mode change/recalibration for opl3sa2 driver

CS423x drivers

isa libs Makefiles cleanup

CS46xx driver

cs46xx - Fix PM resume
Clean up Makefile
sound/pci/cs46xx/: fix an off-by-one

CS5535 driver

Clean up Makefile

Digigram VX core

Clean up with common snd_ctl_boolean_*_info callbacks

Documentation

hda-codec - update of documentation
Add missing model entries for HD-audio codecs
usb-audio - Fix AC3 with M-Audio Audiophile USB
hda-codec - Rename HP model-specific quirks
This patch adds more support for Dell systems with Stac9205 codecs.
hda-intel - Add power_save_controller module option
hda-codec - Add support for Haier W66
More description on duplex streams with OSS emulation
hda: support for S/PDIF out on ASUS M2V
hda-codec - Add ALC268 acer model
hda-codec - Add support for Macbook Pro rev3
hda-codec - Fix Dell laptops support with STAC codecs
usb-audio - Fix audiophile-USB quirk for little-endian
hda-intel: support for iMac 24 released on 09/2006
Fixes to follow the standard coding style
hda-codec - Add more Dell systems
hda-codec - Add support for Acer Aspire laptops
doc - Remove IRQF_DISABLED from the example description
wavefront - Use standard firmware loader
hda-codec - Add support of ALC268 codec
hda-codec - Add model dell for Dell XPS M1210
Fix OSS documentation about 3bytes format
hda-codec - Add option texts and descriptions for new Realtek models
cmipci: fix handling of FM/MIDI port addresses
hda-codec - Add AD1882 codec support

Dreamcast AICA sound (pcm) driver

aica - fix behaviour in poor resource conditions

EMU10K1/EMU10K2 driver

snd-emu10k1: Add support for E-Mu 1616 PCI, 1616M PCI, 0404 PCI, E-Mu
snd-emu10k1:Improves firmware loading for E-Mu cards.
snd-emu10k1:Support for ADAT and S/PDIF.
emu10k1 - EMU 1212 with 16 capture channels
This patch removes memset() from snd_emu10k1_fx8010_info() which apparently
snd-emu10k1: Initial support for E-Mu 1616 and 1616m.
snd-emu10k1:Enable E-Mu 1616m notebook firmware loading.
emu10k1 - Fix memory corruption
snd-emu10k1:Implement SPDIF/ADAT status.
snd-emu10k1:Unmute the Audio/Micro Dock after firmware load.
emu10k1: There's no need to cast vmalloc() return value in snd_emu10k1_create()

ENS1370/1+ driver

fix ensoniq section mismatch

ES18xx driver

add the ESS1879 pnpbios ID to the es18xx driver

Generic drivers

ALSA: more section mismatches
Clean up with common snd_ctl_boolean_*_info callbacks
pc-speaker update
fix section mismatch
more section mismatches
portman2x4 section mismatch

HDA Codec driver

hda-codec - rewrite amp cache more generic
hda-codec - introduce command register cache
hda-codec - optimize resume using caches
hda-codec - add snd_hda_codec_stereo() function
hda-codec - Clean up bind-controls
hda-intel - Add POWER_SAVE option
hda-codec - Fix ALC268 acer model
hda-codec - Fix HP Nettle 5.1 output
hda-codec - Add HP Lucknow 5.1 support
hda-codec - Add missing model parameter strings for ALC262
hda-codec - Fix number of pin widgets with STAC codecs
hda-codec - Add LG LW20 line-in capture source
hda-codec - Add quirk for HP Samba
hda-codec - Rename HP model-specific quirks
hda-intel - Coding style fixes
hda-intel - Add hwdep interface
hda-codec - Add a generic bind-control helper
hda-codec - kernel config for each codec
hda-codec - Add quirk for another MSI laptop to alc883_cfg_tbl[]
hda-codec - Fix Thinkpad X61/T61 outputs
hda-intel - Fix resume with power save
This patch adds more support for Dell systems with Stac9205 codecs.
hda-codec - Add support for Haier W66
hda-codec - Add SPDIF support on ALC880 fujitsu model
sound/pci/hda/patch_realtek.c: remove dead code
hda-codec - Fix the error in DAC assignment of STAC codec
hda-codec - Fix Toshiba A100 with ALC861
hda-codec - Add support for the ASRock K8NF6G-VSTA motherboard
hda-codec - Fix Oops with AD1984 thinkpad model
hda: support for S/PDIF out on ASUS M2V
HDA - Change default configuration for Fujitsu Si3515
hda-codec - Add quirks for HP dx2200/dx2250
hda-intel - Remove invalid __devinit
hda-codec - Add ALC268 acer model
hda-codec - Fix PM on ALC885 Intel Macs
hda-codec - Remove superfluous code
hda-codec - Add unsol_event to ALC883 Acer Aspire
hda-intel - Avoid unnecessary work scheduling
hda-codec - Add model for MSI m673x
hda-codec - Add auto-mute function to Sony VAIO with STAC9872
hda-codec - Fix Toshiba A135 model selection
hda-codec - Add support for Macbook Pro rev3
hda-codec - Add support for Toshiba Satellite P205
hda-intel - Fix compile with gcc-3.x
hda-codec - Fix mater mixer switch of ALC262 sony-amd model
hda-codec - Fix ALC268 unsol event
hda-codec - Fix Dell laptops support with STAC codecs
hda-codec - Some fixes for Realtek codec supports
hda-codec - Fix ALC662 auto mode
hda-codec - Fix the recording selection on VAIO laptop
hda-codec - Add LG LW20 si3054 modem id
hda: stac9202 mixer fix
hda-codec - Add quirk for Asus P5LD2
hda-intel: support for iMac 24 released on 09/2006
hda-codec - Fix the initial mixer state of ALC262 sony-assamd model
hda-codec - Add model for Toshiba A135
hda-codec - Add more Dell systems
hda-codec - Add support for Acer Aspire laptops
hda-intel - Fix NULL dereference in resume
hda-intel - Don't do suspend if already powered down
hda-codec - Add missing capture boost for ALC268
hda-codec - Add support for HP Nettle
hda-codec - Add support for HP Spartan
hda-codec - Fix default pin config of Abit AW9D-MAX
HDA-Intel - Add support for MSI K9AGM2-FIH motherboard
hda: Enable SPDIF in/out on some stac9205 boards
hda-codec - Fix AD1988 SPDIF output
hda-codec - Fix GPIO in resume
hda-codec - Fix AD1984 basic model
hda-codec - Add proper model for HP xw series
hda-codec - Add support of ALC268 codec
hda-codec - Add HP Pavillion quirk to Realtek code
hda-codec - Fix ALC662 auto-configuration code
hda-codec - Add Fujitsu Siemens v3515 support to patch_conexant
hda-codec - Add model dell for Dell XPS M1210
hda: add eapd support to additional idt codecs
hda-codec - Remove conflicting capture mixers for ALC861VD
hda-codec - Update realtek codec support
hda-codec - Add support for Biostar NF61S SE mobo
hda-codec - Add option texts and descriptions for new Realtek models
hda-intel - Add flush_scheduled_work() in snd_hda_codec_free()
hda-codec - Fix Master volume with AD1986A laptop model
hda-codec - Add Mic Boost control with auto-configuration
hda-codec - Fix 5.1 output in LG LW20
hda-codec - Add VIA HDA to si3054
Yet another Uniwill laptop with ALC861 codec
hda-codec - Add AD1882 codec support

HDA Intel driver

hda-intel - Add POWER_SAVE option
hda-intel - Add probe_mask blacklist
hda-intel - Show the last command in warning messages
hda-intel - Coding style fixes
Add the MCP73/77 support to hda_intel driver
hda-intel - Fix resume with power save
hda-intel - Add power_save_controller module option
hda-intel - Add position_fix quirk for Dell Precision 390
hda-intel - Don't do suspend if already powered down

HDA generic driver

hda-codec - introduce command register cache
hda-codec - optimize resume using caches
hda-codec - add snd_hda_codec_stereo() function
hda-intel - Add POWER_SAVE option
hda-intel - Coding style fixes
hda-intel - Add hwdep interface
hda-codec - Add a generic bind-control helper
hda-codec - kernel config for each codec
Add missing hda_hwdep.c
hda-intel - Fix compile warning in snd_hwdep_ioctl_compat()
hda-intel - Fix a typo in Makefile
hda-codec - Output MFG information for HDA devices

HDSPM driver

hdspm - Coding style fixes

ICE1712 driver

Fix misspellings collected by members of KJ list.
ice1712 - Fix missing replacement to snd_ctl_boolean_mono_info
sound: fix compile error (wrong declaration of devinitdata)

ISA

wavefront - Use standard firmware loader
fix SND_CS5530=y, ISA=n compilation

MAINTAINERS file

2.6 kernel sync (2007-07-20)
linux 2.6 sync (2007-07-30)
linux 2.6 code sync (2007-07-19)

MIXART driver

mixart - Check ioremap error
sound: convert "sound" subdirectory to UTF-8
mixart: Add missing vmalloc.h include

MPU401 UART

more section mismatches

Memalloc module

Fix build with 2.6.22 or older kernel
Fix compile warnings with 2.6.22 kernel
Add a workaround to make snd-page-alloc independent from snd
Fix build error without CONFIG_HAS_DMA
Fix for CONFIG_HAS_DMA

NM256 driver

nm256 - Add mention of opl3sa2 to a diagnostic message

OPL3

Clean up Makefile

OPL3SA2 driver

Fix bugs in mode change/recalibration for opl3sa2 driver
use __devexit_p
opl3sa2 - Add Neomagic MagicWave 3D ISA PnP ID

OSS firmware core

Detach sched.h from mm.h

Opti9xx drivers

Fix unfreed pnp driver in opti9xx ISA driver

PCI drivers

hda-intel - Add POWER_SAVE option
Add workaround for pci->revision
hda-intel - Add hwdep interface
hda-codec - kernel config for each codec
add cmi8788 driver
cmipci: show actual chip name in card longname
hda-intel - Fix a typo in Kconfig
cmipci: fix handling of FM/MIDI port addresses

PDPlus driver

remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()

PPC

Add PS3 sound driver

PPC Beep

Input: ppc-beep - switch to using input_dev->dev.parent
Fix beep.patch for 2.6.22/23 kernels

PPC PMAC driver

remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()
pcm: add snd_pcm_rate_to_rate_bit() helper
[POWERPC] Fix snd-powermac refcounting bugs

PPC PS3 driver

Clean up duplicate includes in sound/ppc/
Add PS3 sound driver

PXA Mainstone driver

linux 2.6 code sync (2007-07-19)

RME32 driver

pcm: add snd_pcm_rate_to_rate_bit() helper

RME96 driver

pcm: add snd_pcm_rate_to_rate_bit() helper

RME9652 driver

hdspm - Coding style fixes

SA11xx UDA1341 driver

Get rid of dead code in sound/arm/sa11xx-uda1341.c
Move CONFIG_H3600_HAL codes to sa11xx-uda1341.patch
potential parse error in ifdef

SAA7134 driver

linux 2.6 sync (2007-07-30)

SB drivers

Allow shared IRQ for CS5530 device

SPARC DBRI driver

dbri: driver cleanup
Fix misspellings collected by members of KJ list.

SPI Kconfig

Add SPI devices to ALSA Kconfig and Makefile
ALSA sound driver for the AT73C213 DAC using Atmel SSC driver

SoC Audio for the Samsung S3C24XX chips

Fix Kconfig entry for SND_S3C24XX_SOC_NEO1973_WM8753
Make s3c24xx_i2s_set_clkdiv() change the correct bits
s3c24xx-pcm: fix hw_params dma handling
ASoC S3C24xx machine drivers - lm4857-h missing patch
sound/soc ioremap/iounmap balancing

SoC Codec CS4270

ASoC CS4270 codec device driver
Fix build with cs4270.c
CS4270 driver does not compile with I2C disabled

SoC Layer

ASoC CS4270 codec device driver

SoC PXA2xx Spitz

Clean up duplicate includes in sound/soc/

SoC SH7760 AC97

soc/sh: let SND_SOC_PCM_SH7760 depend on SH_DMABRG

Sound Scape driver

Fix invalid schedule_timeout_interruptible()

Synth

sound/synth/util_mem.c: remove pointless check

USB caiaq

snd_usb_caiaq_input_free() fix
snd-usb-caiaq: Fix compatibility with kernels < 2.6.19

USB generic driver

This patch is a USB quirk to ensure the Stanton Scratchamp v1 is detected
usb-audio - Add advanced mode support for Edirol UA-1EX
usb-audio - Fix AC3 with M-Audio Audiophile USB
fix selector unit bug affecting some USB speakerphones
usbaudio - Add quirk for Roland EXR series
usb-audio: another Logitech camera/microphone ID match
usb-audio: fix parsing of SysEx messages from CME keyboards
usb-audio - Fix audiophile-USB quirk for little-endian
usb-audio: allow output interrupt transfers for MIDI
usb-audio: allow low speed MIDI devices
usb-audio: add workaround for ESI MIDI Mate/RomIO II
usb-audio: add Roland SH-201 support
usb-audio - Add quirk for Roland Juno-G
USB ID for intergrated quickcam on dell xps m1210
usb-audio: add quirk for Serato Scratch Live DJ Box

Utils

pc-speaker update
Add CONFIG_HAS_IOMEM
Fix mod-deps to handle parenthesis with spaces and int values
Fix build with cs4270.c

Wavefront drivers

Remove unreferenced header file include/sound/wavefront_fx.h
Fix invalid schedule_timeout_interruptible()
wavefront - Use standard firmware loader

YMFPCI driver

ymfpci: fix volume handling of the 44.1 kHz slot

au88x0 driver

au88x0: mem leak fix in snd_vortex_create()
au88x0: add dependency to au88x0.c
PCI: Change all drivers to use pci_device->revision

ic2-id.h update

ASoC CS4270 codec device driver

pci_ids.h update

2.6 kernel sync (2007-07-20)
linux 2.6 sync (2007-07-30)

alsa-lib

Core

Fix plugin directory
Properly disable -Bsymbolic-functions if ld doesn't support
release 1.0.14a
Fix the build of lfloat plugin
release 1.0.14
Fix undefined references in namehint.c
Create asoundlib.h dynamically according to configure options
Fix a typo in configure script
Continue build even if python-config doesn't exist
mixer simple basic abstraction - added python binding
Split mmap-emulation code from hw layer

Control API

Fix undefined references in namehint.c

Mixer API

Handle "Input Source" as a capture element
mixer simple basic abstraction - added python binding

PCM API

remove unused variables
Don't set PCM pointer at error in snd_pcm_hw_open()
fix mmap emulation bug of recording doesn't work
Add support of little-endian on i386/x86_64 dmix
Split mmap-emulation code from hw layer

/include/Makefile.am

Create asoundlib.h dynamically according to configure options
Fix clean-up of header files

Configuration

Added PS3 configuration
Use S16_BE as dmix format for PPC drivers
Fix use after free
cmi8788: add alsa-lib config
Add missing CMI8788.conf to Makefile.am
mixer simple basic abstraction - added python binding

Documentation

Add missing pcm_empty.c in doxygen configuration
Add the missing include/mixer.h to doxygen.cfg
Split mmap-emulation code from hw layer

Simple Abstraction Mixer Modules

mixer simple basic abstraction - added python binding

alsa-plugins

A52 Output plugin

Add -no-undefined option to LDFLAGS

Alsa support for Maemo SDK (n770)

Add -no-undefined option to LDFLAGS

Jack PCM plugin

Add -no-undefined option to LDFLAGS

Public Parrot Hack rate converter

Disable direct sinc table
Update speex rate converter code

Rate Converter plugins

Fix the pop noise with samplerate plugin

alsa-utils

ALSA Control (alsactl)

alsactl - Remove debug print

Speaker Test

Add missing library dependency

alsaconf

alsaconf - Don't produce hwcfg file for openSUSE 10.3

alsamixer

alsamixer - Handle capture enums separately
amixer/alsamixer - updated go scripts for debugging

amixer

amixer - Fix selection of enum items
Ignore errors with -s option
amixer - Allow to pass enum item string for cset, too
amixer/alsamixer - updated go scripts for debugging

aplay/arecord

Remove unneeded -lasound
aplay - Fix possible endless loop with SIGBART
aplay - Fix VU meter
aplay - Include missing time.h for time()

alsa-firmware

AudioScience ASIHPI Firmware

Updated ASIHPI firmware to version 3.07.13

EMU Firmware

Add firmware for emu1616 and emu1616m PCI cards.
Correct emu micro_dock firmware.
emu:Correct emu1010_notebook firmware.
emu: fix EXTRA_DIST


Detailed changelog between 1.0.14 and 1.0.15rc1 releases

alsa-driver

Sound Core

- 2.6.22 is supported as well.
- Create hacked autoconf.h from the kernel build tree
Fix configure script to create the hacked linux/autoconf.h from the
kernel _build_ tree first before kernel _source_ tree.
- Remove gzipped file in install-modules
The recent system can handle *.gz files. make install-modules should
remove such files, too, for avoiding the confliction.
ALSA bug#3318
- Add SPI devices to ALSA Kconfig and Makefile
This patch adds SPI devices in the ALSA diretory, including the Kconfig and
Makefile.
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
- pc-speaker update
- Ported to the hrtimers API
- Added the needed locking
- Made the "struct pcsp_chip" statically allocated
(you can't have more than one pc-speaker anyway)
- Removed the hackish speed detection and use loops_per_jiffy instead
- Lindented
- Replaced "if ((err = func()) < 0)"
with "err = func(); if (err < 0)"
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- release 1.0.15rc1
- [S390] Kconfig: menus with depends on HAS_IOMEM.
Add "depends on HAS_IOMEM" to a number of menus to make them
disappear for s390 which does not have I/O memory.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
- Fix for CONFIG_HAS_DMA
The new kconfig CONFIG_HAS_DMA isn't defined in older kernels.
Make it always y for them.
- Support xxx-y style in Makefile for 2.2/2.4 kernels
Support the composite objects with xxx-y not only xxx-obj.

ALSA Core

- unregister_chrdev(): ignore the return value
unregister_chrdev() always returns 0. There is no need to check the return
value.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- Regenerate the patch
Regenerated for the change removing the return value of unregister_chrdev().
- Add workaround for pci->revision
The new change referring to pci->revision broke the build with the
kernels older than 2.6.23. A wrapper snd_pci_reivions() is added for
covering this, and the patches are made for the codes using pci->revision.
- hda-intel - Add hwdep interface
Added a hwdep interface for each codec (enabled per kconfig).
This interface can be used for reading/writing HD-audio verbs
and other purposes as future extensions.
- Add a workaround to make snd-page-alloc independent from snd
Because of unconditional inclusion of autoconf.h, snd-page-alloc became
dependent upon snd module accidentally again.
This hack avoids the dependency of snd_hidden_*alloc.
- misc_driver: protect PM code with CONFIG_PM
Do not compile snd_device_pm_callback, snd_isa_platform_suspend and
snd_isa_platform_resume when CONFIG_PM is not defined because the
suspend and resume callbacks are not known to the compiler in this case.
- linux 2.6 sync - spelling/typo fixes
- Fix build error without CONFIG_HAS_DMA
The recent change of include/asm-generic/dma-mapping-broken.h breaks
the build without CONFIG_HAS_DMA. This patch is an ad hoc fix.
- Clean up Makefile
Clean up Makefile using xxx-$(CONFIG_XXX) style instead of
ifeq(CONFIG_XXX,y).
- Fix the wrong kfree error with kmemdup
We forgot a wrapper for kmemdup with memory debug option.
It resulted in the wrong kfree message (and memory leaks).
- Fix isa driver wrapper for 2.2/2.4 kernels
The probe with isa driver wrapper doesn't work properly due to an obsolete
check of platform_get_drvdata(). Now removed it.

SoC PXA2xx Core

- [ARM] 4527/1: pxa: fix pxa27x ac97 cold reset in ASoC due to CKEN change
due to CKEN_xxx definition and pxa_set_cken() change, the pxa27x
ac97 cold reset is broken in ASoC, fixed to use bit index instead
of bit mask
Signed-off-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- [ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume
The PXA CKEN changes broken syspend/resume on the pxa27x. This patch
corrects the problem and fixes another couple of bad references.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- fix file specification in comments
Many files include the filename at the beginning, serveral used a wrong one.
Signed-off-by: Uwe Kleine-Kig <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>

Control Midlevel

- Add helper functions for frequently used callbacks
Added helper functions for frequenty used callbacks:
snd_ctl_boolean_mono_info() and snd_ctl_boolean_stereo_info()

PCM Midlevel

- Fix substream to check in PCM drain
The check of a substream in snd_pcm_drain() might not be always correct
since runtime can point a different substream (although the PCM state
of each linked substream should be same, in theory).
This patch fixes it.
- pcm: merge rates[] from pcm_misc.c and pcm_native.c
Merge the rates[] arrays from pcm_misc.c and pcm_native.c because they
are both the same.
- pcm: add snd_pcm_rate_to_rate_bit() helper
Add a snd_pcm_rate_to_rate_bit() function to factor out common code used
by several drivers.
- Support 3-bytes 24bit format in PCM OSS emulation
Add the support of 3-bytes 24bit formats in PCM OSS emulation.
Also removed snd_pcm_build_linear_format() function. It's exported
just for OSS emulation, and now the code was changed without calling
this function.

RawMidi Midlevel

- Clean up duplicate includes in sound/core/
This patch cleans up duplicate includes in
sound/core/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>

Timer Midlevel

- timer: check for incorrect device state in non-debug compiles, too
Convert the snd_assert()s to simple if()s to prevent crashes when one of
the timer instance ioctls is called before the file is bound to a timer
device.

/arm/Makefile

- Move CONFIG_H3600_HAL codes to sa11xx-uda1341.patch
Move CONFIG_H3600_HAL codes to sa11xx-uda1341.patch out of the upstream
code.

/i2c/Makefile

- Clean up Makefile
Clean up Makefile using xxx-$(CONFIG_XXX) style instead of
ifeq(CONFIG_XXX,y).

/soc/codecs/Makefile

- ASoC CS4270 codec device driver
This patch adds ALSA SoC support for the Cirrus Logic CS4270 codec. The
following features are suppored:
1) Stand-alone and software mode
2) Software mode via I2C only
3) Master mode, not Slave
4) No power management
Signed-off-by: Timur Tabi <timur@freescale.com>

/spi/Makefile

- Add SPI devices to ALSA Kconfig and Makefile
This patch adds SPI devices in the ALSA diretory, including the Kconfig and
Makefile.
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
- ALSA sound driver for the AT73C213 DAC using Atmel SSC driver
This patch adds support for the AT73C213 DAC using the misc Atmel SSC driver in
I2S mode. The driver also requires a SPI to setup the registers and control
volume.
It has been tested with an AT32AP7000 on the ATSTK1000 development board. The
driver should also work with any Atmel device with an SSC module supported by
the Atmel SSC driver (atmel-ssc).
The atmel-ssc driver is just submitted to the Linux kernel. Please see mail
thread http://lkml.org/lkml/2007/7/16/32
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>

AC97 Codec

- Use msecs_to_jiffies() in ac97_codec.c
Replace the direct calculation of jiffies with msecs_to_jiffies().
- Add missing static in ac97_codec.c
Added missing static to snd_ac97_restore_status() and
snd_ac97_restore_iec958() functions.
- linux 2.6 sync - spelling/typo fixes
- ac97 - Suppress the reset of audio-codec from modem-codec at resume
On codec chips with both audio and modem functions (e.g. Conexant one),
performing AC97_RESET resets the whole registers. When both audio and
modem drivers are resumed at the same time, the modem one often is
resumed after the audio, and it results in the reset of audio registers
(ALSA bug#3333).
This patch fixes such a problem. Since the modem codec basically
doesn't need AC97_RESET, skip this initialization unless specified
as audio.

AD1848 driver

- isa libs Makefiles cleanup
This patch uses the Kconfig parameters SND_AD1848_LIB and
SND_CS4231_LIB instead of mentioning each driver that requires
the ad1848-lib or cs4231-lib separately in the Makefiles.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
- Fix invalid schedule_timeout_interruptible()
Fixed the invalid use of schedule_timeout_interruptible() without
checking pending signals. Simply replaced with schedule_timeout().
Suggestions thanks to Jeff Garzik.

ALI5451 driver

- Add workaround for pci->revision
The new change referring to pci->revision broke the build with the
kernels older than 2.6.23. A wrapper snd_pci_reivions() is added for
covering this, and the patches are made for the codes using pci->revision.
- ali5451 warning fix
sound/pci/ali5451/ali5451.c: In function 'snd_ali_prepare':
sound/pci/ali5451/ali5451.c:716: warning: 'R2' may be used uninitialized in this function
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- PCI: Change all drivers to use pci_device->revision
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device->revision member.
This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.
In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.
Compile tested with make all{yes,mod}config on x86_64 and i386.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

ALSA sequencer

- seq_midi_event: fix encoding of data bytes after end of sysex
Create a new state ST_INVALID for the encoder to prevent data bytes at
the beginning of a stream or after a sysex message being interpreted as
note-off parameters.
- seq_midi_event: prevent running status after system messages
Reset the event type after encoding a system message to prevent any
following data bytes from being interpreted as data for a running status
system message, which is not allowed in MIDI.
- seq_midi_event: fix parsing of missing data bytes
Reorganize the encoder logic to prevent status bytes that appear where
data bytes are expected from being interpreted as data bytes.
- seq_midi_event: fix parsing of F9/FD bytes
Check for a valid event type when encoding a system real-time message to
prevent the bytes F9 or FD resulting in an empty sequencer message.
- some kmalloc/memset ->kzalloc (tree wide)
Signed-off-by: Yoann Padioleau <padator@wanadoo.fr>
- Fix invalid schedule_timeout_interruptible()
Fixed the invalid use of schedule_timeout_interruptible() without
checking pending signals. Simply replaced with schedule_timeout().
Suggestions thanks to Jeff Garzik.

ALSA<-OSS emulation

- Remove ifdefs from OSS PCM emulation codes
Fix Makefile to compile files conditionally to CONFIG_SND_PCM_OSS_PLUGINS,
and remove unneeded ifdefs in these files.
- Simplify the format conversion in PCM OSS emulation
Simplify the format conversion code in PCM OSS emulation.
This patch also adds the support of 3bytes 24bit formats with linear
and mulaw, but they are not enabled in pcm_plugin.c yet.
- Support 3-bytes 24bit format in PCM OSS emulation
Add the support of 3-bytes 24bit formats in PCM OSS emulation.
Also removed snd_pcm_build_linear_format() function. It's exported
just for OSS emulation, and now the code was changed without calling
this function.
- Add new AFMT_* formats for OSS emulation
The recent OSS includes the support for 32bit and other formats, which
we already have, too. Let's define and map them.

ALSA<-OSS sequencer

- seq: resource leak fix and various code cleanups
This patch fixes:
1) a resource leak (CID: 1817)
2) various code cleanups
Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>

ARM PXA2XX driver

- [ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume
The PXA CKEN changes broken syspend/resume on the pxa27x. This patch
corrects the problem and fixes another couple of bad references.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

ATIIXP driver

- Add workaround for pci->revision
The new change referring to pci->revision broke the build with the
kernels older than 2.6.23. A wrapper snd_pci_reivions() is added for
covering this, and the patches are made for the codes using pci->revision.
- PCI: Change all drivers to use pci_device->revision
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device->revision member.
This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.
In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.
Compile tested with make all{yes,mod}config on x86_64 and i386.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

ATIIXP-modem driver

- Add workaround for pci->revision
The new change referring to pci->revision broke the build with the
kernels older than 2.6.23. A wrapper snd_pci_reivions() is added for
covering this, and the patches are made for the codes using pci->revision.
- PCI: Change all drivers to use pci_device->revision
Instead of all drivers reading pci config space to get the revision
ID, they can now use the pci_device->revision member.
This exposes some issues where drivers where reading a word or a dword
for the revision number, and adding useless error-handling around the
read. Some drivers even just read it for no purpose of all.
In devices where the revision ID is being copied over and used in what
appears to be the equivalent of hotpath, I have left the copy code
and the cached copy as not to influence the driver's performance.
Compile tested with make all{yes,mod}config on x86_64 and i386.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Apple Onboard Audio driver

- Fix tas_suspend/resume build warning
sound/aoa/codecs/snd-aoa-codec-tas.c:750: warning: 'tas_suspend' defined but not used
sound/aoa/codecs/snd-aoa-codec-tas.c:760: warning: 'tas_resume' defined but not used
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
- Clean up with common snd_ctl_boolean_*_info callbacks
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks.
- snd-aoa-codec-onyx: fix typo
Parse error in ifdef or bad use of macro.
Signed-off-by: Yoann Padioleau <padator@wanadoo.fr>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Asihpi driver

- remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()
Set the SNDRV_PCM_INFO_SYNC_START flag and the substream's sync ID
(only) if the substream actually can be linked to another one.
- Build fix for 2.6.23-rc1
Build fix for 2.6.23-rc1, where kmem_cache_create() API was changed.
- check for linked substreams of different cards
It is possible to have linked substreams that belong to different cards
and/or different drivers. This patch changes some drivers to make sure
that they do not incorrectly try to handle substreams of a different
card.
- Fix build with 2.6.23-rc1 kernel
Added missing <linux/fs.h> to fix build with 2.6.23-rc1 kernel.
- asihpi - Fix StreamGetInfo
StreamGetInfo queried wrong stream type.
(minor) correct case of Playback and Capture control names
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
- asihpi unify play/capture timer functions
Unify the playback and capture timer function. A group of linked streams
only uses one timer.
Cope with linked streams on more than one card (untested)
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
- asihpi: mmap and link streams
asihpi version 3.07.13 :
Enable MMAP dma capable cards.
Enable linked streams for cards that have hardware support for this.
Add TLV for level and volume controls.
Register asihpi class for HPI part of driver
Add documentation, remove unused code.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
- asihpi: Fix compatibility with 64-bit resource_size_t
In recent kernels the resource_size_t type can be either 32-bit or
64-bit depending on config options. The proper way to printk such
values is to cast them to unsigned long long.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>

Atmel AT73C213 DAC driver

- ALSA sound driver for the AT73C213 DAC using Atmel SSC driver
This patch adds support for the AT73C213 DAC using the misc Atmel SSC driver in
I2S mode. The driver also requires a SPI to setup the registers and control
volume.
It has been tested with an AT32AP7000 on the ATSTK1000 development board. The
driver should also work with any Atmel device with an SSC module supported by
the Atmel SSC driver (atmel-ssc).
The atmel-ssc driver is just submitted to the Linux kernel. Please see mail
thread http://lkml.org/lkml/2007/7/16/32
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>

BT87x driver

- pcm: add snd_pcm_rate_to_rate_bit() helper
Add a snd_pcm_rate_to_rate_bit() function to factor out common code used
by several drivers.
- bttv: Fix Viewcast Osprey 440 support
Add the Osprey 440 to the Bt878 ALSA driver's whitelist. Currently the sample
rate is fixed at 32kHz, as the driver doesn't support different rates for
digital input mode, though the card can select the rate from 32, 44.1, or 48
kHz via gpio.
- bt87x - Add known PCI ID entries
Added the PCI ID entries for known working devices
- Prolink PixelView PV-M4900
- Pinnacle Studio PCTV rave

CA0106 driver

- Summary:snd-ca0106:Add recognition for new variant. Fixes ALSA bug#3251
- Coding style fix sound/pci/ca0106/ca_midi.h
Coding style fix
Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
- ca0106: Add analog mute controls for cards with SPI DAC
Add four mute controls for the analog output channels for cards that use
an SPI DAC, like the SB0570 SB Live! 24-bit / Audigy SE. The Wolfson DAC
doesn't support muting left/right so the controls are mono.
The chip state struct gets a 32-byte array to act as a shadow of the spi
dac registers. Only two registers are used for mute, but more would be
needed for analog gain, de-emphasis, DAC power down, phase inversion, and
other features.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- ca0106: replaced control add sequences with macro
Turn a rather long lined for loop that is duplicated multiple times into a
macro.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- ca0106: power down SPI DAC channels when not in use
For cards with an SPI DAC (SB Live 24-bit / Audigy SE), power down channels
0-2 when not in use. They are powered up on PCM open and down again on PCM
close. Channel 4 (== Front) is not powered down, as it is used for capture
feedback. Powering it down would effectively kill line in pass-through.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- ca0106: Add more symbol SPI register names and use them
Add more symbol name for SPI register values. Change the SPI_XXX_BIT defines
from the bit number to a mask. Saves having to write (1<<SPI_XXX_BIT) all the
time to convert to mask. We never end up wanting the bit number.
Use all the symbol names for the SPI DAC init sequence. The sequence is
exactly the same as it was before.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
- ca0106: remove extra commands in SPI DAC init sequence
The init sequence set a number of registers more than once to different
values. It's only necessary to set them once to their final values.
It also never actually updated the digital attenuation settings.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>

CMI8788 driver

- cmi8788: add sync start
Allow all PCM substreams of a card to be linked and to be started/
stopped atomically.
- cmi8788: change shortname
Change the card shortname from "PCI 8788" to "CMI8788" so that the card
ID is not "P8788".
- cmi8788: add __NO_VERSION__
Fix compilation on 2.2 kernels.
- add cmi8788 driver
This adds a C-Media CMI8788 driver that I found somewhere on the
internet.
Completely untested.
- cmi8788: use one function for pointer callback
Factor out the common code from the three PCM pointer callbacks.
- cmi8788: write correct values to BaseTCount
Initialize the DMA BaseTCount registers with the correct period size
values.
- cmi8788: move hw_params-specific code to hw_params callback
Move the code that is only dependent on the hardware parameters from the
prepare callbacks to the hw_param callbacks.
- cmi8788: fix and optimize trigger callback
Optimize the trigger callback by moving the DMA reset to the prepare
callback. This also fixes the behaviour for pausing where we want to
continue from the current position.
- cmi8788: clean up pcm init
Clean up the initialization of the PCM devices.
- cmi8788: remove int_sta_mask field
Remove the int_sta_mask field because it is always the same as the
int_mask field.
- cmi8788: optimize interrupt handler
Speed up the interrupt handler by toggling the interrupt mask bits for
those interrupts that have occured all at once.
- cmi8788: move interrupt enabling out of trigger callback
Move the interrupt enabling code from the trigger into the prepare/
hw_free callbacks so that the trigger callback now consists of a single
I/O write.
- cmi8788: initialize stream mask bits once
The driver does not need to clear the stream DMA/interrupt mask bits
when closing a stream, so we can initialize them just once.
- cmi8788: fix AC97 playback interrupt mask
Bit 14 does not seem to be needed in the interrupt mask for the front
panel playback stream.
- cmi8788: merge interrupt and DMA bit masks
Merge the interrupt and DMA bit masks because they are always the same
for each stream.
- remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync()
Set the SNDRV_PCM_INFO_SYNC_START flag and the substream's sync ID
(only) if the substream actually can be linked to another one.
- cmi8788: cache interrupt/dma mask registers
Cache the last written values of the IntMask and DMA_SetStatus
registers. This has the effect of moving some I/O reads out of the
interrupt handler and the trigger callback.
- cmi8788: clear interrupt/DMA status when loading
When loading the driver, disable all interrupts and DMA channels (just
to be sure).
- cmi8788: make interrupt acking more robust
Do not ignore those interrupts that we are currently not interested in,
but acknowledge all that have been raised.
It is possible for a stream to start/stop concurrently. To protect
against this, re-enable only those interrupts that are currently enabled
in chip->int_mask_reg.
- cmi8788: fix formatting
* fix indenting and other formatting
* remove C99-style comments
* remove some commented-out code
* move variable declarations before statements
* remove some pointless if()s
* remove superfluous exports
- cmi8788: remove unused symbols
Remove some unused symbols.
- cmi8788: remove ioremap
Remove the ioremap code because this chip does not use memory-mapped I/O.
- cmi8788: remove cmi_printk
Remove the cmi_printk() macro.
- cmi8788: reorganize chip data
Manage the chip data structure as private_data of the card instead of a
lowlevel device.
- cmi8788: remove controller structure
Remove the needless controller abstraction; the chip is identical with
the AC97/SPI controller.
- cmi8788: move PCM code to cmi_pcm.c
Move the PCM code to the new file cmi_pcm.c.
- cmi8788: remove unused fields
Remove some unused field and superfluous structures.
- cmi8788: fix interrupt status check
Fix a bug in the interrupts status check that would have prevented
interrupt sharing.
- cmi8788: move declarations to header
Move all extern declarations to the header.
- cmi8788: remove typedefs
Remove all typedefs for structures.
- cmi8788: remove superfluous NULL checks
Remove NULL pointer checks where the pointer value is already known to
be valid.
- cmi8788: simplify AC97 register writes
Replace all occurrences of direct writes to the AC97InChanCfg2 register
with calls to snd_cmi_send_ac97_cmd().
- cmi8788: simplify some code
Simplify some code.
- cmi8788 - Fix build with the recent kernel
Fix the deprecated kernel codes to build the driver again with the
recent kernel.
- cmi8788: store cmi_substream pointer in runtime->private_data
Store the cmi_substream pointer in the runtime->private_data field so
that callbacks can get it directly instead of looking it up.
- cmi8788: clean up pcm open callback
Move the substream-specific parts into the substream-specific callbacks.
- cmi8788: remove unsupported formats
Do no support unsupported sample formats like 20-bit samples or
capturing with more than two channels.
- cmi8788: fix format bits
Use correct values for the DMA format bits.
- cmi8788: factor out format bits lookup
Create separate functions for determining the DMA/I2S sample format/
channels bit fields.
- cmi8788: add rate setting
Add code to set the correct I2S sample rate.
- cmi8788: detect chip revisions
Detect the older CMI8787 chip and show the chip revision in the card longname.
- cmi8788: fix capture buffer size
Fix the hardware information for the capture stream that cannot handle
buffers larger than 2^16 words.
- cmi8788: add SPDIF PCM
Add a PCM device for SPDIF input/output.
- cmi8788: move low-level functions to cmi_lib.c
Move the low-level I/O, SPI, 2-wire and AC97 functions to the new
cmi_lib.c file.
- cmi8788: simplify more code
Clean up the rest of the code.
- cmi8788: fix pcm hardware info
Use more correct values for the PCM hardware information values.
- cmi8788: remove DMA_chan_reset field
Join the DMA_sta_mask and DMA_chan_reset fields because their values are
always the same.
- cmi8788: remove superfluous header
Remove a bunch of headers that are not needed.

CMIPCI driver

- cmipci: make the test for integrated MIDI port address more robust
Unused bytes in the I/O register range are likely to have the value 0x00
instead of 0xff, so test against both values when checking for the
presence of the integrated MIDI port.
- cmipci: reorganize chip version detection
Add a case for chip version 39 where no bit is set in register 0Ch, and
move the detection of version 39 before that of 8768. This makes the
logic more compatible with the driver on that other OS.
- cmipci: remove has_dual_dac
Remove the has_dual_dac variable because it was always set.
- cmipci: show actual chip name in card longname
Show the actual name of CMI8762/CMI8768/CMI8769/CMI8770 chips in the
card longname instead of just using "CMI8738" for all of them.
- cmipci: fix MIDI device name
Initialize card->shortname early enough so that the MIDI device can pick
it up and does not need to have a generic name.
- cmipci: fix handling of FM/MIDI port addresses
Make sure that the MPU-401 MIDI and OPL-3 FM devices are used only on
those chips where they are supported, and that the correct port
addresses are used.

CREDITS file

- Update Claudio's CREDITS information
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- linux 2.6 sync (2007-07-30)
- linux 2.6 code sync (2007-07-19)

CS4231 driver

- Fix bugs in mode change/recalibration for opl3sa2 driver
The mode change / recalibration doesn't work always with opl3sa2 devices,
e.g. the first time it's played back. The patch fixes the problem.
Signed-off-by: Paul Vojta <vojta@math.berkeley.edu>

CS423x drivers

- isa libs Makefiles cleanup
This patch uses the Kconfig parameters SND_AD1848_LIB and
SND_CS4231_LIB instead of mentioning each driver that requires
the ad1848-lib or cs4231-lib separately in the Makefiles.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>

CS46xx driver

- cs46xx - Fix PM resume
Fixed PM resume of cs46xx devices. It now restores properly the DSP
image and kick-off the DSP.
- Clean up Makefile
Clean up Makefile using xxx-$(CONFIG_XXX) style instead of
ifeq(CONFIG_XXX,y).
- sound/pci/cs46xx/: fix an off-by-one
This patch fixes an off-by-one in a snd_assert() spotted by the
Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>

CS5535 driver

- Clean up Makefile
Clean up Makefile using xxx-$(CONFIG_XXX) style instead of
ifeq(CONFIG_XXX,y).

Digigram VX core

- Clean up with common snd_ctl_boolean_*_info callbacks
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks.

Documentation

- hda-codec - update of documentation
Update the documentation to reflect the last changes regarding the
power-saving mode and register caches.
- Add missing model entries for HD-audio codecs
Added missing model entries for HD-audio codecs in the module option list.
- usb-audio - Fix AC3 with M-Audio Audiophile USB
Fixed AC3 interface in device_setup=0x00 mode thanks to Hakan
Lennestal and updated documentation
Signed-off-by: Thibault Le Meur <Thibault.LeMeur@supelec.fr>
- hda-codec - Rename HP model-specific quirks
Rename ALC888_HP_NETTLE and ALC888_HP_LUCKNOW models to the more generic
names ALC888_6ST_HP and ALC888_3ST_HP since HP seems to be consistent
in the wiring of their 3stack and 6stack ALC888-based systems.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- This patch adds more support for Dell systems with Stac9205 codecs.
Tested against a couple of different systems (with different pin
configs), but the others should also work. Also cleaned up some of the
9205 patch code.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- hda-intel - Add power_save_controller module option
Add power_save_controller module option instead of define flag.
Also, added descriptions of new module options in ALSA-Configuration.txt.
- hda-codec - Add support for Haier W66
1. Support Lenovo 420A (PCI SSID: 0x17aa 0x3bfc)
2. Support Haier W66 (PCI SSID: 0x1991 0x5625)
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- More description on duplex streams with OSS emulation
Add paragraph to the OSS document to clarify correct use of duplex streams.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
- hda: support for S/PDIF out on ASUS M2V
Added support for S/PDIF digital output on ASUS M2V motheboard - added
new model "3stack-660-digout" and ALC660VD_3ST_DIG
Signed-off-by: Mike Crash <mike@mikecrash.com>
- hda-codec - Add ALC268 acer model
Added model=acer for ALC268 codec support.
The configuration is: headphone = 0x14, speaker = 0x15
needs hp-jack auto-detection. The same routine as alc262-fujitsu model
is used.
Also, added the auto-muting routine for ALC268 model=toshiba.
- hda-codec - Add support for Macbook Pro rev3
Added the support for Macbook Pro rev3 with ALC885 codec chip.
The patch taken from ALSA bug#3242.
- hda-codec - Fix Dell laptops support with STAC codecs
Fixed Dell laptops support with STAC92xx codecs.
Many pin-config models are introduced. See ALSA-Configuration.txt
for details.
The patch taken from ALSA bug#3319, originally by Jorg Prante:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319
- usb-audio - Fix audiophile-USB quirk for little-endian
Audiophile-usb fix (corrects little-endianness in 16bit
modes, resets interfaces at device initialization, and updates the
documentation).
Signed-off-by: Thibault Le Meur <Thibault.LeMeur@supelec.fr>
- hda-intel: support for iMac 24 released on 09/2006
Basic audio support for the iMac 24 model released on 09/2006,
including
headphone jack detection with automatic speaker muting.
This iMac uses the Realtek ALC885 codec, not a Sigmatel one as in
other models.
Functionality has been tested for internal speakers, headphone and
microphone.
Signed-off-by: Nicola Fagnani <nicfagn@iol.it>
- Fixes to follow the standard coding style
Fixed the tutorial to follow the standard kernel coding style.
- hda-codec - Add more Dell systems
This patch adds support for Dell E520 and a couple of other 965 based systems.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- hda-codec - Add support for Acer Aspire laptops
This patch adds support for some Acer Aspire systems.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
- doc - Remove IRQF_DISABLED from the example description
Remove the bogus IRQF_DISBLAED together with IRQF_SHARED from the
example code in the document.
- wavefront - Use standard firmware loader
Use the standard firmware loader for loading ICS2115 OS firmware file.
This is the last old bad guy that is still using sys_open() and sys_read()
calls, and now all should be gone.
The patch also adds the missing description of module options related
with wavefront_synth.c.
Due to this rewrite, user will have to copy or make symlink the firmware
file appropriately to the standard firmware path such as /lib/firmware.
- hda-codec - Add support of ALC268 codec
Added the support of new ALC268 codec chip.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
- hda-codec - Add model dell for Dell XPS M1210
Added a new model "dell" for Dell XPS M1210 with STAC922x codec chip.
- Fix OSS documentation about 3bytes format
Now the OSS emulation supports 3bytes format, too.
- hda-codec - Add option texts and descriptions for new Realtek models
Added the missing text entries and descriptions for the newly added
model values for Realtek codec chips.
- cmipci: fix handling of FM/MIDI port addresses
Make sure that the MPU-401 MIDI and OPL-3 FM devices are used only on
those chips where they are supported, and that the correct port
addresses are used.
- hda-codec - Add AD1882 codec support
Added AD1882 codec support. It has currently two models, 3stack and
6stack.

Dreamcast AICA sound (pcm) driver

- aica - fix behaviour in poor resource conditions
Fix behaviour in poor resource conditions. With this new patch,
tidied with indent and with SNDRV_PCM_TRIGGER_STOP being used.
Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk>

EMU10K1/EMU10K2 driver

- Summary:snd-emu10k1: Add support for E-Mu 1616 PCI, 1616M PCI, 0404 PCI, E-Mu
Notebook.
Description: The .device=0x0008 chips have new, but different EMU32 in/out
channels. Driver updated to make use of these EMU32 channels.
- Summary:snd-emu10k1:Improves firmware loading for E-Mu cards.
Details:
Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8176
- Summary:snd-emu10k1:Support for ADAT and S/PDIF.
Patch submitted by Ctirad Fertr
<c.fertr@volny.cz>
- emu10k1 - EMU 1212 with 16 capture channels
* adding 8 more 32-bit capture channels (total of 16) for emu1010 cards
* adding some code comments and card details description
Signed-off-by: Pavel Hofman <dustin@seznam.cz>
- This patch removes memset() from snd_emu10k1_fx8010_info() which apparently
isn't needed there. Upatched code uses:
memset(info, 0, sizeof(info));
where 'info' is a pointer and therefore only first 4 bytes of 'info' gets
cleared on a 32bit machine. Anyway looking at the code zeoring this memory
region isn't needed at all because the snd_emu10k1_fx8010_info() function
initializes all the 'info' fields on its own. So that's why this code works
at all in its original form.
This patch removes this redundant code. Also snd_emu10k1_fx8010_info() can't
fail so lets save some bytes and change its return type to void.
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- Summary:snd-emu10k1: Initial support for E-Mu 1616 and 1616m.
- Summary:snd-emu10k1:Enable E-Mu 1616m notebook firmware loading.
- emu10k1 - Fix memory corruption
The number of mixer elements for SPDIF control don't match with the
actual array size (3). This may result in a memory corruption that
overwrites the i2c_capture_source field (ALSA bug#3095).
- Summary:snd-emu10k1:Implement SPDIF/ADAT status.
- Summary:snd-emu10k1:Unmute the Audio/Micro Dock after firmware load.
- emu10k1: There's no need to cast vmalloc() return value in snd_emu10k1_create()
vmalloc() returns void *. no need to cast.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>

ENS1370/1+ driver

- fix ensoniq section mismatch
Fix ensoniq driver sections when HOTPLUG=n, but code is used
during resume, so it cannot be discarded:
WARNING: sound/pci/snd-ens1371.o(.text+0x5c0): Section mismatch: reference to .init.text: (between 'snd_ensoniq_chip_init' and 'snd_ensoniq_free')
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>

ES18xx driver

- add the ESS1879 pnpbios ID to the es18xx driver
As reported by Troy Heidner, the "Gateway Solo 5150" laptop (for one) has an
onboard ESS1879 that identifies itself through PNPBIOS as just that. He also
confirmed that other than not knowing about it, snd-es18xx drives the chip
fine, so this adds the ID to the driver.
Signed-off-by: Rene Herman <rene.herman@gmail.com>

Generic drivers

- ALSA: more section mismatches
Fix section mismatch warnings:
WARNING: sound/built-in.o(.exit.text+0x753): Section mismatch: reference to
.init.text: (between 'snd_mts64_module_exit' and 'snd_portman_module_exit')
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- Clean up with common snd_ctl_boolean_*_info callbacks
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks.
- pc-speaker update
- Ported to the hrtimers API
- Added the needed locking
- Made the "struct pcsp_chip" statically allocated
(you can't have more than one pc-speaker anyway)
- Removed the hackish speed detection and use loops_per_jiffy instead
- Lindented
- Replaced "if ((err = func()) < 0)"
with "err = func(); if (err < 0)"
Signed-off-by: Stas Sergeev <stsp@aknet.ru>
- fix section mismatch
Fix shared init/exit function attributes:
WARNING: sound/built-in.o(.exit.text+0x4a1): Section mismatch: reference to .init.text: (between 'alsa_card_virmidi_exit' and 'alsa_card_serial_exit')
WARNING: sound/built-in.o(.exit.text+0x4c1): Section mismatch: reference to .init.text: (between 'alsa_card_serial_exit' and 'ac97_bus_exit')
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
- more section mismatches
Something about __init_or_module isn't working as expected (?).
CONFIG_HOTPLUG=y
CONFIG_MODULES=n
Fix shared init/exit code helper:
WARNING: sound/built-in.o(.exit.text+0x243): Section mismatch: reference to .init.text: (between 'alsa_card_mpu401_exit' and 'ac97_bus_exit')
WARNING: sound/built-in.o(.exit.text+0x21b): Section mismatch: reference to .init.text: (between 'alsa_card_dummy_exit' and 'alsa_card_serial_exit')
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
- portman2x4 section mismatch
FIx section mismatch when CONFIG_HOTPLUG=n:
WARNING: sound/built-in.o(.exit.text+0x271): Section mismatch: reference to .init.text:snd_p
ortman_unregister_all (between 'snd_portman_module_exit' and 'alsa_mpu401_uart_exit')
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>

HDA Codec driver

- hda-codec - rewrite amp cache more generic
Rewrite the code to handle amp cache and hash tables to be more
generic. This routine will be used by the register caches in the
next patch.
- hda-codec - introduce command register cache
This patch adds the cache for codec command registers.
snd_hda_codec_write_cache() and snd_hda_sequence_write_cache() do
the write operations with caching, which values can be resumed via
snd_hda_codec_resume_cache().
The patch introduces only the framework, and no codec code is using
this cache yet. It'll be implemented in the following patch.
- hda-codec - optimize resume using caches
So far, the driver looked the table of snd_kcontrol_new used for creating
mixer elements and forces to call each of its put callbacks in PM resume
code. This is too ugly and hackish.
Now, the resume is simplified using the codec amp and command register
caches. The driver simply restores the values that have been written
in the cache table. With this simplification, most codec support codes
don't require any special resume callback.
- hda-codec - add snd_hda_codec_stereo() function
Added snd_hda_codec_amp_stereo() function that changes both of stereo
channels with the same mask and value bits. It simplifies most of
amp-handling codes.
- hda-codec - Clean up bind-controls
We have already a generic bind-control helper, so let's clean up the codes
using it.
- hda-intel - Add POWER_SAVE option
Added CONFIG_SND_HDA_POWER_SAVE kconfig. It's an experimental option
to achieve an aggressive power-saving. With this option, the driver
will turn on/off the power of each codec and controller chip dynamically
on demand.
The patch introduces a new module option "power_save". It specifies
the second of time-out for automatic power-down. As default, it's
10 seconds. Setting 0 means to suppress the power-saving feature.
The codec may have analog-input loopbacks, which are usually represented
by mixer elements such as "Mic Playback Switch" or "CD Playback Switch".
When these are on, we cannot turn off the mixer and the codec chip has
to be kept on. For bookkeeping these states, a new codec-callback is
introduced.
For the bus-controller side, a new callback pm_notify is introduced,
which can be used to turn on/off the contoller appropriately.
Note that this power-saving might cause slight click-noise at
power-on/off. Also, it might take some time to wake up the codec, and
might even drop some tones at the very beginning. This seems to be the
side-effect of turning off the controller chip.
This turn-off of the controller can be disabled by undefining
HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c.
- hda-codec - Fix ALC268 acer model
ALC268 has different NIDs from ALC262. Acer model should use NID 0x02 and
0x03 instead of 0x0c and 0x0d for the master volume.
- hda-codec - Fix HP Nettle 5.1 output
Fixed HP Nettle 6ch/8ch channel routing based on ALC883 sixstack and
swapping rear and center/LFE in verbs and mixer settings.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- hda-codec - Add HP Lucknow 5.1 support
Added HP Lucknow (ALC888) 5.1 surround support based on ALC883 6-channel
threestack with changes in channel routing.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- hda-codec - Add missing model parameter strings for ALC262
Added the missing model option values for ALC262.
- hda-codec - Fix number of pin widgets with STAC codecs
Use ARRAY_SIZE() to calculate the number of pin widgets for each codec
chip.
This also fixes a typo in STAC9205 code that gives a wrong number (14
instead of 12), which resulted in fatal communication errors.
- hda-codec - Add LG LW20 line-in capture source
Add line-in to the list of LG LW20 capture sources. Also fix the LG LW
pin assignment list comment.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- hda-codec - Add quirk for HP Samba
This patch fixes 5.1 surround output for the HP Samba using the same
quirk as the HP Lucknow. If HP machines are uniform in their wiring,
we should rename ALC888_HP_NETTLE to ALC888_6ST_HP and ALC888_HP_LUCKNOW
to ALC888_3ST_HP for generic HP 6stack and 3stack configurations.
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
- hda-codec - Rename HP model-specific quirks
R