Difference between revisions of "Changes v1.0.19 v1.0.20"

From AlsaProject
Jump to: navigation, search
 
m (1 revision(s))

Revision as of 11:52, 6 May 2009

Contents

Changelog between 1.0.19 and 1.0.20 releases

alsa-driver

Sound Core

Remove old msnd stuff from alsa-driver tree
Mark msnd-* drivers 2.6 only
configure: fix typo
check if compiler supports _Bool
Add check of linux/gpio.h in configure script
tea57xx: try to resolved compilation problems for 2.6.27 kernels
Don't build fm801-tea575x for older kernels
Update 2.6.x version in SUPPORTED_KERNELS
Release v1.0.20
ALSA: Add Atmel ALSA drivers directory

ALSA Core

Add missing definition of PCI_VENDOR_ID_DFI
Add wrapper for create_singlethread_workqueue() for older 2.6 kernels
Regenerated acore/misc.patch
regenerate acore/misc.patch
check if compiler supports _Bool
Compilation fixes for latest alsa-kmirror - procfs & tea575x-tuner
adriver.h: add missing DMA_BIT_MASK macro definition
Add wrapper for memdup_user()
Define DMA_BIT_MASK for 2.6.23 or older
Add upper_32_bits and lower_32_bits macros
Fix lower_32_bits() macro
ALSA: Add subdevice_mask field to quirk entries
ALSA: Clean up snd_monitor_file management
ALSA: Remove obsolete snd_xferv struct and ioctls
ALSA: Use define for ioctl definitions
sound: emu101k1.h: fix duplicate include of <linux/types.h>
make exported headers use strict posix types
proc 2/2: remove struct proc_dir_entry::owner

SoC PXA2xx Core

sound: ASoC: machine support for Toshiba e740 PDA
sound: ASoC: pxa-ssp: fix SSP port request
sound: ASoC: Add initial support of Mitac mioa701 device SoC.
sound: ASoC: pxa2xx-i2s: remove I2S pin setup
sound: ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite
sound: ASoC: Fix name of register bit in pxa-ssp
sound: ASoC: Convert PXA AC97 driver to probe with the platform device
sound: ASoC: don't touch pxa-ssp registers when stream is running
sound: ASoC: Each PXA AC97 DAI needs a separate ops
sound: ASoC: switch PXA SSP driver from network mode to PSP
sound: ASoC: Fix non-networked I2S mode for PXA SSP
ASoC: Add Magician machine support
ASoC: pxa-ssp: Use 16-bit DMA for magician stereo
sound: [ARM] pxa: move DMA registers definitions into <mach/dma.h>
ASoC: pxa-ssp: allow setting of dai format 0
ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR

Control Midlevel

ALSA: Add kernel-doc comments to vmaster stuff
Rationalize fasync return values
ALSA: sound/core: use memdup_user()

HWDEP Midlevel

ALSA: hwdep - Make open callback optional
ALSA: hwdep - Fix coding style

Jack Input Event Midlevel

ALSA: jack - Use card->shortname for input name
ALSA: add private_data to struct snd_jack

PCM Midlevel

Regenerated pcm_native.patch
ALSA: snd_pcm_new api cleanup
ALSA: Add missing KERN_* prefix to printk in sound/core
ALSA: Rewrite hw_ptr updaters
ALSA: Remove unneeded snd_pcm_substream.timer_lock
ALSA: pcm - Fix a typo in error messages
ALSA: pcm - avoid unnecessary inline
ALSA: pcm - Reset invalid position even without debug option
ALSA: pcm - Fix delta calculation at boundary overlap
ALSA: pcm - Safer boundary checks
Rationalize fasync return values
[ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
ALSA: sound/core: use memdup_user()
ALSA: pcm core - Avoid jiffies check for devices with BATCH flag

RawMidi Midlevel

ALSA: rawmidi - Fix possible race in open
ALSA: rawmidi - Refactor rawmidi open/close codes

Timer Midlevel

Rationalize fasync return values
ALSA: sound/core: use memdup_user()

T5 and LifeDrive

[ARM] pxa/palm27x: General fix for Palm27x aSoC driver

/arm/Makefile

Moved old sa11-uda1341 driver code to alsa-driver tree
ALSA: drop outdated and broken sa11xx-uda1341 driver

/i2c/Makefile

Moved old sa11-uda1341 driver code to alsa-driver tree
ALSA: drop outdated and broken sa11xx-uda1341 driver

/isa/Makefile

Remove old msnd stuff from alsa-driver tree
ALSA: enable build of snd-msnd-* drivers

/soc/codecs/Makefile

sound: ASoC: Add a driver for AK4104 S/PDIF transmitter
sound: ASoC: Add initial driver for the WM8400 CODEC
ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991

/soc/pxa/Makefile

sound: ASoC: machine support for Toshiba e740 PDA
sound: ASoC: Add initial support of Mitac mioa701 device SoC.
ASoC: Add Magician machine support

AC97 Codec

ALSA: AC97: Print AC97 flags in proc file to make debug it easier
ALSA: AC97: Fix function name type in comment s/updat/update/
ALSA: Fix missing KERN_* prefix to printk in sound/pci
ALSA: ac97 - Add patch entry for Conexant CX20468-31 chip
[ALSA] ac97_codec: increase timeout for analog subsections

AD1816A driver

ALSA: do not create OPL3 timers if there is no OPL3 irq wired
ALSA: ad1816a: enable hardware timer
ALSA: isa/*: Add missing KERN_* prefix to printk

AD1889 driver

dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

AK4531 codec

ALSA: Fix missing KERN_* prefix to printk in sound/pci

ALI5451 driver

ALSA: sound/ali5451: typo: s/resouces/resources/
dma-mapping: replace all DMA_31BIT_MASK macro with DMA_BIT_MASK(31)

ALS4000 driver

dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)

ALSA Version

ALSA: Release v1.0.20

ALSA sequencer

ALSA: Add missing KERN_* prefix to printk in sound/core
ALSA: sound/core: use memdup_user()

ALSA<-OSS emulation

pcm_oss.patch: ommit using file->f_lock for kernels < 2.6.30
ALSA: pcm_oss: AFMT_S24_LE is set twice in return value
ALSA: Add missing KERN_* prefix to printk in sound/core
ALSA: fix excessive background noise introduced by OSS emulation rate shrink
ALSA: oss-mixer - Fixes recording gain control
ALSA: pcm_oss, fix locking typo
Use f_lock to protect f_flags
ALSA: oss - volume control for CSWITCH and CROUTE

ALSA<-OSS sequencer

ALSA: Add missing KERN_* prefix to printk in sound/core

AMD InterWave driver

ALSA: gus - Add missing KERN_* prefix to printk

ARM

Moved old sa11-uda1341 driver code to alsa-driver tree
ALSA: drop outdated and broken sa11xx-uda1341 driver

ARM AACI PL041 driver

[ARM] AACI: timeout will reach -1

ARM PXA2XX driver

sound: ASoC: Allow choice of ac97 gpio reset line
ALSA: Fix wrong pointer to dev_err() in arm/pxa2xx-ac97-lib.c
pxa2xx-ac97: fix displaying GSR after reset timeout
[ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h
[ARM] pxa: merge AC97 platform data structures

ATIIXP driver

ALSA: Atiixp: Add SSID for mute_led quirk (unknown HP model)

AZT3328 driver

dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)

Apple Onboard Audio driver

Add old i2c-binding codes for aoa and powermac drivers
ALSA: AOA: Convert onyx and tas codecs to new-style i2c drivers

Atmel on-chip Audio Bitstream DAC (ABDAC)

ALSA: Add ALSA driver for Atmel Audio Bitstream DAC
ALSA: Add ALSA driver for Atmel AC97 controller
ALSA: snd-atmel-ac97c: cleanup register definitions
ALSA: snd-atmel-ac97c: remove dead break statements after return in switch case
ALSA: snd-atmel-ac97c: do not overwrite OCA and ICA when assigning channels
ALSA: snd-atmel-ac97c: set correct size for buffer hardware parameter
ALSA: snd-atmel-ac97c: enable interrupts to catch events for error reporting
ALSA: snd-atmel-ac97c: do a proper reset of the external codec
ALSA: snd-atmel-ac97c: cleanup registers when removing driver
ALSA: snd-atmel-ac97c: replace bus_id with dev_name()
ALSA: snd-atmel-abdac: replace bus_id with dev_name()
ALSA: snd-atmel-abdac: increase periods_min to 6 instead of 4

Au12x0/Au1550 PSC ASoC

sound: ASoC: Staticise PCM operations tables
sound: ASoC: Add SNDRV_PCM_INFO_BATCH flag to some drivers

Avance Logic ALS300/300+ driver

ALSA: Fix missing KERN_* prefix to printk in sound/pci
dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)

CA0106 driver

ALSA: ca0106 - Add quirk for GA-G1975X mobo
dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

CMI8330 driver

ALSA: cmi8330: add OPL3 support
ALSA: do not create OPL3 timers if there is no OPL3 irq wired
ALSA: cmi8330: add MPU-401 support

CMI8788 (Oxygen) driver

sound: virtuoso: enable UART on Xonar HDAV1.3
sound: virtuoso: add newline
sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X"
sound: oxygen: make the owner module a parameter of the probe function
sound: oxygen: allocate model_data dynamically
sound: oxygen: use static driver name
sound: oxygen: handle cards with broken EEPROM
sound: oxygen: automatically restore overwritten EEPROM
sound: oxygen: handle AK5385 ADC on Claro halo cards
sound: virtuoso: increase minimum volume to -60 dB
sound: virtuoso: add Xonar Essence STX support
sound: oxygen: zero-initialize model data
sound: oxygen: enable headphone output on Claro cards

CMIPCI driver

ALSA: Fix Trivial Warnining in sound/pci/cmipci.c

CS4236+ driver

ALSA: isa/*: Add missing KERN_* prefix to printk
ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236

CS423x drivers

Remove build stub for snd-cs4232
Remove snd-cs4236-lib module
add cs4232.c build stub
Remove cs4232.c again
ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236

Common EMU synth

ALSA: emux - Add missing KERN_* prefix to printk

Digigram PCXHR driver

ALSA: pcxhr - add support for gpio ports and minor bug fix
ALSA: pcxhr: fix trivial typo
ALSA: Remove superfluous hwdep ops
ALSA: pcxhr.h replace signed one-bit bitfields

Digigram VX core

ALSA: Remove superfluous hwdep ops
ALSA: Add missing KERN_* prefix to printk in sound/drivers
ALSA: sound/drivers/vx: fix sparse warning: different signedness

Documentation

Update DocBook/Makefile to use xmlto
ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
ALSA: hda - Remove old models for STAC9872 from the document
ALSA: hda - Add quirk for Gateway %1616 laptop
ALSA: Add description of new snd-msnd-* drivers
ALSA: Add missing description of snd-cmi8330 module parameters
ALSA: Add description of new fm_port option for snd-es1688 driver
ALSA: Document tyan model for Realtek ALC262
ALSA: Fix DocBook headers
ALSA: Add sound/core/jack.c to driver-API docbook entry
ALSA: Add kernel-doc comments to vmaster stuff
sound: virtuoso: add Xonar Essence STX support
ALSA: hda - Update documentation
ALSA: hda: add quirk for Lenovo X200 laptop dock
ALSA: Fix documentation for snd-cs4236 driver
ALSA: hda - Update documentation for pincfg sysfs entries
ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
ALSA: hda - Make user_pin overriding the driver setup
ALSA: hda - Add an example about pin reconfiguration
ALSA: hda - Add model=auto for STAC/IDT codecs
ALSA: Move ALSA docbooks to be with the rest of the kernel docbooks
ALSA: hda - Update documetation for hints sysfs entry
ALSA: hda - Fix HP dv6736 mic input
ALSA: Add alsa-driver-api.tmpl to alsa internal GIT tree
ALSA: hda - Add missing models to documentation
ALSA: hda - Add model=vaio for STAC9872
ASoC: Add some documentation for the ASoC jack API
ALSA: add missing definitions(letters) to HD-Audio.txt

Dreamcast AICA sound (pcm) driver

sh: dma: Make G2 DMA configurable.
trivial: Fix misspelling of firmware

EMU10K1/EMU10K2 driver

ALSA: emu10k1 - Add missing KERN_* prefix to printk
ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS
ALSA: sound/pci/emu10k1: fix sparse warning: different signedness
sound: make most exported headers use strict integer types
sound: emu101k1.h: fix duplicate include of <linux/types.h>
dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
ALSA: sound/pci: use memdup_user()
ALSA: emu10k1 - off by 1 in snd_emu10k1_wait()

ES1688 driver

ALSA: ess1688: fix OPL3 port setting
ALSA: isa/*: Add missing KERN_* prefix to printk

ES1938 driver

dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)

ES1968 driver

dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)

Echoaudio driver

Echoaudio: add support for Indigo express cards
echoaudio: add DJx/IOx build stubs
ALSA: echoaudio - replace uses of __constant_{endian}
ALSA: echoaudio: remove line-out volume from vmixer cards
ALSA: echoaudio: remove line-out volume from vmixer cards
ALSA: Echoaudio: add support for Indigo express cards

Emagic Audiowerk 2

ALSA: aw2: do not grab every saa7146 based device
dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

GUS Library

ALSA: gus: update debug messages
ALSA: gus - Add missing KERN_* prefix to printk

Generic drivers

ALSA: Add missing KERN_* prefix to printk in sound/drivers
ALSA: mtpav - Fix initial value for input hwport
x86: allow more than 8 cpus to be used on 32-bit
sound: serial-u16550: fix buffer overflow

HDA Codec driver

Add build stub for pci/hda/patch_ca0110.c
ALSA: hda: 83xxx port 0xe DAC selection
ALSA: hda - Add model entry for HP dv4
ALSA: hda: revert change to 92hd83xxx power mapping
ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs
ALSA: hda - Add quirk for HP DV6700 laptop
ALSA: hda - Fix compile warning with CONFIG_SND_JACK=n
ALSA: hda - add another MacBook Pro 4, 1 subsystem ID
ALSA: hda - Add extra volume offset to standard volume amp macros
ALSA: hda - Halve too large volume scales for STAC/IDT codecs
ALSA: hda - Add debug prints for digital I/O pin detections
ALSA: hda - Detect non-SPDIF digital I/O
ALSA: hda - Improve auto-probing of STAC9872 codec
ALSA: hda - Don't break the PCM creation loop
ALSA: hda - Check HDMI jack types in the auto configuration
ALSA: hda - Assign proper digital I/O type for STAC/IDT
ALSA: hda - Allow digital-only I/O on ALC262 codec
ALSA: hda - Clean up old VAIO hack codes for STAC9872
ALSA: hda - Avoid to set the pin control again if already set
ALSA: hda - Add quirk for Gateway %1616 laptop
ALSA: hda: add reference board SND_PCI_QUIRK
ALSA: hda - Add model=ref for Intel board with STAC9221
ALSA: hda - Create "Input Source" control dynamically for STAC/IDT
ALSA: hda - Fix initial verbs for mic-boosts on AD1981HD
ALSA: hda - Remove invalid amp initializations for AD1988* codecs
ALSA: hda - Fix invalid verbs for mic-boosts on AD1884*
ALSA: hda - Fix invalid amp init for ALC268 codec
ALSA: hda - Fix wrong initial verb for AD1984 thinkpad model
ALSA: hda: 92hd71xxx disable unmute support for codecs that don't have input amps
ALSA: hda - Consider additional capture source/selector in ALC889
ALSA: hda - make alc882_auto_init_input_src aware of selectors
ALSA: hda - Add quirk for another HP dv5 model
ALSA: hda - Add support of iMac 24 Aluminium
ALSA: hda - Add quirk for FSC Amilo Xi2550
ALSA: hda - Fix misc workqueue issues
ALSA: hda - Add missing initialization for ALC272
ALSA: hda - Add missing COEF initialization for ALC887
ALSA: hda - Add tyan model for Realtek ALC262
ALSA: hda: Add digital beep generator support for Realtek codecs.
ALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_in
ALSA: hda: Added stac378x digital slave out struct
ALSA: hda - Add quirk for HP zenith laptop
ALSA: hda - Add quirk for another HP laptop
ALSA: hda - Add missing KERN_* prefix to printk
ALSA: enable concurrent digital outputs for ALC1200
ALSA: hda - Create beep mixer controls dynamically for Realtek codecs
ALSA: hda - Add missing NULL check in snd_hda_create_spdif_in_ctls()
ALSA: hda - Remove superfluous code in patch_realtek.c
ALSA: hda - Use digital beep for AD codecs
ALSA: hda - Fix unused variable compile warning
ALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202
ALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecs
ALSA: hda - Clean up quirk lists
ALSA: hda - add digital beep support for ALC268
ALSA: hda - Add quirk for Asus z37e (1043:8284)
ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present
ALSA: hda - enable HDMI audio pin out at module loading time
ALSA: hda - compute checksum in HDMI audio infoframe
ALSA: hda - add id for Intel IbexPeak integrated HDMI codec
ALSA: hda - Fix a wrong pin check in snd_hda_parse_pin_def_config()
ALSA: hda - Detect multiple digital-out pins
ALSA: hda - Cleanup setting of pin_configs in patch_stac927x
ALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecs
ALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxx
ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model
ALSA: hda - Add missing terminator in slave dig-out array
ALSA: hda - Add snd_hda_multi_out_dig_cleanup()
ALSA: hda - add another MacBook Pro 3,1 SSID
ALSA: hda: Add STAC_DELL_S14 quirk
ALSA: hda: add quirk for Lenovo X200 laptop dock
ALSA: hda - Add proper cleanup for multiout-dig for ALC codecs
ALSA: hda - Support multiple digital outs with auto-probing
ALSA: hda - Clean up quirks for HP laptops with AD1984A
ALSA: hda - Don't enable beep for digital-only ALC262
ALSA: hda - Avoid doubly beep attachment in patch_alc268()
ALSA: hda - Add digital-only mode for ALC268
ALSA: hda - Add generic pincfg initialization
ALSA: hda - Remove realtek codec-specific pin save/restore functions
ALSA: hda - Remove codec-specific pin save/restore functions
ALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260)
ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
ALSA: hda - Make user_pin overriding the driver setup
ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
ALSA: hda - Add pseudo device-locking for clear/reconfig
ALSA: hda - Clean up / fix quirks for HP laptops with AD1984A
ALSA: hda - Clean up / fix quirk for Sony laptops with ALC262
ALSA: hda - Clean up the input pin setup in automatic mode
ALSA: hda - Add model=auto for STAC/IDT codecs
ALSA: hda - Fix an "unused variable" compile warning
ALSA: hda - Don't create a beep control for digital-only ALC268
ALSA: hda - Intialize more codec fields in snd_hda_codec_reset()
ALSA: hda - Revert the codec probe at control-creation errors
ALSA: hda - Don't return a fatal error at PCM-creation errors
ALSA: hda - Create "Analog Loopback" controls optionally
ALSA: hda - Add more hint options for IDT/Sigmatel codecs
ALSA: hda - Fix gcc compile warning
ALSA: hda - Fix HP dv6736 mic input
ALSA: hda - Fix conflict of mixer controls on Sony VAIO VGN-AR71S
ALSA: hda - Add 4 channel mode for 3stack-hp model (ALC888)
ALSA: hda - Add headphone automute support for 3stack-hp model (ALC888)
ALSA: hda - Map 3stack-hp model (ALC888) for HP Educ.ar
ALSA: hda - Fix check of ALC888S-VC in alc888_coef_init()
ALSA: hda - Fix speaker output on HP DV4 1155-SE
ALSA: hda - Remove IDT codec-specific pin save/restore functions
ALSA: hda - Cleanup IDT92HD7x HP quirks
ALSA: hda - Add quirk for Acer AX1700-U3700A
ALSA: hda - Add quirk for Acer X3200
ALSA: hda - Quirk for Acer Aspire 6530G
ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3
ALSA: hda - Match all 103c:17xx devices for HP BPC model
ALSA: hda - Fix typos in slave controls in patch_sigmatel.c
ALSA: hda - Fix headphone-detect regression with multiple HP jacks
ALSA: Fix sample rate of Lenovo Ideapad to 44.1kHz
ALSA: hda - Create output controls according to pin types for IDT/STAC
ALSA: hda - Allow slave controls with non-zero indices
ALSA: hda - Create multiple HP / speaker controls with index
ALSA: hda - Connect to primary DAC if no individual DAC is available
ALSA: hda - Assign HP and speaker DACs before mic/line-in
ALSA: hda - Added HP HDX16/HDX18 notebook support for HDA codecs (82HD71)
ALSA: hda - Rework on patch_sigmatel.c for HP HDX16/HDX18
ALSA: hda - Fix coding style issues in last two patches
ALSA: hda - Create vmaster for conexant codecs
ALSA: hda - Create "Capture Source" control dynamically in patch_conexant.c
ALSA: hda - Remove superfluous verbs for Cxt5047 laptop-eapd model
ALSA: hda - Fix / clean up init verbs for Cxt5047 codec
ALSA: hda - Clean up Cxt5047 parser
ALSA: hda - fix headphone settings and master volume (Conexant CX20551)
ALSA: hda - Add comments for the previous fix for conexant codecs
ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecs
ALSA: hda - Add model=vaio for STAC9872
ALSA: hda - power up before codec initialization
ALSA: hda - Add another HP model with IDT92HD71bx codec
ALSA: snd-hda-intel: Fix ALC662/ALC663 Beep Amplifier Index
ALSA: hda - Fix ALC662 beep again
ALSA: snd-hda-intel - add checks for invalid values to *query_supported_pcm()
ALSA: hda - Detect digital-mic inputs on ALC663 / ALC272
ALSA: hda - Add function id to proc output
ALSA: hda - Avoid output amp manipulation to digital mic pins
ALSA: hda - Cache pin-cap values
ALSA: hda - Fix the wrong pin-cap check in patch_realtek.c
ALSA: hda - Don't create empty/single-item input source
ALSA: hda - Use cached calls to get widget caps and pin caps
ALSA: hda - Add quirk for Acer Ferrari 5000
ALSA: Add 92HD81B1C device id
ALSA: hda - enable SPDIF output for Intel DX58SO board
ALSA: hda - add missing comma in ad1884_slave_vols
ALSA: hda - Add VREF powerdown sequence for another board
ALSA: hda - Avoid call of snd_jack_report at release
ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
ALSA: hda - Fix the cmd cache keys for amp verbs
ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs
ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too
ALSA: hda - Set function_id only on FG nodes
ALSA: hda - Fix alc662_init_verbs
ALSA: hda - Add quirks for Realtek codecs
ALSA: hda - Add quirk for Packard Bell RS65
ALSA: hda - Fix init verbs of AD1884A mobile model

HDA Intel driver

Revert hda_intel.patch
Revert "Sound: hda - Restore PCI configuration space with interrupts off"
ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268
ALSA: hda - Allow fixed codec-probe mask
ALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B
ALSA: hda - Add forced codec-slots for ASUS W5F
ALSA: hda - Fix DMA mask for ATI controllers
ALSA: hda - Workaround for buggy DMA position on ATI controllers
ALSA: hda - Don't reset BDL unnecessarily
ALSA: hda - Don't reset stream at each prepare callback
[ALSA] hda_intel: fix unexpected ring buffer positions
Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)
ALSA: hda_intel.c - Consolidate bitfields

HDA generic driver

Regenerated hda_beep.patch
Revert hda_intel.patch
regenerate pci/hda/hda_beep.patch
ALSA: hda - Add extra volume offset to standard volume amp macros
ALSA: hda - Check HDMI jack types in the auto configuration
ALSA: hda - No widget selection for volume knob widgets in proc output
ALSA: hda: Add digital beep generator support for Realtek codecs.
ALSA: enable concurrent digital outputs for ALC1200
ALSA: hda - Clear codec->beep at release
ALSA: hda - Detect multiple digital-out pins
ALSA: hda - Register (new) devices at reconfig
ALSA: hda - Add snd_hda_multi_out_dig_cleanup()
ALSA: hda - Fix parse of init_verbs sysfs entry
ALSA: hda - Add generic pincfg initialization
ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
ALSA: hda - Add pseudo device-locking for clear/reconfig
ALSA: sound/pci/hda: fix sparse warning: different signedness
ALSA: hda - Add hint string helper functions
ALSA: hda - Add show for init_verbs and hints sysfs entries
ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecs
ALSA: hda - power up before codec initialization
ALSA: hda - Don't show the current connection for power widgets
ALSA: hda - Add function id to proc output
ALSA: hda - Cache pin-cap values

HR timer driver

Use HRTIMER_CB_IRQSAFE for 2.6.27 (and older)

ICE1712 driver

ALSA: Add missing KERN_* prefix to printk in sound/pci/ice1712

ICE1724 driver

ALSA: ice1724 - Dynamic MIDI TX irq control
ALSA: Add missing KERN_* prefix to printk in sound/pci/ice1712

ISA

Remove old msnd stuff from alsa-driver tree
ALSA: cmi8330: add OPL3 support
ALSA: Turtle Beach Multisound Classic/Pinnacle driver
ALSA: sscape: update Kconfig description about SoundScape cards
ALSA: cmi8330: add MPU-401 support
ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
ALSA: wavefront - Always use request_firmware()

Intel8x0 driver

ALSA: Don't cold reset AC97 codecs in some ICH chipsets
ALSA: intel8x0 - Fix build with CONFIG_SND_AC97_POWERSAVE=n
ALSA: alsa: time reaches -1, tested 0
ALSA: intel8x0 - Add missing KERN_* prefix to printk
[ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
[ALSA] intel8x0: do not use zero value from PICB register
[ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
[ALSA] intel8x0: add one retry to the ac97_clock measurement routine
[ALSA] intel8x0: another attempt to fix ac97_clock measure routine
ALSA: Intel8x0: Remove conflicting quirk for SSID 0x103c0934
ALSA: Intel8x0: Add hp_only quirk for SSID 0x1028016a (Dell Inspiron 8600)

Intel8x0-modem driver

ALSA: intel8x0 - Add missing KERN_* prefix to printk

L3 drivers

Moved old sa11-uda1341 driver code to alsa-driver tree
ALSA: drop outdated and broken sa11xx-uda1341 driver

LX6464ES

Add lx6464es build stub
Fix build errors with lx6464es

MIPS AU1x00 driver

ALSA: Add missing KERN_* prefix to printk in other sound/*

MIXART driver

ALSA: Remove superfluous hwdep ops
ALSA: mixart, fix lock imbalance

MSND driver

Remove old msnd stuff from alsa-driver tree
Add build stub for new msnd-* drivers
ALSA: Turtle Beach Multisound Classic/Pinnacle driver
ALSA: msnd: add module description and license for the snd-msnd-lib
ALSA: msnd - Fix build error with CONFIG_PNP=n

Memalloc module

ALSA: Fix vunmap and free order in snd_free_sgbuf_pages()

OPL3

ALSA: Add missing KERN_* prefix to printk in sound/drivers

OPL3SA2 driver

ALSA: isa/*: Add missing KERN_* prefix to printk
ALSA: opl3sa2 fix irq releasing and short name of card
ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2
ALSA: opl3sa2: add ZV port control

Opti9xx drivers

ALSA: do not create OPL3 timers if there is no OPL3 irq wired

PCI drivers

sound: virtuoso: document HDAV1.3 driver status
sound: virtuoso: add Xonar Essence STX support
ALSA: Echoaudio: add support for Indigo express cards
sound: V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API

PDAudioCF driver

ALSA: Add missing KERN_* prefix to printk in other sound/*

PPC

ALSA: Add vmaster controls for Pmac 5500, iMac G3 SL, and PBook G3 Lombard

PPC AWACS driver

ALSA: powermac - Correct HP detection and input selectors for PMac 5500
ALSA: powermac - Correct volume controls for PowerBook G3 Lombard
ALSA: powermac - Correct volume controls and HP detection for PMac 8500/9500
ALSA: Add vmaster controls for Pmac 5500, iMac G3 SL, and PBook G3 Lombard

PPC Burgundy driver

ALSA: snd-powermac: timeout reaches -1

PPC DACA driver

ALSA: powermac - Add missing KERN_* prefix to printk

PPC Keywest driver

Add old i2c-binding codes for aoa and powermac drivers
ALSA: keywest: Convert to new-style i2c driver

PPC PMAC driver

powermac - Allow input from mic in iBook G3 Dual-USB (older kernels)
ALSA: powermac - Allow input from mic in iBook G3 Dual-USB
ALSA: powermac - Add missing KERN_* prefix to printk

PPC PowerMac driver

ALSA: powermac - Add missing KERN_* prefix to printk
ALSA: move snd_powermac's probe function to .devinit.text

PPC Tumbler driver

ALSA: powermac - Add missing KERN_* prefix to printk

RME HDSP driver

headers_check fix: sound/hdsp.h
ALSA: Remove superfluous hwdep ops
ALSA: hdsp - poll for iobox
ALSA: hdsp - whitespace cleanup
ALSA: hdsp - Ignore MIDI and PCM events in interrupts until initialized

SA11xx UDA1341 driver

Moved old sa11-uda1341 driver code to alsa-driver tree
ALSA: Add missing KERN_* prefix to printk in other sound/*
ALSA: remove sound/arm/sa11xx-uda1341.c

SB drivers

ALSA: ALS4000, slight mixer improvements

SB16/AWE driver

ALSA: sound/isa: use memdup_user()

SIS7019 driver

dma-mapping: replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)

SPARC cs4231 driver

sparc: Fix section mismatch warnings in cs4231 sound driver.

Serial BUS drivers

Compilation fixes for latest alsa-kmirror - procfs & tea575x-tuner
tea57xx: try to resolved compilation problems for 2.6.27 kernels

SoC Audio for the Atmel AT32/AT91 System-on-Chip

sound: ASoC: Staticise PCM operations tables
ALSA: ASoC: email - update email addresses.
sound: ASoC: Improve diagnostics for AT91SAM9G20-EK probe
sound: ASoC: Check machine type before loading on AT91SAM9G20-EK
sound: ASoC: Actively manage MCLK for AT91SAM9G20-EK
sound: ASoC: Rename AT91SAMG20-EK for applications
sound: ASoC: Refactor WM8731 device registration
sound: ASoC: wm8510 pll settings
sound: ASoC: make ops a pointer in 'struct snd_soc_dai' + factor out

SoC Audio for the Samsung S3C24XX chips

sound: ASoC: Fix L3 bus handling in Kconfig
sound: ASoC: Convert WM8753 to register via normal device probe
sound: ASoC: Fix copyright statements on Simtec files
sound: S3C24XX: Move and update IIS headers
sound: S3C: Move <mach/audio.h> to <plat/audio.h>
sound: ASoC: Add JIVE audio support
sound: ASoC: Split s3c2412-i2s.c into core and SoC specific parts
sound: ASoC: Add s3c64xx-i2s support
sound: ASoC: Select DMA if I2S is configured
sound: ASoC: Refresh JIVE driver
sound: ASoC: Update Kconfig for Samsung CPUs to reflect S3C64xx support
sound: ASoC: Re-remove hand-rolled pr_debug() macros
sound: ASoC: Fix logging severity for some S3C error messages
sound: ASoC: Fix Kconfig dependency of CONFIG_SND_S3C24XX_SOC_JIVE_WM8750
sound: ASoC: Fix formats for s3c24xx-i2s register prints
sound: ASoC: Fix some missing dai_ops conversions
ASoC: Disable S3C64xx support in Kconfig
ASoC: Fix jive_wm8750.c build problems
ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
ASoC: Fix include build error in s3c2412-i2s.c
ASoC: s3c-i2s-v2 needs to declare a license for modular builds

SoC Blackfin

sound: ASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 code
sound: ASoC: Blackfin: drop unnecessary dma casts
sound: ASoC: count reaches 10001, not 10000.
sound: ASoC: Blackfin: move gpio_err behind the define that is only user of it
trivial: fix typos/grammar errors in Kconfig texts

SoC Codec AC97

sound: ASoC: fixes to caching implementations
ALSA: ASoC: Push the codec runtime storage into the card structure

SoC Codec AD1980

sound: ASoC: fixes to caching implementations
ALSA: ASoC: Push the codec runtime storage into the card structure

SoC Codec AD73311

ALSA: ASoC: Push the codec runtime storage into the card structure
sound: ASoC: Blackfin: fix typo in MUTE definition

SoC Codec AK4104

sound: ASoC: Add a driver for AK4104 S/PDIF transmitter

SoC Codec AK4535

ASoC: Fix null dereference in ak4535_remove()

SoC Codec CS4270

sound: ASoC: remove stand-alone mode support from CS4270 codec driver
sound: ASoC: Include header file in cs4270 and wm9705
sound: ASoC: improve I2C initialization code in CS4270 driver
sound: ASoC: fix initialization order of the CS4270 codec driver
sound: ASoC: fix documentation in CS4270 codec driver
sound: ASoC: fix build break in CS4270 codec driver
sound: ASoC: fix message display in CS4270 codec driver
sound: ASoC: add additional controls to the CS4270 codec driver
sound: ASoC: Add cs4270 support for slave mode configurations
sound: ASoC: fix typo and removed unneeded switch case for cs4270
sound: ASoC: bring cs4270 feature/limitations list in sync
sound: ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.

SoC Codec Philips UDA1380

sound: ASoC: Don't unconditionally use the PLL in UDA1380
sound: ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variants
sound: ASoC: Remove version display from the UDA1380 driver
sound: ASoC: UDA1380: change decimator/interpolator register handling
sound: ASoC: UDA1380: DATAI is slave only

SoC Codec TLV320AIC26

sound: ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.

SoC Codec TLV320AIC3X

sound: ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callback
sound: ASoC: TLV320AIC3X: Fix volume ranges
sound: ASoC: TLV320AIC3X: Add TLV information for volume controls

SoC Codec TWL4030

sound: ASoC: fixes to caching implementations
sound: ASoC: TWL4030: Syncronize the reg_cache for ANAMICL after the offset cancelation
sound: ASoC: TWL4030: Code clean up for codec power up and down
sound: ASoC: TWL4030: Enable Headset Left anti-pop/bias ramp only if the Headset Left is in use
sound: ASoC: TWL4030: Physical ADC and amplifier power switch change
sound: ASoC: TWL4030: Move the twl4030_power_up and _power_down function
ALSA: ASoC: TWL4030: Add analog loopback support
sound: ASoC: TWL4030: Add digital loopback support
sound: ASoC: TWL4030: Make the HS ramp delay configurable
sound: ASoC: twl4030 - Fix build error
sound: ASoC: TWL4030: 96KHz playback support
sound: ASoC: TWL4030: Add constrains for second stream
sound: ASoC: TWL4030: Add actual support for 96KHz playback support
sound: ASoC: TWL4030: Compillation error fix

SoC Codec WM8350

ALSA: ASoC: email - update email addresses.
sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers

SoC Codec WM8400

sound: ASoC: Add initial driver for the WM8400 CODEC
sound: ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.
sound: ASoC: Further optimise WM8400 bias configuration sequence
sound: ASoC: Add separate AVDD for WM8400
sound: ASoC: Add FLL support for WM8400

SoC Codec WM8510

sound: ASoC: wm8510 pll settings

SoC Codec WM8580

sound: ASoC: fixes to caching implementations
sound: ASoC: Remove version display from WM8580 driver
sound: ASoC: Move WM8580 to normal I2C device probe
ASoC: Fix offset of freqmode in WM8580 PLL configuration
ASoC: Fix WM8580 volume update handling for large register changes

SoC Codec WM8731

sound: ASoC: Remove version display from the WM8731 driver
sound: ASoC: Clean up WM8731 bias level configuration
sound: ASoC: Shuffle WM8731 SPI and I2C device registration
sound: ASoC: Refactor WM8731 device registration
sound: ASoC: Implement SPI device unregistration for WM8731
sound: ASoC: Check for errors when writing WM8731 reset register
sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
sound: ASoC: Disable WM8731 line bypass by default

SoC Codec WM8753

ASoC: Fix null string usage with WM8753 DAIs
sound: ASoC: Fix WM8753 DAIs unregistering
sound: ASoC: Remove version display from the WM8753 driver
sound: ASoC: Report I/O errors from WM8753 reset
sound: ASoC: Only unregister drivers we registered for WM8753
sound: ASoC: Shuffle WM8753 device registration code
sound: ASoC: Convert WM8753 to register via normal device probe
sound: ASoC: Only write back non-default registers when resuming WM8753
sound: ASoC: wm8753 - Fix build error
sound: ASoC: Remove unneeded forward reference to WM8753 SPI implementation

SoC Codec WM8900

sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers

SoC Codec WM8903

sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers

SoC Codec WM8990

sound: ASoC: WM8990: Fix kcontrol's private value use in put callback

SoC Codec WM9705

sound: ASoC: Fix WM9705 capture switch name
sound: ASoC: Include header file in cs4270 and wm9705
ASoC: Implement suspend and resume operations for WM9705
ASoC: Fix warning in wm9705

SoC Codec WM9713

sound: ASoC: Ignore output frequency for WM9713 PLL
sound: ASoC: Improve WM9713 voice DAC shutdown procedure

SoC DaVinci

sound: ASoC: Fix DaVinci module unload error
sound: ASoC: Davinci: Fix incorrect machine type for SFFSDR board
ALSA: ASoC: Davinci: Replaced DAI format RIGHT_J by DSP_B for SFFSDR
ALSA: ASoC: Davinci: Updated sffsdr_hw_params() function to new format

SoC Dynamic Audio Power Management

ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h
sound: ASoC: Add SND_SOC_DAPM_PIN_SWITCH controls for exposing DAPM pins
sound: ASoC: Factor out DAPM widget power check into separate function
sound: ASoC: Fix memory allocation for snd_soc_dapm_switch names

SoC Freescale

ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers
sound: ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules
sound: ASoC: remove stand-alone mode support from CS4270 codec driver
sound: ASoC: optimize init sequence of Freescale MPC8610 sound drivers
sound: ASoC: add support for SSI asynchronous mode to the Freescale SSI drivers
sound: ASoC: Improve pause/unpause performance in Freescale 8610 drivers
ASoC: remove trigger delay in Freescale MPC8610 sound driver
ASoC: trim SSI sysfs statistics in Freescale MPC8610 sound drivers
ASoC: fsl_dma: Pass the proper device for dma mapping routines
sound: ASoC: Add SNDRV_PCM_INFO_BATCH flag to some drivers

SoC Layer

sound: ASoC: Fix spurious codec driver dependencies
sound: ASoC: Fix L3 bus handling in Kconfig
ALSA: ASoC: Push the codec runtime storage into the card structure
ASoC: Only register AC97 bus if it's not done already
sound: ASoC: add additional controls to the CS4270 codec driver
sound: ASoC: Add GPIO support for jack reporting interface
sound: ASoC: Staticise workqueue function for GPIO jack detection
sound: ASoC: Add a driver for AK4104 S/PDIF transmitter
sound: ASoC: Add initial driver for the WM8400 CODEC
sound: ASoC: make ops a pointer in 'struct snd_soc_dai' + factor out
sound: ASoC: Only deregister AC97 dev if it's name was not "AC97"
ASoC: Don't defer resume work for AC97 codecs
ASoC: Set parent for AC97 devices we register

SoC PXA2xx Corgi

sound: ASoC: Fix forgotten replacements of socdev->codec
sound: ASoC: Fix build for corgi and poodle
[ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h

SoC PXA2xx E740

sound: ASoC: machine support for Toshiba e740 PDA
sound: ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h

SoC PXA2xx E750

sound: ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h

SoC PXA2xx E800/WM9712

sound: ASoC: Fix merge with PXA tree

SoC PXA2xx EM-X270

[ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h

SoC PXA2xx MIOA701

sound: ASoC: Add initial support of Mitac mioa701 device SoC.

SoC PXA2xx Palm T|X

[ARM] pxa/palm27x: General fix for Palm27x aSoC driver

SoC PXA2xx Poodle

sound: ASoC: Fix build for corgi and poodle
[ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h

SoC PXA2xx Zylonite

sound: ASoC: Implement support for CLK_POUT as MCLK on Zylonite
sound: ASoC: Configure SSP port PLL for Zylonite
sound: ASoC: Implement support for CLK_POUT as MCLK on Zylonite
sound: ASoC: Configure SSP port PLL for Zylonite
sound: ASoC: Fix Zylonite voice interface stereo configurations
sound: ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite
sound: ASoC: Fix Zylonite for non-networked SSP mode

SoC S6000

Add soc/s6000 build stub

SoC SH7760 AC97

sound: ASoC: Fix some missing dai_ops conversions
sound: ASoC: Add SNDRV_PCM_INFO_BATCH flag to some drivers

SoC Texas Instruments OMAP

ASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driver
sound: ASoC: Complete Beagleboard support
sound: ASoC: Fix spurious codec driver dependencies
OMAP: ASoC: Fix spinlock misuse in omap-pcm.c
sound: ASoC: Update OMAP3 pandora board file
sound: ASoC: Update SDP3430 machine driver for snd_soc_card
sound: ASoC: Fix forgotten replacements of socdev->codec
sound: ASoC: Add DAPM machine widgets to SDP3430 driver
sound: ASoC: Add headset jack detection for SDP3430 machine driver
sound: ASoC: buildfix for OSK
sound: ASoC: Move headset jack registration to device initialization for SDP3430
sound: ASoC: OMAP: N810: Mark not connected input pins
sound: ASoC: OMAP: N810: Add more jack functions
sound: ASoC: Declare Headset as Mic and Headphone widgets for SDP3430
sound: ASoC: OMAP: Set minimum buffer size constraint for McBSP2 in OMAP3
ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
ASoC: OMAP: Update contact addresses

Soc PXA2xx Magician

ASoC: Add Magician machine support
ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h

SonicVibes driver

dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)

Sound Scape driver

ALSA: sscape: use common MPU401 macros
ALSA: sscape: drop redundant fields from soundscape struct

SoundFont

ALSA: Use define for ioctl definitions

TEA575x tuner

Compilation fixes for latest alsa-kmirror - procfs & tea575x-tuner
tea57xx: try to resolved compilation problems for 2.6.27 kernels
sound: V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API

Trident driver

dma-mapping: replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)

UDA1341

ALSA: drop outdated and broken sa11xx-uda1341 driver

USB USX2Y

ALSA: usb - Add missing KERN_* prefix to printk
ALSA: sound/usb/usx2y: fix sparse warning: Should it be static?
ALSA: sound/usb/usx2y: fix sparse warning: do-while statement is not a compound ...
ALSA: sound/usb: use memdup_user()
ALSA: us122l: Fix signedness in comparisions
ALSA: us122l: add snd_us122l_free()

USB caiaq

Rename usb/caiaq/* files
ALSA: snd-usb-caiaq: Send the correct command when setting controls
ALSA: snd-usb-caiaq: Set default input mode of A4DJ
ALSA: snd-usb-caiaq: Do not expose hardware input mode 0 of A4DJ
ALSA: snd-usb-caiaq: Remove duplicate A8DJ control
ALSA: snd-usb-caiaq: Increase version number to 1.3.12
ALSA: snd-usb-caiaq: only warn once on streaming errors
ALSA: snd-usb-caiaq: drop bogus iso packets
ALSA: snd-usb-caiaq: bump version number
ALSA: snd-usb-caiaq: clean up header includes
ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes
ALSA: snd-usb-caiaq: fix reported elapsed periods

USB generic driver

regenerate usbaudio.patch
regenerate usbaudio.patch
sound: usb-audio: use normal number of frames for no-data URBs
sound: usb-audio: limit playback queue length
sound: usb-audio: make URB sizes more equal
ALSA: usbaudio - use printf format instead of hardcoding it
sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices
ALSA: usb - Add missing KERN_* prefix to printk
sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces
sound: usb-audio: remove MIN_PACKS_URB
sound: usb-audio: fix rules check for 32-channel devices
sound: usb-audio: fix queue length check for high speed devices
ALSA: usb-audio - Fix non-continuous rate detection
ALSA: usb-audio - Workaround for misdetected sample rate with CM6207
sound: usb-audio: show sample format width in proc file
sound: usb-audio: remove check_hw_params_convention()
sound: usb-audio: save data packet interval in audioformat structure
sound: usb-audio: allow period sizes less than 1 ms

Utils

alsa-info.sh: use mktemp to make temporary directory and files (security issue)
setup-alsa-kernel: Add symlink to $KERNEL/scripts directory
mod-deps: fix handling of SND_VERBOSE_PROCFS/PRINTK symbols
alsa-info - Check process detection
alsa-info - Fix typos
alsa-info - Refactoring
Fix DocBook location in setup-alsa-kernel script
Handle the beginning 8 spaces as tab in mod-deps
Add HD-audio sysfs contents to alsa-info output
adriver.h: add missing DMA_BIT_MASK macro definition
Modify a bit utils/insert script for hda
alsa-info.sh: add command-line flag to print alsa info to stdout
alsa-info.sh: use distros package manager to retrieve alsa library version

VIA82xx driver

ALSA: via82xx - Clean up quirk list
sound: via82xx: fix DXS volume range

Virtual Master

ALSA: Add kernel-doc comments to vmaster stuff

WSS library

ALSA: wss - Add missing KERN_* prefix to printk
ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection

Wavefront drivers

Regenerate wavefront_fx.patch
ALSA: wavefront - Always use request_firmware()
ALSA: sound/isa: use memdup_user()

au88x0 driver

ALSA: Fix missing KERN_* prefix to printk in sound/pci
ALSA: au88x0 - Fix &&|| typo
dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

alsa-lib

Core

Fix build with softfloat option
Release v1.0.20

Control API

Change numid properly with external ctl plugins

Mixer API

Fix build with softfloat option

PCM API

Fix plug conversion with mmap emulation
PCM parameters in file plugin
Fix handling of revents in snd_pcm_poll_descriptors_revents()
Fix misc compile warnings
fix pcm_set_params() documentation
Change "%b" to represent bits instead of bytes in PCM file plugin
pcm_hw plugin: preserve monotonic flag also after snd_pcm_hw_params() call
pcm_hw plugin: show appl_ptr and hw_ptr in dump() callback
pcm: more better documentation for snd_pcm_poll_descriptors

Sequencer API

Fix typos in ALSA Lib documentation

Configuration

Fix GUS.conf to be usable
Remove own "default" PCM config from GUS.conf
Add hint.device = 0 to pcm.default of HDA-Intel.conf
oxygen: remove softvol plugin
Add route_policy copy to HDA-Intel.conf for capture

Kernel Headers

Fix off_t in kernel struct

Simple Abstraction Mixer Modules

Add missing -ldl to modules/mixer/simple/*

alsa-utils

Core

Fix build with partially-installed alsa-lib
aplay/arecord: fix underrun/overrun time calculation for monotonic clock
Release v1.0.20

ALSA Control (alsactl)

Use ANSI C functions
alsactl: init - modify default rule to better support some HDA codecs
Fix misc compile warnings in alsactl
alsactl - Add missing -I option
alsactl/init: Fix CTL{value} assigning - make it relevant to documentation
alsactl: init rules - fix HDA Conexact codec PCM initialization
alsactl: fix sysfsroot path and parser extensions
alsactl: changes in initialization files
alsactl: add ca0106 initialization file
alsactl: ca0106 initialization files - wrong exit

Speaker Test

speaker-test.c - add readability comments to speaker channels

alsaconf

alsaconf - prefer /etc/modprobe.d/sound/50-sound.conf

alsamixer

ALSA: Added vi-like key bindings to alsamixer.

aplay/arecord

aplay/arecord: fix underrun/overrun time calculation for monotonic clock
aplay/arecord: remove debug printfs introduced by previous patch
aplay/arecord: improve suspicious buffer detection and add --test-coef parameter

alsa-tools

Core

Release v1.0.20

Digigram Echo Mixer

ALSA: echomixer, fix vmixer GUI
echomixer: Fix echomixer to work with the new drivers
echomixer: little bug fix

alsa-firmware

Core

Release v1.0.20

Digigram Echo Audio Firmware

Echoaudio: Add support for Indigo express cards

alsa-plugins

Core

Fix build of pph plugin with speex-1.2rc1
Add Speex pre-processing plugin
Add arcam-av plugin
Release v1.0.20

/Makefile.am

Add Speex pre-processing plugin
Add arcam-av plugin
Clean up Makefile.am

Arcam AV control plugin

Add arcam-av plugin
arcam_av: Remove incorrect usage of the static SHM ID variable
arcam_av: Refactor control specifications to facilitate addition of "numid" optimisation
arcam_av: Refactor event callback to facilitate addition of "numid" optimisation

Automatic upmix / downmix plugins

Add missing continue in config parser of pcm-upmix plugin
Fix build of pph plugin with speex-1.2rc1
Add missing continue in config parser of pcm-upmix plugin (again)

Documentation

Add Speex pre-processing plugin
Add arcam-av plugin

OSS Mixer -> ALSA Control plugin

oss: Add numid check in ctl plugin

Public Parrot Hack rate converter

Add missing -lm to pph plugin

PulseAudio -> ALSA plugin

pulse: Add numid check in ctl plugin

Speex PCM plugin

Add Speex pre-processing plugin

Changelog between 1.0.17 and 1.0.20 releases

alsa-python

Core

Release v1.0.20

pyalsa.alsaseq module

alsaseq: fix sysex data list initialization
alsaseq: reorganize GETDICTEXT and assign self->event->data.ext.ptr

Detailed changelog between 1.0.19 and 1.0.20 releases

alsa-driver

Sound Core

- Remove old msnd stuff from alsa-driver tree
The new msnd-classic/pinnacle driver codes are found in kernel tree now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Mark msnd-* drivers 2.6 only
No patch is made for older kernels yet.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- configure: fix typo
Fix a typo that prevented the --disable-update-version option from
actually working.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- check if compiler supports _Bool
Add support for old compilers (like gcc 2.x) that do not have the
builtin _Bool type.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- Add check of linux/gpio.h in configure script
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- tea57xx: try to resolved compilation problems for 2.6.27 kernels
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Don't build fm801-tea575x for older kernels
as it's now V4L2 only...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Update 2.6.x version in SUPPORTED_KERNELS
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add Atmel ALSA drivers directory
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALSA Core

- Add missing definition of PCI_VENDOR_ID_DFI
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add wrapper for create_singlethread_workqueue() for older 2.6 kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Regenerated acore/misc.patch
Regenerated acore/misc.patch to resolve the quirk list updates.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- regenerate acore/misc.patch
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- check if compiler supports _Bool
Add support for old compilers (like gcc 2.x) that do not have the
builtin _Bool type.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- Compilation fixes for latest alsa-kmirror - procfs & tea575x-tuner
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- adriver.h: add missing DMA_BIT_MASK macro definition
also update 'insert hda' script
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Add wrapper for memdup_user()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Define DMA_BIT_MASK for 2.6.23 or older
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add upper_32_bits and lower_32_bits macros
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix lower_32_bits() macro
My bad, defined in a wrong place in the previous patch.
Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Add subdevice_mask field to quirk entries
Introduced a new field, subdevice_mask, which specifies the bitmask
to match with the given subdevice ID.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Clean up snd_monitor_file management
Use the standard linked list for snd_monitor_file management.
Also, move the list deletion of shutdown_list element into
snd_disconnect_release() (for simplification).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Remove obsolete snd_xferv struct and ioctls
Removed obsleted snd_xferv struct and ioctls that are no longer used
in the current codebase.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Use define for ioctl definitions
Use define instead of enum for ioctl definitions since strace can't
parse ioctls defined via enum properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: emu101k1.h: fix duplicate include of <linux/types.h>
Impact: cleanup
The earlier patch 'make most exported headers use strict integer
types' accidentally includes <linux/types.h> both from the common and
from the kernel-only parts.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
- make exported headers use strict posix types
A number of standard posix types are used in exported headers, which
is not allowed if __STRICT_KERNEL_NAMES is defined. In order to
get rid of the non-__STRICT_KERNEL_NAMES part and to make sane headers
the default, we have to change them all to safe types.
There are also still some leftovers in reiserfs_fs.h, elfcore.h
and coda.h, but these files have not compiled in user space for
a long time.
This leaves out the various integer types ({u_,u,}int{8,16,32,64}_t),
which we take care of separately.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Cc: netdev@vger.kernel.org
Cc: linux-ppp@vger.kernel.org
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
- proc 2/2: remove struct proc_dir_entry::owner
Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy
as correctly noted at bug #12454. Someone can lookup entry with NULL
->owner, thus not pinning enything, and release it later resulting
in module refcount underflow.
We can keep ->owner and supply it at registration time like ->proc_fops
and ->data.
But this leaves ->owner as easy-manipulative field (just one C assignment)
and somebody will forget to unpin previous/pin current module when
switching ->owner. ->proc_fops is declared as "const" which should give
some thoughts.
->read_proc/->write_proc were just fixed to not require ->owner for
protection.
rmmod'ed directories will be empty and return "." and ".." -- no harm.
And directories with tricky enough readdir and lookup shouldn't be modular.
We definitely don't want such modular code.
Removing ->owner will also make PDE smaller.
So, let's nuke it.
Kudos to Jeff Layton for reminding about this, let's say, oversight.
http://bugzilla.kernel.org/show_bug.cgi?id=12454
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>

SoC PXA2xx Core

- sound: ASoC: machine support for Toshiba e740 PDA
This patch provides suupport for the wm9705 AC97 codec on the Toshiba e740.
Note:
The e740 has a hard headphone switch that turns the speaker off and is not
software detectable or controlable. Also both headphone and speaker amps
share a common output enable.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: pxa-ssp: fix SSP port request
PXA2xx/3xx SSP ports start from 1, not 0. Thus, the probe function
requested the wrong SSP port. Correcting this unveiled another bug
where ssp_init tries to request the already-requested SSP port again.
So this patch replaces the ssp_init/exit calls with their internals
from mach-pxa/ssp.c, leaving out the redundant ssp_request and the
unneeded IRQ request. Effectively, that leaves us with not much more
than enabling/disabling the SSP clock.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add initial support of Mitac mioa701 device SoC.
This machine driver enables sound functions on Mitac mio
a701 smartphone. Build upon ASoC v1, it handles :
- rear speaker
- front speaker
- microphone
- GSM
A global "Mio Mode" switch is not yet provided to cope with
audio path setup. As balance on audio chip line is no more
assured, an incorrect setup can produce a lot of heat and
even fry the battery behind the wm9713 and the speaker
amplifier.
It doesn't cope with :
- headset jack
- mio master mode
- master volume control
This driver is backported from ASoc v2, and amputated from
scenario setups and master volume control.
[Minor mods for terminology in comments -- broonie]
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: pxa2xx-i2s: remove I2S pin setup
This removes the calls to pxa_gpio_mode from the pxa2xx-i2s driver.
Pin setup should be done during board init via pxa2xx_mfp_config
instead.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite
For consistency with 24-bit and 32-bit modes, don't send 16-bit stereo
in one 32-bit transfer. Use 2 slots instead on Zylonite. It should result
in exactly the same behaviour.
Now it is possible to use 16-bit single slot transfers in pxa-ssp, which
are needed for Magician to get two frame clock pulses per sample
(one for each channel).
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Tested-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix name of register bit in pxa-ssp
A bit in PXA's SSCR0 register was erroneously named ADC but its name is
in fact ACS (audio clock select).
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Convert PXA AC97 driver to probe with the platform device
This will break any boards that don't register the AC97 controller
device due to using ASoC.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: don't touch pxa-ssp registers when stream is running
In pxa_ssp_set_dai_fmt(), check whether there is anything to do at all.
If there would be but the SSP port is in use already, bail out.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Each PXA AC97 DAI needs a separate ops
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: switch PXA SSP driver from network mode to PSP
This switches the pxa ssp port usage from network mode to PSP mode.
Removed some comments and checks for configured TDM channels.
A special case is added to support configuration where BCLK = 64fs. We
need to do some black magic in this case which doesn't look nice but
there is unfortunately no other option than that.
Diagnosed-by: Tim Ruetz <tim@caiaq.de>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix non-networked I2S mode for PXA SSP
Two issues are fixed here:
- I2S transmits the left frame with the clock low but I don't seem to
get LRCLK out without SFRMDLY being set so invert SFRMP and set a
delay.
- I2S has a clock cycle prior to the first data byte in each channel
so we need to delay the data by one cycle.
Tested-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Add Magician machine support
HTC Magician has a Philips UDA1380 codec connected via
SSP1 (playback) and I2S (capture).
There is a flip-flop between the SSP frame clock output
and the codec's word select input pin. To make the codec
see proper I2S input, the SSP has to send two frames per
sample.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: pxa-ssp: Use 16-bit DMA for magician stereo
Now magician and similar boards can use network mode with only one
active slot to explicitly set 16 bit frame width, even for S16_LE
stereo sound.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: [ARM] pxa: move DMA registers definitions into <mach/dma.h>
1. Driver code where pxa_request_dma() is called will most likely
reference DMA registers as well, and it is really unnecessary
to include pxa-regs.h just for this. Move the definitions into
<mach/dma.h> and make relevant drivers include it instead of
<mach/pxa-regs.h>.
2. Introduce DMAC_REGS_VIRT as the virtual address base for these
DMA registers. This allows later processors to re-use the same
IP while registers may start at different I/O address.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: pxa-ssp: allow setting of dai format 0
pxa_ssp_set_dai_fmt() currently has an early exit if the desired format
equals the current configuration. This is correct behaviour unless this
function is called with a zero value parameter for the first time.
Zero is a valid value for this function, but the early exit is bogus in
this case.
Hence, set priv->dai_fmt to -1 in the beginning so we can configure the
port.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: pHilipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
Those macros are just screwed as soon as CONFIG_PXA25x is enabled.
This patch
- changes ssp_set_scr to take an ssp_dev pointer instead of ssp_device
- adds a corresponding ssp_get_scr function.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Control Midlevel

- ALSA: Add kernel-doc comments to vmaster stuff
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Rationalize fasync return values
Most fasync implementations do something like:
return fasync_helper(...);
But fasync_helper() will return a positive value at times - a feature used
in at least one place. Thus, a number of other drivers do:
err = fasync_helper(...);
if (err < 0)
return err;
return 0;
In the interests of consistency and more concise code, it makes sense to
map positive return values onto zero where ->fasync() is called.
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
- ALSA: sound/core: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

HWDEP Midlevel

- ALSA: hwdep - Make open callback optional
Don't require the open callback as mandatory.
Now all hwdeps ops can be optional.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hwdep - Fix coding style
Fix misc coding style issues in hwdep.h and add some comments.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Jack Input Event Midlevel

- ALSA: jack - Use card->shortname for input name
Currently the jack layer refers to card->longname as a part of
its input device name string. However, longname is often really long
and way too ugly as an identifier, such as,
"HDA Intel at 0xf8400000 irq 21".
This patch changes the code to use card->shortname instead.
The shortname string contains usually the h/w vendor and product
names but without messy I/O port or IRQ numbers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: add private_data to struct snd_jack
Added private_data and private_free fields to struct snd_jack so that
the caller can assign the data. It'll be helpful for avoiding the
double-free of the jack instance.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

PCM Midlevel

- Regenerated pcm_native.patch
Hopefully it works with Redhat now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd_pcm_new api cleanup
Impact: cleanup
snd_pcm_new takes a char *id argument, although it is not modifying
the string. it can therefore be declared as const char *id.
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add missing KERN_* prefix to printk in sound/core
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Rewrite hw_ptr updaters
Clean up and improve snd_pcm_update_hw_ptr*() functions.
snd_pcm_update_hw_ptr() tries to detect the unexpected hwptr jumps
more strictly to avoid the position mess-up, which often results in
the bad quality I/O with pulseaudio.
The hw-ptr skip error messages are printed when xrun proc is set to
non-zero.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Remove unneeded snd_pcm_substream.timer_lock
The timer callbacks are called in the protected status by the lock
of the timer instance, so there is no need for an extra lock in the
PCM substream.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm - Fix a typo in error messages
Fix a typo in error messages; forgotten after a copy&paste error.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm - avoid unnecessary inline
Remove unnecessary explicit inlininig of internal functions.
Let compiler optimize.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm - Reset invalid position even without debug option
Always reset the invalind hw_ptr position returned by the pointer
callback. The behavior should be consitent independently from the
debug option.
Also, add the printk_ratelimit() check to avoid flooding debug
prints.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm - Fix delta calculation at boundary overlap
When the hw_ptr_interrupt reaches the boundary, it must check whether
the hw_base was already lapped and corret the delta value appropriately.
Also, rebasing the hw_ptr needs a correction because buffer_size isn't
always aligned to period_size.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm - Safer boundary checks
Make the boundary checks a bit safer.
These caese are rare or theoretically won't happen, but nothing
bad to keep the checks safer...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Rationalize fasync return values
Most fasync implementations do something like:
return fasync_helper(...);
But fasync_helper() will return a positive value at times - a feature used
in at least one place. Thus, a number of other drivers do:
err = fasync_helper(...);
if (err < 0)
return err;
return 0;
In the interests of consistency and more concise code, it makes sense to
map positive return values onto zero where ->fasync() is called.
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
- [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
Some drivers like Intel8x0 or Intel HDA are broken for some hardware variants.
This patch adds more strict buffer position checks based on jiffies when
internal hw_ptr is updated. Enable xrun_debug to see mangling of wrong
positions.
As a side effect, the hw_ptr interrupt update routine might do slightly better
job when many interrupts are lost.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/core: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: pcm core - Avoid jiffies check for devices with BATCH flag
The hardware devices with SNDRV_PCM_INFO_BATCH flag can't give the
precise current position. And such hardwares have often big FIFO
in addition to the ring buffer, and it screws up the jiffies check
in pcm_lib.c.
This patch adds a simple check of info flag so that the driver skips
the jiffies check in snd_pcm_period_elapsed() when BATCH flag is set.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

RawMidi Midlevel

- ALSA: rawmidi - Fix possible race in open
The module refcount should be handled in the register_mutex to avoid
possible races with module unloading.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: rawmidi - Refactor rawmidi open/close codes
Refactor rawmidi open/close code messes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Timer Midlevel

- Rationalize fasync return values
Most fasync implementations do something like:
return fasync_helper(...);
But fasync_helper() will return a positive value at times - a feature used
in at least one place. Thus, a number of other drivers do:
err = fasync_helper(...);
if (err < 0)
return err;
return 0;
In the interests of consistency and more concise code, it makes sense to
map positive return values onto zero where ->fasync() is called.
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
- ALSA: sound/core: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

T5 and LifeDrive

- [ARM] pxa/palm27x: General fix for Palm27x aSoC driver
Firstly, this patch makes the palm27x asoc driver a little more sane. Also,
since all affected devices use GPIO95 as AC97_nRESET, this patch sets that
properly. Affected are PalmT5, TX and LifeDrive.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>

/arm/Makefile

- Moved old sa11-uda1341 driver code to alsa-driver tree
It's dropped from the latest kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: drop outdated and broken sa11xx-uda1341 driver
It depends on L3 support from 2.4 kernel (CONFIG_L3) that never got
merged into mainline. Since there's no way to use it on any of
supported machines (iPaq h3100 or h3600), better drop it for now.
It can be reimplemented later using ASoC infrastructure (there's
already a driver for uda1341 codec in mainline, so only CPU and machine
parts need to be written).
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/i2c/Makefile

- Moved old sa11-uda1341 driver code to alsa-driver tree
It's dropped from the latest kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: drop outdated and broken sa11xx-uda1341 driver
It depends on L3 support from 2.4 kernel (CONFIG_L3) that never got
merged into mainline. Since there's no way to use it on any of
supported machines (iPaq h3100 or h3600), better drop it for now.
It can be reimplemented later using ASoC infrastructure (there's
already a driver for uda1341 codec in mainline, so only CPU and machine
parts need to be written).
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/isa/Makefile

- Remove old msnd stuff from alsa-driver tree
The new msnd-classic/pinnacle driver codes are found in kernel tree now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: enable build of snd-msnd-* drivers
Added the missing msnd directory to Makefile.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/soc/codecs/Makefile

- sound: ASoC: Add a driver for AK4104 S/PDIF transmitter
This adds a driver for the SPI connected AK4104 S/PDIF transmitter
device. Its features are fairly simple, but as there is need to set up
certain bits in the IEC958 information, this better goes into a real
driver.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add initial driver for the WM8400 CODEC
The WM8400 is a highly integrated audio CODEC and power management unit
intended for mobile multimedia application. This driver supports the
primary audio CODEC features, including:
- 1W speaker driver
- Fully differential headphone output
- Up to 4 differential microphone inputs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
Signed-off-by: Takashi Iwai <tiwai@suse.de>

/soc/pxa/Makefile

- sound: ASoC: machine support for Toshiba e740 PDA
This patch provides suupport for the wm9705 AC97 codec on the Toshiba e740.
Note:
The e740 has a hard headphone switch that turns the speaker off and is not
software detectable or controlable. Also both headphone and speaker amps
share a common output enable.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add initial support of Mitac mioa701 device SoC.
This machine driver enables sound functions on Mitac mio
a701 smartphone. Build upon ASoC v1, it handles :
- rear speaker
- front speaker
- microphone
- GSM
A global "Mio Mode" switch is not yet provided to cope with
audio path setup. As balance on audio chip line is no more
assured, an incorrect setup can produce a lot of heat and
even fry the battery behind the wm9713 and the speaker
amplifier.
It doesn't cope with :
- headset jack
- mio master mode
- master volume control
This driver is backported from ASoc v2, and amputated from
scenario setups and master volume control.
[Minor mods for terminology in comments -- broonie]
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Add Magician machine support
HTC Magician has a Philips UDA1380 codec connected via
SSP1 (playback) and I2S (capture).
There is a flip-flop between the SSP frame clock output
and the codec's word select input pin. To make the codec
see proper I2S input, the SSP has to send two frames per
sample.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AC97 Codec

- ALSA: AC97: Print AC97 flags in proc file to make debug it easier
While debugging some code paths in AC97 codec patches and its suspend
and resume functions, getting to know the flags has proved useful to
follow those code paths.
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: AC97: Fix function name type in comment s/updat/update/
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix missing KERN_* prefix to printk in sound/pci
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ac97 - Add patch entry for Conexant CX20468-31 chip
Added the patch entry for Conexant CX20468-31 chip (4358:5430).
Reference: Novell bnc#471265
https://bugzilla.novell.com/show_bug.cgi?id=471265
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] ac97_codec: increase timeout for analog subsections
On some hardware platforms, the AC97 codec requires more time
to wake up.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AD1816A driver

- ALSA: do not create OPL3 timers if there is no OPL3 irq wired
Most cards have OPL3 FM synthetiser but
they do not have OPL3 interrupt wired to
a sound chip or CPU.
Do not create OPL3 timers for such cards
as the timers are useless witthout interrupt.
This patch removes OPL3 timers for following
alsa drivers: snd-ad1816a, snd-opti93x,
snd-opti92x, snd-sc6000, snd-cmi8330.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ad1816a: enable hardware timer
Enable hardware timer with 10 usec resolution.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: isa/*: Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AD1889 driver

- dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

AK4531 codec

- ALSA: Fix missing KERN_* prefix to printk in sound/pci
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALI5451 driver

- ALSA: sound/ali5451: typo: s/resouces/resources/
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- dma-mapping: replace all DMA_31BIT_MASK macro with DMA_BIT_MASK(31)
Replace all DMA_31BIT_MASK macro with DMA_BIT_MASK(31)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

ALS4000 driver

- dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

ALSA Version

- ALSA: Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALSA sequencer

- ALSA: Add missing KERN_* prefix to printk in sound/core
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/core: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ALSA<-OSS emulation

- pcm_oss.patch: ommit using file->f_lock for kernels < 2.6.30
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm_oss: AFMT_S24_LE is set twice in return value
AFMT_S24_LE is set twice in return value
vi sound/core/oss/pcm_oss.c +640
#define AFMT_S24_LE 0x00008000
#define AFMT_S24_BE 0x00010000
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Add missing KERN_* prefix to printk in sound/core
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: fix excessive background noise introduced by OSS emulation rate shrink
Incorrect variable was used to get the next sample which caused S2
to be stuck with the same value resulting in loud background noise.
Signed-off-by: Steve Chen <schen at mvista.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: oss-mixer - Fixes recording gain control
At the time of initialization, SNDRV_MIXER_OSS_PRESENT_PVOLUME bit is not
set for MIC (slot 7).
So, the same should not be checked when an application tries to do gain
control for audio recording devices.
Just check slot->present for SNDRV_MIXER_OSS_PRESENT_CVOLUME independently.
Verified with a simple application which opens /dev/dsp for recording and
/dev/mixer for volume control.
Have tested two usb audio mic devices.
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcm_oss, fix locking typo
s/mutex_lock/mutex_unlock/ on 2 fail paths in snd_pcm_oss_proc_write.
Probably a typo, lock should be unlocked when leaving the function.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Use f_lock to protect f_flags
Traditionally, changes to struct file->f_flags have been done under BKL
protection, or with no protection at all. This patch causes all f_flags
changes after file open/creation time to be done under protection of
f_lock. This allows the removal of some BKL usage and fixes a number of
longstanding (if microscopic) races.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
- ALSA: oss - volume control for CSWITCH and CROUTE
Added an else part to check
SNDRV_MIXER_OSS_PRESENT_CVOLUME for MIC (slot 7)
in commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b
Similarly, checks and volume control is required for
SNDRV_MIXER_OSS_PRESENT_CSWITCH and SNDRV_MIXER_OSS_PRESENT_CROUTE
as well.
Signed-off-by: Deepika Makhija <deepika.makhija@einfochips.com>
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ALSA<-OSS sequencer

- ALSA: Add missing KERN_* prefix to printk in sound/core
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AMD InterWave driver

- ALSA: gus - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ARM

- Moved old sa11-uda1341 driver code to alsa-driver tree
It's dropped from the latest kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: drop outdated and broken sa11xx-uda1341 driver
It depends on L3 support from 2.4 kernel (CONFIG_L3) that never got
merged into mainline. Since there's no way to use it on any of
supported machines (iPaq h3100 or h3600), better drop it for now.
It can be reimplemented later using ASoC infrastructure (there's
already a driver for uda1341 codec in mainline, so only CPU and machine
parts need to be written).
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ARM AACI PL041 driver

- [ARM] AACI: timeout will reach -1
With a postfix decrement the timeout will reach -1 rather than 0,
so the warning will not be issued.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

ARM PXA2XX driver

- sound: ASoC: Allow choice of ac97 gpio reset line
As the PXA27x series allow 2 gpios to reset the ac97 bus,
allow through platform data configuration the definition of
the correct gpio which will reset the AC97 bus.
This comes from a silicon defect on the PXA27x series, where
the gpio must be manually controlled in warm reset cases.
Signed-off-by: Robert Jarzmik <rjarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix wrong pointer to dev_err() in arm/pxa2xx-ac97-lib.c
Fix the wrong device pointer passed to dev_err().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- pxa2xx-ac97: fix displaying GSR after reset timeout
the variable gsr_bit is set in isr. It is however set to 0 and interrupts are
disabled prior to reset. Hence it doesn't make a lot of sense to show the
content of gsr_bit in case of a reset timeout.
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h
pxa-regs.h and hardware.h are not intended for use directly in driver
code, remove those unnecessary references.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] pxa: merge AC97 platform data structures
Currently there are two possible platform datas for the PXA AC97 driver:
one supported by the generic AC97 driver only which provides callbacks
to allow board-specific configuration at stream startup and teardown,
and another for pxa2xx-ac97-lib which allows configuration of the reset
GPIO for PXA2xx CPUs.
Obviously this won't actually work when using the generic AC97 driver
since the drivers will attempt to parse the platform data in both
formats. Fix this by merging the two structures.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>

ATIIXP driver

- ALSA: Atiixp: Add SSID for mute_led quirk (unknown HP model)
Reference: Ubuntu #84973 (https://launchpad.net/bugs/84973)
Reference: Linux #8001 (http://bugzilla.kernel.org/show_bug.cgi?id=8001)
Make the mute LED function properly on this unknown HP model.
Signed-off-by: Daniel T Chen <seven.steps@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

AZT3328 driver

- dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Apple Onboard Audio driver

- Add old i2c-binding codes for aoa and powermac drivers
... for 2.6.29 and older kernels.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: AOA: Convert onyx and tas codecs to new-style i2c drivers
The legacy i2c binding model is going away soon, so convert the AOA
codec drivers to the new model or they'll break.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Johannes Berg <johannes@sipsolutions.net>
Tested-by: Andreas Schwab <schwab@linux-m68k.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Atmel on-chip Audio Bitstream DAC (ABDAC)

- ALSA: Add ALSA driver for Atmel Audio Bitstream DAC
This patch adds ALSA support for the Audio Bistream DAC found on Atmel
AVR32 devices. The ABDAC is an Atmel IP which might show up on AT91
devices in the future, hence making a generic driver which can be
utilized by AT91 arch if needed.
Datasheet describing the ABDAC peripheral is available in the AT32AP7000
datasheet, http://www.atmel.com/dyn/products/datasheets.asp?family_id=682
Tested on ATSTK1006 + ATSTK1000 with a class D amplifier stage.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add ALSA driver for Atmel AC97 controller
This patch adds ALSA support for the AC97 controller found on Atmel
AVR32 devices.
Tested on ATSTK1006 + ATSTK1000 with a development board with a AC97
codec.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-atmel-ac97c: cleanup register definitions
This patch will remove traces of channel B registers, since they are not
used by the AC97C driver. Channel B might be used for other purposes.
The driver also adds channel status bits TXEMPTY and OVRUN and a
AC97C_CH_MASK macro to ease clearing a channel settings.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: remove dead break statements after return in switch case
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: do not overwrite OCA and ICA when assigning channels
This patch will take care not to overwrite OCA and ICA registers when
assigning input and output channels. It will also make sure the
registers are at a known state when enabling a channel and clean up
properly in case of an error.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: set correct size for buffer hardware parameter
This patch will set a proper maximum bytes for the buffer, which is:
channels * bytes per sample * maximum periods * maximum bytes per period.
It also sets the minimum periods to 6, a value chosen from testing, with
a minimum of 6 periods the system has good time to fill in new audio
data without skipping.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: enable interrupts to catch events for error reporting
This patch will enable interrupts from AC97C and report about error
conditions that occurs.
On channel A both overrun and underrun will be enabled depending if
playback and/or capture are enabled. On the control channel the overrun
interrupt is enabled.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: do a proper reset of the external codec
This patch will enable the AC97C before resetting the external codec,
leaving the AC97C disabled will result in floating I/O lines that can
affect the reset procedure.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: cleanup registers when removing driver
This patch will set the channel A and control channel mode register to
zero before disabling the AC97C peripheral.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-ac97c: replace bus_id with dev_name()
This patch replaces the references to bus_id to the new dev_name() API.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-abdac: replace bus_id with dev_name()
This patch replaces the references to bus_id to the new dev_name() API.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-atmel-abdac: increase periods_min to 6 instead of 4
This patch increases periods_min to 6 from 4, this will remove any
hickups where the buffer is not filled fast enough from user space.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Au12x0/Au1550 PSC ASoC

- sound: ASoC: Staticise PCM operations tables
The PCM operations tables are not exported directly but are instead
included in the platform structure so should be declared static.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add SNDRV_PCM_INFO_BATCH flag to some drivers
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that
really don't give the precise pointer value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Avance Logic ALS300/300+ driver

- ALSA: Fix missing KERN_* prefix to printk in sound/pci
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
Replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

CA0106 driver

- ALSA: ca0106 - Add quirk for GA-G1975X mobo
Giga-byte GA-G1975X mobo has a CA0106 on-board chip.
Reference: bnc#395807
https://bugzilla.novell.com/show_bug.cgi?id=395807
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

CMI8330 driver

- ALSA: cmi8330: add OPL3 support
Add OPL3 handling to the driver
and volume control for FM synthesis.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: do not create OPL3 timers if there is no OPL3 irq wired
Most cards have OPL3 FM synthetiser but
they do not have OPL3 interrupt wired to
a sound chip or CPU.
Do not create OPL3 timers for such cards
as the timers are useless witthout interrupt.
This patch removes OPL3 timers for following
alsa drivers: snd-ad1816a, snd-opti93x,
snd-opti92x, snd-sc6000, snd-cmi8330.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cmi8330: add MPU-401 support
Add MPU-401 port support for the chip.
Also, update some error messages and description.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

CMI8788 (Oxygen) driver

- sound: virtuoso: enable UART on Xonar HDAV1.3
This hardware has a better chance of working correctly if we don't
forget to enable it.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
- sound: virtuoso: add newline
Add a missing newline.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X"
This reverts commit 7e86c0e6850504ec9516b953f316a47277825e33 ("do not
overwrite EEPROM on Xonar D2/D2X") because it did not actually help with
the problem.
More user reports show that the overwriting of the EEPROM is not
triggered by using this driver but by installing Linux, and that the
installation of any other operating system (even one without any CMI8788
driver) has the same effect. In other words, the presence of this
driver does not have any effect on the occurrence of the error. (So
far, the available evidence seems to point to a BIOS bug.)
Furthermore, it turns out that the EEPROM chip is protected against
stray write commands by the command format and by requiring a separate
write-enable command, so the error scenario in the previous commit (that
SPI writes can be misinterpreted as an EEPROM write command) is not even
theoretically possible.
The mixer control that was removed as a consequence of the previous
commit can only be partially emulated in userspace, which also means it
cannot be seen be the in-kernel OSS API emulation, so it is better to
revert that change.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
- sound: oxygen: make the owner module a parameter of the probe function
Move the owner field out of the oxygen_model structure and make it
a parameter of oxygen_pci_probe(), because the actual owner module does
not depend on the card model. Furthermore, moving it out of the model
structure allows us to create the card structure before the actual model
is known.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: allocate model_data dynamically
Allocate the model-specific data dynamically instead of including it in
the memory block of the card structure. This will allow us to determine
the actual model after the card creation.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: use static driver name
When allocating resources, use a fixed name instead of reading it from
the model structure. This allows us to allocate the resources before
the actual model is known.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: handle cards with broken EEPROM
Under as yet unknown circumstances, the first word of the sound card's
EEPROM gets overwritten. When this has happened, we cannot rely on the
subsystem IDs that the kernel reads from the PCI configuration
registers. Instead, we read the IDs directly from the EEPROM and do the
ID matching manually.
Because the model-specific driver cannot determine the model before
calling oxygen_pci_probe(), that function now gets a get_model()
callback as parameter. The customizing of the model structure, which
was formerly done by the probe() callback, also has moved into
get_model().
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: automatically restore overwritten EEPROM
If the EEPROM was partially overwritten (which seems to happen before the OS is
booted), restore its entire contents by deducing it from the remaining
information.
This does not have any effect on the Linux driver, which works even with
incomplete information in the EEPROM, but it makes other drivers work again.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: handle AK5385 ADC on Claro halo cards
The HT-Omega Claro halo's ADC is an AK5385 instead of a WM8785, so we
should handle the ADC parameters as we do with the X-Meridian.
Using the code for the wrong ADC does not seem to have any audible
effects, and the Windows driver does it, but it is nonetheless a good
idea to run the AK5385 with an oversampling ratio that is not outside
the documented limits.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: virtuoso: increase minimum volume to -60 dB
Use -60 dB as the minimum value of the master volume mixer control.
While the DACs would support ranges down to about -120 dB, such
attenuations are not useful in practice.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: virtuoso: add Xonar Essence STX support
Add support for the Asus Xonar Essence STX sound card.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: zero-initialize model data
Model drivers assume that model_data is zeroed, so we better use
kzalloc() (like we did before when it was allocated together with the
card structure).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: oxygen: enable headphone output on Claro cards
On the HT-Omega Claro (halo) sound cards, the headphone amplifier must
be enabled explicitly by setting a GPIO bit.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

CMIPCI driver

- ALSA: Fix Trivial Warnining in sound/pci/cmipci.c
Fixed the compile warning below by initializatin iomidi variable properly.
sound/pci/cmipci.c: In function ‘snd_cmipci_probe’:
sound/pci/cmipci.c:3017: warning: ‘iomidi’ may be used uninitialized in this function
Signed-off-by: Subrata Modak <subrata@linux.vnet.ibm.com>
Cc: linux-pci <linux-pci@atrey.karlin.mff.cuni.cz>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Sachin P Sant <sachinp@linux.vnet.ibm.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

CS4236+ driver

- ALSA: isa/*: Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
cs4232 and cs4236 driver merge to solve PnP BIOS detection.
Also, the patch adds recognition if the chip is cs4236b+
or earlier part. This unifies drivers for both cs4232
and cs4236+ chips. It allows to use the PnP BIOS
detection for the cs4236+ chips. Previously, only
the snd-cs4232 could be detected by the PnP BIOS.
The cs4232+ cards reports two separate PnP BIOS ids.
The patch adds search for the second id to find out
resources assigned to a control port.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236
Since cs4232 and cs4236 drivers are merged, there is no reason to keep
snd-cs4236-lib module separately. Let's merge it into the main driver
as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

CS423x drivers

- Remove build stub for snd-cs4232
snd-cs4232 is merged to snd-cs4236 driver now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remove snd-cs4236-lib module
It's merged into snd-cs4236 module.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- add cs4232.c build stub
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- Remove cs4232.c again
It's dead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
cs4232 and cs4236 driver merge to solve PnP BIOS detection.
Also, the patch adds recognition if the chip is cs4236b+
or earlier part. This unifies drivers for both cs4232
and cs4236+ chips. It allows to use the PnP BIOS
detection for the cs4236+ chips. Previously, only
the snd-cs4232 could be detected by the PnP BIOS.
The cs4232+ cards reports two separate PnP BIOS ids.
The patch adds search for the second id to find out
resources assigned to a control port.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236
Since cs4232 and cs4236 drivers are merged, there is no reason to keep
snd-cs4236-lib module separately. Let's merge it into the main driver
as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Common EMU synth

- ALSA: emux - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Digigram PCXHR driver

- ALSA: pcxhr - add support for gpio ports and minor bug fix
- add support for gpio ports (2 GPI, 2 GPO) of pcxhr stereo cards
- minor bugfixes : allow setting clock to internal by the mixer
even if there is no stream (but monitoring)
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcxhr: fix trivial typo
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Remove superfluous hwdep ops
Remove NOP hwdep ops in sound drivers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcxhr.h replace signed one-bit bitfields
The usage and comments make it clear values of 1/0 were intended
rather than -1/0
Noticed by sparse:
sound/pci/pcxhr/pcxhr.h:100:20: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:101:22: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:102:24: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:103:21: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:104:25: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:105:20: error: dubious one-bit signed bitfield
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Digigram VX core

- ALSA: Remove superfluous hwdep ops
Remove NOP hwdep ops in sound drivers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add missing KERN_* prefix to printk in sound/drivers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/drivers/vx: fix sparse warning: different signedness
Fix this sparse warning:
sound/drivers/vx/vx_uer.c:301:42: warning: incorrect type in argument 2 (different signedness)
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Documentation

- Update DocBook/Makefile to use xmlto
Use fop right now because of breakage with xmlto pdf.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
Some revisions of the 92hd8xxx codec's not supporting port power
downs in which the using of it causes capture and also randomly
playback streams to not function at all. Thus by disabling it by
default and adding a option to enable it manually will fix all issue
on current and future revisions.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove old models for STAC9872 from the document
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Gateway %1616 laptop
Gateway T1616 laptop needs EAPD always on while the current STAC9205
code turns off per HP plug. Added a new model "eapd" to keep it on.
Reference: Novell bnc#467597
https://bugzilla.novell.com/show_bug.cgi?id=467597
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add description of new snd-msnd-* drivers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add missing description of snd-cmi8330 module parameters
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add description of new fm_port option for snd-es1688 driver
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Document tyan model for Realtek ALC262
As just pointed out to me, the new tyan model for ALC262 was
implemented but not documented. This adds the board to the
list, using both its marketing name (Thunder n6650W) and its
model number (S2915-E).
Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix DocBook headers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add sound/core/jack.c to driver-API docbook entry
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add kernel-doc comments to vmaster stuff
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: virtuoso: add Xonar Essence STX support
Add support for the Asus Xonar Essence STX sound card.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: hda - Update documentation
Update documentation regarding codec probing; the new probe_only option
and the new probe_mask usage.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: add quirk for Lenovo X200 laptop dock
Currently the HP connector on X200 dock doesn't detect when a HP is connected
nor allows sound to be played using it. This patch fixes the problem by adding
a quirk for this specific model. It's possible that others have the same NID
(0x19) to report when dock HP is connected, but I don't have access to any.
Please Cc me in the reply since I'm not subscribed to alsa-devel@.
Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix documentation for snd-cs4236 driver
Updated; removal of snd-cs4232 entry.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Update documentation for pincfg sysfs entries
Added the brief descriptions of new sysfs entries for pint default
config values.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Rename from override_pin and cur_pin with user_pin and driver_pin,
respectively, to be a bit more intuitive.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Make user_pin overriding the driver setup
Make user_pin overriding even the driver pincfg, e.g. the static / fixed
pin config table in patch_sigmatel.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add an example about pin reconfiguration
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add model=auto for STAC/IDT codecs
Added the model=auto to STAC/IDT codecs to use the BIOS default setup
explicitly. It can be used to disable the device-specific model quirk
in the driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Move ALSA docbooks to be with the rest of the kernel docbooks
Move ALSA docbooks to be with the rest of the kernel docbooks and add
them to the Makefile so that they build. Latter required a few minor
changes to alsa .tmpl files.
(I did not remove all of the trailing whitespace in the .tmpl files.)
Fixes kernel bugzilla #12726: http://bugzilla.kernel.org/show_bug.cgi?id=12726
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: documentation_man-pages@kernel-bugs.osdl.org
Cc: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Update documetation for hints sysfs entry
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix HP dv6736 mic input
Fix the mic input of HP dv6736 with Conexant 5051 codec chip.
This laptop seems have no mic-switching per jack connection.
A new model hp-dv6736 is introduced to match with the h/w implementation.
Reference: Novell bnc#480753
https://bugzilla.novell.com/show_bug.cgi?id=480753
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add alsa-driver-api.tmpl to alsa internal GIT tree
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add missing models to documentation
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add model=vaio for STAC9872
Add the default pin config for model=vaio (in case of broken BIOS).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Add some documentation for the ASoC jack API
A brief overview of how the components of the API fit together.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: add missing definitions(letters) to HD-Audio.txt
impact: Add missing definitions(letters).
Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Dreamcast AICA sound (pcm) driver

- sh: dma: Make G2 DMA configurable.
Follow the PVR2 DMAC change for G2 DMA.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
- trivial: Fix misspelling of firmware
Fix misspelling of firmware.
Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>

EMU10K1/EMU10K2 driver

- ALSA: emu10k1 - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: emu10k1 - Fix digital/analog switch on audigy2 ZS
Fix the inverted logic of shared spdif switch.
Reference: Novell bnc#478496
https://bugzilla.novell.com/show_bug.cgi?id=478496
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: sound/pci/emu10k1: fix sparse warning: different signedness
Fix this sparse warnings:
sound/pci/emu10k1/emu10k1_main.c:723:66: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:724:68: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:748:74: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:751:66: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:759:73: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:760:73: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:837:50: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:845:50: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:881:50: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:889:57: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:890:57: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:895:60: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:897:60: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:899:60: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:910:56: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:914:57: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:918:56: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:922:57: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:924:58: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:936:60: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:1073:60: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:1088:60: warning: incorrect type in argument 3 (different signedness)
sound/pci/emu10k1/emu10k1_main.c:1093:58: warning: incorrect type in argument 3 (different signedness)
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: make most exported headers use strict integer types
This takes care of all files that have only a small number
of non-strict integer type uses.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Cc: netdev@vger.kernel.org
Cc: linux-ppp@vger.kernel.org
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
- sound: emu101k1.h: fix duplicate include of <linux/types.h>
Impact: cleanup
The earlier patch 'make most exported headers use strict integer
types' accidentally includes <linux/types.h> both from the common and
from the kernel-only parts.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
- dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
Replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: sound/pci: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: emu10k1 - off by 1 in snd_emu10k1_wait()
With `while (count++ < 16384)' count reaches 16385.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ES1688 driver

- ALSA: ess1688: fix OPL3 port setting
The ess1688 driver uses the same port
for PCM audio (SB compatible) and OPL3
synthesis. It is not always right so allow to
choose a different port for OPL3 synthesis.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: isa/*: Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ES1938 driver

- dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

ES1968 driver

- dma-mapping: replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
Replace all DMA_28BIT_MASK macro with DMA_BIT_MASK(28)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Echoaudio driver

- Echoaudio: add support for Indigo express cards
This patch adds support for IndigoIOx and IndigoDJx.
(alsa-driver part)
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- echoaudio: add DJx/IOx build stubs
Add build stubs for Echoaudio Indigio Express cards.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: echoaudio - replace uses of __constant_{endian}
The base versions handle constant folding now.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: echoaudio: remove line-out volume from vmixer cards
There is a long standing bug in the drivers for cards with a vmixer because
I overlooked a detail in the c++ generic driver by echoaudio. Those cards
do not have a line-out volume control. It is a virtual control provided by
the generic driver. The bug is harmless because the DSP just ignores the
command to change the volume.
*NB:* It breaks alsa-tools/echomixer. A patch for it will follow.
This patch removes the line-out volume control from vmixer-equipped cards.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: echoaudio: remove line-out volume from vmixer cards
With this patch the drivers do not set the vmixer volume anymore at startup
because it is actually the output volume of the voices and ALSA mandates
that the volume must be 0 by default.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Echoaudio: add support for Indigo express cards
This patch adds support for IndigoIOx and IndigoDJx.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Emagic Audiowerk 2

- ALSA: aw2: do not grab every saa7146 based device
Audiowerk2 driver snd-aw2 is bound to any saa7146 device as it does not
check subsystem ids. Many DVB devices are saa7146 based, so aw2 driver
grabs them as well.
According to http://lkml.org/lkml/2008/10/15/311 aw2 devices have the
subsystem ids set to 0, the saa7146 default.
Fix conflicts with DVB devices by checking for subsystem ids = 0
specifically.
Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

GUS Library

- ALSA: gus: update debug messages
Convert some of them to snd_printdd() and
update arguments to make them compilable.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: gus - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Generic drivers

- ALSA: Add missing KERN_* prefix to printk in sound/drivers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: mtpav - Fix initial value for input hwport
Fix the initial value for input hwport. The old value (-1) may cause
Oops when an realtime MIDI byte is received before the input port is
explicitly given.
Instead, now it's set to the broadcasting as default.
Tested-by: Holger Dehnhardt <dehnhardt@ahdehnhardt.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- x86: allow more than 8 cpus to be used on 32-bit
X86_PC is the only remaining 'sub' architecture, so we dont need
it anymore.
This also cleans up a few spurious references to X86_PC in the
driver space - those certainly should be X86.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
- sound: serial-u16550: fix buffer overflow
Remove most of the serial port parameters from the card longname string
because it was way too long and overflowed into the mixername string.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

HDA Codec driver

- Add build stub for pci/hda/patch_ca0110.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: 83xxx port 0xe DAC selection
On the 92hd8xxx codecs port 0xe needs the connection selected to be the
last DAC in the list.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add model entry for HP dv4
Added model=hp-dv5 for HP dv4 (103c:30f7).
Reference: kernel bug #12440
http://bugzilla.kernel.org/show_bug.cgi?id=12440
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: revert change to 92hd83xxx power mapping
Port 0xe power mapping was incorrect set to 0x80 changed to the correct
value 0x40.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: Add STAC92HD83XXX_PWR_REF quirk
Some revisions of the 92hd8xxx codec's not supporting port power
downs in which the using of it causes capture and also randomly
playback streams to not function at all. Thus by disabling it by
default and adding a option to enable it manually will fix all issue
on current and future revisions.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputs
The reference NID for the analog outputs of STAC/IDT codecs is set
to a fixed number 0x02. But this isn't always correct and in many
codecs it points to a non-existing NID.
This patch fixes the initialization of the PCM reference NID taken
from the actually probed DAC list.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for HP DV6700 laptop
Added the matching model=laptop for HP DV6700 laptop.
Signed-off-by: Joerg Schirottke <master@kanotix.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix compile warning with CONFIG_SND_JACK=n
sound/pci/hda/patch_conexant.c:352: warning: 'conexant_add_jack' defined but not used
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - add another MacBook Pro 4, 1 subsystem ID
Add another MacBook Pro 4,1 SSID (106b:3800). It seems that latter revisions,
(at least mine), have different IDs to earlier revisions.
Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add extra volume offset to standard volume amp macros
Added the volume offset to base for the standard volume controls
to handle elements with too big volume scales like -96dB..0dB.
For such elements, you can set the base volume to reduce the range.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Halve too large volume scales for STAC/IDT codecs
STAC/IDT codecs have often too large volume scales such as -96dB,
and exposing this as is results in too large scale in percentage
representation.
This patch adds the check of the volume scale and halves the
volume range if it's too large automatically.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add debug prints for digital I/O pin detections
Add the debug prints for digital I/O pin detections in
snd_hda_parse_pin_def_config() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Detect non-SPDIF digital I/O
Accept non-SPDIF digital I/O pins as the digital pins.
These are usually corresponding to HDMI I/O.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Improve auto-probing of STAC9872 codec
Use the standard STAC/IDT auto-probing routine for non-static
STAC9872 codec probing.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't break the PCM creation loop
Don't break the loop in snd_hda_codec_build_pcms() even if the item
has no substreams.
It's possible that it's an empty item and the next item containing
the valid substreams (e.g. realtek codecs may create the analog
and alt-analog but no digitl streams).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Check HDMI jack types in the auto configuration
Add dig_out_type and dig_in_type fields to autocfg struct.
A proper HDA_PCM_TYPE_* value is assigned to these fields according
to the pin-jack location type value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Assign proper digital I/O type for STAC/IDT
Assign the proper PCM digital I/O type (HDA_PCM_TYPE_*) for the digital
I/O on STAC/IDT codecs. HDA_PCM_TYPE_HDMI is assigned for the HDMI I/O.
A similar framework is implemented to patch_realtek.c, but it's not
set up and still using only HDA_PCM_TYPE_SPDIF yet.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Allow digital-only I/O on ALC262 codec
Some laptops like VAIO have multiple codecs and uses ALC262 only for
the SPIDF output without analog I/O. So far, the codec-parser assumes
the presence of analog I/O and returned an error for such a case.
This patch adds some hacks to allow the digital-only configuration for
ALC262.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up old VAIO hack codes for STAC9872
Get rid of old VAIO static hack codes for STAC9872 and use the BIOS
auto-parser for all models.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Avoid to set the pin control again if already set
Check the present pin control bit and avoid the write if it's already
set in patch_sigmatel.c. This will reduce the number of verb execs at
jack plugging.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Gateway %1616 laptop
Gateway T1616 laptop needs EAPD always on while the current STAC9205
code turns off per HP plug. Added a new model "eapd" to keep it on.
Reference: Novell bnc#467597
https://bugzilla.novell.com/show_bug.cgi?id=467597
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: add reference board SND_PCI_QUIRK
Add another LanParty reference board SND_PCI_QUIRK to quirk lists of
all codec families.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add model=ref for Intel board with STAC9221
An intel board (8086:0204) works only with model=ref.
Reference: Novell bug #406529
https://bugzilla.novell.com/show_bug.cgi?id=406529
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create "Input Source" control dynamically for STAC/IDT
Instead of fixed kcontrol_new element, build "Input Source" controls
dynamically. If the number of input-source items is 0 or 1, we don't
need to create such a control.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix initial verbs for mic-boosts on AD1981HD
The mic boosts (NID 0x08 and 0x18) are input-amps, not output-amps.
Fix the initial verbs for them.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Remove invalid amp initializations for AD1988* codecs
The ADC widgets on AD1988* codecs have no amp controls.
Remove invalid initialization verbs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix invalid verbs for mic-boosts on AD1884*
The mic-boosts (0x14 and 0x15) on AD1884* codecs are input-amps,
not output-amps. Fix the invalid initialization verbs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix invalid amp init for ALC268 codec
Fix some invalid AMP initializations for ALC268 codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix wrong initial verb for AD1984 thinkpad model
The docking mic-boost (0x25) has no mute bit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: 92hd71xxx disable unmute support for codecs that don't have input amps
Some revisions of the 92hd71xxx codec families don't have input amps
on ports 0xa, 0xd and 0xf, so probe the widget caps on port 0xa and
check for support, if found run snd_hda_sequence_write_cache() on the
stac92hd71xxx_unmute_core_init verb list.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Consider additional capture source/selector in ALC889
Currently code for capture source support in ALC889 only considers
capture mixers. This change adds additional support for ADC+selector
present in ALC889, taking into account also the presence of an
additional DMIC connection item in the selector.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - make alc882_auto_init_input_src aware of selectors
In the case of having a selector instead of mixer while initing input
sources, the case that happens with ALC889, we must select instead
of muting input. Problem was found while testing with hda-emu.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for another HP dv5 model
Added model=hp-dv5 for another HP dv5 model with AMD chip (103c:3600)
Reference: kernel bug#12440
http://bugzilla.kernel.org/show_bug.cgi?id=12440
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add support of iMac 24 Aluminium
Added the support for 24" Aluminium iMac (106b:3e00)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for FSC Amilo Xi2550
Added model=fujisu-pi2515 for FSC Amilo Xi2550 with ALC883 codec.
Refernece: Novell bnc#450979
https://bugzilla.novell.com/show_bug.cgi?id=450979
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix misc workqueue issues
Some fixes regarding snd-hda-intel workqueue:
- Use create_singlethread_workqueue() instead of create_workqueue()
as per-CPU work isn't required.
- Allocate workq name string properly
- Renamed the workq name to "hd-audio*" to be more obvious.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add missing initialization for ALC272
ALC272 needs EAPD for speaker outputs as well as other similar ALC
codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add missing COEF initialization for ALC887
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add tyan model for Realtek ALC262
The Realtek ALC262 on the Tyan Thunder n6650W (S2915-E) mainboard has a
rather odd configuration template. As a result, the white AUX connector
can not be used. This rewrites the default config to more accurately
reflect the connector layout, colour and function.
Unfortunately the black CD_IN connector, which is suspected to be widget
0x1c refuses to switch into input (0x20), instead opting to remain on 0x0.
As such, no mixer controls are exposed for it. Autoswitching is implemented
between the front headphone output and back line output.
Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Add digital beep generator support for Realtek codecs.
A digital beep generator can be used via input layer.
Signed-off-by: Kusanagi Kouichi <slash@ma.neweb.ne.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_in
Don't use uneeded/wrong third parameter for stac92xx_parse_auto_config
in patch_stac92hd71bxx (no SPDIF in).
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Added stac378x digital slave out struct
Added the ADATOut nid to a slave digital outs struct to allow output
via the DigOut pin.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for HP zenith laptop
Added model=laptop for another HP laptop (103c:3072) with AD1984A codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for another HP laptop
Add model=laptop entry for another HP laptop (103c:3077) with AD1984A.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add missing KERN_* prefix to printk
... and disable the annoying debug message.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: enable concurrent digital outputs for ALC1200
Add the SPDIF pin as slave digital out to enable concurrent
HDMI/SPDIF outputs for ASUS M3A-H/HDMI with ALC1200 codec.
Tested-by: Thomas Schneider <nailstudio@gmx.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create beep mixer controls dynamically for Realtek codecs
Create beep mixer controls dynamically for Realtek codecs instead of
static arrays.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add missing NULL check in snd_hda_create_spdif_in_ctls()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Remove superfluous code in patch_realtek.c
codec->spec is reset in the caller side.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Use digital beep for AD codecs
Use digital beep instead of analog pc-beep for AD codecs.
Create the beep mixer controls dynamically on demand.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix unused variable compile warning
sound/pci/hda/patch_realtek.c:12693: warning: unused variable ‘i’
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202
This adds a new sound quirk entry (model=ecs202) for an ecs motherboard
with IDT STAC9221 codec (1019:2950).
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecs
When checking for input amps on pins 0x0a, 0x0d and 0x0f, and
initializing them for 92hd71xxx codec models, we must skip nid 0x0f
for 4-port models too like with 5-port models, as it is unused
(nid 0x0f is vendor reserved in 4-port models).
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up quirk lists
Clean up quirk lists with bit masks.
Also, sorted in numerical order for alc662_cfg_tbl[].
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - add digital beep support for ALC268
Added the digital beep support for ALC268. It was missing in the
last patches.
However, ALC268 has a strange pin use for widget 0x1d, which could be
used as another purpose. So, the patch adds a check of the beep control
before creating the hook for input layer.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Asus z37e (1043:8284)
Added a quirk for Asus Z37E for fixing suspend/hibernation problem.
Reference:
https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/25896
http://launchpadlibrarian.net/17053575/0001-Add-quirk-for-ASUS-Z37E-to-make-sound-audible-afte.patch
https://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=4282
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - allow multi-channel HDMI audio playback when ELD is not present
The YAMAHA AV-X1800 requires audio infoframe to include speaker-channel
mapping to play >2 channel HDMI audio. In theory that mapping should be
derived from its speaker configurations contained in its ELD. However we
currently cannot get ELD in console before the KMS functionalities are ready.
This is a more or less general issue at least in the near future. As a
workaround, we propose to allow playback of mult-channel audio when ELD
is not available.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - enable HDMI audio pin out at module loading time
We found that enabling/disabling HDMI audio pin out at stream start/stop
time will kill the leading 500ms or so sound samples. Avoid this by enabling
pin out once and for ever at module loading time.
The leading ~500ms audio samples will still be lost when switching from
X-channel playback to Y-channel playback where X != Y. However there's no
much we can do about it: the audio infoframe has to change and it looks like
either G45 or YAMAHA requires some time to switch the configuration.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - compute checksum in HDMI audio infoframe
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - add id for Intel IbexPeak integrated HDMI codec
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix a wrong pin check in snd_hda_parse_pin_def_config()
Fixed a wrong pin check (a typo) for debug print of digital input pin.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Detect multiple digital-out pins
Detect multiple digital-out pins in snd_hda_parse_pin_defconfig().
The dig_out_pin and dig_out_type fields become arrays.
The codec parser still doesn't use this multiple pins detection, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Cleanup setting of pin_configs in patch_stac927x
After commit "ALSA: hda - Fix restore of pin configs at resume for
STAC/IDT codecs", the introduced stac_save_pin_cfgs function checks
already for pins == NULL case, saving then default pin configs from
machine with stac92xx_save_bios_config_regs. So we can remove the
extra checks when stac927x_brd_tbl[spec->board_config] == NULL.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecs
Current code for STAC92HD71Bx and STAC92HD75Bx doesn't consider pin
complexes 0x20 and 0x27. Also for 4 port models, nids 0x0e and 0x0f
are vendor reserved. This commit changes code so it'll consider the
additional pin complexes for models that have it, and avoid reserved
nids to be touched on 4 port models.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxx
Detect the number of connected ports and number of smuxes dynamically,
looking at pin configs, using new introduced functions
stac92hd71bxx_connected_ports and stac92hd71bxx_connected_smuxes. Also
use proper input mux configuration for 4port and 5port models.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 model
Change HP dv7 quirk: although reported to work with hp-m4 model
(https://bugzilla.novell.com/show_bug.cgi?id=445321), the original
report doesn't contain info about testing of internal microphone.
Recently I received a report about internal mic not working
(https://qa.mandriva.com/show_bug.cgi?id=44855#c193), this must be
related with the forced line in on pin 0x0e done with hp-m4 model. Thus
change the current quirk from STAC_HP_M4 to STAC_HP_DV5, later reported
to be fixed on a provided kernel with this change
(https://qa.mandriva.com/show_bug.cgi?id=44855#c196).
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add missing terminator in slave dig-out array
Added the missing terminator for ad1989b_slave_dig_outs[].
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add snd_hda_multi_out_dig_cleanup()
Added the helper function snd_hda_multi_out_dig_cleanup() to clean up
the digital outputs with multi setup. This call is needed in cases
the codec supports multiple digital outputs as slaves. Otherwise the
slave widgets aren't properly cleaned up.
For a single digital output (e.g. in patch_conexant.c), this call isn't
needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - add another MacBook Pro 3,1 SSID
Reference: Ubuntu bug #33245
https://bugs.launchpad.net/bugs/332456
Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: Add STAC_DELL_S14 quirk
Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins
in pin_nids for stac92hd83xxx. Also reorganized connection selection
code for the respective ports per quirk define.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: add quirk for Lenovo X200 laptop dock
Currently the HP connector on X200 dock doesn't detect when a HP is connected
nor allows sound to be played using it. This patch fixes the problem by adding
a quirk for this specific model. It's possible that others have the same NID
(0x19) to report when dock HP is connected, but I don't have access to any.
Please Cc me in the reply since I'm not subscribed to alsa-devel@.
Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add proper cleanup for multiout-dig for ALC codecs
The recent patch_realtek.c contains the slave digital-out support
as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Support multiple digital outs with auto-probing
Added the support of multiple digital outputs via auto-probing for
Realtek ALC88x codecs. The multiple outputs are handled as slave
streams, so only one PCM stream (and the corresponding IEC958*
elements) is provided to control both digital outputs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up quirks for HP laptops with AD1984A
Clean up quirks for HP laptops with AD1984A using SND_PCI_QUIRK_MASK()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't enable beep for digital-only ALC262
When ALC262 codec is configured as digital-only, it's meaningless to
add the digital beep input.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Avoid doubly beep attachment in patch_alc268()
Remove the doubly attachment in patch_alc268().
The input beep is attached conditionally only when needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add digital-only mode for ALC268
ALC268 can be configured as digital-only, e.g. for HDMI, on some
machines. Allow the parser to set up the digital-only mode.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add generic pincfg initialization
Added the generic pincfg cache and save/restore functions.
Also introduced the pin-overriding via hwdep sysfs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Remove realtek codec-specific pin save/restore functions
Now it's done in the common code.
Also use the common access functions for pin defaults.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Remove codec-specific pin save/restore functions
Replace the accessor to pin defaults with the common code for caching.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260)
Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
Replace with snd_hda_codec_get_pincfg() in the places where available.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Rename from override_pin and cur_pin with user_pin and driver_pin,
respectively, to be a bit more intuitive.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Make user_pin overriding the driver setup
Make user_pin overriding even the driver pincfg, e.g. the static / fixed
pin config table in patch_sigmatel.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
Set the upper limit 0dB to the volume of mixer amp 0x20 for
AD1984A HP laptops. The overloaded volume may damage the internal
speaker.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add pseudo device-locking for clear/reconfig
Added the pseudo device-locking using card->shutdown flag to avoid
the crash via clear/reconfig during operations.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up / fix quirks for HP laptops with AD1984A
Use SND_PCI_QUIRK_MASK() to clean up / support better HP laptops with
AD1984A codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up / fix quirk for Sony laptops with ALC262
Clean up / fix quirk entries for Sony laptops with ALC262 codec
using NSD_PCI_QUIRK_MASK().
This also fixes the kernel bug #12780
http://bugme.linux-foundation.org/show_bug.cgi?id=12780
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up the input pin setup in automatic mode
Clean up the input-pin setup in automatic mode in patch_realtek.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add model=auto for STAC/IDT codecs
Added the model=auto to STAC/IDT codecs to use the BIOS default setup
explicitly. It can be used to disable the device-specific model quirk
in the driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix an "unused variable" compile warning
Forgot to remove an unused variable.
sound/pci/hda/patch_realtek.c: In function ‘alc882_auto_init_analog_input’:
sound/pci/hda/patch_realtek.c:7018: warning: unused variable ‘vref’
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't create a beep control for digital-only ALC268
When an ALC268 codec is set up as the digital-only (as found in Toshiba
laptops), it shouldn't contain any beep control that conflict with the
primary codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Intialize more codec fields in snd_hda_codec_reset()
Initiailize forgotten fields in snd_hda_codec_reset().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Revert the codec probe at control-creation errors
Revert the codec probe instead of returning the error to the driver
when any error occurs at creating the control elements.
The control element conflict can be non-fatal in many cases,
especially if it comes from the digital-only codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't return a fatal error at PCM-creation errors
Don't return a fatal error to the driver but continue to probe when
any error occurs at creating PCM streams for each codec.
It's often non-fatal and keeping it would help debugging.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create "Analog Loopback" controls optionally
Don't create "Analog Loopback" controls as default since these controls
are usually more harmful than useful for normal users.
Only created when "loopback = yes" hint is given.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add more hint options for IDT/Sigmatel codecs
Allow more options to be set/reset via hwdep hint entry.
hp_detect, gpio_mask, gpio_dir, gpio_data, eapd_mask and eapd_switch
can be checked.
For example, to disable hp_detect on the fly,
# echo "hp_detect=0" > /sys/class/sound/hwC0D0/hints
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix gcc compile warning
It's false positive, but annoying.
sound/pci/hda/hda_codec.c: In function ‘get_empty_pcm_device’:
sound/pci/hda/hda_codec.c:2772: warning: ‘dev’ may be used uninitialized in this function
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix HP dv6736 mic input
Fix the mic input of HP dv6736 with Conexant 5051 codec chip.
This laptop seems have no mic-switching per jack connection.
A new model hp-dv6736 is introduced to match with the h/w implementation.
Reference: Novell bnc#480753
https://bugzilla.novell.com/show_bug.cgi?id=480753
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix conflict of mixer controls on Sony VAIO VGN-AR71S
The recent update enabled the model=sony-assamd for all ALC262 with
PCI SSID 104d:90xx. But this includes the VAIO VGN-AR* that has the
primary codec of STAC92xx and the secondary ALC262 as a slave
digital-only codec. For this device, the model=auto must be chosen
to work properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add 4 channel mode for 3stack-hp model (ALC888)
Add additional 4 channel mode for 3stack-hp models.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add headphone automute support for 3stack-hp model (ALC888)
Mute speaker outputs on headphone insertion for machines that use
3stack-hp model.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Map 3stack-hp model (ALC888) for HP Educ.ar
Added model=3stack-hp for HP Educ.ar desktop machine (103c:2a72).
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix check of ALC888S-VC in alc888_coef_init()
Fixed the wrong bits check to identify ALC888S-VC model in
alc888_coef_init().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix speaker output on HP DV4 1155-SE
Force speaker pin config with model=hp-dv5 model for cases when bios
doesn't set it up properly. All reported hp laptops using model=hp-dv5
model have speaker at pin 0x0d with same config, so it's safe to add
this within hp-dv5 model.
Reference: alsa-devel mailing list thread on
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014390.html
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Remove IDT codec-specific pin save/restore functions
Removed its own save/restore functions and replaced with the common code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Cleanup IDT92HD7x HP quirks
Clean up IDT92HD7x quirks for HP laptops with SND_PCI_QUIRK_MASK().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Acer AX1700-U3700A
Force model=auto for Acer AX1700-U3700A with ALC888 codec.
Since Acer devices are handlded as model=acer as default, the auto
parsing has to be specified explicitly.
(Maybe it's better rather to remove this default model=acer handling,
though.)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Acer X3200
Acer X3200 needs model=auto, otherwise model=acer is pre-selected.
Reference: Novell bnc#476268
https://bugzilla.novell.com/show_bug.cgi?id=476268
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Quirk for Acer Aspire 6530G
The Acer Aspire 6530G needs the 4930G "model" for the front mic to
work properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3
Fix num_dmuxes initialization for dell-m4-1 and dell-m4-3 models
of IDT 92HD71bxx codec, which was wrongly set to zero.
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Match all 103c:17xx devices for HP BPC model
Use SND_PCI_QUIRK_MASK() to match all devices with 103c:17xx for
HP BPC model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix typos in slave controls in patch_sigmatel.c
"Headphone Playback ..." appears twice in slave_vols[] and slave_sws[].
They should be "Headphone Playback2 ..."
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix headphone-detect regression with multiple HP jacks
The recent changes over the DAC detection mechanism in patch_sigmatel.c
breaks the HP detection on the machines with multiple HP jacks.
It's basically because of the workaround to support the multi-channel
output. Since the HP detection is more important feature, disable
the HP-swap workaroud temporarily.
Reference: Novell bnc#482052
https://bugzilla.novell.com/show_bug.cgi?id=482052
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Fix sample rate of Lenovo Ideapad to 44.1kHz
Noises can be heard on analog outputs of (some model of) Lenovo
Ideapad due to the hardware problem, and the only workaround right now
is to fix the sample rate to 44.1kHz.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create output controls according to pin types for IDT/STAC
Improve the parser to pick up more intuitive control names for the
outputs judging from the pin type, instead of fixed names assigned
to channels.
Also, revive the multi-HP workaround since this change fixes the
problem with the multi-HP detection.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Allow slave controls with non-zero indices
Fix snd_hda_add_vmaster() to check the non-zero indices of slave controls.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create multiple HP / speaker controls with index
Create multiple "Headphone" and "Speaker" controls with non-zero index
numbers instead of "Headphone2", etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Connect to primary DAC if no individual DAC is available
In stac92xx_auto_fill_dac_nids[], connect to the primary DAC if no
individual DAC is available for each pin. This ensures that the pin
works somehow at least.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Assign HP and speaker DACs before mic/line-in
Assign DACs to HP and speaker before mic-in/line-in shared outputs.
This improves the usability as it results in more intuitive mixer
names.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Added HP HDX16/HDX18 notebook support for HDA codecs (82HD71)
Added codec recognition of HP HDX platforms and added support of the
MUTE LED (orange/white). For this feature the CONFIG_SND_HDA_POWER_SAVE
is needed to use event handling for mute control.
Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Rework on patch_sigmatel.c for HP HDX16/HDX18
Code rework, comments of mail tiwai@suse.de (2009-03-09) incorporated.
Code tested on HP HDX16 (not tested on HDX18 yet).
Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix coding style issues in last two patches
Also re-ordered the quirk entries per SSID.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create vmaster for conexant codecs
Instead of binding volumes, create a virtual master volume for Conexant
codecs. This allows separate HP and speaker volume controls.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create "Capture Source" control dynamically in patch_conexant.c
Create "Capture Source" control dynamically for Conexant codecs.
If only one capture item is available, don't create such a control
since it's just useless.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Remove superfluous verbs for Cxt5047 laptop-eapd model
Remove superfluous verbs from cxt5047_toshiba_init_verbs[].
Also fix comments and minor coding style issues.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix / clean up init verbs for Cxt5047 codec
Fix the initial connections of output pins 0x13 and 0x1d for Conexant
5047 codec to point to the mixer amp properly.
Removed unneeded (doubly) verbs from arrays, also removed the unneeded
changing of widget 0x1c, which is now completely unused.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clean up Cxt5047 parser
Clean up Conexant 5047 pareser code:
- Split mixer elements to separate arrays to reduce the duplicated
entires
- Fix mixer element names to the standard ones
- Remove unneeded cxt5047_hp2_unsol_event; the normal unsol_event
handler works fine.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - fix headphone settings and master volume (Conexant CX20551)
Update the places where the 0x1d widget is used for Conexant 5047, fixing
mismatch introduced after changing the connection.
Signed-off-by: Gregorio Guidi <gregorio.guidi@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add comments for the previous fix for conexant codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecs
Add a flag to work around the non-standard amp-value handling on
Conexant codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add model=vaio for STAC9872
Add the default pin config for model=vaio (in case of broken BIOS).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - power up before codec initialization
Change the power state of each widget before starting the initialization
work so that all verbs are executed properly.
Also, keep power-up during hwdep reconfiguration.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add another HP model with IDT92HD71bx codec
HP laptops require GPIO0 on as EAPD.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-hda-intel: Fix ALC662/ALC663 Beep Amplifier Index
ALC662/663 codecs have Beep Amplifier Index 0x04 not 0x05 in 0x0b NID.
Confirmed by testing on real hardware.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix ALC662 beep again
The previous commit breaks the (digital-) beep on ALC662.
ALC662 has the connection index 0x05 while ALC662 and ALC272 have the
index 0x04 for the beep widget.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-hda-intel - add checks for invalid values to *query_supported_pcm()
If ratesp or formatsp values are zero, wrong values are passed to ALSA's
the PCM midlevel code. The bug is showed more later than expected.
Also, clean a bit the code.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Detect digital-mic inputs on ALC663 / ALC272
Fix the detection of digital-mic inputs on ALC663 / ALC272 codecs
in the auto-detection mode. The automatic mic switch via plugging
isn't implemented yet, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add function id to proc output
This patch does two things:
Output Intel HDA Function Id in /proc/asound/cardX/codec#X
Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros
Before:
Vendor Id: 0x11d41884
Subsystem Id: 0x103c281a
Revision Id: 0x100100
After:
Function Id: 0x1
Vendor Id: 0x11d41884
Subsystem Id: 0x103c281a
Revision Id: 0x0100100
As report on the Kernel Bugzilla #12888
Signed-off-by: Pascal de Bruijn <pascal@unilogicnetworks.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Avoid output amp manipulation to digital mic pins
Don't set amp-out values to pins without PINCAP_OUT capability,
which are usually assigned for digital mics on ALC663/ALC272.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Cache pin-cap values
Added snd_hda_query_pin_caps() to read and cache pin-cap values
to avoid too frequently issuing the same verbs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix the wrong pin-cap check in patch_realtek.c
The check for the amp-output must be done for widget-caps rather than
pin-caps as implemented in the recent change... Simply a thinko.
Also, add the similar checks to all places that put output-amp mutes
in the initialization.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't create empty/single-item input source
In patch_realtek.c, don't create empty or single-item "Input Source"
control elements that are simply superfluous.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Use cached calls to get widget caps and pin caps
Replace with the standard function calls to use caches for reading
the widget caps and pin caps.
hda_proc.c is still using the direct verbs to get raw values as
much as possible.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Acer Ferrari 5000
Add a quirk model=acer-aspire for Acer Ferrari 5000 with ALC883 codec.
Note that model=auto doesn't work for this laptop because of broken BIOS
(that doesn't set the subsystem id properly).
Tested-by: Russ Dill <russ.dill@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add 92HD81B1C device id
Added device id in struct for codec 92HD81B1C (0x111d76d5).
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - enable SPDIF output for Intel DX58SO board
ALC889 has two SPDIF outputs: 0x06, 0x10. Board vendors can use either or both.
DX58SO uses 0x10, but the driver assumes 0x06. The safe solution is to add
0x10 as slave output to the existing 0x06.
Reported-by: Jeroen Van Breedam <jeroen.vanbreedam@sgr5.be>
Tested-by: Jeroen Van Breedam <jeroen.vanbreedam@sgr5.be>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - add missing comma in ad1884_slave_vols
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add VREF powerdown sequence for another board
Add powerdown sequence for VREF using a shared jack when the headphone
is present and the microphone isn't on.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Avoid call of snd_jack_report at release
Don't call snd_jack_report at release of sigmatel and conexnat codecs
which results in Oops at unloading the module.
The Oops is triggered by the power-up sequence during the free due to
the pincfg restoration. Since the power-up sequence is involved with
the unsol handling, the jack reporting may be issued during that.
The Oops occurs with this jack reporting because the jack instances
have been already released but the codec doesn't do the proper
book-keeping.
This patch adds the book-keeping of jack instances to avoid the access
to bogus pointers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
Added the models for quirk bitmask 1734:110x and 1734:113x of
Fujitsu laptops.
This will fix the model detection for Amilo Xa3540.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix the cmd cache keys for amp verbs
Fix the key value generation for get/set amp verbs. The upper bits of
the parameter have to be combined with the verb value to be unique for
each direction/index of amp access.
This fixes the resume problem on some hardwares like Macbook after
the channel mode is changed.
Tested-by: Johannes Berg <johannes@sipsolutions.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs
When the headphone can have no unique DAC, the current code doesn't
check the HP-detection although it should. Put the hp-detection check
before the DAC check to fix this bug.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too
Add the upper-limit of mixer amp for AD1884A-laptop model just like
the mobile model for some HP laptops.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Set function_id only on FG nodes
(Re)set function_id only from the value on FG nodes.
The current code overrides the value with the last widget.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix alc662_init_verbs
Don't unmute unneeded amps for input mixers of ALC662 & co.
It caused possible recording noises.
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirks for Realtek codecs
- Support ASUS F81Se F5Q P80 U20A U80 U50 UX50 for ALC269
- Support ASUS F70SL UX20 X58LE F50Z N80Vc N81Te N505Tp Vx3V N5051A
for ALC663
- Support DELL ZM1 for ALC272
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for Packard Bell RS65
Added a quirk (model=m51va) for Packard Bell RS65 with ALC663.
Reference: Novell bnc#496787
https://bugzilla.novell.com/show_bug.cgi?id=496787
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix init verbs of AD1884A mobile model
The current ad1884a-mobile model has a problem that the speaker output
doesn't work sometimes after boot or power-saving on some HP laptops.
It seems that the verbs accessing to the non-functional widgets cause
this problem.
This patch simplifies the init verbs for mobile model not to touch
unnecessary setups so that it avoids the speaker-mute problem.
Reference: Novell bnc#495668
https://bugzilla.novell.com/show_bug.cgi?id=495668
Signed-off-by: Takashi Iwai <tiwai@suse.de>

HDA Intel driver

- Revert hda_intel.patch
The changes regarding the suspend of hda_intel.c was reverted, so
we need to revert the corresponding build-patch, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Revert "Sound: hda - Restore PCI configuration space with interrupts off"
This reverts commit 32e176c14d7a425b681ef003c9061001ddb7fc7b.
That commit caused a regression with suspend on Thinkpad SL300.
Reference: kernel bug#12711
http://bugzilla.kernel.org/show_bug.cgi?id=12711
Tested-by: Alexandre Rostovtsev <tetromino@gmail.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add probe_mask default for Toshiba laptop with ALC268
Some Toshiba laptops have another ALC268 codec on slot#3 that conflicts
with the primary codec. The codec#3 is for the digital I/O, and should
be fixed by the driver, but it'd need a bunch of changes.
So, let's fix the probe problem temporarily by setting the default
probe_mask value.
Reference: kernel bugzilla #12735
http://bugzilla.kernel.org/show_bug.cgi?id=12735
Tested-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Allow fixed codec-probe mask
Some devices have broken BIOS and they don't set the codec probe-bit
properly after cleared by the driver. This makes the driver skipping
the necessary codec slots.
Since BIOS update isn't always easy, now the semantics of probe_mask
option is changed a bit. When it contains the bit 8 (0x100), the
lower bits are used to probe that slots regardless of codec-probe bits
returned by the hardware.
For example, probe_mask=0x103 will force to probe the codec slot #0
and #1.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B
Added the Device IDs for MCP89 HD audio controller.
Removed the IDs of MCP7B cause this chipset had been cancelled.
Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add forced codec-slots for ASUS W5F
ASUS W5F needs the fixed codec-slots to probe to override the BIOS
problem.
Tested-by: Giovanni Moser Frainer <giovanni@redix.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix DMA mask for ATI controllers
ATI controllers (at least some SB0600 models) appear buggy to handle
64bit DMA. As a workaround, reset GPIO bit0 and let the driver to
use only 32bit DMA on these controllers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Workaround for buggy DMA position on ATI controllers
The position-buffer on ATI controllers are unreliable as well as
on VIA chips, thus the same workaround for DMA position reading as
VIA would be useful for ATI.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't reset BDL unnecessarily
So far, the prepare callback is called multiple times, BDL entries
are reset and re-programmed at each time.
This patch adds the check to avoid the reset of BDL entries when the
same parameters are used.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't reset stream at each prepare callback
Don't reset the stream at each prepare callback but do it only once
after the open.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] hda_intel: fix unexpected ring buffer positions
I found two issues with ICH7-M (it should be related to other HDA chipsets
as well):
- the ring buffer position is not reset when stream restarts (after xrun) -
solved by moving azx_stream_reset() call from open() to prepare() callback
and reset posbuf to zero (it might be filled with hw later than position()
callback is called)
- irq_ignore flag should be set also when ring buffer memory area is not
changed in prepare() callback - this patch replaces irq_ignore with
more universal check based on jiffies clock
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)
This is the second go through of the old DMA_nBIT_MASK macro,and there're not
so many of them left,so I put them into one patch.I hope this is the last round.
After this the definition of the old DMA_nBIT_MASK macro could be removed.
Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Greg KH <greg@kroah.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: hda_intel.c - Consolidate bitfields
Commit fa00e046b41663cbda9b1affc0594669e5f14219
added a new bitfield not adjacent to other
bitfields in the same struct. Moved the new one.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

HDA generic driver

- Regenerated hda_beep.patch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Revert hda_intel.patch
The changes regarding the suspend of hda_intel.c was reverted, so
we need to revert the corresponding build-patch, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- regenerate pci/hda/hda_beep.patch
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: hda - Add extra volume offset to standard volume amp macros
Added the volume offset to base for the standard volume controls
to handle elements with too big volume scales like -96dB..0dB.
For such elements, you can set the base volume to reduce the range.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Check HDMI jack types in the auto configuration
Add dig_out_type and dig_in_type fields to autocfg struct.
A proper HDA_PCM_TYPE_* value is assigned to these fields according
to the pin-jack location type value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - No widget selection for volume knob widgets in proc output
Volume-knob widgets have no widget selection although they have widget
connections. Thus, the connection list in the proc output shouldn't
contain the selection (*).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Add digital beep generator support for Realtek codecs.
A digital beep generator can be used via input layer.
Signed-off-by: Kusanagi Kouichi <slash@ma.neweb.ne.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: enable concurrent digital outputs for ALC1200
Add the SPDIF pin as slave digital out to enable concurrent
HDMI/SPDIF outputs for ASUS M3A-H/HDMI with ALC1200 codec.
Tested-by: Thomas Schneider <nailstudio@gmx.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Clear codec->beep at release
Clear codec->beep field in snd_hda_detach_beep_device() to be sure.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Detect multiple digital-out pins
Detect multiple digital-out pins in snd_hda_parse_pin_defconfig().
The dig_out_pin and dig_out_type fields become arrays.
The codec parser still doesn't use this multiple pins detection, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Register (new) devices at reconfig
The devices that have been newly added during reconfig must be
registered. Otherwise they won't be visible to user-space.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add snd_hda_multi_out_dig_cleanup()
Added the helper function snd_hda_multi_out_dig_cleanup() to clean up
the digital outputs with multi setup. This call is needed in cases
the codec supports multiple digital outputs as slaves. Otherwise the
slave widgets aren't properly cleaned up.
For a single digital output (e.g. in patch_conexant.c), this call isn't
needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix parse of init_verbs sysfs entry
Fixed the parse of init_verbs hwdep sysfs entry.
Simplieied using sscanf.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add generic pincfg initialization
Added the generic pincfg cache and save/restore functions.
Also introduced the pin-overriding via hwdep sysfs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places
Replace with snd_hda_codec_get_pincfg() in the places where available.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin
Rename from override_pin and cur_pin with user_pin and driver_pin,
respectively, to be a bit more intuitive.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add pseudo device-locking for clear/reconfig
Added the pseudo device-locking using card->shutdown flag to avoid
the crash via clear/reconfig during operations.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/pci/hda: fix sparse warning: different signedness
Fix this sparse warning:
sound/pci/hda/hda_codec.c:1544:19: warning: incorrect type in assignment (different signedness)
sound/pci/hda/hda_codec.c:1544:19: expected unsigned long *vals
sound/pci/hda/hda_codec.c:1544:19: got long *<noident>
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add hint string helper functions
Added snd_hda_get_hint() and snd_hda_get_bool_hint() helper functions
to retrieve a hint value.
Internally, the hint is stored in a pair of two strings, key and val.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add show for init_verbs and hints sysfs entries
Added the show method for init_verbs and hints hwdep sysfs entries.
They show the current values.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecs
Add a flag to work around the non-standard amp-value handling on
Conexant codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - power up before codec initialization
Change the power state of each widget before starting the initialization
work so that all verbs are executed properly.
Also, keep power-up during hwdep reconfiguration.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't show the current connection for power widgets
The power-widgets have no connection selection, so skip the check
in proc output, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add function id to proc output
This patch does two things:
Output Intel HDA Function Id in /proc/asound/cardX/codec#X
Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros
Before:
Vendor Id: 0x11d41884
Subsystem Id: 0x103c281a
Revision Id: 0x100100
After:
Function Id: 0x1
Vendor Id: 0x11d41884
Subsystem Id: 0x103c281a
Revision Id: 0x0100100
As report on the Kernel Bugzilla #12888
Signed-off-by: Pascal de Bruijn <pascal@unilogicnetworks.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Cache pin-cap values
Added snd_hda_query_pin_caps() to read and cache pin-cap values
to avoid too frequently issuing the same verbs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

HR timer driver

- Use HRTIMER_CB_IRQSAFE for 2.6.27 (and older)
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ICE1712 driver

- ALSA: Add missing KERN_* prefix to printk in sound/pci/ice1712
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ICE1724 driver

- ALSA: ice1724 - Dynamic MIDI TX irq control
MIDI_TX IRQ seems always pending when any bytes on FIFO is available.
Thus, it's better to enable MPU_TX only when any bytres are really
stored in the substream, and disables immediately when the queue
becomes empty.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add missing KERN_* prefix to printk in sound/pci/ice1712
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ISA

- Remove old msnd stuff from alsa-driver tree
The new msnd-classic/pinnacle driver codes are found in kernel tree now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: cmi8330: add OPL3 support
Add OPL3 handling to the driver
and volume control for FM synthesis.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Turtle Beach Multisound Classic/Pinnacle driver
This is driver for Turtle Beach Multisound cards:
Classic, Fiji and Pinnacle.
Tested pcm playback and recording and MIDI playback
on Multisound Pinnacle.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sscape: update Kconfig description about SoundScape cards
The SoundScape driver handles more cards then described.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cmi8330: add MPU-401 support
Add MPU-401 port support for the chip.
Also, update some error messages and description.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
cs4232 and cs4236 driver merge to solve PnP BIOS detection.
Also, the patch adds recognition if the chip is cs4236b+
or earlier part. This unifies drivers for both cs4232
and cs4236+ chips. It allows to use the PnP BIOS
detection for the cs4236+ chips. Previously, only
the snd-cs4232 could be detected by the PnP BIOS.
The cs4232+ cards reports two separate PnP BIOS ids.
The patch adds search for the second id to find out
resources assigned to a control port.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wavefront - Always use request_firmware()
Always use request_firmware() for loading yss225_registers image.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

Intel8x0 driver

- ALSA: Don't cold reset AC97 codecs in some ICH chipsets
Check in a quirk list if it should do cold reset when AC97 power saving
is enabled. Some devices do not resume properly when cold reset,
although power saving works OK.
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: intel8x0 - Fix build with CONFIG_SND_AC97_POWERSAVE=n
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: alsa: time reaches -1, tested 0
With a postfix decrement time will reach -1 rather than 0,
so the warning will not be issued.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: intel8x0 - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
- use monotonic posix clock to measure time
- try to avoid reading zero from PICB (position in current buffer) register
- show also measured samples
- when clock is near 41000 or 44100, use exactly these values
(they appears to be reference clocks for hardware manufacturers)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] intel8x0: do not use zero value from PICB register
It seems that the zero value from the PICB (position in current buffer)
register is not reliable. Use jiffies to correct returned value
from the ring buffer pointer callback.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
Also add a little code cleanup.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] intel8x0: add one retry to the ac97_clock measurement routine
It seems that on some hardware platforms, the first measurement is wrong.
This patch adds second measurement to this case.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ALSA] intel8x0: another attempt to fix ac97_clock measure routine
Appearently, a big delay ~300ms is required before hw is settled and ready
to transfer samples on some hardware variants. Also, return back
"clocking to 48000Hz" message when something fails.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Intel8x0: Remove conflicting quirk for SSID 0x103c0934
While cleaning up quirks, I noticed that there is a duplicated quirk for
the SSID 0x103c0934. Looking back through the bug reports, I've concluded
that there is only one necessary quirk (hp_mute_led), so this patch
removes the conflicting one.
Reference: Ubuntu #44066 (https://launchpad.net/bugs/44066)
Signed-off-by: Daniel T Chen <seven.steps@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Intel8x0: Add hp_only quirk for SSID 0x1028016a (Dell Inspiron 8600)
Subject says it all. Briefly, use hp_only for another Dell Inspiron 8600.
Reference: Ubuntu #41015 (https://launchpad.net/bugs/41015)
Signed-off-by: Daniel T Chen <seven.steps@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Intel8x0-modem driver

- ALSA: intel8x0 - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

L3 drivers

- Moved old sa11-uda1341 driver code to alsa-driver tree
It's dropped from the latest kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: drop outdated and broken sa11xx-uda1341 driver
It depends on L3 support from 2.4 kernel (CONFIG_L3) that never got
merged into mainline. Since there's no way to use it on any of
supported machines (iPaq h3100 or h3600), better drop it for now.
It can be reimplemented later using ASoC infrastructure (there's
already a driver for uda1341 codec in mainline, so only CPU and machine
parts need to be written).
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

LX6464ES

- Add lx6464es build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build errors with lx6464es
Signed-off-by: Takashi Iwai <tiwai@suse.de>

MIPS AU1x00 driver

- ALSA: Add missing KERN_* prefix to printk in other sound/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

MIXART driver

- ALSA: Remove superfluous hwdep ops
Remove NOP hwdep ops in sound drivers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: mixart, fix lock imbalance
There is an omitted unlock in one snd_mixart_hw_params fail path. Fix it.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

MSND driver

- Remove old msnd stuff from alsa-driver tree
The new msnd-classic/pinnacle driver codes are found in kernel tree now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add build stub for new msnd-* drivers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Turtle Beach Multisound Classic/Pinnacle driver
This is driver for Turtle Beach Multisound cards:
Classic, Fiji and Pinnacle.
Tested pcm playback and recording and MIDI playback
on Multisound Pinnacle.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: msnd: add module description and license for the snd-msnd-lib
The missing module license generates warning
during module loading.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: msnd - Fix build error with CONFIG_PNP=n
sound/isa/msnd/msnd_pinnacle.c:891: error: 'isapnp' undeclared (first use in this function)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Memalloc module

- ALSA: Fix vunmap and free order in snd_free_sgbuf_pages()
In snd_free_sgbuf_pags(), vunmap() is called after releasing the SG
pages, and it causes errors on Xen as Xen manages the pages
differently. Although no significant errors have been reported on
the actual hardware, this order should be fixed other way round,
first vunmap() then free pages.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

OPL3

- ALSA: Add missing KERN_* prefix to printk in sound/drivers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

OPL3SA2 driver

- ALSA: isa/*: Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: opl3sa2 fix irq releasing and short name of card
Two simple fixes:
1. Use the same pointer for the free_irq() and
the request_irq() calls.
2. A short name of card is appended with '2' or '3'
character depending on a detected chip. Remove
the '2' character from the short name.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2
Fix the OOPS during a opl3sa2 card suspend
and resume if the driver is loaded but the card
is not found.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: opl3sa2: add ZV port control
Add ZV port control switch.
This patch is done after solution
given in the ALSA bug #2872 report.
The patch resolves the issue.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Opti9xx drivers

- ALSA: do not create OPL3 timers if there is no OPL3 irq wired
Most cards have OPL3 FM synthetiser but
they do not have OPL3 interrupt wired to
a sound chip or CPU.
Do not create OPL3 timers for such cards
as the timers are useless witthout interrupt.
This patch removes OPL3 timers for following
alsa drivers: snd-ad1816a, snd-opti93x,
snd-opti92x, snd-sc6000, snd-cmi8330.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PCI drivers

- sound: virtuoso: document HDAV1.3 driver status
Mention in the Kconfig help text that the HDAV1.3 code is rather
experimental.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: virtuoso: add Xonar Essence STX support
Add support for the Asus Xonar Essence STX sound card.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: Echoaudio: add support for Indigo express cards
This patch adds support for IndigoIOx and IndigoDJx.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

PDAudioCF driver

- ALSA: Add missing KERN_* prefix to printk in other sound/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC

- ALSA: Add vmaster controls for Pmac 5500, iMac G3 SL, and PBook G3 Lombard
Add virtual master controls for PowerMac 5500 (AWACS) and iMac G3 Slot-loading
and PowerBook G3 Lombard (Screamer).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC AWACS driver

- ALSA: powermac - Correct HP detection and input selectors for PMac 5500
Correct headphone detection and input selectors for PowerMac 5500 (AWACS).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: powermac - Correct volume controls for PowerBook G3 Lombard
Correct volume controls for PowerBook G3 Lombard (Screamer).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: powermac - Correct volume controls and HP detection for PMac 8500/9500
Correct volume controls and headphone detection for PowerMac 8500/9500 (AWACS).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add vmaster controls for Pmac 5500, iMac G3 SL, and PBook G3 Lombard
Add virtual master controls for PowerMac 5500 (AWACS) and iMac G3 Slot-loading
and PowerBook G3 Lombard (Screamer).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC Burgundy driver

- ALSA: snd-powermac: timeout reaches -1
If unsuccessful, timeout reaches -1 after the loop.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC DACA driver

- ALSA: powermac - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC Keywest driver

- Add old i2c-binding codes for aoa and powermac drivers
... for 2.6.29 and older kernels.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: keywest: Convert to new-style i2c driver
The legacy i2c binding model is going away soon, so convert the ppc
keywest sound driver to the new model or it will break.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

PPC PMAC driver

- powermac - Allow input from mic in iBook G3 Dual-USB (older kernels)
Allow input from microphone on iBook G3 Dual-USB (Tumbler) on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: powermac - Allow input from mic in iBook G3 Dual-USB
Allow input from microphone on iBook G3 Dual-USB (Tumbler).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: powermac - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC PowerMac driver

- ALSA: powermac - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: move snd_powermac's probe function to .devinit.text
A pointer to snd_pmac_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (when having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.
An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Rene Herman <rene.herman@keyaccess.nl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

PPC Tumbler driver

- ALSA: powermac - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

RME HDSP driver

- headers_check fix: sound/hdsp.h
fix the following 'make headers_check' warning:
usr/include/sound/hdsp.h:33: found __[us]{8,16,32,64} type without #include <linux/types.h>
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
- ALSA: Remove superfluous hwdep ops
Remove NOP hwdep ops in sound drivers.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hdsp - poll for iobox
sleeping for 2 seconds before checking for the iobox is not enough
on some systems.
this patch increases the timeout, but polls the card during that
time. it thus speeds up the module loading when the card has already
been initialized, while being more robust on systems, which require
a higher timeout than the predefined 2 seconds.
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hdsp - whitespace cleanup
Impact: remove trailing spaces
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hdsp - Ignore MIDI and PCM events in interrupts until initialized
Ignore MIDI and PCM events in the interrupt handler until the device
gets initialized properly. Otherwise you may get kernel panic by the
access to uninitialized devices via hotplugging.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SA11xx UDA1341 driver

- Moved old sa11-uda1341 driver code to alsa-driver tree
It's dropped from the latest kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Add missing KERN_* prefix to printk in other sound/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: remove sound/arm/sa11xx-uda1341.c
Drop also sound/arm/sa11xx-uda1341.c file. It was forgotten in the
"drop outdated and broken sa11xx-uda1341 driver" patch from
Dmitry Artamonow.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SB drivers

- ALSA: ALS4000, slight mixer improvements
- add 8kHz / 20 kHz low-pass filter switch control
- add ALS4000 Mono capture route control
- add annotations to specs pages
- improve ALS4000 PM saved regs selection (remove SB dummy register,
add missing ones)
- add some missing ALS4000 register defines
- constify two variables
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SB16/AWE driver

- ALSA: sound/isa: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SIS7019 driver

- dma-mapping: replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)
Replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

SPARC cs4231 driver

- sparc: Fix section mismatch warnings in cs4231 sound driver.
Signed-off-by: David S. Miller <davem@davemloft.net>

Serial BUS drivers

- Compilation fixes for latest alsa-kmirror - procfs & tea575x-tuner
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- tea57xx: try to resolved compilation problems for 2.6.27 kernels
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Audio for the Atmel AT32/AT91 System-on-Chip

- sound: ASoC: Staticise PCM operations tables
The PCM operations tables are not exported directly but are instead
included in the platform structure so should be declared static.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: email - update email addresses.
This just updates my email address on some drivers I'd forgotten in a
previous patch.
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Improve diagnostics for AT91SAM9G20-EK probe
We should display an error by default if we fail to register.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Check machine type before loading on AT91SAM9G20-EK
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Actively manage MCLK for AT91SAM9G20-EK
We have software control of the MCLK for the WM8731 so save a bit of
power by actively managing it within the machine driver, enabling it
only while the codec is active.
Once ASoC supports multiple boards and doesn't require the soc-audio
device the initial clock setup should be pushed down into the arch/arm
code but for now this reduces merge issues.
Tested-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Rename AT91SAMG20-EK for applications
This is a bit more idiomatic and makes identifying a configuration
based on the board type work better.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Refactor WM8731 device registration
Move the WM8731 driver to use a more standard device registration
scheme where the device can be registered independantly of the ASoC
probe.
As a transition measure push the current manual code for registering
the WM8731 into the individual machine driver probes. This allows
separate patches to update the relevant architecture files with less
risk of merge issues.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: wm8510 pll settings
When setting WM8510_MCLKDIV the pll was turned off.
When setting pll frequency you got twice the expected freq, because
the code calculated with postscaler of 8, but the hardware divide by 4.
Signed-off-by: Jonas Andersson <jonas@microbit.se>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: make ops a pointer in 'struct snd_soc_dai' + factor out
Considering the fact that most cpu_dai or codec_dai are using a same
'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better
made a pointer instead, to make sharing easier and code a bit cleaner.
The patch below is rather preliminary since the asoc tree is being
actively developed, and this touches almost every piece of code,
(and possibly many others in development need to be changed as
well). Building of all codecs are OK, yet to every SoC, I didn't test
that.
Mark Brown: Merge Eric Maio's patch to merge snd_soc_dai_ops out of line.
Fixed merge issues and updated drivers, plus an issue with the ops for
the two s3c2443 AC97 DAIs having been merged.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Audio for the Samsung S3C24XX chips

- sound: ASoC: Fix L3 bus handling in Kconfig
It has no external dependencies but needs to be selected for L3 based
codecs to work.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Convert WM8753 to register via normal device probe
The base support for the only in-tree user, the GTA01, is out of tree
and will be updated separately.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix copyright statements on Simtec files
Fix the copyright statements in two of the S3C24XX ASoC files
that have (c) when we require the full word.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: S3C24XX: Move and update IIS headers
Move the IIS headers to their correct place.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: S3C: Move <mach/audio.h> to <plat/audio.h>
The <mach/audio.h> file needs to be common to both ARCH_S3C2410 and
ARCH_S3C64XX as they share common driver code, so move it to <plat/audio.h>.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add JIVE audio support
Add support for the Jive's WM8750 codec attached via the S3C2412 IIS.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Split s3c2412-i2s.c into core and SoC specific parts
The S3C2412 I2S (IIS) interface is replicated on further Samsung SoC
parts in a broadly compatible way, so split the common code out into
a core called s3c-i2s-v2.[ch] so that the newer SoCs such as the
S3C6410 can make use of it.
As such, all the original s3c2412 functions are currently being left
with their original names, and will be renamed later in the series.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add s3c64xx-i2s support
Add the initial code to support the S3C64XX I2S hardware using the
s3c-i2s-v2 core code.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Select DMA if I2S is configured
Select the relevant DMA implementation when the
sound driver is selected.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Refresh JIVE driver
Remove uneeded startup callback and use snd_soc_dapm_nc_pin()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Update Kconfig for Samsung CPUs to reflect S3C64xx support
We now support the 64xx series as well as the 24xx series - make sure
people using Kconfig know this.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Re-remove hand-rolled pr_debug() macros
The recent set of S3C64xx patches re-added a lot of uses of DBG() that
had previously been removed - revert this so the standard pr_debug()
macro is used.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix logging severity for some S3C error messages
Upgrade the severity of some failure messages from debug level so
they're displayed by default.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix Kconfig dependency of CONFIG_SND_S3C24XX_SOC_JIVE_WM8750
Remove a non-existing Kconfig CONFIG_SND_SOC_WM8750_SPI.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix formats for s3c24xx-i2s register prints
The register values are all u32 so don't need the long format.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix some missing dai_ops conversions
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Disable S3C64xx support in Kconfig
Due to the process and communications issues with the 2.6.30 S3C
platform merges none of the underlying arch/arm code for S3C64xx audio
support made it into mainline, rendering the drivers useless. Disable
them in Kconfig to avoid user confusion - users patching in the required
support can always reenable this too.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix jive_wm8750.c build problems
Fix build errors in sound/soc/s3c24xx/jive_wm8750.c
from changes to ASoC.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
The definition of s3c_i2sv2_iis_calc_rate was never
renamed from s3c2412_iis_calc_rate, so rename this
to allow the build to work.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
Fix the build error in s3c-i2s-v2.c caused by
a change to the snd_soc_dai ops field.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix include build error in s3c2412-i2s.c
Fix accidental change of <mach/regs-gpio.h> to
<plat/regs-gpio.h> in s3c2412-i2s.c
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: s3c-i2s-v2 needs to declare a license for modular builds
It relies on EXPORT_SYMBOL_GPL() symbols.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Blackfin

- sound: ASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 code
- make sport number handling more dynamic as not all
Blackfins have a linear sport map starting at 0
- indexes can be macroed away too
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: drop unnecessary dma casts
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: count reaches 10001, not 10000.
With a postfix increment count reaches 10001, not 10000.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: move gpio_err behind the define that is only user of it
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- trivial: fix typos/grammar errors in Kconfig texts
Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>

SoC Codec AC97

- sound: ASoC: fixes to caching implementations
This patch takes fixes a number of bugs in the caching code used by
several ASoC codec drivers. Mostly off-by-one fixes.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Push the codec runtime storage into the card structure
This is a further stage on the road to refactoring away the ASoC
platform device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec AD1980

- sound: ASoC: fixes to caching implementations
This patch takes fixes a number of bugs in the caching code used by
several ASoC codec drivers. Mostly off-by-one fixes.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Push the codec runtime storage into the card structure
This is a further stage on the road to refactoring away the ASoC
platform device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec AD73311

- ALSA: ASoC: Push the codec runtime storage into the card structure
This is a further stage on the road to refactoring away the ASoC
platform device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: fix typo in MUTE definition
Reported-by: Rob Maris <maris.rob@vdi.de>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec AK4104

- sound: ASoC: Add a driver for AK4104 S/PDIF transmitter
This adds a driver for the SPI connected AK4104 S/PDIF transmitter
device. Its features are fairly simple, but as there is need to set up
certain bits in the IEC958 information, this better goes into a real
driver.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec AK4535

- ASoC: Fix null dereference in ak4535_remove()
ak4535_remove() from sound/soc/codecs/ak4535.c calls
i2c_unregister_device() with a possibly null pointer.
This bug was found by smatch (http://repo.or.cz/w/smatch.git/).
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec CS4270

- sound: ASoC: remove stand-alone mode support from CS4270 codec driver
The CS4270 supports stand-alone mode, where the codec is not connect to the
I2C or SPI buses. Instead, input voltages configure the codec at power-on.
The CS4270 ASoC device driver has partial support for this mode, but the
code was never tested, and partial support doesn't help anyone. It also made
the rest of the code more complicated than necessary.
[Removed redundant CS4270 dependency on I2C -- broonie]
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Include header file in cs4270 and wm9705
Ensures that the DAI and socdev exported by the codec match up with
their exported prototype.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: improve I2C initialization code in CS4270 driver
Further improvements in the I2C initialization sequence of the CS4270 driver.
All ASoC initialization is now done in the I2C probe function.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: fix initialization order of the CS4270 codec driver
ASoC codec drivers typically serve two masters: the I2C bus and ASoC itself.
When a codec driver registers with ASoC, a probe function is called. Most
codec drivers call ASoC first, and then register with the I2C bus in the ASoC
probe function.
However, in order to support multiple codecs on one board, it's easier if the
codec driver is probed via the I2C bus first. This is because the call to
i2c_add_driver() can result in the I2C probe function being called multiple
times - once for each codec. In the current design, the driver registers
once with ASoC, and in the ASoC probe function, it calls i2c_add_driver().
The results in the I2C probe function being called multiple times before the
driver can register with ASoC again.
The new design has the driver call i2c_add_driver() first. In the I2C probe
function, the driver registers with ASoC. This allows the ASoC probe function
to be called once per I2C device.
Also add code to check if the I2C probe function is called more than once,
since that is not supported with the current ASoC design.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: fix documentation in CS4270 codec driver
Spruce up the documentation in the CS4270 codec. Use kerneldoc where
appropriate. Fix incorrect comments.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: fix build break in CS4270 codec driver
Fix a oversight in the CS4270 codec driver that caused a build break.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: fix message display in CS4270 codec driver
Replace printk calls with dev_xxx calls. Set the 'dev' field of the codec
and codec_dai structures so that these calls work.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: add additional controls to the CS4270 codec driver
Update the CS4270 codec driver to allow applications to use the mixer to
control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute.
Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first
initializes the hardware, but these features either don't work or interfere
with normal ALSA behavior. However, they can now be re-enabled by an
application if desired.
Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute
bits. The driver previously and erroneously assumed that these bits
control only external muting circuitry, but they also control internal
muting circuitry, so they should always be used.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add cs4270 support for slave mode configurations
Added support for scenarios where the Cirrus CS4270 audio codec is slave
to the bitclk and lrclk. Mixed setups are unsupported.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: fix typo and removed unneeded switch case for cs4270
This removes a misspelled comment and got rid of superfluous switch
case.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: bring cs4270 feature/limitations list in sync
Removes numbers from the list of features/limitations and makes it
reflect recent changes to the code.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.
The drivers are basically duplicating the same code over and over.
As snd_soc_cnew is going to be made static some time after the next
merge window, we might as well convert them now.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec Philips UDA1380

- sound: ASoC: Don't unconditionally use the PLL in UDA1380
Without this fix driver switches to WSPLL in uda1380_pcm_prepare
even if SYSCLK was chosen (uda1380_pcm_prepare modifies UDA1380_CLK
register to disable R00_DAC_CLK before flushing reg cache)
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variants
This patch splits set_dai_fmt into three variants (single interface,
dual interface playback only, dual interface capture only) so that
data input and output formats can be configured separately for dual
interface setups.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Tested-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove version display from the UDA1380 driver
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: UDA1380: change decimator/interpolator register handling
If the UDA1380's interpolator or decimator are set to be clocked from
the WSPLL (which syncs to the WSI signal), the DAI link must be running
to change the interpolator/decimator registers (which include volume
controls and digital mute setting).
* Queue work in the alsa PCM_START .trigger to flush registers
as soon as the link is running. This replaces the .prepare
and .digital_mute callbacks.
* Use the SILENCE override instead of MTM for muting and remove
its alsa control to avoid confusion.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: UDA1380: DATAI is slave only
Only allow SND_SOC_DAIFMT_CBS_CFS for the playback DAI.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec TLV320AIC26

- sound: ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.
The drivers are basically duplicating the same code over and over.
As snd_soc_cnew is going to be made static some time after the next
merge window, we might as well convert them now.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec TLV320AIC3X

- sound: ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callback
Function snd_soc_dapm_put_volsw_aic3x misuses the kcontrol's private value
by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it
as a pointer into struct soc_mixer_control after the commit
4eaa9819dc08d7bfd1065ce530e31b18a119dcaf.
This was causing arbitrary register writes when touching the controls
defined with SOC_DAPM_SINGLE_AIC3X.
Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TLV320AIC3X: Fix volume ranges
This is a minor fix but helps to define dB ranges for volume controls.
Only DAC digital volume has full register value range from 0 to 127 but
ADC PGA gain and output stage volume controls don't.
For ADC PGA, maximum value is 119 and then it saturates to the same
gain value of 59.5 dB. For output stages, value 117 corresponds to -78.3 dB
and is muted for values 118 and above.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TLV320AIC3X: Add TLV information for volume controls
TLV320AIC3X volume controls are logarithmic. Export their dB ranges.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec TWL4030

- sound: ASoC: fixes to caching implementations
This patch takes fixes a number of bugs in the caching code used by
several ASoC codec drivers. Mostly off-by-one fixes.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Syncronize the reg_cache for ANAMICL after the offset cancelation
The offset cancelation bit in ANAMICL register is self cleanig.
Make sure that the reg_cache holds the same value as the HW
register.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Code clean up for codec power up and down
Merge the codec up and down functions to a simple one.
Codec is powered down by default (reg_cache change).
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Enable Headset Left anti-pop/bias ramp only if the Headset Left is in use
The Headset Left anti-pop and bias ramp does not need to be
enabled, if the headset is not in use.
Move the code to DAPM event handler for HeadsetL.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Physical ADC and amplifier power switch change
Change the power switches for the physical ADC and for the
amplifiers for the analog capture path to map more closely
the actual path inside of the codec.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Move the twl4030_power_up and _power_down function
Move the twl4030_power_up and twl4030_power_down function
earlier to facilitate the analog bypass implementation.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: TWL4030: Add analog loopback support
This patch adds the analog loopback/bypass support for twl4030 codec.
Details for the implementation:
It seams that the analog loopback needs the DAC powered on on the channel,
where the loopback is selected. The switch for the DACs has been moved from
the DAPM_DAC to the "Analog XX Playback Mixer". In this way the DAC will be
powered while the audio playback is used or/and the loopback is enabled for
the channel.
The twl4030 codec powering has been reworked. Now the codec will be powered as
long as it does not receives the SND_SOC_BIAS_OFF event. The exceptions are
when the given change in the registers needs the codec power down/up cycle in
order to take effect. Otherwise the codec is on.
When the codec enters to STANDBY state and none of the loopback paths are
enabled, than the amplifiers, which are no in the DAPM path are forced to turn
off and the PLL is disabled. When playback/capture starts the disabled gains
are restored and the PLL is enabled.
When one of the loopback enabled in STANDBY mode, the disabled gains are
restored and the PLL is enabled also.
In short: the codec always goes to the lowest power state based on the
bias_level and the bypass_state.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Add digital loopback support
This patch adds the digital loopback/bypass support for twl4030 codec.
The digital loopback will let the digimic0 (routed in the TX1 capture path
inside of TWL4030) data to be routed back to the RX2 playback path
(I2S stereo). It can also route the analog capture date routed through the
TX1 back to RX2.
Effectively the digital loopback is routing the audio from the TX1 capture path
to the RX2 playback path.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Make the HS ramp delay configurable
Enum type for selecting the desired ramp delay for the headset output.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: twl4030 - Fix build error
CC sound/soc/codecs/twl4030.o
sound/soc/codecs/twl4030.c:1400: warning: braces around scalar initializer
sound/soc/codecs/twl4030.c:1400: warning: (near initialization for 'twl4030_dai.ops')
sound/soc/codecs/twl4030.c:1401: error: field name not in record or union initializer
sound/soc/codecs/twl4030.c:1401: error: (near initialization for 'twl4030_dai.ops')
sound/soc/codecs/twl4030.c:1401: warning: initialization from incompatible pointer type
sound/soc/codecs/twl4030.c:1402: error: field name not in record or union initializer
sound/soc/codecs/twl4030.c:1402: error: (near initialization for 'twl4030_dai.ops')
sound/soc/codecs/twl4030.c:1402: warning: excess elements in scalar initializer
sound/soc/codecs/twl4030.c:1402: warning: (near initialization for 'twl4030_dai.ops')
sound/soc/codecs/twl4030.c:1403: error: field name not in record or union initializer
sound/soc/codecs/twl4030.c:1403: error: (near initialization for 'twl4030_dai.ops')
sound/soc/codecs/twl4030.c:1403: warning: excess elements in scalar initializer
sound/soc/codecs/twl4030.c:1403: warning: (near initialization for 'twl4030_dai.ops')
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: 96KHz playback support
TWL4030 supports 96KHz sample playback, but only playback.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: TWL4030: Add constrains for second stream
In case of duplex mode (capture and playback at the same time), the second
stream has to have the same parameters (rate, sample size) as the already
running stream.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: TWL4030: Add actual support for 96KHz playback support
Adds the needed code to be able to use 96KHz playback.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: TWL4030: Compillation error fix
Fix for compillation error introduced by the constrain patch.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec WM8350

- ALSA: ASoC: email - update email addresses.
This just updates my email address on some drivers I'd forgotten in a
previous patch.
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8400

- sound: ASoC: Add initial driver for the WM8400 CODEC
The WM8400 is a highly integrated audio CODEC and power management unit
intended for mobile multimedia application. This driver supports the
primary audio CODEC features, including:
- 1W speaker driver
- Fully differential headphone output
- Up to 4 differential microphone inputs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls.
The drivers are basically duplicating the same code over and over.
As snd_soc_cnew is going to be made static some time after the next
merge window, we might as well convert them now.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Further optimise WM8400 bias configuration sequence
The active discharge does not bring sufficient benefit to justify the
lengthy times involved so don't do that.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add separate AVDD for WM8400
There is an AVDD supply as well, normally one or more of the other
upplies would be tied to it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add FLL support for WM8400
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8510

- sound: ASoC: wm8510 pll settings
When setting WM8510_MCLKDIV the pll was turned off.
When setting pll frequency you got twice the expected freq, because
the code calculated with postscaler of 8, but the hardware divide by 4.
Signed-off-by: Jonas Andersson <jonas@microbit.se>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8580

- sound: ASoC: fixes to caching implementations
This patch takes fixes a number of bugs in the caching code used by
several ASoC codec drivers. Mostly off-by-one fixes.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove version display from WM8580 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Move WM8580 to normal I2C device probe
Refactor the WM8580 device registration to probe via standard I2C device
registration, registering the DAIs once the device has probed via I2C.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Fix offset of freqmode in WM8580 PLL configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
- ASoC: Fix WM8580 volume update handling for large register changes
The driver is out of sync with the core functions it is using.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec WM8731

- sound: ASoC: Remove version display from the WM8731 driver
It makes boot a bit more noisy and I never remember to update it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Clean up WM8731 bias level configuration
The WM8731 bias level configuration function was written slightly
obscurely - streamline the code a little and refresh the comments.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Shuffle WM8731 SPI and I2C device registration
This is a pure code motion patch intended to improve reviewability of a
following patch moving WM8731 to use more standard device registration.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Refactor WM8731 device registration
Move the WM8731 driver to use a more standard device registration
scheme where the device can be registered independantly of the ASoC
probe.
As a transition measure push the current manual code for registering
the WM8731 into the individual machine driver probes. This allows
separate patches to update the relevant architecture files with less
risk of merge issues.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Implement SPI device unregistration for WM8731
Completely untested.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Check for errors when writing WM8731 reset register
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Disable WM8731 line bypass by default
This avoids temporarily enabling the ouput stages during startup which
can cause audible effets in the output stages.
Reported-by: Fredrik Redgård <rik@svep.se>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8753

- ASoC: Fix null string usage with WM8753 DAIs
The WM8753 driver multiplexes the DAI structures it exposes to the
outside world, leaving them uninitialised until the codec probes. Since
the DAI name is used during the registration and setup process provide a
dummy name.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Fix WM8753 DAIs unregistering
WM8753 uses a tricky way to switch DAIs "on the fly", for that it
registers 2 dummy DAIs and substitutes them depending on mixer control.
List element of registered dummy DAIs should be preserved to allow
unregistering of DAIs on module unload.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove version display from the WM8753 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Report I/O errors from WM8753 reset
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Only unregister drivers we registered for WM8753
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Shuffle WM8753 device registration code
This patch should be pure code motion, separating that out from the
functional changes to move to new style device registration.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Convert WM8753 to register via normal device probe
The base support for the only in-tree user, the GTA01, is out of tree
and will be updated separately.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Only write back non-default registers when resuming WM8753
This will reduce the number of writes done on resume, allowing that to
complete faster (especially on systems with very slow I2C like the
current Samsung driver).
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: wm8753 - Fix build error
sound/soc/codecs/wm8753.c: In function 'wm8753_probe':
sound/soc/codecs/wm8753.c:1577: error: implicit declaration of function 'wm8753_add_controls'
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove unneeded forward reference to WM8753 SPI implementation
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8900

- sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8903

- sound: ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8990

- sound: ASoC: WM8990: Fix kcontrol's private value use in put callback
Function wm899x_outpga_put_volsw_vu misuses the kcontrol's private value
by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it
as a pointer into struct soc_mixer_control after the commit
4eaa9819dc08d7bfd1065ce530e31b18a119dcaf.
This is very similar fix than fix to TLV320AIC3X codec made by
Eero Nurkkala <ext-eero.nurkkala@nokia.com>. This fix is compile tested
only.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM9705

- sound: ASoC: Fix WM9705 capture switch name
This patch fixes the acpture switch name so that it better reflects its
purpose.
Signed-off-by: Ian Molton <iann@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Include header file in cs4270 and wm9705
Ensures that the DAI and socdev exported by the codec match up with
their exported prototype.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Implement suspend and resume operations for WM9705
Without this the WM9705 driver fails badly when resuming.
Tested-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix warning in wm9705
I notice that the fixes were merged, minus one:
sound/soc/codecs/wm9705.c: At top level:
sound/soc/codecs/wm9705.c:445: warning: initialization from incompatible pointer type
so you might find this trivial patch useful.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec WM9713

- sound: ASoC: Ignore output frequency for WM9713 PLL
The WM9713 driver does not support configuring the PLL output frequency
so the output frequency parameter is irrelevant. Allow users to set it
to zero by ignoring it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Improve WM9713 voice DAC shutdown procedure
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC DaVinci

- sound: ASoC: Fix DaVinci module unload error
Fix for the error when the audio module is unloaded. On unregistering
the platform_device, platform_device_release will free the platform
data.If platform data is static the kernel panics when it is freed.
Instead use the platform device helper function to add data.
This change has been tested on DM644x EVM, DM644x SFFSDR and DM355 EVM.
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Davinci: Fix incorrect machine type for SFFSDR board
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Davinci: Replaced DAI format RIGHT_J by DSP_B for SFFSDR
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Davinci: Updated sffsdr_hw_params() function to new format
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Dynamic Audio Power Management

- ASoC: Add missing comma to SND_SOC_DAPM_SWITCH_E in soc-dapm.h
Typo fix.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Add SND_SOC_DAPM_PIN_SWITCH controls for exposing DAPM pins
On some systems it is desirable for control for DAPM pins to be provided
to user space. This is the case with things like GSM modems which are
controlled primarily from user space, for example. Provide a helper which
exposes the state of a DAPM pin to user space for use in cases like this.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Factor out DAPM widget power check into separate function
Essentially simple code motion to facilitate refactoring of the power
decisions.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix memory allocation for snd_soc_dapm_switch names
snd_soc_dapm_switch ends up ends up in dapm_new_mixer() (since a switch
is a special case of a mixer with only one input) but this wasn't
correctly handled in the code.
Also fix the coding style for the switch below while we're here.
Reported-by: Joonyoung Shim <dofmind@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Freescale

- ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers
The Freescale MPC8610 driver was defining two SOC card (snd_soc_card)
structures, partially initializing each one, but registering only one of
them with ASoC.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules
Change the Kconfig and Makefile options for Freescale MPC8610 audio drivers
so that they can be compiled as modules, and simplify the Kconfig choices
so that only the platform is selected.
Also fix the naming of the driver files to conform to ALSA standards.
[Removed extraneous SND_SOC dependency -- broonie]
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: remove stand-alone mode support from CS4270 codec driver
The CS4270 supports stand-alone mode, where the codec is not connect to the
I2C or SPI buses. Instead, input voltages configure the codec at power-on.
The CS4270 ASoC device driver has partial support for this mode, but the
code was never tested, and partial support doesn't help anyone. It also made
the rest of the code more complicated than necessary.
[Removed redundant CS4270 dependency on I2C -- broonie]
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: optimize init sequence of Freescale MPC8610 sound drivers
In the Freescale MPC8610 sound drivers, relocate all code from the _prepare
functions into the corresponding _hw_params functions. These drivers assumed
that the sample size is known in the _prepare function and not in the
_hw_params function, but this is not true.
Move the code in fsl_dma_prepare() into fsl_dma_hw_param(). Create
fsl_ssi_hw_params() and move the code from fsl_ssi_prepare() into it.
Turn off snooping for DMA operations to/from I/O registers, since that's not
necessary.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: add support for SSI asynchronous mode to the Freescale SSI drivers
Add a new device tree property for the SSI node: "fsl,ssi-asynchronous". If
defined, the SSI is programmed into asynchronous mode, otherwise it is
programmed into synchronous mode. In asynchronous mode, pin SRCK must be
connected to the same clock source as STFS, and pin SRFS must be connected to
the same signal as STFS. Asynchronous mode allows playback and capture to
use different sample sizes. It also technically allows different sample rates,
but the driver does not support that.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Improve pause/unpause performance in Freescale 8610 drivers
Add support for true pause and unpause. Without this, mplayer will drop some
audio (less than one second, but still noticeable) when pausing playback.
Remove support for PM suspend and resume from the trigger function, since the
driver doesn't support PM anyway.
Optimize the delay after starting capture. Instead of delaying 1ms, the driver
now polls the hardware. The new delay is shorter by over 90% yet still
effective.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: remove trigger delay in Freescale MPC8610 sound driver
Remove the delay from the trigger function in the Freescale MPC8610 sound
driver when capture is started. This delay was used to ensure that the DMA
controller was active when ALSA call the .pointer function to request a
DMA transfer status. A better approach is for the .pointer function to detect
that DMA has not started, and return zero instead. This change eliminates
the need for the delay.
Also add some related code to check for a DMA programming error, and report
XRUN if it occurs.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: trim SSI sysfs statistics in Freescale MPC8610 sound drivers
Optimize the display of SSI statistics in the Freescale MPC8610 sound driver
to display the status count only of the interrupts that were actually enabled.
Previously, it would display the counts of all SISR status bits, even those
that were not enabled.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: fsl_dma: Pass the proper device for dma mapping routines
The driver should pass a device that specifies internal DMA ops, but
substream->pcm is just a logical device, and thus doesn't have arch-
specific dma callbacks, therefore following bug appears:
Freescale Synchronous Serial Interface (SSI) ASoC Driver
------------[ cut here ]------------
kernel BUG at arch/powerpc/include/asm/dma-mapping.h:237!
Oops: Exception in kernel mode, sig: 5 [#1]
...
NIP [c02259c4] snd_malloc_dev_pages+0x58/0xac
LR [c0225c74] snd_dma_alloc_pages+0xf8/0x108
Call Trace:
[df02bde0] [df02be2c] 0xdf02be2c (unreliable)
[df02bdf0] [c0225c74] snd_dma_alloc_pages+0xf8/0x108
[df02be10] [c023a100] fsl_dma_new+0x68/0x124
[df02be20] [c02342ac] soc_new_pcm+0x1bc/0x234
[df02bea0] [c02343dc] snd_soc_new_pcms+0xb8/0x148
[df02bed0] [c023824c] cs4270_probe+0x34/0x124
[df02bef0] [c0232fe8] snd_soc_instantiate_card+0x1a4/0x2f4
[df02bf20] [c0233164] snd_soc_instantiate_cards+0x2c/0x68
[df02bf30] [c0234704] snd_soc_register_platform+0x60/0x80
[df02bf50] [c03d5664] fsl_soc_platform_init+0x18/0x28
...
This patch fixes the issue by using card's device instead.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Add SNDRV_PCM_INFO_BATCH flag to some drivers
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that
really don't give the precise pointer value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Layer

- sound: ASoC: Fix spurious codec driver dependencies
Kbuild ignores dependency from things that are themselves selected so
ASoC machine drivers need to ensure that the control bus is being built.
This also avoids issues where multiple buses are supported by a given
codec.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix L3 bus handling in Kconfig
It has no external dependencies but needs to be selected for L3 based
codecs to work.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Push the codec runtime storage into the card structure
This is a further stage on the road to refactoring away the ASoC
platform device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Only register AC97 bus if it's not done already
ASoC supports both explicit codec drivers for AC97 devices and a simple
driver which uses the standard ALSA AC97 framework for codec support.
When used with the generic AC97 codec support that will provide the
ad hoc AC97 device for drivers like touchscreens to attach to so the
core shouldn't do so.
Reported-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: add additional controls to the CS4270 codec driver
Update the CS4270 codec driver to allow applications to use the mixer to
control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute.
Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first
initializes the hardware, but these features either don't work or interfere
with normal ALSA behavior. However, they can now be re-enabled by an
application if desired.
Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute
bits. The driver previously and erroneously assumed that these bits
control only external muting circuitry, but they also control internal
muting circuitry, so they should always be used.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add GPIO support for jack reporting interface
Add GPIO support to jack reporting framework in ASoC using gpiolib calls.
The gpio support exports two new functions: snd_soc_jack_add_gpios and
snd_soc_jack_free_gpios.
Client drivers using gpio feature must pass an array of jack_gpio pins
belonging to a specific jack to the snd_soc_jack_add_gpios function. The
framework will request the gpios, set the data direction and request irq.
The framework will update power status of related jack_pins when an event on
the gpio pins comes according to the reporting bits defined for each gpio.
All gpio resources allocated when adding jack_gpio pins can be released
using snd_soc_jack_free_gpios function.
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Staticise workqueue function for GPIO jack detection
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add a driver for AK4104 S/PDIF transmitter
This adds a driver for the SPI connected AK4104 S/PDIF transmitter
device. Its features are fairly simple, but as there is need to set up
certain bits in the IEC958 information, this better goes into a real
driver.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add initial driver for the WM8400 CODEC
The WM8400 is a highly integrated audio CODEC and power management unit
intended for mobile multimedia application. This driver supports the
primary audio CODEC features, including:
- 1W speaker driver
- Fully differential headphone output
- Up to 4 differential microphone inputs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: make ops a pointer in 'struct snd_soc_dai' + factor out
Considering the fact that most cpu_dai or codec_dai are using a same
'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better
made a pointer instead, to make sharing easier and code a bit cleaner.
The patch below is rather preliminary since the asoc tree is being
actively developed, and this touches almost every piece of code,
(and possibly many others in development need to be changed as
well). Building of all codecs are OK, yet to every SoC, I didn't test
that.
Mark Brown: Merge Eric Maio's patch to merge snd_soc_dai_ops out of line.
Fixed merge issues and updated drivers, plus an issue with the ops for
the two s3c2443 AC97 DAIs having been merged.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Only deregister AC97 dev if it's name was not "AC97"
The commit 14fa43f53ff3a9c3d8b9662574b7369812a31a97 ("ASoC: Only
register AC97 bus if it's not done already") added a condition for
calling of soc_ac97_dev_register() but not added for calling of
soc_ac97_dev_unregister(). This patch adds same condition for
soc_ac97_dev_unregister(). Without this fix, kernel crashes when
unloading an asoc driver.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Don't defer resume work for AC97 codecs
AC97 devices may have other drivers hanging off them directly so need to
have resumed when the resume function returns meaning that we can't defer
the resume - complete it immediately for them. Non-AC97 devices should
not have other drivers hanging directly off the ASoC devices.
We only really need the deferral for non-AC97 devices - it's there since
some I2C buses are very slow and non-AC97 codecs often have large numbers
of registers to restore and require delays to bring the codec up cleanly
leading to a substantial impact on overall resume time.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Set parent for AC97 devices we register
Ensure that any AC97 devices that bind to the CODEC are below the
ASoC device in the device tree so the suspend and resume code can
figure out what order to handle them in.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC PXA2xx Corgi

- sound: ASoC: Fix forgotten replacements of socdev->codec
The snd_soc_codec was moved into socdev->card, but this change wasn't
applied in some places. Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix build for corgi and poodle
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h
pxa-regs.h and hardware.h are not intended for use directly in driver
code, remove those unnecessary references.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx E740

- sound: ASoC: machine support for Toshiba e740 PDA
This patch provides suupport for the wm9705 AC97 codec on the Toshiba e740.
Note:
The e740 has a hard headphone switch that turns the speaker off and is not
software detectable or controlable. Also both headphone and speaker amps
share a common output enable.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h
pxa-regs.h and hardware.h are not intended for use directly in driver
code and references to them have been removed in other code - remove
them from the newly added e740 and e750 machine drivers.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx E750

- sound: ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h
pxa-regs.h and hardware.h are not intended for use directly in driver
code and references to them have been removed in other code - remove
them from the newly added e740 and e750 machine drivers.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx E800/WM9712

- sound: ASoC: Fix merge with PXA tree
Fix a merge issue caused by context overlap.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx EM-X270

- [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h
pxa-regs.h and hardware.h are not intended for use directly in driver
code, remove those unnecessary references.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx MIOA701

- sound: ASoC: Add initial support of Mitac mioa701 device SoC.
This machine driver enables sound functions on Mitac mio
a701 smartphone. Build upon ASoC v1, it handles :
- rear speaker
- front speaker
- microphone
- GSM
A global "Mio Mode" switch is not yet provided to cope with
audio path setup. As balance on audio chip line is no more
assured, an incorrect setup can produce a lot of heat and
even fry the battery behind the wm9713 and the speaker
amplifier.
It doesn't cope with :
- headset jack
- mio master mode
- master volume control
This driver is backported from ASoc v2, and amputated from
scenario setups and master volume control.
[Minor mods for terminology in comments -- broonie]
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx Palm T|X

- [ARM] pxa/palm27x: General fix for Palm27x aSoC driver
Firstly, this patch makes the palm27x asoc driver a little more sane. Also,
since all affected devices use GPIO95 as AC97_nRESET, this patch sets that
properly. Affected are PalmT5, TX and LifeDrive.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>

SoC PXA2xx Poodle

- sound: ASoC: Fix build for corgi and poodle
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h
pxa-regs.h and hardware.h are not intended for use directly in driver
code, remove those unnecessary references.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx Zylonite

- sound: ASoC: Implement support for CLK_POUT as MCLK on Zylonite
The Zylonite supports switching the MCLK for the WM9713 between the
AC97CLK and CLK_POUT outputs of the PXA processor via switch SW15 on
the board. This patch adds support for configuring the system to use
CLK_POUT.
Unfortunately it is not possible to read the state of SW15 from software
so this feature is controlled by a module option 'clk_pout' which should
be set to a non-zero value to enable the use of CLK_POUT.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Configure SSP port PLL for Zylonite
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Implement support for CLK_POUT as MCLK on Zylonite
The Zylonite supports switching the MCLK for the WM9713 between the
AC97CLK and CLK_POUT outputs of the PXA processor via switch SW15 on
the board. This patch adds support for configuring the system to use
CLK_POUT.
Unfortunately it is not possible to read the state of SW15 from software
so this feature is controlled by a module option 'clk_pout' which should
be set to a non-zero value to enable the use of CLK_POUT.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Configure SSP port PLL for Zylonite
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix Zylonite voice interface stereo configurations
We always run in the first timeslot of one.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite
For consistency with 24-bit and 32-bit modes, don't send 16-bit stereo
in one 32-bit transfer. Use 2 slots instead on Zylonite. It should result
in exactly the same behaviour.
Now it is possible to use 16-bit single slot transfers in pxa-ssp, which
are needed for Magician to get two frame clock pulses per sample
(one for each channel).
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Tested-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix Zylonite for non-networked SSP mode
This also simplifies the code a bit.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC S6000

- Add soc/s6000 build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SoC SH7760 AC97

- sound: ASoC: Fix some missing dai_ops conversions
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add SNDRV_PCM_INFO_BATCH flag to some drivers
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that
really don't give the precise pointer value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Texas Instruments OMAP

- ASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driver
This patch explicitly initializes McBSP Transmit Configuration
Control Register (XCCR) and Receive Configuration Control
Register (RCCR) to their reset values. Reset values are 26 ns
of DX delay and Transmit DMA disabled for XCCR register;
receive full cycle mode enabled and Receive DMA disabled for
RCCR register.
This patch requires a counterpart in OMAP McBSP driver before
to apply it. The required changes in McBSP were sent and approved
in linux-omap mailing list and patch is going upstream
(commit 3127f8f8595a064b3f1a1837fea2177902589ac3 from linux-omap-2.6
tree).
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
[ jarkko.nikula@nokia.com: Commit id for counterpart patch corrected ]
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Complete Beagleboard support
Commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 in the asoc tree
did not include the necessary Kconfig and Makefile changes. This patch
completes the support for Beagleboard
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix spurious codec driver dependencies
Kbuild ignores dependency from things that are themselves selected so
ASoC machine drivers need to ensure that the control bus is being built.
This also avoids issues where multiple buses are supported by a given
codec.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- OMAP: ASoC: Fix spinlock misuse in omap-pcm.c
omap_pcm_trigger is called also in interrupt context so CPU flags must
be restored when returning.
Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Update OMAP3 pandora board file
Update pandora board file for recent TWL4030 codec changes.
Also move output related snd_soc_dapm_nc_pin() calls to
omap3pandora_out_init(), where they belong.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Update SDP3430 machine driver for snd_soc_card
This patch replaces "snd_soc_machine" structure by "snd_soc_card" in
SP3430 driver. This change is needed in SDP3430 driver to reflect
changes introduced by "ASoC: Rename snd_soc_card to snd_soc_machine" patch
(875065491fba8eb13219f16c36e79a6fb4e15c68).
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix forgotten replacements of socdev->codec
The snd_soc_codec was moved into socdev->card, but this change wasn't
applied in some places. Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add DAPM machine widgets to SDP3430 driver
Add DAPM machine domain widgets to SDP3430 machine driver.
Interconnection:
* Ext Mic: MAINMIC, SUBMIC
* Ext Spk: HFL, HFR
* Headset Jack: HSMIC, HSOL, HSOR
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add headset jack detection for SDP3430 machine driver
Add headset jack detection for SDP3430 boards using SoC jack
reporting interface. Headset detection on SDP3430 board is
achieved through TWL4030 GPIO_2 pin.
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: buildfix for OSK
Buildfix:
CC sound/soc/omap/osk5912.o
sound/soc/omap/osk5912.c: In function 'osk_soc_init':
sound/soc/omap/osk5912.c:189: error: implicit declaration of function 'clk_get_usecount'
make[3]: *** [sound/soc/omap/osk5912.o] Error 1
There's no such (standard) clock interface.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Move headset jack registration to device initialization for SDP3430
Move headset jack registration to the codec/machine specific
initialization. Having the jack registration in machine init
causes that the jack device gets initialized but not registered
since the sound card is registered before the jack. Moving jack
registration to device initialization will register the jack
device along with all other devices associated to the card when
the card is registed. As a consequence of jack device registered
properly, the jack is detected as an input device.
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: N810: Mark not connected input pins
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: N810: Add more jack functions
Add functions "Headset" and "Mic" to the control "Jack Function" for
activating and de-activating codec input pin LINE1L which is connected to
the mic pin of 4-pole Nokia AV connecter.
Note there is no mic bias voltage management here since bias is coming from
Nokia ASIC and driver for it is not in mainline.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Declare Headset as Mic and Headphone widgets for SDP3430
Headset was declared previously as a Headphone widget connecting
HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver.
The capture path becomes invalid as the Headphone widget is not a
valid input endpoint.
Instead of that, the Headset is declared as separate Microphone
and Headphone widgets. Current patch modifies audio map:
- Headset Mic: HSMIC with bias
- Headset Stereophone: HSOL, HSOR
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: Set minimum buffer size constraint for McBSP2 in OMAP3
McBSP2 in OMAP3 has 1 ksample (1k x 32 bit) internal FIFO. During
initial playback startup, this FIFO is keeping the DMA request active
until the FIFO is full.
So now if ALSA buffer size is smaller, DMA is looping around it while
filling up the HW FIFO, generating burst of interrupts as well and SW
doesn't have any change to fill enough data.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
The DSP format wasn't still correct in OMAP McBSP DAI even after the commit
bd25867a6cbe7a00ef7dbe8d9ddebc91b00b9b3f.
Thanks to Peter Ujfalusi <peter.ujfalusi@nokia.com> for noticing and being
part of the fix. Now the FS length definition is more clear by defining
it with FWID(0).
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
Using inverted FS polarity in OSK5912 must be an error since TLV320AIC23
do not have support for inverted polarities. This is mostly due the hassle
with the DSP formats in OMAP McBSP DAI and inversion on OMAP side probably
just made this configuration working at some point.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: OMAP: Update contact addresses
My email address is going to expire soon so update it. Adding also
Peter Ujfalusi <peter.ujfalusi@nokia.com> as a second contact to OMAP core
drivers since I won't have anymore access to non-public OMAP documentation
in the future and Peter is working with these drivers as well.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Soc PXA2xx Magician

- ASoC: Add Magician machine support
HTC Magician has a Philips UDA1380 codec connected via
SSP1 (playback) and I2S (capture).
There is a flip-flop between the SSP frame clock output
and the codec's word select input pin. To make the codec
see proper I2S input, the SSP has to send two frames per
sample.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SonicVibes driver

- dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Sound Scape driver

- ALSA: sscape: use common MPU401 macros
Remove local macros which redefines the
common ones.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sscape: drop redundant fields from soundscape struct
The wss_base is disuised parameter for one function.
It is converted to function parameter.
The code_type is only set but never read.
It is removed.
The midi_vol is set only to 0 so it does not work
as detection of change in midi volume. It is fixed.
The xport variable is alias to the port[dev]. Use
the port[dev] directly to increase readability.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoundFont

- ALSA: Use define for ioctl definitions
Use define instead of enum for ioctl definitions since strace can't
parse ioctls defined via enum properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

TEA575x tuner

- Compilation fixes for latest alsa-kmirror - procfs & tea575x-tuner
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- tea57xx: try to resolved compilation problems for 2.6.27 kernels
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

Trident driver

- dma-mapping: replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)
Replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

UDA1341

- ALSA: drop outdated and broken sa11xx-uda1341 driver
It depends on L3 support from 2.4 kernel (CONFIG_L3) that never got
merged into mainline. Since there's no way to use it on any of
supported machines (iPaq h3100 or h3600), better drop it for now.
It can be reimplemented later using ASoC infrastructure (there's
already a driver for uda1341 codec in mainline, so only CPU and machine
parts need to be written).
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

USB USX2Y

- ALSA: usb - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/usb/usx2y: fix sparse warning: Should it be static?
Impact: Move declaration to header file.
Fix this sparse warning:
sound/usb/usx2y/usx2yhwdeppcm.c:739:5: warning: symbol 'usX2Y_hwdep_pcm_new' was not declared. Should it be static?
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/usb/usx2y: fix sparse warning: do-while statement is not a compound ...
Fix this sparse warning:
sound/usb/usx2y/usbusx2y.c:231:33: warning: do-while statement is not a compound statement
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/usb: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: us122l: Fix signedness in comparisions
Within 2.6.30's mergewindow, struct urb's transfer_buffer_length has become
unsigned. This changed an "int > int" comparision to an "unsigned > int" one
in snd_usb_122l.
Fix this by using a local int variable instead of urb->transfer_buffer_length
in comparisions.
Shorten playback_prep_freqn() a bit and tweak error-paths in
usb_stream_prepare_playback().
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: us122l: add snd_us122l_free()
Use it to clean up snd_us122l_card_used[].
Without patch unplugging of an US122L soundcard didn't reset the
corresponding element of snd_us122l_card_used[] to 0.
The (SNDRV_CARDS + 1)th plugging in did not result in creating the soundcard
device anymore.
Index values supplied with the modprobe command line were not used correctly
anymore after the first unplugging of an US122L.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>

USB caiaq

- Rename usb/caiaq/* files
The prefix "caiaq-" is removed from all files there in the kernel tree.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-usb-caiaq: Send the correct command when setting controls
Fixes a bug where an incorrect command was sent which had no effect on the
device.
Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: Set default input mode of A4DJ
Do not start the device with input mode undefined. Mimic the behaviour of
the Audio 8 DJ and start in phono input mode.
Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: Do not expose hardware input mode 0 of A4DJ
In the context of the Audio 4 DJ (when compared to Audio 8 DJ), hardware
input mode 0 is not used. Expose modes 1 (line) and 2 (phono) to the user
as modes 0 and 1 respectively.
Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: Remove duplicate A8DJ control
Remove a duplicate control which causes an error when it is registered,
and causes later controls to not be registered. The device does not have
a fourth ground lift control.
Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: Increase version number to 1.3.12
Indicates fixes affecting control messages and switching of input mode
on Audio 8 DJ and Audio 4 DJ.
Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: only warn once on streaming errors
Limit the number of printed warnings to one in case of streaming errors.
printk() happens to be expensive, especially in code called as often as
here.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: drop bogus iso packets
Drop inbound packets that are smaller than expected. This has been
observed at the very beginning of the streaming transaction.
And when the hardware is in panic mode (which can only very rarely
happen in case of massive EMI chaos), mute the input channels.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Tested-by: Mark Hills <mark@pogo.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: bump version number
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: clean up header includes
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes
Cleanup only, no functional change.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-usb-caiaq: fix reported elapsed periods
Reset the internal period position counter upon stream startup. This
fixes initial aplay underruns and problems related to latency picky
applications such as pulseaudio.
Bumped the version number to 1.3.14.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

USB generic driver

- regenerate usbaudio.patch
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- regenerate usbaudio.patch
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: use normal number of frames for no-data URBs
When sending a silence URB (before playback has started, or when it is
paused), use the number of frames that would be normally sent instead of
a single frame so that the rate at which completion interrupts arrive is
consistent.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: limit playback queue length
Once our URBs contain enough packets, queueing more URBs does not give
us any additional underrun protection (as we use double-buffering) but
just increases latency unnecessarily. Therefore, we try to limit the
queue length to some reasonable value.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: make URB sizes more equal
Distribute the packets evenly among the URBs, instead of making all URBs
except the last one to have the maximum size. This makes the timing of
pointer updates more regular and removes some special cases from the
code.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: usbaudio - use printf format instead of hardcoding it
Rather use printf format instead of hardcoding prefix like 0x.
A next step would be to predefine certain formats.
Signed-off-by: Andreas Bergmeier <lcid-fire@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices
For audio devices that do not have proper audio descriptors (e.g.,
Edirol UA-20), we use hardcoded parameters from our quirks list.
However, we must still read the maximum packet size from the standard
endpoint descriptor; otherwise, we might use packets that are too big
and therefore rejected by the USB core.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
- ALSA: usb - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces
Fix the snd_usbmidi_create_endpoints_midiman() function, which forgot to
set the out_interval member of the endpoint info structure for Midiman/
M-Audio devices. Since kernel 2.6.24, any non-zero value makes the
driver use interrupt transfers instead of bulk transfers. With EHCI
controllers, these random interval values result in unbearably large
latencies for output MIDI transfers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-by: David <devurandom@foobox.com>
Tested-by: David <devurandom@foobox.com>
Cc: <stable@kernel.org>
- sound: usb-audio: remove MIN_PACKS_URB
Remove the MIN_PACKS_URB symbol because other limits can force the
number of packets down to one, regardless of the value of this symbol,
and nobody has ever changed it anyway.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: fix rules check for 32-channel devices
When storing the channel numbers used by a format, and if the device
happens to support 32 channels, the code would try to store 1<<32 in
a 32-bit value.
Since no valid format can have zero channels, we can use 1<<(channels-1)
instead of 1<<channels so that all the channel numbers that we test for
fit into 32 bits.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: fix queue length check for high speed devices
When checking for the maximum queue length, we have to take into account
that MAX_QUEUE is measured in milliseconds (i.e., frames) while the unit
of urb_packs is whatever data packet interval the device uses (possibly
less than one frame when using high speed devices).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: usb-audio - Fix non-continuous rate detection
The detection of non-continuous rates (given via rate tables) isn't
processed properly (e.g. for type II).
This patch fixes and simplifies the detection code.
Tested-by: Joris van Rantwijk <jorispubl@xs4all.nl>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: usb-audio - Workaround for misdetected sample rate with CM6207
The CM6207 incorrectly advertises its 96 kHz playback setting as 48 kHz
in its USB device descriptor. This patch extends an existing workaround
in usbaudio.c to also cover the CM6207.
This resolves issue 0004249 in the ALSA bug tracker.
Signed-off-by: Joris van Rantwijk <jorispubl@xs4all.nl>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: usb-audio: show sample format width in proc file
When listing the device's sample formats in the stream? proc file, the
sample format number itself is rather obscure, so we better show the
format width, too.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: remove check_hw_params_convention()
This removes the check_hw_params_convention() function because
1) it is not necessary, as the hw_rule_* functions also work correctly
(i.e., as no-ops) when the device supports all combinations of the
audio format parameters; and
2) it would become too complex when adding a fourth altsetting-dependent
hardware parameter, as this would require another three loops to
check dependecies with rate/channels/format.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: save data packet interval in audioformat structure
The data packet interval needs to be available in the audioformat
structure, together with the other audio format parameters, so that it
can be used to influence ALSA hardware parameters.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: usb-audio: allow period sizes less than 1 ms
To enable periods shorter than 1 ms, we have to make sure that short
periods are only available for alternate settings that have a small
enough data packet interval. Furthermore, the code that aligns URBs to
USB frames is now superfluous.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

Utils

- alsa-info.sh: use mktemp to make temporary directory and files (security issue)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- setup-alsa-kernel: Add symlink to $KERNEL/scripts directory
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- mod-deps: fix handling of SND_VERBOSE_PROCFS/PRINTK symbols
Add the SND_VERBOSE_PROCFS/PRINTK symbols to the no_cards[] array to
prevent them from being handled as driver options which would break the
code that handles the --disable-verbose-procfs/printk configure options.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- alsa-info - Check process detection
- Add detection of jackd
- Fix the process detection
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsa-info - Fix typos
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsa-info - Refactoring
- Use trap to clean up the tempdir
- Code reorganization, clean up to get things more stright
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix DocBook location in setup-alsa-kernel script
The kernel-doc are moved to Documentation/DocBook, so we need to fix
the script to adapt that movement.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Handle the beginning 8 spaces as tab in mod-deps
This fixes the parser bug for CONFIG_SND_MPU401_UART dependency.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add HD-audio sysfs contents to alsa-info output
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- adriver.h: add missing DMA_BIT_MASK macro definition
also update 'insert hda' script
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Modify a bit utils/insert script for hda
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsa-info.sh: add command-line flag to print alsa info to stdout
Add the --stdout command-line flag to allow displaying the collected alsa
information directly to standard output. This is useful for bug information
collecting systems, such as Ubuntu's apport.
Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsa-info.sh: use distros package manager to retrieve alsa library version
Move the alsa library version retrieval code into a new function,
get_alsa_library_version. This new function uses the original checking of the
alsa library header file for the version. If nothing is found, then move
onto using various distro package managers to get the alsa library version.
This commit takes care of checks for Ubuntu and Debian only, so other distro
developers/users will have to provide code for their distro.
Using the distro package manager to determine the alsa version is useful in
cases where information has been requested from a user who doesn't have
development files for the alsa library installed, as many distros don't install
such files by default.
Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

VIA82xx driver

- ALSA: via82xx - Clean up quirk list
Use SND_PCI_QUIRK_VENDOR() macro.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: via82xx: fix DXS volume range
With 5 bits and 1.5 dB per step, the DXS volume range is only 48 dB.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

Virtual Master

- ALSA: Add kernel-doc comments to vmaster stuff
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

WSS library

- ALSA: wss - Add missing KERN_* prefix to printk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection
cs4232 and cs4236 driver merge to solve PnP BIOS detection.
Also, the patch adds recognition if the chip is cs4236b+
or earlier part. This unifies drivers for both cs4232
and cs4236+ chips. It allows to use the PnP BIOS
detection for the cs4236+ chips. Previously, only
the snd-cs4232 could be detected by the PnP BIOS.
The cs4232+ cards reports two separate PnP BIOS ids.
The patch adds search for the second id to find out
resources assigned to a control port.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Wavefront drivers

- Regenerate wavefront_fx.patch
... to adapt the latest change regarding firmware.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: wavefront - Always use request_firmware()
Always use request_firmware() for loading yss225_registers image.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
- ALSA: sound/isa: use memdup_user()
Remove open-coded memdup_user().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

au88x0 driver

- ALSA: Fix missing KERN_* prefix to printk in sound/pci
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: au88x0 - Fix &&|| typo
Fixed a typo of || and &&.
As it's in a disabled code section, there is no behavior change, though.
Reported-by: Jörg-Volker Peetz <jvpeetz@web.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

alsa-lib

Core

- Fix build with softfloat option
Fix build of alsa-lib when --with-softfloat is used:
- disable ladspa plugin
- don't use sqrt() function
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Control API

- Change numid properly with external ctl plugins
So far, external ctl plugins don't change numid. Some apps expect the
non-zero numids with list, and the plugin doesn't work for them.
This patch adds a fake numid to each control based on the offset
number. The lookup with non-zero numid is supported but is pretty
inefficient. Eventually the plugin side may be optimized to look
at the numid, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Mixer API

- Fix build with softfloat option
Fix build of alsa-lib when --with-softfloat is used:
- disable ladspa plugin
- don't use sqrt() function
Signed-off-by: Takashi Iwai <tiwai@suse.de>

PCM API

- Fix plug conversion with mmap emulation
If the slave PCM supports only another type of interleaved format,
plug did convert it wrongly and resulted in an unused access type
error. For example, if a slave PCM supporst only RW_NONINTERLEAVE
access and you try to play an interleaved format file, it resulted
in an error.
This patch fixes the conversion rule.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- PCM parameters in file plugin
* added support for including pcm stream params in the output filename
* added support for piping the stream to a shell command if the filename
string starts with a pipe char
Signed-off-by: Pavel Hofman <pavel.hofman@insite.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix handling of revents in snd_pcm_poll_descriptors_revents()
The revents parameter is ambiguously defined whether it's a pointer
to a single event or an arary.
This patch defines the behavior of revents more strictly (in the
function description): it's a pointer of a single event.
Also fixed snd_pcm_wait_nocheck() to follow that rule.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix misc compile warnings
Shut up misc compile warnings from gcc:
pcm_plug.c: In function ‘snd_pcm_plug_change_mmap’:
pcm_plug.c:608: warning: enumeration value ‘SND_PCM_ACCESS_MMAP_INTERLEAVED’ not handled in switch
pcm_plug.c:608: warning: enumeration value ‘SND_PCM_ACCESS_MMAP_NONINTERLEAVED’ not handled in switch
pcm_plug.c:608: warning: enumeration value ‘SND_PCM_ACCESS_MMAP_COMPLEX’ not handled in switch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- fix pcm_set_params() documentation
The documentation for the latency parameter of pcm_set_params() says
that the value 0 uses an optimal value. This is wrong, as there is no
special handling for 0, and the result will be a buffer of minimal size.
Therefore, remove that incorrect statement.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- Change "%b" to represent bits instead of bytes in PCM file plugin
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- pcm_hw plugin: preserve monotonic flag also after snd_pcm_hw_params() call
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- pcm_hw plugin: show appl_ptr and hw_ptr in dump() callback
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- pcm: more better documentation for snd_pcm_poll_descriptors
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Sequencer API

- Fix typos in ALSA Lib documentation
Signed-off-by: Patricio Paez <pp@pp.com.mx>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Configuration

- Fix GUS.conf to be usable
Fix GUS.conf to work for default PCM.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remove own "default" PCM config from GUS.conf
The system-wide default PCM config works now (by the fix of plug
mmap_emul support), thus no card-specific hackish config is needed
for GUS.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add hint.device = 0 to pcm.default of HDA-Intel.conf
The hd-audio driver may have no analog stream but only a digital one
which has usually non-zero device number. To avoid the bogus namehint,
set hint.device 0 for pcm.default (it wasn't handled properly due to
asym).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- oxygen: remove softvol plugin
The change that removed the Master controls for Xonar D2(X) cards was
reverted, so we don't need to use the softvol plugin anymore ...
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- Add route_policy copy to HDA-Intel.conf for capture
Since some digital mics have the phase-inversion problem in one channel,
adding both channels for mono stream results in the noise.
Use route_policy copy to avoid that situation.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Kernel Headers

- Fix off_t in kernel struct
The off_t in kernel struct (for ioctls) is actually different from the
definition of user-space off_t. The kernel off_t is equial with long
while user-space off_t depends on the large-file support.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Simple Abstraction Mixer Modules

- Add missing -ldl to modules/mixer/simple/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsa-utils

Core

- Fix build with partially-installed alsa-lib
Fix build of alsa-utils package with a partially installed alsa-lib,
e.g. without ramwidi or sequencer support.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aplay/arecord: fix underrun/overrun time calculation for monotonic clock
Also, add librt check to configure.in.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALSA Control (alsactl)

- Use ANSI C functions
Replace non-ANSI C functions index() and rindex() with strchr() and
strrchr(), respectively.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsactl: init - modify default rule to better support some HDA codecs
Some HDA codecs have shifted dB range (-34.5dB - 12dB) for PCM and CD
inputs. Use default 0dB value for them.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Fix misc compile warnings in alsactl
alsactl.c:166: warning: assignment from incompatible pointer type
init_utils_string.c:21: warning: ‘string_is_true’ defined but not used
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsactl - Add missing -I option
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsactl/init: Fix CTL{value} assigning - make it relevant to documentation
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsactl: init rules - fix HDA Conexact codec PCM initialization
- alsactl: fix sysfsroot path and parser extensions
The sysfsroot path is /sys/class/sound/cardX/device for recent kernels.
The ACCESS check honors the variable substutition now. Added $config{key}
substitution.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsactl: changes in initialization files
- handle virtual master for T61 and TM8100
- when master volume control is available, initialize PCM & CD playback
volumes to 0dB
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsactl: add ca0106 initialization file
This file was created using alsa-info.sh database on www.alsa-project.org
without any real tests.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsactl: ca0106 initialization files - wrong exit
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Speaker Test

- speaker-test.c - add readability comments to speaker channels
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsaconf

- alsaconf - prefer /etc/modprobe.d/sound/50-sound.conf
For recent module-init-tools, prefer /etc/modprobe.d/50-sound.conf
instead of /etc/modprobe.d/sound. The latest m-i-t version will
complain (and can ignore) files that don't follow the format.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsamixer

- ALSA: Added vi-like key bindings to alsamixer.
* Added 'j' as an alias for KEY_DOWN
* Added 'k' as an alias for KEY_UP
Signed-off-by: Simon Hengel <simon.hengel@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

aplay/arecord

- aplay/arecord: fix underrun/overrun time calculation for monotonic clock
Also, add librt check to configure.in.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- aplay/arecord: remove debug printfs introduced by previous patch
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- aplay/arecord: improve suspicious buffer detection and add --test-coef parameter
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

alsa-tools

Core

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

Digigram Echo Mixer

- ALSA: echomixer, fix vmixer GUI
This patch fixes several bugs in the vmixer GUI and removes the "misc"
button from the main window when the card has no global controls.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- echomixer: Fix echomixer to work with the new drivers
There is a long standing bug in the drivers for cards with a vmixer because
I overlooked a detail in the c++ generic driver by echoaudio. Those cards
do not have a line-out volume control. It is a virtual control provided by
the generic driver. The bug is harmless because the DSP just ignores the
command to change the volume.
Since that control has been removed, echomixer must be updated. With this
patch it uses the vmixer to fake the line-out volume.
This patch makes echomixer work with the new drivers.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- echomixer: little bug fix
This patch fixes a stupid bug that was introduced in the last change.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsa-firmware

Core

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

Digigram Echo Audio Firmware

- Echoaudio: Add support for Indigo express cards
This patch adds to alsa-firmware the firmware needed by the IndigoIOx and
IndigoDJx cards.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsa-plugins

Core

- Fix build of pph plugin with speex-1.2rc1
The resampler code is moved to libspeexdsp instead of libspeex.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add Speex pre-processing plugin
Added Speex pre-processing filter plugin for denoise, AGC, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add arcam-av plugin
Added arcam-av control plugin (type "arcam_av") for accessing
Arcam AV amplifier via ALSA mixer interface.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.20
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/Makefile.am

- Add Speex pre-processing plugin
Added Speex pre-processing filter plugin for denoise, AGC, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add arcam-av plugin
Added arcam-av control plugin (type "arcam_av") for accessing
Arcam AV amplifier via ALSA mixer interface.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Clean up Makefile.am
Avoid unnecessary substitution and use simply SUBDIRS += ...
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Arcam AV control plugin

- Add arcam-av plugin
Added arcam-av control plugin (type "arcam_av") for accessing
Arcam AV amplifier via ALSA mixer interface.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- arcam_av: Remove incorrect usage of the static SHM ID variable
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- arcam_av: Refactor control specifications to facilitate addition of "numid" optimisation
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- arcam_av: Refactor event callback to facilitate addition of "numid" optimisation
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Automatic upmix / downmix plugins

- Add missing continue in config parser of pcm-upmix plugin
- Fix build of pph plugin with speex-1.2rc1
The resampler code is moved to libspeexdsp instead of libspeex.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add missing continue in config parser of pcm-upmix plugin (again)
This change was reverted accidentally by the previous git-stash operation
on my local tree...
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Documentation

- Add Speex pre-processing plugin
Added Speex pre-processing filter plugin for denoise, AGC, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add arcam-av plugin
Added arcam-av control plugin (type "arcam_av") for accessing
Arcam AV amplifier via ALSA mixer interface.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

OSS Mixer -> ALSA Control plugin

- oss: Add numid check in ctl plugin
Added the check of non-zero numid to optimize the look-up for the
element.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Public Parrot Hack rate converter

- Add missing -lm to pph plugin
Signed-off-by: Takashi Iwai <tiwai@suse.de>

PulseAudio -> ALSA plugin

- pulse: Add numid check in ctl plugin
Added the check of non-zero numid and optimize the look-up for the
element.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Speex PCM plugin

- Add Speex pre-processing plugin
Added Speex pre-processing filter plugin for denoise, AGC, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Detailed changelog between 1.0.17 and 1.0.20 releases

alsa-python

Core

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

pyalsa.alsaseq module

- alsaseq: fix sysex data list initialization
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsaseq: reorganize GETDICTEXT and assign self->event->data.ext.ptr
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Custom Search
Personal tools
Namespaces

Variants
Actions
Navigation
wiki
Toolbox