Changes v1.0.20 v1.0.21

From AlsaProject
Revision as of 15:11, 31 August 2009 by Perex (Talk | contribs)

Jump to: navigation, search

Contents

Changelog between 1.0.20 and 1.0.21 releases

alsa-driver

Sound Core

Release v1.0.2
Add compat header for linux/regulator/consumer.
Clean up / improve INSTALL documen
Allow relative path to --with-moddir configure optio
Add linux/math64.h compat heade
Add check of linux/bug.h in configure scrip
sound: make OSS device number claiming optional and schedule its remova

ALSA Core

Add missing definition of KERN_DEFAULT used in misc.c for older kernel
Add compat header for linux/regulator/consumer.
Move the previous hack to adriver.
Add a hack to avoid Oops related with jack laye
Fix build of hda_intel.
Show the stack trace at bad kfree debug message
Add krealloc() workaround for older kernels in core/info.
Use memdup_user() wrapper when memory-debug option is enable
Add missing PCI_VDEVICE definition for older kernel
Add missing const to memdup_user() wrapper in adriver.
Add linux/math64.h compat heade
ctxfi - Add new PCI ids to pci_ids_compat.h.i
ALSA: Fixed a typo of printk(
ALSA: pcm - Increase protocol versio
ALSA: Add debug module optio
ALSA: core - strip too long file names in snd_print*(
ALSA: Fix SG-buffer DMA with non-coherent architecture
ALSA: info - Use krealloc(
ALSA: Core - clean up snd_card_set_id* calls and remove possible id collisio
ALSA: Fix double locking of card list in snd_card_register(
ALSA: Core - add snd_card_set_id() functio
ALSA: clean up the logic for building sequencer module
ALSA: PCM midlevel: improve fifo_size handlin
ALSA: Remove deprecated include/sound/driver.
ALSA: Remove deprecated snd_card_new(

SoC PXA2xx Core

ASoC: Pass correct platform data from pxa2xx-ac9
ALSA: Allow passing platform_data for pxa2xx-ac9
ASoC: change set_tdm_slot api to allow slot_width override
[ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE
ASoC: remove duplicated code on pxa-ssp.
ASoC: Only disable pxa2xx-i2s clocks if we enabled the
ASoC: pxa2xx-i2s: Fix suspend/resum
ASoC: pxa2xx-i2s: Fix inappropriate release of i2s cloc
ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separatel
ASoC: pxa2xx-i2s: Proper hw initializatio
ASoC: pxa2xx-i2s: Proper initializatio
ASoC: Enforce symmetric rates for PXA2xx I2
ASoC: em-x270: make the driver support also eXeda and CM-X300 machine
ASoC: IMote2 ASoC Suppor
ASoC: change stereo/mono to 32-bit/16-bit for pxa-ss
ASoC: simplify the SSP DMA parameters settings by run-time generatio
ASoC: pxa-ssp.c fix clock/frame inver

Control Midlevel

sound: snd_ctl_remove_user_ctl: prevent removal of kernel control
sound: snd_ctl_remove_unlocked_id: simplify user control countin
sound: snd_ctl_remove_unlocked_id: simplify error path
sound: snd_ctl_elem_add: fix value count chec
ALSA: Add new TLV types for dBwith min/ma

Jack Input Event Midlevel

ALSA: use card device as parent for jack input-device

PCM Midlevel

Refresh pcm_native.patch for drain ioctl fixe
Regenerate pcm_native.patc
ALSA: pcm - Fix drain behavior in non-blocking mod
ALSA: pcm - Tell user that stream to be rewound is suspende
sound: pcm_lib: fix unsorted list constraint handlin
ALSA: pcm - Fix hwptr buffer-size overlap bu
ALSA: pcm - Fix warnings in debug logging
ALSA: pcm - Add logging of hwptr updates and interrupt update
ALSA: pcm - Fix regressions with VMwar
ALSA: Fix SG-buffer DMA with non-coherent architecture
sound: fix check for return value in snd_pcm_hw_refin
ALSA: pcm - A helper function to compose PCM stream name for debug print
ALSA: pcm - Fix update of runtime->hw_ptr_interrup
ALSA: Clean up 64bit division function
ALSA: PCM midlevel: Fix hw_ptr_jiffies update commi
ALSA: PCM midlevel: lower jiffies check margin using runtime->delay valu
ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not change
ALSA: PCM midlevel: introduce mask for xrun_debug() macr
ALSA: PCM midlevel: improve fifo_size handlin
ALSA: Enable PCM hw_ptr_jiffies check only in xrun_debug mod
ALSA: Fix invalid jiffies check after paus
ALSA: Add extra delay count in PC

RawMidi Midlevel

sound: rawmidi: disable active-sensing-on-close by defaul

T5 and LifeDrive

ASoC: Switch palm27x-asoc to jack detection ap
[ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE

/include/Makefile

Fix mrproper make targe

/soc/Makefile

Fix build of soc-core.c with older kernel
ASoC: add DMA platform driver for MX1x and MX2
ASoC: Begin to factor out register cache I/O function
ASoC: Add TXx9 AC link controller driver (v3
ASoC: Add driver for s6000 I2S interfac

/soc/codecs/Makefile

ASoC: Add ak4642/ak4643 codec suppor
ASoC: Factor out shared code from WM899
sound: new ad1836 codec driver based on aso
ASoC: Add WM8776 CODEC drive
ASoC: Add WM8974 CODEC drive
ASoC: Add support for Conexant CX20442-11 voice modem code
ASoC: new ad1938 codec driver based on aso
ASoC: MAX9877: add MAX9877 amp drive
ASoC: Add WM8993 CODEC drive
ASoC: Add WM8523 CODEC drive
ASoC: Add WM8961 drive
ASoC: Add dummy S/PDIF codec suppor
ASoC: Codec for STAC9766 used on the Efik
ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier drive
sound: ASoC WM8940 Drive
ASoC: Add WM8960 CODEC drive
ASoC: Add WM8988 CODEC drive

/soc/pxa/Makefile

ASoC: IMote2 ASoC Suppor

AC97 Codec

ALSA: Allow passing platform_data for pxa2xx-ac9
ALSA: Allow passing platform_data to devices attached to AC97 bu
ALSA: Kill truncate warning by shortening Sigmatel-specific AC97 control nam

ALI5451 driver

ALSA: ali5451: remove dead cod
ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready(

ALSA sequencer

ALSA: OSS sequencer should be initialized after snd_seq_system_client_ini
sound: rawmidi: disable active-sensing-on-close by defaul
sound: seq_midi: do not send MIDI reset when closin
sound: seq-midi: always log message on output overru
sound: seq_midi_event: fix decoding of (N)RPN event
ALSA: clean up the logic for building sequencer module

ALSA<-OSS emulation

ALSA: Clean up 64bit division function

ALSA<-OSS sequencer

sound: seq_oss_midi: remove magic number

ARM AACI PL041 driver

[ARM] 5544/1: Trust PrimeCell resource size
[ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void

ARM PXA2XX driver

ASoC: Pass correct platform data from pxa2xx-ac9
ALSA: Restore support for DMAless DAIs on PX
ALSA: Allow passing platform_data for pxa2xx-ac9
ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_fre
pxa2xx-ac97: fix reset gpio mode settin

ATIIXP driver

sound: Use PCI_VDEVIC

ATIIXP-modem driver

sound: Use PCI_VDEVIC

AZT3328 driver

ALSA: azt3328: fix previous breakage, improve suspend, cleanup
ALSA: azt3328: large codec cleanup, add I2S port etc

Apple Onboard Audio driver

ALSA: sound/aoa: Add kmalloc NULL test
sound: remove driver_data direct access of struct devic

Au12x0/Au1550 PSC ASoC

Add missing ASoC build stub

BT87x driver

ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'9
ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver

CA0106 driver

ALSA: ca0106 - Fix the max capture buffer siz
sound: Use PCI_VDEVICE for CREATIVE and ECTIV
ALSA: ca0106 - Fix master volume scal
ALSA: ca0106 - Add missing card->mixername field setu
ALSA: Remove invalid GENERIC_MIX PCM sublas
ALSA: ca0106 - Add missing registrations of vmaster control
ALSA: Kill truncate warning by shortening Sigmatel-specific AC97 control nam

CMI8330 driver

ALSA: cmi8330: Allow MPU-401-less operatio
ALSA: cmi8330: find OPL3 port automaticall
sound: cmi8330: Add basic CMI8329 suppor
ALSA: cmi8330: revert comments about AD1848 bac
ALSA: cmi8330: fix MPU-401 PnP init copy&paste bu

CMI8788 (Oxygen) driver

sound: virtuoso: fix Xonar D1/DX silence after resum
sound: oxygen: make mic volume control mon
sound: virtuoso: add Xonar Essence ST suppor
sound: virtuoso: enable HDAV S/PDIF inpu
sound: virtuoso: add another DX PCI I
sound: oxygen: reset DMA when stream is close

CMIPCI driver

sound: Use PCI_VDEVIC

Conexant Riptide driver

Regenerated riptide.patc
ALSA: riptide - proper handling of pci_register_driver for joystic
ALSA: riptide - Fix joystick resource handlin
ALSA: riptide - Code clean u
ALSA: riptide: postfix increment and off by on

Creative Sound Blaster X-Fi (20K1/20K2)

Fix ctatc.patc
Add missing pci/ctxfi/cttimer.
ctxfi - Fix build with older kerne
Add snd-ctxfi build stu
ALSA: ctxfi - Simple code clean u
ALSA: ctxfi - Fix uninitialized error check
ALSA: ctxfi - Native timer support for emu20k
ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k
ALSA: ctxfi - Add PM suppor
ALSA: ctxfi - Allow unknown PCI SSID
ALSA: ctxfi - Fix deadlock with xfi-time
ALSA: ctxfi - Replace atc lock to mute
ALSA: ctxfi - Clear PCM resources at hw_params and hw_fre
ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callback
ALSA: ctxfi - Add missing start check in atc_pcm_playback_start(
ALSA: ctxfi - Add use_system_timer module optio
ALSA: ctxfi - Fix wrong model id for UA
ALSA: ctxfi - Clean up probe routine
ALSA: ctxfi - Fix / clean up hw20k2 chip cod
ALSA: ctxfi - Fix possible buffer pointer overru
ALSA: ctxfi - Remove useless initializations and cas
ALSA: ctxfi - Fix DMA mask for emu20k2 chi
ALSA: ctxfi - Make volume controls more intuitiv
ALSA: ctxfi - Optimize the native timer handling using wc counte
ALSA: ctxfi - Add missing inclusion of linux/math64.
ALSA: ctxfi - Set device 0 for mixer control element
ALSA: ctxfi - Clean up / optimiz
ALSA: ctxfi - Set periods_min to
ALSA: ctxfi - Use native timer interrupt on emu20k
ALSA: ctxfi - Fix previous fix for 64bit DM
ALSA: ctxfi - Fix endian-dependent code
ALSA: ctxfi - Allow 64bit DM
ALSA: ctxfi - Support SG-buffer
ALSA: ctxfi - Remove PAGE_SIZE limitatio
ALSA: ctxfi - Fix supported PCM format
ALSA: ctxfi - Fix PCM device namin
ALSA: ctxfi - Fix surround mixer name
ALSA: ALSA: ctxfi - Release PCM resources at each prepare cal
ALSA: ctxfi - Fix Oops at mmappin
ALSA: ctxfi - Fix a typo in MODULE_LICENS
ALSA: ctxfi - Add missing module parameter definition
ALSA: ctxfi - Move PCI ID definitions to linux/pci_ids.
ALSA: ctxfi - Add missing inclusion of linux/delay.
ALSA: ctxfi - Avoid unneeded pci_read_config_*() call
ALSA: ctxfi - Add prefix to debug print
ALSA: SB X-Fi driver merg

Digigram VX222 driver

sound: vx222: fix input level control range chec
trivial: fix typo milisecond/millisecond for documentation and source comments

Documentation

ALSA: hda - Add / fix model entries for HD-audio drive
ALSA: hda - Add quirk for MacBook Pro 5,5 with CS420
ALSA: Add debug module optio
ALSA: hda - Reword information messages for BIOS auto-probing mod
ALSA: hda - Add description of new models for ALC889/889
ALSA: pcm - Add logging of hwptr updates and interrupt update
ALSA: hda - Merge patch_alc882() and patch_alc883(
ALSA: hda - More description about patch module optio
ALSA: hda - Add description about patch loadin
ALSA: hda - Fix support for Samsung P50 with AD1986A code
ALSA: hda - Add model=6530g optio
trivial: Miscellaneous documentation typo fixe
ALSA: pcm - Update document about xrun_debug proc fil
ALSA: hda - Add 7.1 support for MSI GX62
ALSA: support Sony Vaio T
ALSA: ice1724 - Add ESI Maya44 suppor
ALSA: hda - Acer Aspire 8930G suppor
ALSA: Enable PCM hw_ptr_jiffies check only in xrun_debug mod
ALSA: hda - Improved MacBook 3,1 suppor
ALSA: SB X-Fi driver merg
ALSA: hda - Add support of Samsung NC10 mini noteboo
ALSA: hda - Add missing models for Realtek codec
ALSA: sc6000: enable joystick por
ALSA: hda - Addition for HP dv4-1222nr laptop suppor
ASoC: Add power supply widget to DAP
ALSA: Add missing description of lx6464es to ALSA-Configuration.tx
ALSA: hda - Add 5stack-no-fp model for STAC927
sound: virtuoso: add Xonar Essence ST suppor

EMU10K1/EMU10K2 driver

Remove multiple KERN_ prefixes from printk format
sound: Use PCI_VDEVICE for CREATIVE and ECTIV
ALSA: emu10k1 - Fix minimum periods for efx playbac
ALSA: Remove invalid GENERIC_MIX PCM sublas
ALSA: clean up the logic for building sequencer module

ENS1370/1+ driver

sound: Use PCI_VDEVICE for CREATIVE and ECTIV

ES1688 driver

ALSA: Add missing __devexit_p() marker

Echoaudio driver

ALSA: indigo-express: add missing 64KHz flag

Emagic Audiowerk 2

trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)abl

GUS Extreme driver

ALSA: Add missing __devexit_p() marker

GUS Library

ALSA: sound/isa: convert nested spin_lock_irqsave to spin_loc

Generic drivers

time: move PIT_TICK_RATE to linux/timex.
ALSA: pcsp - fix printk format warning agai
ALSA: pcsp: fix printk format warnin

HDA Codec driver

Add build stub for pci/hda/patch_cirrus.
ALSA: hda - Fix probe of Toshiba laptops with ALC268 code
ALSA: hda - Enable HP output with Macbook Pro 5,
ALSA: hda - don't build digital output controls if not exis
ALSA: hda - Fix compile warnings in patch_cirrus.
ALSA: hda - Fix the speaker volume control nam
ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420
ALSA: hda - Add quirk for MacBook Pro 5,5 with CS420
ALSA: hda - Fix double creation of SPDIF input control
ALSA: hda - Add CS420x-specific coef setu
ALSA: hda - Force to initialize input mixer setup for CS420
ALSA: hda - Fix cirrus codec parsin
ALSA: hda - Add more quirk for HP laptops with AD1984
ALSA: hda - Add full audio support on Acer Aspire 7730G noteboo
ALSA: hda - Improve auto-cfg mixer name for ALC66
ALSA: hda - Improve auto-cfg mixer name for ALC861-V
ALSA: hda - Improve auto-cfg mixer name for ALC26
ALSA: hda - Improve auto-cfg mixer name for ALC26
ALSA: hda - Improve auto-cfg mixer name for ALC88
ALSA: hda - Generalize input pin parsing in patch_realtek.
ALSA: hda - Reuse ALC268 parser for ALC26
ALSA: hda: move open coded tricks into get_wcaps_channels(
ALSA: hda - Fix invalid capture mixers with some ALC268 model
ALSA: hda - Add missing num_adc_nids definition for IDT92HD8xx
ALSA: hda - Fix / clean up IDT92HD83xxx codec parse
ALSA: hda - Enable line-out detection only with speaker
ALSA: hda - fix noise issue when recording from digital mic with alc26
ALSA: hda - Clean up init and setup hooks for Realtek codec
ALSA: hda - Add setup hook to ALC preset struc
ALSA: hda - Check connectivity for auto-mic of Realtek codec
ALSA: hda - Use only one capture stream for auto-mi
ALSA: hda - Add auto-mic support for Realtek codec
ALSA: hda - Fix Oops due to STAC/IDT auto-mic change
ALSA: hda - Add quirks for some HP laptop
ALSA: hda - Fix line-out jack handling with STAC/IDT code
ALSA: hda - Fix line-out jack detectio
ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin numbe
ALSA: hda - Add line-out jack detection on IDT/STAC codec
ALSA: hda - Integrate Digital Input Source to Input Sourc
ALSA: hda - Add Cirrus Logic CS420x suppor
ALSA: hda: add model for Intel DG45ID/DG45FC board
ALSA: hda: enable speaker output for Compaq 6530s/6531
ALSA: hda - Don't override ADC definitions for ALC codec
ALSA: hda - Add missing vmaster initialization for ALC26
ALSA: hda - Read buffer overflo
ALSA: hda: Correct EAPD for Dell Inspiron 152
ALSA: hda: track CIRB/CORB command/response states for each code
ALSA: hda - Fix quirk for Toshiba Satellite A135-S452
ALSA: hda - Increase PCM stream name buf in patch_realtek.
ALSA: hda - Fix typos of Capture controls
ALSA: hda: add HP automute support to Intel ALC889/ALC889A model
ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A model
ALSA: hda - No analog mix input source as default for IDT92HD71bx
ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/ID
ALSA: hda - Remove static connection in IDT 92HD71bx
ALSA: hda - Support auto-mic switching with IDT/STAC code
ALSA: hda - Avoid overwrite of jack events with STAC/ID
ALSA: hda - Don't create analog mixer for IDT92HD71bx
ALSA: hda - Create Capture controls dynamicall
ALSA: hda - Don't create unneeded digital input source for IDT 92HD71
ALSA: hda - Reword information messages for BIOS auto-probing mod
ALSA: hda - Add quirk for Dell Studio 155
ALSA: hda - Add exception for volume-knob in snd_hda_get_connections(
ALSA: hda - Introduce get_wcaps_type() macr
ALSA: hda - Fix mute control with some ALC262 model
[ALSA] Add better Intel IbexPeak platform suppor
ALSA: hda - Restore GPIO1 properly at resume with AD1984
ALSA: hda - Use snprintf() to be safe
ALSA: hda - Fix ALC861 auto-mode parse
ALSA: hda - Reduce click noise at power-savin
ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codec
ALSA: hda - Add quirk for Gateway T6834c lapto
[ALSA] hda-intel: Cleanups for widget connection list handlin
[ALSA] hda_codec: Check for invalid zero connection
ALSA: hda - Fix ALC268 parser for mono speake
ALSA: hda - Fix the previous sanity check in make_codec_cmd(
ALSA: hda - add bounds checking for the codec command field
ALSA: hda - Add CX20582 and OLPC XO-1.5 suppor
ALSA: hda - Check codec errors in snd_hda_get_connections(
ALSA: hda - Fix the merge erro
ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checkin
ALSA: hda - targa and targa-2ch fi
ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC
ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX71
ALSA: hda - Check widget types while parsing capture source in patch_via.
ALSA: hda - Fix capture source selection in patch_via.
ALSA: hda - Add missing EAPD initialization for VIA codec
ALSA: hda - Clean up VT170x dig-in initialization cod
ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper sectio
ALSA: hda - Don't override maxbps for FLOAT sharing with linear format
ALSA: hda - Manually expand alc882_init_verb
ALSA: hda - Add missing mixer amp initialization for ALC88
ALSA: hda - Allow FLOAT PCM forma
ALSA: hda - Fix input pinctl for ALC882 auto mod
ALSA: hda - Merge patch_alc882() and patch_alc883(
ALSA: hda - Add patch module optio
ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new(
ALSA: hda - Avoid invalid formats and rates with shared SPDI
ALSA: hda - Improve ASUS eeePC 1000 mixe
ALSA: hda - Add GPIO1 control at muting with HP laptop
ALSA: hda - Add quirk for HP 6930
ALSA: hda - Add missing static to patch_ca0110(
ALSA: hda - Add missing initializations for ALC268 and ALC26
ALSA: hda - Line In for Acer Inspire 6530G mode
ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930
ALSA: hda - Fix acer-aspire-6530g model quir
ALSA: hda - Add pin-sense trigger when needed for Realtek codec
ALSA: hda - Fix support for Samsung P50 with AD1986A code
ALSA: hda - Generalize the pin-detect quirk for Lenovo N10
ALSA: hda - Simplify AD1986A mixer definition
ALSA: hda - Make jack-plug notification selectabl
ALSA: hda - Add digital-mic support to ALC262 auto mode
ALSA: hda - Fix check of input source type for realtek codec
ALSA: hda - Add quirk for Sony VAIO Z21M
ALSA: hda - Get back Input Source for ALC262 toshiba-s06 mode
ALSA: hda - Fix unsigned comparison in patch_sigmatel.
ALSA: hda - Add model=6530g optio
ALSA: hda - Acer Inspire 6530G model for Realtek ALC88
ALSA: HDA - Correct trivial typos in comments
ALSA: HDA - Name-fixes in code (tagra/targa
ALSA: HDA - Add pci-quirk for MSI MS-7350 motherboard
ALSA: hda - Fix memory leak at codec creatio
ALSA: hda - Add quirk for Acer Aspire 6935
ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205
ALSA: hda - Fix the previous tagra-8ch patc
ALSA: hda - Add 7.1 support for MSI GX62
ALSA: support Sony Vaio T
ALSA: hda - More Aspire 8930G fixe
ALSA: hda - Limit codec-verb retry to limited hardware
ALSA: hda - Add codec bus reset and verb-retry at critical error
ALSA: hda - Acer Aspire 8930G suppor
ALSA: hda - Reorder and clean-up ALC268 quirk tabl
ALSA: hda - fix audio on LG R51
ALSA: hda - Macbook[Pro] 5 6ch suppor
ALSA: hda - Jack Mode changes for Sigmatel board
ALSA: hda - Support NVIDIA 8 channel HDMI audi
ALSA: hda-intel: improve initialization for ALC262_HP_BPC mode
ALSA: hda - Fix reverted LED setup for H
ALSA: hda - Use snd_hda_codec_get_pincfg() in patch_ca0110.
ALSA: hda - Fix channels_max setting for CA011
ALSA: hda - Minor clean up of patch_sigmatel.
ALSA: hda - Compaq Presario CQ60 patching for Conexan
ALSA: hda - Support sync after writing a ver
ALSA: hda - Fix digital beep tone calculatio
ALSA: hda - Improved MacBook 3,1 suppor
ALSA: hda - Show the actual chip name in 'unkown model' message
ALSA: hda - Split codec->name to vendor and chip name string
ALSA: hda - add controls to toggle DC bias on mic port
ALSA: hda - Add a quirk entry for Macbook Pro 5,
ALSA: hda - Disable fallback to model=acer for Acer laptop
ALSA: hda - Add support of Samsung NC10 mini noteboo
ALSA: hda - Add missing models for Realtek codec
ALSA: hda - Clean up Realtek auto-mute unsol routine
ALSA: hda - Clean up for ALC262 HP model auto-mute function
ALSA: hda - Fix and clean up hippo-compat HP auto-mutin
ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codec
ALSA: hda - Add support for MacBook 5.1 (Aluminium
ALSA: hda - Addition for HP dv4-1222nr laptop suppor
ALSA: hda - Fix a typo in patch_realtek.c agai
ALSA: hda - Don't enable auto-mute but for speakers in patch_realtek.
ALSA: hda - Add amp initialization for realtek auto mod
ALSA: hda - Fix a typo in debug print for realtek auto-detectio
ALSA: hda - minor optimization in hda_set_power_state(
ALSA: hda - Add debug prints for Realtek auto-ini
ALSA: hda - Retry codec-verbs at error
ALSA: hda - Cache PCM and STREAM parameters querie
ALSA: hda - Check strcpy lengt
ALSA: hda - Add Creative CA0110-IBG suppor
ALSA: hda - Add missing check of pin vref 50 and others in Realtek codec
ALSA: hda - Add 5stack-no-fp model for STAC927
ALSA: hda - fix audio on HP TX25xx series notebook
ALSA: hda - Fix line-in on Mac Mini Core2 Du

HDA Intel driver

Fix build of hda_intel.
ALSA: hda - Add a white-list for MSI optio
ALSA: hda: warn on spurious respons
ALSA: hda: remember last command for each code
ALSA: hda: read CORBWP inside reg_loc
ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_i
ALSA: hda: take cmd_mutex in probe_codec(
ALSA: hda: track CIRB/CORB command/response states for each code
ALSA: hda - Add support for new AMD HD audio device
ALSA: hda - Disable AMD SB600 64bit address support onl
ALSA: hda - Fix error path in the sanity check in azx_pcm_open(
ALSA: hda - Add patch module optio
ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new(
ALSA: hda - Add sanity check in PCM open callbac
ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callbac
ALSA: hda_intel: fix build error when !P
ALSA: hda - Limit codec-verb retry to limited hardware
ALSA: hda - Add codec bus reset and verb-retry at critical error
ALSA: hda - Fix a typo in the previous patc
ALSA: hda - Add more register bits definition
ALSA: hda - Always sync writes in single_cmd mod
ALSA: hda - Allow concurrent RIRB access in single_cmd mod
ALSA: hda - Reset CORB/RIRB at retrying the verb communicatio
ALSA: hda - Add prefix to kernel message
ALSA: hda - Avoid conflicts with snd-ctxfi drive
ALSA: hda - Retry codec-verbs at error
ALSA: hda - Check strcpy lengt
ALSA: hda - Add Creative CA0110-IBG suppor
ALSA: hda - Add forced codec-slots for ASUS W5F

HDA generic driver

Fix build of hda_intel.
ALSA: hda: move open coded tricks into get_wcaps_channels(
ALSA: hda - Add Cirrus Logic CS420x suppor
ALSA: hda: fix out-of-bound hdmi_eld.sad[] writ
ALSA: hda - Introduce get_wcaps_type() macr
[ALSA] hda_generic: use AC_WCAP_CONN_LIST check for widget connection
[ALSA] hda_generic: do not read connections for widged with an unknown typ
ALSA: hda - fix beep tone calculation for IDT/STAC codec
ALSA: hda - Check "beep" hin
ALSA: hda - Add patch module optio
ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new(
ALSA: hda - Make jack-plug notification selectabl
ALSA: hda - Fix digital beep tone calculatio
ALSA: hda - Split codec->name to vendor and chip name string
ALSA: hda - Add Creative CA0110-IBG suppor

I2C UDA1380

ASoC: UDA1380: refactor device registratio

ICE1712 driver

Add build stub for ice1724 maya44 suppor
ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD
ALSA: ice1724 - Add ESI Maya44 suppor
ALSA: ice1724 - Allow spec driver to create own routing control

ICE1724 driver

ALSA: ice1724 - Fix section mismatc
ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD
ALSA: ice1724 - Add ESI Maya44 suppor
ALSA: ice1724 - Allow spec driver to create own routing control
ALSA: ice1724 - Add PCI postint to reset sequenc
ALSA: ice1724 - Clean up definitions of DMA record
ALSA: ice1724 - Check error in set_rate functio

ISA

ALSA: sc6000: add support for SC-6600 and SC-700

Intel8x0 driver

ALSA: intel8x0 - Fix PCM position crazines

KORG1212 driver

ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver

LX6464ES

ALSA: lx6464es - configure ethersound io channel
convert some DMA_nnBIT_MASK() caller
ALSA: lx6464es - support standard alsa module parameter
ALSA: lx6464es - Disable lx_message_send(
ALSA: lx6464es - Use snd_card_create(
ALSA: lx6464es - driver for the digigram lx6464es interfac

MSND driver

ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver

Memalloc module

ALSA: Fix SG-buffer DMA with non-coherent architecture

OPL3

ALSA: clean up the logic for building sequencer module

OPL4

ALSA: clean up the logic for building sequencer module

OSS device core

sound: make OSS device number claiming optional and schedule its remova
sound: request char-major-* module aliases for missing OSS device
sound: do not set DEVNAME for OSS device
Driver Core: sound: add nodename for sound driver

PARISC Harmony driver

ALSA: Add missing __devexit_p() marker
ALSA: parisc/harmony: fix printk format warnin

PCI drivers

ALSA: azt3328: fix Kconfig entr
ALSA: ctxfi - Remove PAGE_SIZE limitatio
ALSA: ctxfi - Add depends on X8
ALSA: SB X-Fi driver merg
ALSA: hdsp - Add a comment about external firmwares for hds
ALSA: lx6464es - driver for the digigram lx6464es interfac
sound: virtuoso: add Xonar Essence ST suppor

PDAudioCF driver

ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver

PPC AWACS driver

ALSA: powermac - Replace the rest of __init
ALSA: sound/ppc: update annotations of serveral function

PPC Beep

ALSA: sound/ppc: update annotations of serveral function

PPC Burgundy driver

ALSA: burgundy: timeout message is off by one
ALSA: powermac - Replace the rest of __init
ALSA: sound/ppc: update annotations of serveral function

PPC DACA driver

ALSA: sound/ppc: update annotations of serveral function

PPC Keywest driver

ALSA: keywest: Get rid of useless i2c_device_name() macr

PPC PMAC driver

ALSA: powermac - Replace the rest of __init

PPC PS3 driver

ALSA: sound/ps3: Correct existing and add missing annotation
ALSA: sound/ps3: Restructure driver sourc
ALSA: sound/ps3: Fix checkpatch issue

PPC Tumbler driver

ALSA: powermac - Replace the rest of __init

RME HDSP driver

ALSA: hdsp - allow proc reporting with disconnected io bo
ALSA: Clean up 64bit division function
ALSA: hdsp: allow firmware loading from inside the kerne

RME9652 driver

ALSA: Clean up 64bit division function

SB drivers

ALSA: clean up the logic for building sequencer module

SC6000 (CompuMedia ASC-9308 + AD1848) driver

ALSA: sc6000: enable joystick por
ALSA: sc6000: fix older card initializatio
ALSA: sc6000: add support for SC-6600 and SC-700

SGI O2 Audio

ALSA: sgio2audio.c: clean up checkin

SIS7019 driver

trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments

SoC Audio for Freecale i.MX1x i.MX2x CPUs

Add soc/imx/* build stu
ASoC: Staticise unexported variable
ASoC: Remove unneeded i.MX dependency on SN
ASoC: Fix review issues in i.MX2x PCM drive
ASoC: add machine driver for i.mx27_visstrim_m10 boar
ASoC: add DAI platform ssi driver for MX
ASoC: add DMA platform driver for MX1x and MX2

SoC Audio for TXx9

Add soc/txx9 build stu
ASoC: txx9aclc: dynamically allocate dmaengine devnam
ASoC: Kill BUS_ID_SIZ
ASoC: Add TXx9 AC link controller driver (v3

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

Add missing ASoC build stub
ASoC: Configure WM8731 SYSCLK at startup on AT91SAM9G20-E
ASoC: Disable microphone input for AT91SAM9G20-EK by defaul
ASoC: Use CODEC as clock master on AT91SAM9G20-E
ASoC: correct print specifiers for unsigned
ASoC: AFEB9260 drive

SoC Audio for the Samsung S3C24XX chips

ASoC: neo1973_gta02_wm8753: Replace deprecated s3c_gpio calls with gpioli
ASoC: neo1973_gta02_wm8753: Replace snd_soc_cnew with snd_soc_add_controls
ASoC: Fix s3c-i2s-v2 buil
ASoC: Add S3C24xx dependencies for Simtec machine
ASoC: S3C platform: Fix s3c2410_dma_started() called at improper tim
ASoC: Select core DMA when building for S3C64x
ASoC: S3C24XX: Support for Simtec Hermes board
ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec board
ASoC: S3C24XX : Align the peroid size to the buffer siz
ASoC: Reenable S3C64xx I2S suppor
ASoC: Fix data format configuration for S3C64XX IISv
ASoC: s3c2443-ac97: convert semaphore to mute
ASoC: Existing S3C24xx AC97 drivers should depend on S3C24x
ASoC: Add Openmoko Neo FreeRunner (GTA02) audio drive
ASoC: Fix lm4857 contro
[ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h
[ARM] S3C24XX: Remove hardware specific registers from DM
ASoC: Use platform device resource for S3C64xx IISv
ASoC: Staticise txctrl and rxctrl for S3C IISv
ASoC: Display S3C IISv2 mode and MS errors by defaul
ASoC: Display the clock rate used as the basis for rate calculatio
ASoC: Allow use of resource from the platform device for S3C IISv
ASoC: Fix boot warnings from S3C IISv
ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bi
ASoC: Make S3C64xx clock export function to return struct cl
ASoC: Check for supported CPUs when building s3c-i2s-v
ASoC: Fix error message formatting in s3c64xx-i2s drive
ASoC: Use our registration function for S3C64x
ASoC: s3c-i2s-v2 diagnostic improvement
ASoC: Enforce symmetric rates for S3C64xx I2S interfac
ASoC: S3C2412: Failing to get the I2S clock is an erro
ASoC: Fix S3C64xx IIS device registration and support both port

SoC Blackfin

ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm da
ASoC: board driver to connect bf5xx with ad193
ASoC: blackfin I2S(TDM mode) CPU DAI drive
ASoC: Blackfin I2S: fix resume handlin
ASoC: Blackfin AC97: fix resume handlin
ASoC: Blackfin: convert internal names from bf52x to bf5x
ASoC: Blackfin: update the bf5xx_i2s_resume parameter
ASoC: Blackfin: keep better track of SPORT configuration stat
ASoC: Blackfin: document how anomaly 05000250 is handle
ASoC: Blackfin: set the transfer size according the ac97_frame siz

SoC Codec AC97

ASoC: Use a shared define for AC97 CODEC data format

SoC Codec AD1836

Add more missing build stubs for ASo
ASoC: Minor cleanups to AD1938 drive
sound: new ad1836 codec driver based on aso

SoC Codec AD1938

ASoC: delete -spi suffix in ad1938 and free private data while registers fai
ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM wor
ASoC: Update AD1938 for new TDM slot AP
ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm da
ASoC: Fix checkpatch issues in AD193
ASoC: Kill direct accesses to driver_dat
ASoC: new ad1938 codec driver based on aso

SoC Codec AD1980

ASoC: Use a shared define for AC97 CODEC data format

SoC Codec AK4535

ASoC: Remove unused AK4535 hardware read functionalit

SoC Codec AK4642

ASoC: Add ak4642/ak4643 codec suppor

SoC Codec CS4270

ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_devic
ASoC: cs4270: add power management suppor
ASoC: cs4270: introduce CS4270_I2C_INC
ASoC: cs4270: add Master Playback Switc
ASoC: cs4270: fix Master Capture Switch polarit

SoC Codec CX20442

ASoC: CX20442: simplify codec controller usag
ASoC: CX20442: add some debuggin
ASoC: CX20442: push down machine independent line discipline bit
ASoC: CX20442: fix issues pointed out by subsystem maintaine
ASoC: Add support for Conexant CX20442-11 voice modem code

SoC Codec DIT SPDI/F

ASoC: spdif: set module licence to GP
ASoC: spdif codec: enable use by module
ASoC: Initialise dev for the dummy S/PDIF DA
ASoC: Add dummy S/PDIF codec suppor

SoC Codec MAX9877

ASoC: MAX9877: fix write operation for registe
ASoC: MAX9877: separate callback function
ASoC: MAX9877: add MAX9877 amp drive

SoC Codec Philips UDA134x

ASoC: UDA134X: Fix mistaken mute/unmute cod

SoC Codec Philips UDA1380

ASoC: UDA1380: refactor device registratio

SoC Codec SSM2602

ASoC: Revert duplicated code in SSM2602 drive
ASoC: SSM2602: assign last substream to the master when shutting dow
ASoC: SSM2602: remove unsupported sample rate

SoC Codec STAC9766

ASoC: Keep index within stac9766_reg[
ASoC: Fix minor issues in STAC9766 drive
ASoC: Codec for STAC9766 used on the Efik

SoC Codec TLV320AIC23

ASoC: codec tlv320aic23 fix bogus divide by 0 messag
ASoC: correct print specifiers for unsigned
ASoC: tlv320aic23: add DSP_A format suppor

SoC Codec TLV320AIC3X

ASoC: Make platform data optional for TLV320AIC3
ASoC: tlv320aic3x: Change to use device mode
ASoC: Remove use of hw_read from TLV320AIC3x drive
ASoC: tlv320aic3x: Enable PLL when not bypasse

SoC Codec TWL4030

ASoC: TWL4030: Fix for capture mixer string
ASoC: TWL4030: Introduce PGAs for output
ASoC: TWL4030: Add tristate callbacks for HiFi and Voic
ASoC: TWL4030: Add EXTMUTE to reduce pop-noise effec
ASoC: Remove word "Switch" from Handsfree switch nam
ASoC: TWL4030: Correct bypass event for voice sideton
ASoC: TWL4030: Add AVADC Clock Priorit
ASoC: TWL4030: Fix voice interface clock master
ASoC: Staticise put_twl4030_opmode_enum_double(
ASoC: Fix shadowed variables in twl403
ASoC: Fix build error in twl4030.
ASoC: TWL4030: Check the interface format for 4 channel mod
ASoC: TWL4030: Use reg_cache in twl4030_init_chi
ASoC: TWL4030: HandsfreeL/R mute DAPM switc
ASoC: TWL4030: Add shadow registe
ASoC: TWL4030: Handsfree pop removal redesig
ASoC: TWL4030: Differentiate the playback stream
ASoC: TWL4030: Add support for platform dependent configuratio
ASoC: TWL4030: Move the Headset pop-attenuation code to PGA even
ASoC: TWL4030: Change DAPM routings and controls for DACs and PGA
ASoC: TWL4030: Add control for selecting codec operation mod
ASoC: TWL4030: Fix Analog capture path for AUX
ASoC: TWL4030: Enable/disable voice digital filter
ASoC: TWL4030: change DAPM for analog microphone selectio
ASoC: TWL4030: Fix typo in twl4030_codec_mute functio
ASoC: TWL4030: Add VIBRA outpu
ASoC: TWL4030: Add voice digital loopback: sideton
ASoC: TWL4030: Add VDL analog bypas
ASoC: TWL4030: Add 4 channel TDM suppor
ASoC: TWL4030: Add VDL path suppor
ASoC: TWL4030: Add support Voice DA
ASoC: TWL4030: Fix for the constraint handlin
ASoC: TWL4030: Fix gain control for earpiece amplifie

SoC Codec WM8350

ASoC: Don't reconfigure WM8350 FLL if not neede
ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
ASoC: Automatically manage WM8350 sloping stopband filte
ASoC: Include WM8350 register definitions in CODEC heade
ASoC: Fix logic in WM8350 master clocking chec

SoC Codec WM8400

ASoC: Bodge around GCC 4.4.0 flow analysis bug in GCC 4.4.
ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
ASoC: remove driver_data direct access of struct devic

SoC Codec WM8510

ASoC: Factor out 7 bit register 9 bit data SPI writ
ASoC: Add I/O control bus information to factored out cache setu
ASoC: Begin to factor out register cache I/O function
ASoC: WM8510 has a single frame clock so needs symmetric rate

SoC Codec WM8523

ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
ASoC: Add WM8523 CODEC drive

SoC Codec WM8580

ASoC: Add I/O control bus information to factored out cache setu
ASoC: Factor out WM8580 register cache cod
ASoC: Regulator support for WM858
ASoC: Add suspend and resume callbacks to Wolfson CODEC driver

SoC Codec WM8728

ASoC: Factor out 7 bit register 9 bit data SPI writ
ASoC: Add I/O control bus information to factored out cache setu
ASoC: Begin to factor out register cache I/O function

SoC Codec WM8731

ASoC: Drop unneeded declaration of removed wm8731 SPI write functio
ASoC: Factor out 7 bit register 9 bit data SPI writ
ASoC: Limit WM8731 to symmetric rate
ASoC: Correct WM8731 Mic Capture Switch control nam
ASoC: Add TLV information for WM873
ASoC: Fix leaks in WM8731 probe error handlin
ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
ASoC: remove driver_data direct access of struct devic

SoC Codec WM8750

ASoC: Factor out 7 bit register 9 bit data SPI writ

SoC Codec WM8753

ASoC: Fix wm8753 register cache size and initializatio
ASoC: Fix register cache initialisation for WM875
ASoC: remove driver_data direct access of struct devic

SoC Codec WM8776

ASoC: Convert WM8776 to use factored out register cache cod
ASoC: Add WM8776 CODEC drive

SoC Codec WM8900

ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
ASoC: Automatically manage WM8900 sloping stopband filte

SoC Codec WM8903

ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
ASoC: Automatically control WM8903 sloping stopband filte
ASoC: Remove odd bit clock ratios for WM890
ASoC: Implement WM8903 digital sidetone suppor
ASoC: Remove redundant rate constraint for WM890
ASoC: Actively manage the DC servo for WM890
ASoC: Optimise configuration of WM8903 DC serv
ASoC: Support CLK_DSP in WM890
ASoC: Use DAPM supply widget for WM8903 charge pum
ASoC: Request shared rates for WM890

SoC Codec WM8940

ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
ASoC: Add missing __devexit in wm8940.
ASoC: Staticise TLV values in WM894
sound: ASoC WM8940 Drive

SoC Codec WM8960

ASoC: Fix WM8960 leaks on probe failur
ASoC: Add WM8960 CODEC drive

SoC Codec WM8961

ASoC: Fix WM8961 suspend function typ
ASoC: Add core suspend and resume callbacks to WM896
ASoC: Add WM8961 drive

SoC Codec WM8974

Add more missing build stubs for ASo
ASoC: Factor out cache I/O from WM897
ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec
ASoC: WM8974 DAPM cleanup
ASoC: WM8974 cosmetic cleanup
ASoC: Use symmetric rates for WM897
ASoC: Add WM8974 TLV informatio
ASoC: Refresh WM8974 PLL configuratio
ASoC: Declare 2 channels for WM897
ASoC: Refresh WM8974 bias configuratio
ASoC: Remove unreferenced wm8974_add_controls(
ASoC: Update WM8974 to use standard I2C device probe method
ASoC: WM8974 checkpatch cleanup
ASoC: Add WM8974 CODEC drive

SoC Codec WM8988

Sound: remove direct access of driver_dat
ASoC: Fix leaks in WM8988 registration error handlin
ASoC: Add WM8988 CODEC drive

SoC Codec WM8990

ASoC: Fix errors in WM899

SoC Codec WM8993/4

Add more missing build stubs for ASo
ASoC: Remove unneeded inclusion of linux/regulator/consumer.
ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.
ASoC: WM8993 digital mixing suppor
ASoC: Implement TDM configuration for WM899
ASoC: Fix WM8993 MCLK configuration for high frequency MCLK
ASoC: Factor out shared code from WM899
ASoC: Fix FLL reference clock division setup in WM899
ASoC: Fix sample rate lookup in WM899
ASoC: Add WM8993 CODEC drive

SoC Codec WM9081

ASoC: Update WM9081 for tdm_slot() API chang
ASoC: change set_tdm_slot api to allow slot_width override
ASoC: Error out if we can't determine a suitable WM9081 syscl
ASoC: Fix WM9081 PowerPC compiler issue
ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier drive

SoC Codec WM9705

ASoC: free socdev if init_card() fails in wm9705_soc_probe(
ASoC: Use a shared define for AC97 CODEC data format

SoC Codec WM9712

ASoC: Support AC97 link off by default on WM971

SoC Codec WM9713

ASoC: Move the WM9713 voice DAC powerdown to a DAPM even
ASoC: WM9713 requires symmetric rates on the voice DA

SoC DaVinci

ASoC: tlv320aic3x: fixup board device change
ASoC: tlv320aic3x: Change to use device mode
ASoC: DaVinci: Add audio support fot DA850/OMAP-L138 EV
ASoC: DaVinci: Add a DAI format to McASP drive
ASoC: DaVinci: McASP driver enhacement
ASoC: DaVinci: Support Audio on DA830 EV
ASoC: DaVinci: pcm, constrain buffer size to multiple of perio
ASoC: DaVinci: i2s: don't bounce through rtd to get da
ASoC: davinci: don't use clock name
ASoC: Introduce platform driver model for dm644x, dm35
ASoC: DaVinci I2S needs mach/asp.
ASoC: DaVinci: pcm, don't play 1st sound period twic
ASoC: Add machine driver support for DM646
ASoC: Add mcasp support for DM646
ASoC: DaVinci: i2s, add davinci_i2s_prepare and shutdow
ASoC: DaVinci: i2s, fix mcbsp_word_length updat
ASoC: DaVinci: i2s, minor cleanup of davinci_i2s_startu
ASoC: DaVinci: i2s, only start sample generator if neede
ASoC: DaVinci: i2s cleanu
ASoc: DaVinci: i2s, minor cleanu
ASoC: DaVinci: i2s toggle clock to complete rese
ASoC: DaVinci: i2s, remove MOD_REG_BIT macr
ASoC: DaVinci EVM board support buildfixe
ASoC: DaVinci I2S update
ASoC: davinci-pcm buildfixe

SoC Dynamic Audio Power Management

ASoC: add missing inclusion of debugfs.
ASoC: Add DAPM widget power decision debugfs file
ASoC: Provide default set_bias_level() implementatio
ASoC: Add input and output AIF widget
ASoC: Power speakers and headphones simultaneousl
ASoC: Fix handling of bias levels for non-DAPM codec
ASoC: fix checking for external widgets bu
ASoC: Add pop delay debug at end of DAPM sequencin
ASoC: Fix widget powerdown on shutdow
ASoC: Add a shutdown callbac
ASoC: Make DAPM power sequence lists local variable
ASoC: Coalesce power updates for PGA
ASoC: Coalesce power updates for DAPM widgets with event
ASoC: Sort specialised mixers and muxes togethe
ASoC: Coalesce register writes for DAPM sequence
ASoC: Allow 32 bit registers for DAP
ASoC: Factor out DAPM sequence executio
ASoC: Sort DAPM power sequences while building list
ASoC: Apostrophe patro
ASoC: Add debug trace for bias level transition
ASoC: Integrate bias management with DAPM power managemen
ASoC: Make DAPM sysfs entries non-optiona
ASoC: Split DAPM power checks from sequencing of power change
ASoC: Add power supply widget to DAP
ASoC: Make the DAPM power check an operation on the widge
ASoC: Factor out DAPM power checks for DACs and ADC
ASoC: Factor out generic widget power check
ASoC: Support DAPM events for DACs and ADC
ASoC: Factor out application of power for generic widget
ASoC: Display return code when failing to add a DAPM kcontro

SoC FSI SH7724

ASoC: Add SuperH FSI driver support for ALS

SoC Freescale

ASoC: MPC5200: Support for buffer wrap aroun
ASoC: Add missing DRV_NAME definitions for fsl/* driver
ASoC: MPC5200: Increase the delay time between reset
ASoC: add locking to mpc5200-psc-ac97 drive
ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleare
ASoC: remove BROKEN from Efika and pcm030 fabric driver
ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfi
ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout(
ASoC: Switch FSL SSI DAI over to symmetric_rate
ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolve
ASoC: Fabric bindings for STAC9766 on the Efik
ASoC: Support for AC97 on Phytec pmc030 base board
ASoC: AC97 driver for mpc520
ASoC: Main rewite of the mpc5200 audio DMA cod
ASoC: Rename the PSC functions to DM
ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2
sound: use dev_set_drvdat
ASoC: Remove BROKEN from mpc5200 kconfi
ASoC: Set the MPC5200 i2s driver to BROKEN status

SoC Layer

Fix build of soc-core.c with older kernel
ASoC: fix I2C build error
ASoC: Add DAPM widget power decision debugfs file
ASoC: Add ak4642/ak4643 codec suppor
ASoC: Hook i.MX into buil
ASoC: Factor out shared code from WM899
ASoC: Minor cleanups to AD1938 drive
sound: new ad1836 codec driver based on aso
ASoC: Define more formats for the AC97 CODEC
ASoC: change set_tdm_slot api to allow slot_width override
ASoC: Add WM8776 CODEC drive
ASoC: Factor out I2C 8 bit address 16 bit data I/
ASoC: Add I/O control bus information to factored out cache setu
ASoC: jack: Fix race in snd_soc_jack_add_gpio
ASoC: Allow CODECs to flag invalid register
ASoC: Begin to factor out register cache I/O function
ASoC: Add WM8974 CODEC drive
ASoC: Jack handling enhancements as suggested by subsystem maintaine
ALSA: Allow passing platform_data to devices attached to AC97 bu
ASoC: Add support for Conexant CX20442-11 voice modem code
ASoC: new ad1938 codec driver based on aso
ASoC: MAX9877: add MAX9877 amp drive
ASoC: add SOC_DOUBLE_R_EXT_TLV control typ
ASoC: add SOC_DOUBLE_EXT_TLV control typ
ASoC: fixes multiple typos in comments, no functional chang
ASoC: Add WM8993 CODEC drive
ASoC: Add CODEC volatile register operatio
ASoC: Add WM8523 CODEC drive
ASoC: Convert to dev_pm_op
ASoC: Add a shutdown callbac
ASoC: Add stub suspend and resume calls for ASoC subdevice
ASoC: Add WM8961 drive
ASoC: Make DAPM power sequence lists local variable
ASoC: Allow 32 bit registers for DAP
ASoC: Instantiate any forgotten DAPM widget
ASoC: fix NULL pointer dereference in soc_suspend(
ASoC: Add dummy S/PDIF codec suppor
ASoC: Codec for STAC9766 used on the Efik
ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier drive
AsoC: Make snd_soc_read() and snd_soc_write() function
ASoC: Add TXx9 AC link controller driver (v3
ASoC: Integrate bias management with DAPM power managemen
ASoC: Split DAPM power checks from sequencing of power change
ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 forma
ASoC: Fix up CODEC DAI formats for big endian CPU
ASoC: Remove redundant codec pointer from DAI
ASoC: Remove unused DAI format define
ASoC: Use a shared define for AC97 CODEC data format
sound: ASoC WM8940 Drive
ASoC: add SOC_DOUBLE_EXT macr
ASoC: Volume controls are never of boolean typ
ASoC: Check we have DAI ops when calling via accessor function
ASoC: Add WM8960 CODEC drive
ASoC: Add WM8988 CODEC drive
ASoC: Provide core support for symmetric sample rate
ASoC: soc-core: fix crash when removing not instantiated car
ASoC: Add driver for s6000 I2S interfac

SoC PXA2xx Corgi

[ARM] pxa: register wm8731 explicitly for corgi and poodl

SoC PXA2xx EM-X270

ASoC: em-x270: make the driver support also eXeda and CM-X300 machine

SoC PXA2xx Palm T|X

ASoC: Switch palm27x-asoc to jack detection ap
[ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE

SoC PXA2xx Poodle

[ARM] pxa: register wm8731 explicitly for corgi and poodl

SoC S6000

ASoC: tlv320aic3x: fixup board device change
ASoC: tlv320aic3x: Change to use device mode
ASoC: correct s6000 I2S clock polarit
ASoC: s6105 IP camera machine specific ASoC cod
ASoC: Add driver for s6000 I2S interfac

SoC SH7760 AC97

ASoC: Add FSI-AK4642 sound support for Super
ASoC: Add SuperH FSI driver support for ALS

SoC Texas Instruments OMAP

sound: TTY/ASoC: Rename N_AMSDELTA line discipline to N_V25
ASoC: SDP3430: Fix TWL GPIO6 pin mux reques
sound: ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_sto
ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DA
ASoC: tlv320aic3x: fixup board device change
ASoC: tlv320aic3x: Change to use device mode
ASoC: OMAP: Use DMA operating mode of McBS
ASoC: OMAP: Use McBSP threshold to playback and captur
ASoC: Always syncronize audio transfers on frame
ASoC: Add runtime check for RFIG and XFI
ASoC: OMAP: Make DMA 64 aligne
ASoC: OMAP: Enable DMA burst mod
ASoC: OMAP: Enhance OMAP1510 DMA progress software counte
ASoC: OMAP: Make use of DMA channel self linking on OMAP151
sound: ARM: OMAP: McBSP: Fix ASoC on OMAP1510 by fixing API of omap_mcbsp_start/sto
ASoC: add support for Amstrad E3 (Delta) machin
ASoC: OMAP: Staticise pcm creation function of omap-pc
ASoC: SDP3430: Add support for EXTMUTE using TWL GPIO
ASoC: Zoom2: Update twl4030_setup_data parameter
ASoC: TWL4030: Fix voice interface clock master
ASoC: Zoom2: Add machine driver for Zoom2 boar
ASoC: OMAP: fix OMAP1510 broken PCM pointer callbac
ASoC: SDP4030: Use the twl4030_setup_data for headset pop-remova
ASoC: SDP3430: Connect twl4030 voice DAI to McBSP
ASoC: Added OMAP3 EVM support in ASoC
ASoC: Beagle: Add support for 4 channe
ASoC: OMAP: Add 4 channel support to mcbs
ASoC: OMAP: Add checking to detect bufferless pcm
ASoC: TWL4030: Add support Voice DA
ASoC: OMAP: Add DSP_A mode support for mcbs
ASoC: OMAP: Use single-phase for DSP mod
ASoC: n810: replace BUG() with BUG_ON(

Soc PXA2xx Imote 2

ASoC: IMote2 ASoC Suppor

Soc PXA2xx Magician

ASoC: change set_tdm_slot api to allow slot_width override
ASoC: UDA1380: refactor device registratio
ASoC: magician: fix PXA SSP clock polarit
ASoC: Optimize switch/case in magician.

USB

ALSA: snd_usb_caiaq: add support for Audio2D

USB USX2Y

Remove multiple KERN_ prefixes from printk format
ALSA: usx2y - reparent sound devic

USB caiaq

Clean up useless files and fix .gitignore for caia
ALSA: snd_usb_caiaq: add support for Audio2D
ALSA: snd_usb_caiaq: reparent sound devic
ALSA: snd_usb_caiaq: fix legacy input streamin
ALSA: snd_usb_caiaq: set mixernam
ALSA: snd_usb_caiaq: bump version numbe
ALSA: snd_usb_caiaq: give better shortnam
ALSA: snd_usb_caiaq: give better longnam
ALSA: snd_usb_caiaq: use strlcp
ALSA: snd_usb_caiaq: clean whitespace

USB generic driver

Fix usbmidi.patc
regenerate usbaudio.patc
ALSA: usb-audio - Fix types taken in min(
sound: usb-audio: do not make URBs longer than sync packet interva
ALSA: usb-audio - Volume control quirk for QuickCam E 350
sound: usb-audio: add MIDI drain callbac
sound: usb-audio: use multiple output URB
sound: usb-audio: use multiple input URB
sound: usb-audio: Xonar U1 digital output suppor
sound: usb-audio: add workaround for Blue Microphones device
ALSA: usb-audio - Correct bogus volume dB informatio
ALSA: usb-audio - Use the new TLV_DB_MINMAX typ
ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkI
trivial: remove extra spac
ALSA: usb - Add boot quirk for C-Media 6206 USB Audi
ALSA: usb-audio - errata corrige for quir
ALSA: usb-audio - Add quirk for Roland/Edirol M-16D
ALSA: usb-audio - quirk for USB Aureon card
ALSA: usbaudio - Add delay accoun
sound: usb-audio: make the MotU Fastlane work agai

Utils

alsa-info: Version bump to 0.4.5
alsa-info: use mktemp -
alsa-info: Check errors from mktem
alsa-info: revert the behavior of update optio
alsa-info: Add --output optio
alsa-info: Fix usage outpu
alsa-info: Run the new update script automaticall
alsa-info: Use sysfs if available instead of dmidecod
alsa-info.sh: include 1 line of dmesg contex
alsa-info.sh: add dmesg info on ALSA/HD
alsa-info: Version bump to 0.4.5
alsa-info.sh: introduce withall(
alsa-info.sh: let mv fail loudl
alsa-info.sh: fix whitespace leaked to stdou
alsa-info.sh: Do not automatically upload alsa inf
alsa-info.sh: Provide system manufacturer and product name from DM
Add parsing of def_tristate to mod-dep

VIA82xx driver

ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wai

Virtual Master

ALSA: Add new TLV types for dBwith min/ma

YMFPCI driver

sound: ymfpci: increase timer resolution to 96 kH

au88x0 driver

sound: Use PCI_VDEVIC
ALSA: au88x0: fix wrong period_elapsed() cal
ALSA: au88x0: fix .pointer callbac

alsa-lib

Core

Release v1.0.2
add midi event test

Config API

fix doc error
conf.c: more documentatio

Control API

control.c: snd_ctl_wait: fix revents handlin
fix doc error
Add the support of TLV_DB_MINMAX type
Fix breakage of snd_card_load(
snd_card_get_index() - extend comment for last chang
Extend snd_card_get_index() to accept also control device name like /dev/snd/controlC

Mixer API

remove unimplemented functions from header

PCM API

pcm/ioplug: fix error code in start callbac
pcm: workaround for avoiding automatic start in mmap mod
snd_pcm_scope_set_ops: make ops parameter cons
Fix zero-division in pcm_rate.
remove unimplemented functions from header
pcm_hooks: cosmetic removal of unused variable
Manage dlobj lifetime in pcm_hooks.
pcm dmix plugin: fix MIX_AREAS_24 routine for i386 & x86_64 platform
Query the supported rate ranges from rate plugin

RawMidi API

sound: rawmidi: disable active-sensing-on-close by defaul

Sequencer API

more midi_event documentatio
seq_midi_event: fix decoding of (N)RPN event
MIDI event decoder: prevent running status after syse

Timer API

timer_query: make ops structure constan

Configuration

Fix driver conf parsing in snd_config_hook_load_for_all_cards(
conf.c: more documentatio
conf.c: rename 'node' to 'config
conf.c: rename 'leaf' to 'child
conf.c: rename 'father' to 'parent
conf.c: snd_config_add: prevent adopting a non-orpha
USB-Audio.conf: fix definition for M-Audio AudioPhile spdif devic
conf.c: fix handling of NULL string value
conf.c: snd_config_set_id: prevent duplicate id
conf.c: fix handling of NULL id
Fix SB-Xfi.con
Add IEC958 status bits support to SB-XFi.con
Add config file for SB-XFi drive

Documentation

doc: hide structs with typedef
doc: fix handling of @top_srcdir

External PCM I/O Plugin SDK

fix doc error

External Rate Converter Plugin SDK

Query the supported rate ranges from rate plugin

I/O subsystem

fix doc error

Test/Example code

add config test
test/lsb/midi_event.c: check for buffer size chec
test/lsb/midi_event.c: abort on fatal error
test/pcm.c: float format suppor
add midi event test
test/pcm.c: Generic linear PCM suppor
test/pcm.c: Fix S24 forma
test/pcm.c: Sample generation on big endian platforms was broken

alsa-utils

Core

Release v1.0.2
alsamixer: show channel names for multichannel control

/include/Makefile.am

alsamixer: show channel names for multichannel control

ALSA Control (alsactl)

alsactl init rules: fix Lenovo T61 initialization (Speaker Playback Switch
alsactl: init - fix default configuration for ENS137
alsactl: fixed Headphone Playback Volume setting in default rule

Speaker Test

speaker-test: only check byte order onc
speaker-test: move existing endian macros up in the fil
Remove dead/commented out cod
Allow frequencies down to 30 H
speaker-test: allow frequency to be floating poin

alsamixer

alsamixer: fix display of inactive volume ba
alsamixer: rename attr to c
alsamixer - Tricolorize volume bar
alsamixer: update man pag
alsamixer: fix text box clipping with multi-column character
alsamixer - Fix uninitialized variable warnin
alsamixer: show channel names for multichannel control

aplaymidi/arecordmidi

aplaymidi: reduce bandwidth for big SysEx message

alsa-tools

Core

Release v1.0.2

Envy24 Control

envy24control - Don't redeclare isblank()

ac3dec (Dolby Digital Decoder)

ac3dec - Fix typos of -q optio

hdspconf

Also fix the configure for hdspconf for LIBS/LDFLAGS mistakes

qlo10k1

qlo10k1: Fix usage of $x_libraries in acinclude.m4 - it may be empt

us428control

us428control - Fix array overflo

alsa-plugins

Core

Release v1.0.2
pulse: use PA_CONTEXT_IS_GOOD where applicabl

Documentation

speex - Add echo-cancelling option to speexdsp plugi

OSS Mixer -> ALSA Control plugin

oss - Add missing initialization of fragment

Public Parrot Hack rate converter

Add PCM rates query support for PCM rate plugin

PulseAudio -> ALSA plugin

pulse: immediately trigger EIO when connection is droppe
pulse: rework object destruction paths a bi
pulse: unify stream/context state check
pulse: get rid of redundant state variabl
pulse: move a couple of PCM related functions from pulse.c to pcm_pulse.
pulse: replace manual mainloop by pa_mainloop_iterate(
pulse: call pa_threaded_mainloop_wait() to handle spurious wakeup
pulse: unify destruction of snd_pulse_
pulse: use PA_CONTEXT_IS_GOOD where applicabl
pulse: get rid of a number of assert()
alsa-plugins/pulse: Implement 'pause'

Speex PCM plugin

speex - Add echo-cancelling option to speexdsp plugi

libavcodec's resampler

Add PCM rates query support for PCM rate plugin

alsa-python

Core

Release v1.0.2
[PATCH] alsa-python: Add support for setuptool

pyalsa.alsaseq module

pyalsa: fix integer overflow in alsaseq.
alsaseq: fix time stamp

Detailed changelog between 1.0.20 and 1.0.21 releases

alsa-driver

Sound Core

- Release v1.0.2
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- Add compat header for linux/regulator/consumer.
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Clean up / improve INSTALL documen
Some more on installation with 2.6.x kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Allow relative path to --with-moddir configure optio
Allow a relative path to --with-moddir configure option. When a
relative path is given, the path is appended to /lib/modules/$VERSION/
For example, the recent module-init-tools prefers the director
/lib/modules/$VERSION/updates as the update module path to the norma
directories. Thus, passing --with-moddir=updates will store the newl
built modules to that directory instead of the standard pat
/lib/modules/$VERSION/kernel/sound
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add linux/math64.h compat heade
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add check of linux/bug.h in configure scrip
Signed-off-by: Takashi Iwai <tiwai@suse.de
- sound: make OSS device number claiming optional and schedule its remova
If any OSS support is enabled, regardless of built-in or module
sound_core claims full OSS major number (that is, the old 0-25
region) to trap open attempts and request sound modules using custo
module aliases. This feature is redundant as chrdev already has suc
mechanism. This preemptive claiming prevents alternative OS
implementation
The custom module aliases are scheduled to be removed and the previou
patch made soundcore emit the standard chrdev aliases too to hel
transition
This patch schedule the feature for removal in a year and makes i
optional so that developers and distros can try new things in th
meantime without rebuilding the kernel. The pre-claiming can b
turned off by using SOUND_OSS_CORE_PRECLAIM and/or kernel paramete
soundcore.preclaim_oss
As this allows sound minors to be individually grabbed by other users
this patch updates sound_insert_unit() such that if registerin
individual device region fails, it tries the next available slot
For details on removal plan, please read the entry added by this patc
in feature-removal-schedule.txt
Signed-off-by: Tejun Heo <tj@kernel.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ALSA Core

- Add missing definition of KERN_DEFAULT used in misc.c for older kernel
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add compat header for linux/regulator/consumer.
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Move the previous hack to adriver.
It's better to be in adriver.h since config.h is generated
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add a hack to avoid Oops related with jack laye
Added a hack to avoid Oops in patch_sigmatel.c and patch_conexant.
due to the wrong kconfigs regarding input jack layer
Since CONFIG_SND_JACK is enabled only on 2.6.27 or later kernels
CONFIG_SND_JACK isn't set even though CONFIG_SND_HDA_INPUT_JACK=y
This causes NULL dereference after snd_jack_new()
The patch simply disables CONFIG_SND_HDA_INPUT_JACK when CONFIG_SND_JAC
is undefined, too
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Fix build of hda_intel.
The commit dc4c2e6bde77735071dbef7aca6bd6c0116102b3 in sound tre
causes the build errors on older kernels due to undefined PCI id an
the use of pci_dev.revirsion field. Make a patch to fix the build
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Show the stack trace at bad kfree debug message
This makes a lot easier to find out the culprit
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add krealloc() workaround for older kernels in core/info.
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Use memdup_user() wrapper when memory-debug option is enable
Use memdup_user() wrapper when memory-debug option is enabled
Otherwise you'll get "bad kfree()" errors due to mismatching kfree
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add missing PCI_VDEVICE definition for older kernel
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add missing const to memdup_user() wrapper in adriver.
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add linux/math64.h compat heade
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ctxfi - Add new PCI ids to pci_ids_compat.h.i
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: Fixed a typo of printk(
Fixed a silly typo of printk() included in the previous patch..
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: pcm - Increase protocol versio
Increase the PCM protocol version to indicate the drain ioctl behavio
change
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Add debug module optio
Add debug module option to snd core
This controls the debug print level. When CONFIG_SND_DEBUG_VERBOS
is set, you can suppress the debug messages by giving or changing thi
parameter to a lower value. debug=0 means no debug messsages
As default, it's set to the verbose level 2
Since this option can be changed dynamically via sysfs file, you ca
suppress the verbose debug messages on the fly, which wasn't possibl
before
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: core - strip too long file names in snd_print*(
When modules are built with M= option, they pass long file paths t
__FILE__. This results in ugly outputs of snd_print*() whe
CONFIG_SND_VERBOSE_PRINTK is set
This patch adds a check of the path and strips the leading path dir
if the file name is an absolute path to improve the readability of logs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Fix SG-buffer DMA with non-coherent architecture
Using SG-buffers with dma_alloc_coherent() is often very inefficien
on non-coherent architectures because a tracking record could b
allocated in addition for each dma_alloc_coherent() call
Instead, simply disable SG-buffers but just allocate normal continuou
buffers on non-supported (currently all but x86) architectures
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: info - Use krealloc(
Use krealloc() to resize the buffer in sound/core/info.c
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Core - clean up snd_card_set_id* calls and remove possible id collisio
Move locking outside snd_card_set_id_internal() function and rename i
to snd_card_set_id_no_lock() for better function description
User defined id is just copied to card structure at allocation time
The real unique id procedure is called in snd_card_register() t
ensure real atomicity
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Fix double locking of card list in snd_card_register(
The introduction of snd_card_set_id() added a lock on the card lis
to the old choose_default_id() function when using it to implemen
the new API call. This lock is needed to allow us to walk the lis
and check to see if our new name is a duplicate. Unfortunately thi
causes a lockup when called from snd_card_register() (in case
where no ID is supplied for the card) since the card list is alread
locked there
Fix this fairly hideously by factoring out the implementation an
using a flag to indicate if the lock should be held. A better fi
would probably be to refactor snd_card_register() to move th
_set_id() outside the locking region but I can't immediately se
anything I can convince myself is safe
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Core - add snd_card_set_id() functio
Introduce snd_card_set_id() function to allow lowlevel drivers to se
default identification name for card slot. The function checks als
for identification name collisions and tries to create unique name
Also, the snd_card_create() function is simplified, because this ne
function is used. As bonus, proper name collision checks are evaluate
at the card create time
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: clean up the logic for building sequencer module
Instead of mangling the CONFIG_* variables in the makefiles over an
over, set a few helper variables in Kconfig
Signed-off-by: Michal Marek <mmarek@suse.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: PCM midlevel: improve fifo_size handlin
Move the fifo_size assignment to hw->ioctl callback to allow lowleve
drivers overwrite the default behaviour
fifo_size is in frames not bytes as specified in asound.h and alsa-lib'
documentation, but most hardware have fixed byte based FIFOs. Introduc
internal SNDRV_PCM_INFO_FIFO_IN_FRAMES
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Remove deprecated include/sound/driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Remove deprecated snd_card_new(
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC PXA2xx Core

- ASoC: Pass correct platform data from pxa2xx-ac9
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Allow passing platform_data for pxa2xx-ac9
This patch adds support for passing platform data to ac97 bus device
from PXA2xx-AC97 driver.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: change set_tdm_slot api to allow slot_width override
Extend set_tdm_slot to allow the user to arbitrarily set the frame widt
and active TX/RX slots
Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.
still doesn't handle the slot_width override
While being there, correct an incorrect use of SlotsPerFrm(7) use i
bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) )
(this series is meant for Mark's for-2.6.32 branch
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Eric Miao <eric.miao@marvell.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: remove duplicated code on pxa-ssp.
* We don't need to write the registers twice, remove the first write
* DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move i
out
(This patch is for Mark's for-2.6.32 branch, I have not checked if th
code is duplicated on current 2.6.30
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Only disable pxa2xx-i2s clocks if we enabled the
The clock API can't cope with unbalanced enables and disables an
we only enable in hw_params() but try to disable in shutdown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: pxa2xx-i2s: Fix suspend/resum
pxa2xx_i2s_resume is
- unconditionnaly setting SACR0_EN
- unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr
fix these
In pxa2xx_i2s_{resume,suspend}, save/restore registers eve
when !dai->active
Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: pxa2xx-i2s: Fix inappropriate release of i2s cloc
i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown
Now we 'get' i2s_clk at probe and 'put' it at driver removal or whe
probe fails
Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separatel
- hw_params enables both RPL and REC functions each time : Enable th
appropriate function in pxa2xx_i2s_trigger
- pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function i
off : Turn it off only when both functions are off
Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: pxa2xx-i2s: Proper hw initializatio
Make sure we are in a know good state at end of probe
Reset FIFO logic and registers, and make sure REC and RPL function
along with FIFO service are disabled (SACR0_RST enables REC and RPL)
Resetting loses current settings so remove reset from stream startup
Now reset occurs only at probe
Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: pxa2xx-i2s: Proper initializatio
Reset FIFO logic and registers, and make sure REC and RPL functions alon
with FIFO service are disabled at probe
Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Enforce symmetric rates for PXA2xx I2
There is a single I2S_SYNC pin on the chip
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: em-x270: make the driver support also eXeda and CM-X300 machine
Signed-off-by: Mike Rapoport <mike@compulab.co.il
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: IMote2 ASoC Suppor
This patch adds the ASoC side of the board support for the Crossbo
IMB400 daughter board
Thanks to Crossbow for considerable assistance
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: change stereo/mono to 32-bit/16-bit for pxa-ss
The original idea came from pHilipp, and this makes the code look
more consistent
Signed-off-by: Eric Miao <eric.miao@marvell.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: simplify the SSP DMA parameters settings by run-time generatio
The SSP DMA parameters can actually be easily generated at run-time sinc
they are almost similar except for the FIFO width and direction. Anothe
benefit is the re-use of information from 'struct ssp_device', like SSD
physical FIFO address and DRCMR register index for both directions
Signed-off-by: Eric Miao <eric.miao@marvell.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Reviewed-by: pHilipp Zabel <philipp.zabel@gmail.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: pxa-ssp.c fix clock/frame inver
SCMODE(0): Data Driven (Falling), Data Sampled (Rising), Idle State (Low
SCMODE(1): Data Driven (Rising), Data Sampled (Falling), Idle State (Low
SCMODE(2): Data Driven (Rising), Data Sampled (Falling), Idle State (High
SCMODE(3): Data Driven (Falling), Data Sampled (Rising), Idle State (High
SCMODE(3) does not invert the clock polarity compared to the default SCMODE(0)
This patch also adds all possible NF/IF, NB/IB combinations to the DSP_A an
DSP_B modes
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Control Midlevel

- sound: snd_ctl_remove_user_ctl: prevent removal of kernel control
Ensure that userspace can remove only user controls. Controls create
by kernel drivers must not be removed because they might be reference
in calls to snd_ctl_notify()
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: snd_ctl_remove_unlocked_id: simplify user control countin
Move the decrementing of the user controls counter fro
snd_ctl_elem_remove to snd_ctl_remove_unlocked_id; this saves th
separate locking of the controls semaphore, and therefore remove
a harmless race
Since the purpose of the function is to operate on user controls (th
control being unlocked is just a prerequisite), rename it t
snd_ctl_remove_user_ctl
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: snd_ctl_remove_unlocked_id: simplify error path
Use a common exit path to release the mutex and to return a possibl
error
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: snd_ctl_elem_add: fix value count chec
Make sure that no user element that has no values can be added
The check for count>1024 is not needed because the count is checke
later for the individual control types
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Add new TLV types for dBwith min/ma
Add new types for TLV dB scale specified with min/max values instea
of min/step since the resolution can't match always with the on
a device provides. For example, usb audio devices give 1/256 d
resolution while ALSA TLV is based on 1/100 dB resolution
The new min/max types have less problems because the possibl
rounding error happens only at min/max
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Jack Input Event Midlevel

- ALSA: use card device as parent for jack input-device
This moves the jack devices from the PCI device into the ALSA card device, whic
makes it easier for userspace to find all devices belonging to a specific car
while granting access to logged-in users
Jack input devices from sound cards can now simply be matched with udev by doing
SUBSYSTEM="input", SUBSYSTEMS="sound", ..
ls -l /sys/devices/pci0000:00/0000:00:1b.0/sound/card
controlC
device -> ../../../0000:00:1b.
i
input1
input1
input
input
numbe
pcmC0D0
pcmC0D0
pcmC0D1
powe
subsystem -> ../../../../../class/soun
ueven
Cc: Lennart Poettering <lennart@0pointer.de
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org
Signed-off-by: Takashi Iwai <tiwai@suse.de

PCM Midlevel

- Refresh pcm_native.patch for drain ioctl fixe
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Regenerate pcm_native.patc
Also simplify the check of VM_RESERVED
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - Fix drain behavior in non-blocking mod
The current PCM core has the following problems regarding PCM drainin
in non-blocking mode
- the current f_flags isn't checked in snd_pcm_drain(), thus changin
the mode dynamically via snd_pcm_nonblock() after open doesn't work
- calling drain in non-blocking mode just return -EAGAIN error, bu
doesn't provide any way to sync with draining
This patch fixes these issues
- check file->f_flags in snd_pcm_drain() properl
- when O_NONBLOCK is set, PCM core sets the stream(s) to DRAIN stat
but quits ioctl immediately without waiting the whole drain; th
caller can sync the drain manually via poll(
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: pcm - Tell user that stream to be rewound is suspende
Return STRPIPE instead of EBADF when userspace attempts to rewin
of forward a stream that was suspended in meanwhile, so that i
can be recovered by snd_pcm_recover()
This was causing Pulseaudio to unload the ALSA sink module under a rac
condition when it attempted to rewind the stream right after resume fro
suspend, before writing to the stream which would cause it to revive th
stream otherwise. Tested to work with Pulseaudio patched to attempt t
snd_pcm_recover() upon receiving an error from snd_pcm_rewind()
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: pcm_lib: fix unsorted list constraint handlin
snd_interval_list() expected a sorted list but did not document this, s
there are drivers that give it an unsorted list. To fix this, chang
the algorithm to work with any list
This fixes the "Slave PCM not usable" error with USB devices that hav
multiple alternate settings with sample rates in decreasing order, suc
as the Philips Askey VC010 WebCam
http://bugzilla.kernel.org/show_bug.cgi?id=1402
Reported-and-tested-by: Andrzej <adkadk@gmail.com
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - Fix hwptr buffer-size overlap bu
The fix 79452f0a28aa5a40522c487b42a5fc423647ad98 introduced anothe
bug due to the missing offset for the overlapped hwptr
When the hwptr goes back to zero, the delta value has to be correcte
with the buffer size. Otherwise this causes looping sounds
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - Fix warnings in debug logging
Add proper cast
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - Add logging of hwptr updates and interrupt update
Added the logging functionality to xrun_debug to record the hwpt
updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt()
corresponding to 16 and 8, respectively
For example
# echo 9 > /proc/asound/card0/pcm0p/xrun_debu
will record the position and other parameters at each period interrup
together with the normal XRUN debugging
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - Fix regressions with VMwar
VMware tends to report PCM positions and period updates at utterl
wrong timing. This screws up the recent PCM core code that trie
to correct the position based on the irq timing
Now, when a backward irq position is detected, skip the updat
instead of rebasing. (This is almost the old behavior befor
2.6.30.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Fix SG-buffer DMA with non-coherent architecture
Using SG-buffers with dma_alloc_coherent() is often very inefficien
on non-coherent architectures because a tracking record could b
allocated in addition for each dma_alloc_coherent() call
Instead, simply disable SG-buffers but just allocate normal continuou
buffers on non-supported (currently all but x86) architectures
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: fix check for return value in snd_pcm_hw_refin
'params' is a pointer and looking at the code this probably should be a chec
for ioctl return value
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - A helper function to compose PCM stream name for debug print
Use a common helper function for the PCM stream name displayed i
XRUN and buffer-pointer debug prints
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcm - Fix update of runtime->hw_ptr_interrup
The commit 13f040f9e55d41e92e485389123654971e03b819 made anothe
regression, the missing update of runtime->hw_ptr_interrupt
Since this field is only checked in snd_pcmupdate__hw_ptr_interrupt()
not in snd_pcm_update_hw_ptr(), it must be updated before the hw_pt
change check
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: Clean up 64bit division function
Replace the house-made div64_32() with the standard div_u64*() functions
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: PCM midlevel: Fix hw_ptr_jiffies update commi
In commit "(PCM midlevel: Do not update hw_ptr_jiffies when hw_pt
is not changed" the hw_ptr change check condition i
snd_pcm_update_hw_ptr() function was reverted
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: PCM midlevel: lower jiffies check margin using runtime->delay valu
When hardware has large FIFO, it is necessary to lower jiffies margi
by count of queued samples
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not change
Some hardware might have bigger FIFOs and DMA pointer value will be update
in large chunks. Do not update hw_ptr_jiffies and position timestamp whe
hw_ptr value was not changed
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: PCM midlevel: introduce mask for xrun_debug() macr
For debugging purposes, it is better to separate actions
Bit-values
1: show bad PCM ring buffer pointe
2: show also stack (to debug kernel latency issues
4: check pointer against system jiffie
Example
5: show bad PCM ring buffer pointer and do jiffies chec
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: PCM midlevel: improve fifo_size handlin
Move the fifo_size assignment to hw->ioctl callback to allow lowleve
drivers overwrite the default behaviour
fifo_size is in frames not bytes as specified in asound.h and alsa-lib'
documentation, but most hardware have fixed byte based FIFOs. Introduc
internal SNDRV_PCM_INFO_FIFO_IN_FRAMES
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Enable PCM hw_ptr_jiffies check only in xrun_debug mod
The PCM hw_ptr jiffies check results sometimes in problems when
hardware doesn't give smooth hw_ptr updates. So far, au88x0 and som
other drivers appear not working due to this strict check
However, this check is a nice debug tool, and the capability should b
still kept
Hence, we disable this check now as default unless the user enables i
by setting the xrun_debug mode to the specific stream via a proc file
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Fix invalid jiffies check after paus
The hw_ptr_jiffies has to be reset properly to avoid the invali
check of jiffies delta in snd_pcm_update_hw_ptr*() functions
Especailly this patch fixes the bogus jiffies check after the puas
and resume
This patch is a modified version of the original patch by Jaroslav
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Add extra delay count in PC
Added runtime->delay field to adjust the delayed samples for snd_pcm_delay()
Typically a hardware FIFO length is stored in this field, so that th
extra delay between hwptr and applptr can be computed
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

RawMidi Midlevel

- sound: rawmidi: disable active-sensing-on-close by defaul
Sending an Active Sensing message when closing a port can interfere wit
the following data if the port is reopened and a note-on is sent befor
the device's timeout has elapsed. Therefore, it is better to disabl
this setting by default
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

T5 and LifeDrive

- ASoC: Switch palm27x-asoc to jack detection ap
This patch removes the old method of jack detection from palm27x-aso
driver and adds jack detection api. It also removes some other (now
useless stuff from the driver and corrects pin configuration for th
codec
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Eric Miao <eric.miao@marvell.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

/include/Makefile

- Fix mrproper make targe
Signed-off-by: Jaroslav Kysela <perex@perex.cz

/soc/Makefile

- Fix build of soc-core.c with older kernel
Now it's using dev_pm_ops, which was added recently
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: add DMA platform driver for MX1x and MX2
This adds support for DMA platform valid for i.MX1 and i.MX2 platforms
This is not valid for i.MX3 since it doesn't share the same DM
interface than i.MX1 and i.MX2
It has been tested on i.MX27 board
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Begin to factor out register cache I/O function
A lot of CODECs share the same register data formats and therefor
replicate the code to manage access to and caching of the registe
map. In order to reduce code duplication centralised versions o
this code will be introduced with drivers able to configure the us
of the common code by calling the new snd_soc_codec_set_cache_io(
API call during startup
As an initial user the 7 bit address/9 bit data format used by man
Wolfson devices is supported for write only CODECs and the driver
with straightforward register cache implementations are converted t
use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add TXx9 AC link controller driver (v3
This patch adds support for the integrated ACLC of the TXx9 family
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: Add driver for s6000 I2S interfac
This patch adds a driver for the I2S interface found on Stretch s600
family processors
Signed-off-by: Daniel Glöckner <dg@emlix.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

/soc/codecs/Makefile

- ASoC: Add ak4642/ak4643 codec suppor
This is very simple driver for ALS
It supprt headphone output and stereo input onl
This patch is tested by ms7724s
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out shared code from WM899
The WM8993 analogue control is shared with other devices in the sam
product line. Since this is a very substantial proportion of th
driver move the definitions of these controls into a new wm_hubs modul
which allows them to be shared between the two
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: new ad1836 codec driver based on aso
There has been an ad1836 driver in sound/blackfin based on traditional alsa
The new driver is based on asoc. The architecture of ad1836 codec driver i
very much like ad1938
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8776 CODEC drive
The WM8776 is a high performance, stereo audio CODEC with five channe
input selector. The WM8776 is ideal for surround sound processin
applications for home hi-fi, DVD-RW and other audio visual equipment
This driver implements support for most WM8776 features - currently th
ADC automatic level control/limiter functionality is omitted
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8974 CODEC drive
The WM8974 is a low power, high quality mono CODEC designed for portabl
applications such as digital still cameras or digital voice recorders
This driver was originally written by Graeme Gregory and Liam Girdwoo
and has since been maintained by myself with some updates contributed b
Brett Saunders and Javier Martin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add support for Conexant CX20442-11 voice modem code
This patch adds support for Conexant CX20442-11 voice modem codec, suitabl
for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Relate
sound card driver will follow
This codec is an optional part of the Conexant SmartV three chip modem design
As such, documentation for its proprietary digital audio interface is no
available. However, on Amstrad Delta board, thanks to Mark Underwood wh
created an initial, omap-alsa based sound driver a few years ago[1], the code
has been discovered to be accessible not only from the modem side, but als
over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any soun
card that can access the codec DAI directly. The DAI configuration parameter
(sample rate and format, number of channels) has been selected out empiricall
for best user experience
The codec analogue interface consists of two pairs of analogue I/O pins
speakerphone interface or telephone handset/headset interface. Furthermore, i
seams to provide two operation modes for speakerphone I/O: standard an
advanced, with automatic gain control and echo cancelation. Even if the code
control interface is unknown and not available, all those interfaces and mode
can be selected over the modem chip using V.253 commands. The driver is abl
to issue necessary commands over a suitable hw_write function if provided by
sound card driver. Otherwise, the codec can be controlled over the modem fro
userspace while inactive
Even if nothig is known about the codec internal power managemen
capabilities, DAPM widgets has been used to model the codec audio map
Automatically performed powering up/down of those virtual widgets results i
corresponding V.253 commands being issued
Some driver features/oddities may be board specific, but I have no way t
verify that with any board other than Amstrad Delta
[1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.htm
Created and tested against linux-2.6.31-rc3
Applies and works with linux-omap-2.6 commi
7c5cb7862d32cb344be7831d466535d5255e35ac as well
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: new ad1938 codec driver based on aso
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: MAX9877: add MAX9877 amp drive
The MAX9877 combines a high-efficiency Class D audio power amplifie
with a stereo Class AB capacitor-less DirectDrive headphone amplifier
The max9877_add_controls() is called to register the MAX9877 specifi
controls on machine specific init() of the machine driver
The datasheet for the MAX9877 can find at the following url
http://datasheets.maxim-ic.com/en/ds/MAX9877.pd
[Slight edit to sort the ALL_CODECS entries -- broonie.
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
- ASoC: Add WM8993 CODEC drive
The WM8993 is a highly integrated ultra-low power hi-fi CODEC designe
for portable devices such as multimedia phones
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8523 CODEC drive
The WM8523 is a high performance stereo DAC with integral charg
pump providing 2Vrms line driver outputs using a single 3.3V powe
supply rail
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8961 drive
The WM8961 is a low power, high quality stereo CODEC designed fo
portable digital applications with headphone and stereo class D speake
drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add dummy S/PDIF codec suppor
McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed
This patch provides stub codec that can be used in these configurations
On DM646x EVM the McASP1 is connected to the S/PDIF out
Signed-off-by: Steve Chen <schen@mvista.com
Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com
Signed-off-by: Naresh Medisetty <naresh@ti.com
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Codec for STAC9766 used on the Efik
Datasheet: http://www.idt.com/products/getDoc.cfm?docID=1313400
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier drive
The WM9081 is designed to provide high power output at low distortio
levels in space-constrained portable applications
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: ASoC WM8940 Drive
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8960 CODEC drive
The WM8960 is a low power, high quality stereo codec designed fo
portable digital audio applications
Stereo class D speaker drivers provide 1W per channel into 8W loads
Guaranteed low leakage, excellent PSRR and pop/click suppressio
mechanisms enable direct battery connection for the speaker supply
The device also integrates a complete microphone interface and a stere
headphone driver. External component requirements are drasticall
reduced as no separate microphone, speaker or headphone amplifiers ar
required. Advanced on-chip digital signal processing performs automati
level control for the microphone or line input
Stereo 24-bit sigma-delta ADCs and DACs are used with low powe
over-sampling digital interpolation and decimation filters and
flexible digital audio interface
The master clock can be input directly or generated internally by a
onboard PLL, supporting most commonly-used clocking schemes
This driver was originally written by Liam Girdwood, with substantia
subsequent additions and updates for feature completeness and changes i
the ASoC framework from me
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8988 CODEC drive
The WM8988 is a low power, high quality stereo CODEC designed fo
portable digital audio applications
The device integrates complete interfaces to 2 stereo headphone or lin
out ports. External component requirements are drastically reduced as n
separate headphone amplifiers are required. Advanced on-chip digita
signal processing performs graphic equaliser, 3-D sound enhancement an
automatic level control for the microphone or line input
The WM8988 can operate as a master or a slave, with various master cloc
frequencies including 12 or 24MHz for USB devices, or standard 256f
rates like 12.288MHz and 24.576MHz. Different audio sample rates such a
96kHz, 48kHz, 44.1kHz are generated directly from the master cloc
without the need for an external PLL
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

/soc/pxa/Makefile

- ASoC: IMote2 ASoC Suppor
This patch adds the ASoC side of the board support for the Crossbo
IMB400 daughter board
Thanks to Crossbow for considerable assistance
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

AC97 Codec

- ALSA: Allow passing platform_data for pxa2xx-ac9
This patch adds support for passing platform data to ac97 bus device
from PXA2xx-AC97 driver.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Allow passing platform_data to devices attached to AC97 bu
This patch allows passing platform_data to devices attached to AC97 bu
(like touchscreens, battery measurement chips ...)
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Kill truncate warning by shortening Sigmatel-specific AC97 control nam
ALSA sound/core/control.c:232: Control name 'Sigmatel Surround Phas
Inversion Playback Switch' truncated to 'Sigmatel Surround Phas
Inversion Playback ' bootup message by omitting weird Sigmatel prefi
in this case; also fix up the related ca0106 mixer control remova
part by using identical naming there
Signed-off-by: Andreas Mohr <andi@lisas.de
Signed-off-by: Takashi Iwai <tiwai@suse.de

ALI5451 driver

- ALSA: ali5451: remove dead cod
Remove code covered by #if/endif 0 and #ifdef/endif CODEC_RESE
(CODEC_RESET is never defined)
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready(
Modify loops in such way that the register value is checked also afte
the timeout condition, just in case the heavy interrupt load etc. cause
the thread to sleep for the time period exceeding the timeout value
While at it remove an extra ALI_STIMER read from snd_ali_stimer_ready()
Reported-by: Jack Byer <ojbyer@usa.net
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

ALSA sequencer

- ALSA: OSS sequencer should be initialized after snd_seq_system_client_ini
When build SND_SEQUENCER in kernel then OSS sequencer(alsa_seq_oss_init
is initialized before System (snd_seq_system_client_init) which leads t
memory leak
unreferenced object 0xf6b0e680 (size 256)
comm "swapper", pid 1, jiffies 429467075
backtrace
[<c108ac5c>] create_object+0x135/0x20
[<c108adfe>] kmemleak_alloc+0x26/0x4
[<c1087de2>] kmem_cache_alloc+0x72/0xf
[<c126d2ac>] seq_create_client1+0x22/0x16
[<c126e3b6>] snd_seq_create_kernel_client+0x72/0xe
[<c1485a05>] snd_seq_oss_create_client+0x86/0x14
[<c1485920>] alsa_seq_oss_init+0xf6/0x15
[<c1001059>] do_one_initcall+0x4f/0x11
[<c14655be>] kernel_init+0x115/0x16
[<c10032af>] kernel_thread_helper+0x7/0x1
[<ffffffff>] 0xfffffff
unreferenced object 0xf688a580 (size 64)
comm "swapper", pid 1, jiffies 429467075
backtrace
[<c108ac5c>] create_object+0x135/0x20
[<c108adfe>] kmemleak_alloc+0x26/0x4
[<c1087de2>] kmem_cache_alloc+0x72/0xf
[<c126f964>] snd_seq_pool_new+0x1c/0xb
[<c126d311>] seq_create_client1+0x87/0x16
[<c126e3b6>] snd_seq_create_kernel_client+0x72/0xe
[<c1485a05>] snd_seq_oss_create_client+0x86/0x14
[<c1485920>] alsa_seq_oss_init+0xf6/0x15
[<c1001059>] do_one_initcall+0x4f/0x11
[<c14655be>] kernel_init+0x115/0x16
[<c10032af>] kernel_thread_helper+0x7/0x1
[<ffffffff>] 0xfffffff
unreferenced object 0xf6b0e480 (size 256)
comm "swapper", pid 1, jiffies 429467075
backtrace
[<c108ac5c>] create_object+0x135/0x20
[<c108adfe>] kmemleak_alloc+0x26/0x4
[<c1087de2>] kmem_cache_alloc+0x72/0xf
[<c12725a0>] snd_seq_create_port+0x51/0x21
[<c126de50>] snd_seq_ioctl_create_port+0x57/0x13
[<c126d07a>] snd_seq_do_ioctl+0x4a/0x6
[<c126d0de>] snd_seq_kernel_client_ctl+0x33/0x4
[<c1485a74>] snd_seq_oss_create_client+0xf5/0x14
[<c1485920>] alsa_seq_oss_init+0xf6/0x15
[<c1001059>] do_one_initcall+0x4f/0x11
[<c14655be>] kernel_init+0x115/0x16
[<c10032af>] kernel_thread_helper+0x7/0x1
[<ffffffff>] 0xfffffff
The correct order should be
System (snd_seq_system_client_init) should be initialized befor
OSS sequencer(alsa_seq_oss_init) which is equivalent to
1. insmod sound/core/seq/snd-seq-device.k
2. insmod sound/core/seq/snd-seq.k
3. insmod sound/core/seq/snd-seq-midi-event.k
4. insmod sound/core/seq/oss/snd-seq-oss.k
Including sound/core/seq/oss/Makefile after other seq module
fixes the ordering and memory leak
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- sound: rawmidi: disable active-sensing-on-close by defaul
Sending an Active Sensing message when closing a port can interfere wit
the following data if the port is reopened and a note-on is sent befor
the device's timeout has elapsed. Therefore, it is better to disabl
this setting by default
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: seq_midi: do not send MIDI reset when closin
Sending a MIDI reset message when closing a port is wrong because w
only want to shut the device up, not to reset all settings
Furthermore, many devices ignore this message
Fortunately, the RawMIDI layer already shuts the device up, so we ca
ignore this matter here
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: seq-midi: always log message on output overru
It turns out that the main cause of output buffer overruns is not slo
drivers but applications that generate too many messages. Therefore, i
makes more sense to make that error message always visible, and t
rate-limit it
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: seq_midi_event: fix decoding of (N)RPN event
When decoding (N)RPN sequencer events into raw MIDI commands, th
extra_decode_xrpn() function had accidentally swapped the MSB and LS
controller values of both the parameter number and the data value
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: clean up the logic for building sequencer module
Instead of mangling the CONFIG_* variables in the makefiles over an
over, set a few helper variables in Kconfig
Signed-off-by: Michal Marek <mmarek@suse.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ALSA<-OSS emulation

- ALSA: Clean up 64bit division function
Replace the house-made div64_32() with the standard div_u64*() functions
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ALSA<-OSS sequencer

- sound: seq_oss_midi: remove magic number
Instead of using magic numbers for the controlles sent when resettin
a port, use the symbols from asoundef.h
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ARM AACI PL041 driver

- [ARM] 5544/1: Trust PrimeCell resource size
I found the PrimeCell/AMBA Bus drivers distrusting the resourc
passed in as part of the struct amba_device abstraction. Thi
patch removes all hard coded resource sizes found in the PrimeCel
drivers and move the responsibility of this definition back t
the platform/board device definition, which already exist an
appear to be correct for all in-tree users of these drivers
We do this using the resource_size() inline function which wa
also replicated in the only driver using the resource size, s
that has been changed too. The KMI_SIZE was left in kmi.h in cas
someone likes it. Test-compiled against Versatile and Integrato
defconfigs, seems to work but I don't posess these boards an
cannot test them
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk
- [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void
The second argument of the probe method points to the amba_i
structure, so it's better passed with the correct type. None of th
current in-tree drivers uses the pointer, so they have only bee
checked for a clean compile
Change suggested by Russell King
Signed-off-by: Alessandro Rubini <rubini@unipv.it
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ARM PXA2XX driver

- ASoC: Pass correct platform data from pxa2xx-ac9
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Restore support for DMAless DAIs on PX
Used for applications such as direct bluetooth connections o
smartphones which don't go via the CPU. This used to be supporte
before the refactoring to share code but this check was remove
during that move
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Allow passing platform_data for pxa2xx-ac9
This patch adds support for passing platform data to ac97 bus device
from PXA2xx-AC97 driver.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_fre
Check for rtd->params->drcmr != NULL before accessing it
Signed-off-by: Daniel Mack <daniel@caiaq.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- pxa2xx-ac97: fix reset gpio mode settin
Signed-off-by: Mike Rapoport <mike@compulab.co.il
Acked-by: Eric Miao <eric.miao@marvell.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com

ATIIXP driver

- sound: Use PCI_VDEVIC
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

ATIIXP-modem driver

- sound: Use PCI_VDEVIC
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

AZT3328 driver

- ALSA: azt3328: fix previous breakage, improve suspend, cleanup
- fix my previous codec activity breakage (_non-warned_ variable assignmen
issue
- convert suspend/resume to 32bit I/O access (I/O is painful; to improv
suspend/resume performance
- change DEBUG_PLAY_REC to DEBUG_CODEC for consistenc
- printk cleanu
- some logging improvement
- minor cleanup/improvement
The variable assignment issue above was a conditional assignment to th
call_function variable (this ended with the non-preinitialized variabl
not getting assigned in some cases, thus a dangling stack value, yet gcc 4.3.
unbelievably did _NOT_ warn about it in this case!!)
needed to change this into _always_ assigning the check result
Practical result of this bug was that when shutting dow
_either_ playback or capture, _both_ streams dropped dead :
Tested, working (plus resume) and checkpatch.pl:ed on 2.6.30-rc5
applies cleanly to 2.6.30 proper with my previous (committed
patches applied
Signed-off-by: Andreas Mohr <andi@lisas.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: azt3328: large codec cleanup, add I2S port etc
- fully separate codec I/O port handling, enabling the use of a singl
function each for all codecs (playback, capture, I2S out
- add a new separate pcm for I2S out port (UNTESTED, no I2S DA
available yet
- switch gameport to low frequency while idle, to try to reduce noise/powe
- improve snd_azf3328_codec_setdmaa() calculatio
- minor variable type cleanup (u16, bool etc.
- add some doc updates (help those lost Windows users, debug help, ...
Note that due to the large cleanup aspect of the codec I/O change
I was able to fit everything including all improvements into th
same binary size!! (a measly 10 bytes more or so
This should now be the almost last patch to this drive
(minus some possible kernel clocksource patch and x86_64 fixes or so)
I just felt like taking a break from the usual stuff and wanted t
get this driver's structure finished, and it's rather clean now..
Tested, working and checkpatch.pl:ed on 2.6.30-rc5
applies cleanly to 2.6.30 proper
Signed-off-by: Andreas Mohr <andi@lisas.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Apple Onboard Audio driver

- ALSA: sound/aoa: Add kmalloc NULL test
Check that the result of kzalloc is not NULL before a dereference
The semantic match that finds this problem is as follows
(http://www.emn.fr/x-info/coccinelle/
// <smpl
@
expression *x
identifier f
constant char *C
@
x = \(kmalloc\|kcalloc\|kzalloc\)(...)
... when != x == NUL
when != x != NUL
when != (x || ...
kfree(x
f(...,C,...,x,...
*f(...,x,...
*x->
// </smpl
Signed-off-by: Julia Lawall <julia@diku.dk
Signed-off-by: Takashi Iwai <tiwai@suse.de
- sound: remove driver_data direct access of struct devic
In the near future, the driver core is going to not allow direct acces
to the driver_data pointer in struct device. Instead, the function
dev_get_drvdata() and dev_set_drvdata() should be used. These function
have been around since the beginning, so are backwards compatible wit
all older kernel versions
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Au12x0/Au1550 PSC ASoC

- Add missing ASoC build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de

BT87x driver

- ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'9
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers tha
really don't give the precise pointer value
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

CA0106 driver

- ALSA: ca0106 - Fix the max capture buffer siz
The capture buffer size with 64kB seems broken with CA0106
At least, either the update timing or the DMA position is wrong
and this screws up pulseaudio badly
This patch restricts the max buffer size less than that to make lif
a bit easier
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
- sound: Use PCI_VDEVICE for CREATIVE and ECTIV
Here's a patch on top of the others to use CREATIVE and ECTIV
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ca0106 - Fix master volume scal
The master volume dB scale was wrongly defined as 0.50dB setp whil
it must be 0.25dB step
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ca0106 - Add missing card->mixername field setu
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Remove invalid GENERIC_MIX PCM sublas
SNDRV_PCM_SUBCLASS_GENERIC_MIX is mostly for h/w multi-stream playbac
devices, but ca0106 and emu10k1x don't support it (unlike emu10k1)
We shouldn't set that flag to avoid confusion
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ca0106 - Add missing registrations of vmaster control
Although the vmaster controls are created, they aren't registered thu
they don't appear in the real world. Added the missing snd_ctl_add(
calls
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Kill truncate warning by shortening Sigmatel-specific AC97 control nam
ALSA sound/core/control.c:232: Control name 'Sigmatel Surround Phas
Inversion Playback Switch' truncated to 'Sigmatel Surround Phas
Inversion Playback ' bootup message by omitting weird Sigmatel prefi
in this case; also fix up the related ca0106 mixer control remova
part by using identical naming there
Signed-off-by: Andreas Mohr <andi@lisas.de
Signed-off-by: Takashi Iwai <tiwai@suse.de

CMI8330 driver

- ALSA: cmi8330: Allow MPU-401-less operatio
Adding MPU-401 support to cmi8330 driver could cause a regression (non-workin
sound) on a system where there is no free IRQ for the MPU-401 device (whic
is not very uncommon as this card requires two separate IRQs plus a third on
for MPU-401)
When MPU-401 PnP configuration fails (mostly because of unavailable IRQ), jus
ignore MPU-401 and continue without it
Signed-off-by: Ondrej Zary <linux@rainbow-software.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: cmi8330: find OPL3 port automaticall
My CMI8329 had OPL3 port specified in SB16 resources. But now I found out tha
it was my modification of the card's PnP EEPROM a couple of years ago (can b
done using C9SETROM.EXE utility). I did it because the OPL3 port wa
completely missing from PnP data. It seems to be hardwired to 0x388 o
CMI8329
Find OPL3 port automatically by searching in WSS and SB16 resources. If no
found, assume that it's hardwired to 0x388
Signed-off-by: Ondrej Zary <linux@rainbow-software.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: cmi8330: Add basic CMI8329 suppor
Add basic support for CMI8329 cards. Makes PCM and OPL3 work
Does not break CMI8330 (tested)
Signed-off-by: Ondrej Zary <linux@rainbow-software.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: cmi8330: revert comments about AD1848 bac
In ALSA 1.0.20, the comments were changed to say CMI8330 instead of AD1848
The CMI8330 chip includes two codecs - AD1848 and SB16, so the comments wer
correct and are misleading now. Revert them back
Signed-off-by: Ondrej Zary <linux@rainbow-software.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: cmi8330: fix MPU-401 PnP init copy&paste bu
Fix copy&paste bug in PnP MPU-401 initialization
Signed-off-by: Ondrej Zary <linux@rainbow-software.org
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de

CMI8788 (Oxygen) driver

- sound: virtuoso: fix Xonar D1/DX silence after resum
When resuming, we better take the DACs out of the reset state befor
trying to use them
Reference: kernel bug #1359
http://bugzilla.kernel.org/show_bug.cgi?id=1359
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- sound: oxygen: make mic volume control mon
The microphone input and its volume register have only one channel, s
we have to make the corresponding mixer control a mono control
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
- sound: virtuoso: add Xonar Essence ST suppor
Add support for the Asus Xonar Essence ST and its daughterboard
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- sound: virtuoso: enable HDAV S/PDIF inpu
The Xonar HDAV1.3 has a digital input jack, so enable the correspondin
device
This is not related to the HDMI stuff, which stays unsupported
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- sound: virtuoso: add another DX PCI I
Add another PCI ID for a second revision of the Xonar DX
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- sound: oxygen: reset DMA when stream is close
When a PCM stream is closed, flush the corresponding DMA channel
Otherwise, the DMA controller would continue to output the last sampl
which would result in a DC offset on the output
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

CMIPCI driver

- sound: Use PCI_VDEVIC
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

Conexant Riptide driver

- Regenerated riptide.patc
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: riptide - proper handling of pci_register_driver for joystic
We need to check returning error for pci_register_driver(&joystick_driver
On failure, we should unregister formerly registered audio driver
This also fixed the compiler warning
CC [M] sound/pci/riptide/riptide.
sound/pci/riptide/riptide.c: In function ‘alsa_card_riptide_init’
sound/pci/riptide/riptide.c:2200: warning: ignoring return value of ‘__pci_register_driver’, declared with attribute warn_unused_resul
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: riptide - Fix joystick resource handlin
The current code doesn't handle the multiple gameports properly
and uses unnecessary global static variables to store the data
This patch changes the probe / remove routines to use the drive
data assigned to the dedicated pci device, and adds the support o
multiple devices
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: riptide - Code clean u
A code clean up, coding style fixes
The firmware loading routine is split to an own function to improv
the readability
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: riptide: postfix increment and off by on
With a postfix increment these variables are incremented beyon
CMDIF_TIMEOUT / MAX_WRITE_RETRY
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org
Signed-off-by: Takashi Iwai <tiwai@suse.de

Creative Sound Blaster X-Fi (20K1/20K2)

- Fix ctatc.patc
Regenrated
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add missing pci/ctxfi/cttimer.
- ctxfi - Fix build with older kerne
Fix pci->revision for older kernel (to use snd_pci_revision() macro
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add snd-ctxfi build stu
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Simple code clean u
- replace NULL == xxx with !xx
- replace NULL != xxx with xx
- similar trivial cleanup
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix uninitialized error check
Fix a few uninitialized error checks that were introduced recentl
mistakenlly during the clean-up
sound/pci/ctxfi/ctamixer.c: In function ‘get_amixer_rsc’
sound/pci/ctxfi/ctamixer.c:261: warning: ‘err’ may be used uninitialized in this functio
sound/pci/ctxfi/ctamixer.c: In function ‘get_sum_rsc’
sound/pci/ctxfi/ctamixer.c:415: warning: ‘err’ may be used uninitialized in this functio
sound/pci/ctxfi/ctsrc.c: In function ‘get_srcimp_rsc’
sound/pci/ctxfi/ctsrc.c:742: warning: ‘err’ may be used uninitialized in this functio
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Native timer support for emu20k
Added the native timer support for emu20k2, which gives much mor
accurate update timing than the system timer
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k
On Soundblaster X-FI Titanium with emu20k2 the SIDE and SURROUN
channels were swapped and wrong
I double checked it with connector colors and creative soundblaste
windows drivers
So I swapped them to the true order
Now "speaker-test -c6" and "speaker-test -c8" are working fine
Signed-off-by: Frank Roth <frashman@freenet.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Add PM suppor
Added the suspend/resume support to ctxfi driver
The team tested on the following seems ok
AMD Athlon 64 3500+ / ASUS A8N-E / 512MB DDR ATI / Radeon X130
20k1 & 20k2 card
Signed-off-by: Wai Yew CHAY <wychay@ctl.creative.com
Singed-off-by: Ryan RICHARDS <ryan_richards@creativelabs.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Allow unknown PCI SSID
Allow unknown PCI SSIDs for emu20k1 and emu20k2 as "unknown" model
Also, add a black-list check in case any device has to be liste
as "unsupported". It has a negative value in the pci quirk entry
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Fix deadlock with xfi-time
The PCM x-fi native update routine can cause deadlocks when th
trigger(START) is called while the stream is running
This patch fixes the deadlock by just postponing the pcm period updat
to the next possible wake-up. Also it adds the flip of ti->runnin
flag (just to be sure as now)
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Replace atc lock to mute
The spinlock in atc can cause a sleep in lock
Kernel failure message 1
BUG: sleeping function called from invalid context at mm/slub.c:159
in_atomic(): 0, irqs_disabled(): 1, pid: 2537, name: gstreamer-prop
Pid: 2537, comm: gstreamer-prope Tainted:
2.6.29.4-167.fc11.x86_64 #
Call Trace
[<ffffffff8103ff0f>] __might_sleep+0x10b/0x11
[<ffffffff810cd734>] __kmalloc+0x73/0x13
[<ffffffffa0b4b142>] ? daio_rsc_init+0xaa/0x125 [snd_ctxfi
[<ffffffffa0b4b212>] dao_rsc_init+0x55/0x1c0 [snd_ctxfi
[<ffffffffa0b4b3d2>] dao_rsc_reinit+0x55/0x5d [snd_ctxfi
[<ffffffff813abd6c>] ? _spin_lock_irqsave+0x32/0x3
[<ffffffffa0b454fe>] atc_spdif_out_passthru+0x92/0x136 [snd_ctxfi
..
Since the lock path is no critical path, it can be gracefull
replaced with a mutex
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Clear PCM resources at hw_params and hw_fre
Currently the PCM resources are allocated only once and ever in prepar
callback, assuming that the PCM parameters are never changed. But it'
not true
This patch adds the call of atc->pcm_release_resources() at hw_param
and hw_free callbacks to assure that the PCM setup is done correctl
for each h/w parameter changes
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callback
The SRC instances may not exist when PCM pointer callback is called a
the state before initialization is finished. Add the NULL check jus
to be sure
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Add missing start check in atc_pcm_playback_start(
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Add use_system_timer module optio
Added use_system_timer module option to force to use the system time
instead of emu20k1 timer irq for debugging
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Fix wrong model id for UA
CTUAA should be checked instead of CTHENDRIX. The latter is for 20k2 chip
Also, fixed the detection of UAA/HENDRIX models by fixing the mask bits
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Clean up probe routine
Clean up probe routines and model detection routines so that the drive
won't call and check the PCI subsystem id at each time
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Fix / clean up hw20k2 chip cod
- Clean up Hungarian coding styl
- Don't use static variables for I2C information; this unables to us
multiple instances. Now they are stored in struct hw20k2 fields
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Fix possible buffer pointer overru
Fix possible buffer pointer overruns. Back to zero when it's equa
or over the buffer size
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Remove useless initializations and cas
Remove useless variable initializations and cast at the beginning o
functions
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Fix DMA mask for emu20k2 chi
Allow 64bit DMA mask for emu20k2 chip, too
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Make volume controls more intuitiv
Change the volume control to dB scale (as the raw data seems so)
Also added the TLV dB-scale information
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Optimize the native timer handling using wc counte
Optimize the timer update routine to look up wall clock once instead o
checking the position of each stream at each timer update
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ctxfi - Add missing inclusion of linux/math64.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Set device 0 for mixer control element
Mixer control elements are usually assigned to device 0
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Clean up / optimiz
- Use static tables instead of assigining each funciton pointe
- Add __devinit* to appropriate places; pcm, mixer and timer cannot b
marked because they are kept in the function table that lives lon
- Move create_alsa_devs function out of struct ct_atc to mark i
__devini
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Set periods_min to
Set 2 to minimal periods of playback pcm setups, too
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Use native timer interrupt on emu20k
emu20k1 has a native timer interrupt based on the audio clock, whic
is more accurate than the system timer (from the synchronization POV)
This patch adds the code to handle this with multiple streams
The system timer is still used on emu20k2, and can be used also fo
emu20k1 easily by changing USE_SYSTEM_TIMER to 1 in cttimer.c
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix previous fix for 64bit DM
Remove unneeded substitution to 32bit int to make it really working
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix endian-dependent code
The UAA-mode check in hwct20k1.c is implemented with the endian-dependen
codes. Fix to be more portable (and readable)
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Allow 64bit DM
emu20kx chips support 64bit address PTE. Allow the DMA bit mask t
accept 64bit address, too
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Support SG-buffer
Use SG-buffers instead of contiguous pages
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Remove PAGE_SIZE limitatio
Remove the limitation of PAGE_SIZE to be 4k by defining the ow
page size and macros for 4k. 8kb page size could be natively supported
but it's disabled right now for simplicity
Also, clean up using upper_32_bits() macro
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix supported PCM format
The device seems supporting only U8, S16, S24_3LE, S32. Other linea
formats result in bad outputs
Also, added the support for 32bit float format, which wasn't liste
in the original code
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix PCM device namin
PCM names for surround streams should be also fixed as well as the mixe
element names. Also, a bit clean up for PCM name setup
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix surround mixer name
We usually pick up "Surround" mixer for the rear output, and "Side
for the extra surround. Fix the channel mapping to follow it
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ALSA: ctxfi - Release PCM resources at each prepare cal
The prepare callback can be called multiple times, thus it needs t
release and acquire the resource again by itself at the second or late
call
Simply add pcm_release_resources() at the beginning of each prepar
callback in ctatc.c
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix Oops at mmappin
Replace a spinlock with a mutex protecting the vm block list a
mmap / munmap calls, which caused Oops like below
BUG: sleeping function called from invalid context at mm/slub.c:159
in_atomic(): 0, irqs_disabled(): 1, pid: 32065, name: xin
Pid: 32065, comm: xine Tainted: P 2.6.29.4-75.fc10.x86_64 #
Call Trace
[<ffffffff81040685>] __might_sleep+0x105/0x10
[<ffffffff810c9fae>] kmem_cache_alloc+0x32/0xe
[<ffffffffa08e3110>] ct_vm_map+0xfa/0x19e [snd_ctxfi
[<ffffffffa08e1a07>] ct_map_audio_buffer+0x4c/0x76 [snd_ctxfi
[<ffffffffa08e2aa5>] atc_pcm_playback_prepare+0x1d7/0x2a8 [snd_ctxfi
[<ffffffff8105ef3f>] ? up_read+0x9/0x
[<ffffffff81186b61>] ? __up_read+0x7c/0x8
[<ffffffffa08e36a6>] ct_pcm_playback_prepare+0x39/0x60 [snd_ctxfi
[<ffffffffa0886bcb>] snd_pcm_do_prepare+0x16/0x28 [snd_pcm
[<ffffffffa08867c7>] snd_pcm_action_single+0x2d/0x5b [snd_pcm
[<ffffffffa08881f3>] snd_pcm_action_nonatomic+0x52/0x6a [snd_pcm
[<ffffffffa088a723>] snd_pcm_common_ioctl1+0x404/0xc79 [snd_pcm
[<ffffffff810c52c8>] ? alloc_pages_current+0xb9/0xc
[<ffffffff810c9402>] ? new_slab+0x1a5/0x1c
[<ffffffff810ab9ea>] ? vma_prio_tree_insert+0x23/0xc
[<ffffffffa088b411>] snd_pcm_playback_ioctl1+0x213/0x230 [snd_pcm
[<ffffffff810b6c20>] ? mmap_region+0x397/0x4c
[<ffffffffa088bd9b>] snd_pcm_playback_ioctl+0x2e/0x36 [snd_pcm
[<ffffffff810ddc64>] vfs_ioctl+0x2a/0x7
[<ffffffff810de130>] do_vfs_ioctl+0x462/0x4a
[<ffffffff81029cef>] ? default_spin_lock_flags+0x9/0x
[<ffffffff81374647>] ? trace_hardirqs_off_thunk+0x3a/0x6
[<ffffffff810de1c5>] sys_ioctl+0x55/0x7
[<ffffffff8101133a>] system_call_fastpath+0x16/0x1
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Fix a typo in MODULE_LICENS
A space has to be put between GPL and v2
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Add missing module parameter definition
Added missing module_param*() and MODULE_PARM*()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Move PCI ID definitions to linux/pci_ids.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Add missing inclusion of linux/delay.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Avoid unneeded pci_read_config_*() call
Use struct pci subsystem_device and revision fields instead o
unneeded calls of pci_read_config_*()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Add prefix to debug print
Added ctxfi: prefix to each debug print
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: SB X-Fi driver merg
The Sound Blaster X-Fi driver supports Creative solutions based o
20K1 and 20K2 chipsets
Supported hardware
Creative Sound Blaster X-Fi Titanium Fatal1ty® Champion Serie
Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Serie
Creative Sound Blaster X-Fi Titanium Professional Audi
Creative Sound Blaster X-Fi Titaniu
Creative Sound Blaster X-Fi Elite Pr
Creative Sound Blaster X-Fi Platinu
Creative Sound Blaster X-Fi Fatal1t
Creative Sound Blaster X-Fi XtremeGame
Creative Sound Blaster X-Fi XtremeMusi
Current release features
* ALSA PCM Playbac
* ALSA Recor
* ALSA Mixe
Note
* External I/O modules detection not included
Signed-off-by: Wai Yew CHAY <wychay@ctl.creative.com
Singed-off-by: Ryan RICHARDS <ryan_richards@creativelabs.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Digigram VX222 driver

- sound: vx222: fix input level control range chec
Fix a logic error in the range check of the input level control tha
would prevent setting any volume less than the maximum
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
- trivial: fix typo milisecond/millisecond for documentation and source comments
Signed-off-by: Martin Olsson <martin@minimum.se
Signed-off-by: Jiri Kosina <jkosina@suse.cz

Documentation

- ALSA: hda - Add / fix model entries for HD-audio drive
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add quirk for MacBook Pro 5,5 with CS420
Add the default pin configs for MBP55
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Add debug module optio
Add debug module option to snd core
This controls the debug print level. When CONFIG_SND_DEBUG_VERBOS
is set, you can suppress the debug messages by giving or changing thi
parameter to a lower value. debug=0 means no debug messsages
As default, it's set to the verbose level 2
Since this option can be changed dynamically via sysfs file, you ca
suppress the verbose debug messages on the fly, which wasn't possibl
before
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Reword information messages for BIOS auto-probing mod
The sentense "Unknown model for xxx, ..." makes people too nervou
and drives them to a direction to a wrong "fix" by giving an
mismatching model option
Let's rephrase the messages to be more nice and easy (at least tha
won't make people suspect conspiracies)
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add description of new models for ALC889/889
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: pcm - Add logging of hwptr updates and interrupt update
Added the logging functionality to xrun_debug to record the hwpt
updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt()
corresponding to 16 and 8, respectively
For example
# echo 9 > /proc/asound/card0/pcm0p/xrun_debu
will record the position and other parameters at each period interrup
together with the normal XRUN debugging
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Merge patch_alc882() and patch_alc883(
Merge patch_alc882() and patch_alc883() to the former one since bot
codecs have fairly similar connections but just a slight difference
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - More description about patch module optio
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add description about patch loadin
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix support for Samsung P50 with AD1986A code
Samsung P50 requires the HP auto-muting unlike other Samsung models
Added a new model=samsung-p50 to support this
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add model=6530g optio
Add the new model string corresponding to the previous Acer Aspir
6530G support
Signed-off-by: Takashi Iwai <tiwai@suse.de
- trivial: Miscellaneous documentation typo fixe
Fix various typos in documentation txts
Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com
Signed-off-by: Jiri Kosina <jkosina@suse.cz
- ALSA: pcm - Update document about xrun_debug proc fil
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add 7.1 support for MSI GX62
Added 7.1 support for MSI GX620 and jack quirk
Reference: kernel bug#1343
http://bugzilla.kernel.org/show_bug.cgi?id=1343
Signed-off-by: David Heidelberger <d.okias@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: support Sony Vaio T
with BIOS probing only we offer a non functional headphone swith an
volume slider
Signed-off-by: Guido Günther <agx@sigxcpu.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Add ESI Maya44 suppor
Added the support for ESI Maya44 board to ice1724 driver
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Acer Aspire 8930G suppor
Short story: this laptop has 5.1 built-in speakers which you *really
want to use (the not-so-"sub" woofer is what makes the audio abov
average for a laptop), so 6-channel support is important (plus a decen
asound.conf to upmix stereo). It also has the 3 typical jacks that ough
to have a selectable mode. And it's based on ALC889, which sucks
Rationale/explanations
The const_channel_count stuff was added because, for a laptop like this
you always have 6 channels available (internal speakers) but still nee
to set the mode for the 3 external jacks. Therefore, the device alway
needs to be in 6-channel mode but there still needs to be a mixe
control for the jack mode. You could use line/mic-in at the same time a
the 6 internal speakers, for example. You might be tempted to make i
even smarter by dynamically switching the max channel count whe
headphones are plugged in (therefore muting the internal speakers an
reducing the physical channel count to the jack channel mode), but as
user I consider this to be harmful because I want the audio to blow u
to 6 channels / upmixed as soon as I unplug the headphones, and havin
opened the device while in 2-channel mode would prevent this fro
working (and always making 6-channel mode available doesn't do any harm)
The hardware needs EAPD turned on and the DACs routed to the interna
speaker pins, so the patch adds those verbs
The ALC889 CLFE and subsequent (side/aux, here unused) DACs do NOT wor
by default, at least here. I wasted much time trying to talk t
Realtek/pshou about this, but they just kept sending me useless update
to patch_realtek.c that did nothing relevant. In the end I gave up an
brute forced the issue by trying to flip every bit in the proprietar
coefficient registers, and eventually found the two magic registers tha
need to be cleared to enable all DACs. I have only heard Acer user
complain, but that might be because ALC889 is pretty new and using 5.
(and noticing the missing center/lfe channels) might not be that common
If this is a generalized issue with all ALC889 systems then those verb
should probably be moved to a common verb array
The internal mic is untested and probably doesn't work
These settings will probably work for other Acer Gemstone laptops wit
the same 5.1 speaker config. When identified, those should be added t
the PCI subsystem ID list
Signed-off-by: Hector Martin <hector@marcansoft.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Enable PCM hw_ptr_jiffies check only in xrun_debug mod
The PCM hw_ptr jiffies check results sometimes in problems when
hardware doesn't give smooth hw_ptr updates. So far, au88x0 and som
other drivers appear not working due to this strict check
However, this check is a nice debug tool, and the capability should b
still kept
Hence, we disable this check now as default unless the user enables i
by setting the xrun_debug mode to the specific stream via a proc file
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improved MacBook 3,1 suppor
This patch adds support for MacBook 3,1 sound by adding a model ne
"mb31" with the appropriate init verbs, mixers and channel modes t
the ALC883 configuration. patch_alc882() and patch_alc883() ar
modified to handle the MacBook 3,1 sound-chip (Realtek ALC889A
correctly
Signed-off-by: Torben Schulz <public@letorbi.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: SB X-Fi driver merg
The Sound Blaster X-Fi driver supports Creative solutions based o
20K1 and 20K2 chipsets
Supported hardware
Creative Sound Blaster X-Fi Titanium Fatal1ty® Champion Serie
Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Serie
Creative Sound Blaster X-Fi Titanium Professional Audi
Creative Sound Blaster X-Fi Titaniu
Creative Sound Blaster X-Fi Elite Pr
Creative Sound Blaster X-Fi Platinu
Creative Sound Blaster X-Fi Fatal1t
Creative Sound Blaster X-Fi XtremeGame
Creative Sound Blaster X-Fi XtremeMusi
Current release features
* ALSA PCM Playbac
* ALSA Recor
* ALSA Mixe
Note
* External I/O modules detection not included
Signed-off-by: Wai Yew CHAY <wychay@ctl.creative.com
Singed-off-by: Ryan RICHARDS <ryan_richards@creativelabs.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add support of Samsung NC10 mini noteboo
Add specific configuration for Samsung NC10 mini notebook. Interna
mic/speakers will be correctly muted when plugging in external ones
Mixer controls are added for speakers, headphones and PC beep
"Boost" is added for the microphones
Signed-off-by: Chris Pockelé <chris.pockele.f1@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing models for Realtek codec
Added the missing descriptions and the model names for Realtek codec
to the documentation and the config table
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: sc6000: enable joystick por
Add module parameter to enable or disabl
joystick port (gameport) on the SC6600 an
later cards
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: hda - Addition for HP dv4-1222nr laptop suppor
Signed-off-by: James Gardiner <renidragsemaj@yahoo.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add power supply widget to DAP
Many modern CODECs have shared resources on chip which must be enable
for portions of the chip to work but which can be disabled at other time
in order to achieve power savings. Examples of such resources includ
power supplies and some internal clocks
Since these widgets are dependencies for the audio path but do not carr
audio signals they require slightly different handling to most widgets
they do not contribute to the audio path and so should not be counted a
either inputs or outputs during path walks
Cases where one supply provides a supply for another will requir
additional work. There is also room for more optimisation of the grap
walking to avoid repeated checks for the same thing
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Add missing description of lx6464es to ALSA-Configuration.tx
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add 5stack-no-fp model for STAC927
The recent fix for the headphone volume control on IDT/STAC codec
resulted in the removal of invalid "Side" volume eventually. But
if the front panel doesn't exist, this setup could be regarded as
sort of regression, as reported in kernel bug #13250
Now as a workaround, a new model 5stack-no-fp is added so that the use
without the front panel can choose this one explicitly
Reference: bko#1325
http://bugzilla.kernel.org/show_bug.cgi?id=1325
Signed-off-by: Takashi Iwai <tiwai@suse.de
- sound: virtuoso: add Xonar Essence ST suppor
Add support for the Asus Xonar Essence ST and its daughterboard
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

EMU10K1/EMU10K2 driver

- Remove multiple KERN_ prefixes from printk format
Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean u
handling of log-levels and newlines") changed printk semantics. print
lines with multiple KERN_<level> prefixes are no longer emitted a
before the patch
<level> is now included in the output on each additional use
Remove all uses of multiple KERN_<level>s in formats
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org
- sound: Use PCI_VDEVICE for CREATIVE and ECTIV
Here's a patch on top of the others to use CREATIVE and ECTIV
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: emu10k1 - Fix minimum periods for efx playbac
EFX playback stream should have periods_min = 2 to avoid the buffe
position overflow (due to restrictions of the pcm-indirect helper)
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: Remove invalid GENERIC_MIX PCM sublas
SNDRV_PCM_SUBCLASS_GENERIC_MIX is mostly for h/w multi-stream playbac
devices, but ca0106 and emu10k1x don't support it (unlike emu10k1)
We shouldn't set that flag to avoid confusion
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: clean up the logic for building sequencer module
Instead of mangling the CONFIG_* variables in the makefiles over an
over, set a few helper variables in Kconfig
Signed-off-by: Michal Marek <mmarek@suse.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ENS1370/1+ driver

- sound: Use PCI_VDEVICE for CREATIVE and ECTIV
Here's a patch on top of the others to use CREATIVE and ECTIV
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

ES1688 driver

- ALSA: Add missing __devexit_p() marker
3 ISA sound drivers lack their __devexit_p() markers, which woul
cause build failures when the kernel is built without hotplug support
Signed-off-by: Jean Delvare <khali@linux-fr.org
Cc: Kyle McMartin <kyle@mcmartin.ca
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Echoaudio driver

- ALSA: indigo-express: add missing 64KHz flag
Indigo-express cards also support 64KHz sampling rate: this patch add
missing SNDRV_PCM_RATE_64000 flags
Signed-off-by: Giuliano Pochini <pochini@shiny.it
Signed-off-by: Takashi Iwai <tiwai@suse.de

Emagic Audiowerk 2

- trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)abl
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com
Signed-off-by: Jiri Kosina <jkosina@suse.cz

GUS Extreme driver

- ALSA: Add missing __devexit_p() marker
3 ISA sound drivers lack their __devexit_p() markers, which woul
cause build failures when the kernel is built without hotplug support
Signed-off-by: Jean Delvare <khali@linux-fr.org
Cc: Kyle McMartin <kyle@mcmartin.ca
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

GUS Library

- ALSA: sound/isa: convert nested spin_lock_irqsave to spin_loc
If spin_lock_irqsave is called twice in a row with the same secon
argument, the interrupt state at the point of the second call overwrite
the value saved by the first call. Indeed, the second call does not nee
to save the interrupt state, so it is changed to a simple spin_lock
The semantic match that finds this problem is as follows
(http://www.emn.fr/x-info/coccinelle/
// <smpl
@
expression lock1,lock2
expression flags
@
*spin_lock_irqsave(lock1,flags
... when != flag
*spin_lock_irqsave(lock2,flags
// </smpl
Signed-off-by: Julia Lawall <julia@diku.dk
Signed-off-by: Takashi Iwai <tiwai@suse.de

Generic drivers

- time: move PIT_TICK_RATE to linux/timex.
PIT_TICK_RATE is currently defined in four architectures, but in thre
different places. While linux/timex.h is not the perfect place for it, i
is still a reasonable replacement for those drivers that traditionally us
asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency
Note that for Alpha, the actual value changed from 1193182UL to 1193180UL
This is unlikely to make a difference, and probably can only improv
accuracy. There was a discussion on the correct value of CLOCK_TICK_RAT
a few years ago, after which every existing instance was getting change
to 1193182. According to the specification, it should b
1193181.818181..
Signed-off-by: Arnd Bergmann <arnd@arndb.de
Cc: Richard Henderson <rth@twiddle.net
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru
Cc: Ralf Baechle <ralf@linux-mips.org
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org
Cc: Ingo Molnar <mingo@elte.hu
Cc: Thomas Gleixner <tglx@linutronix.de
Cc: "H. Peter Anvin" <hpa@zytor.com
Cc: Len Brown <lenb@kernel.org
Cc: john stultz <johnstul@us.ibm.com
Cc: Dmitry Torokhov <dtor@mail.ru
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: pcsp - fix printk format warning agai
The commit 5a641bcd6398841cc4606b0a732d41a09256fd94 changed th
printk format to '%lu', but the value passed seems to be dependen
on the architecture. On x86-64, I got a new warning now because a
int value is passed actaully
As a workaround, just cast the value always to unsigned long
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: pcsp: fix printk format warnin
Fix printk format warning
sound/drivers/pcsp/pcsp_mixer.c:54: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

HDA Codec driver

- Add build stub for pci/hda/patch_cirrus.
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix probe of Toshiba laptops with ALC268 code
There are many variants of Toshiba laptops with ALC268 codec, an
it seems that a few of them don't work with model=toshiba prese
since they have the secondary ALC268 codec just for HDMI output
This is a regression due to the previous clean-up work to merge al
Toshiba quirk entries into a single check
This patch adds the identification of such laptops to apply th
standard BIOS-probing method. Unfortunately, Toshiba laptops hav
all the same PCI SSID, so we need to check the codec SSID to identif
each device
Tested-by: Alexey Dobriyan <adobriyan@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Enable HP output with Macbook Pro 5,
The patch below, to be applied on the latest sound-unstable-2.6.git
enables headphones output on my MacBookPro 5,5, together with th
automuting feature
Here is the exact soundcard id
Vendor Id: 0x1013420
Subsystem Id: 0x106b4d0
Revision Id: 0x10030
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - don't build digital output controls if not exis
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix compile warnings in patch_cirrus.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix the speaker volume control nam
Increase the name string buffer size so that "Surround Speaker Playbac
Volume" won't be truncated
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420
GPIO3 seems corresponding to EAPD that is required for the speake
output
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add quirk for MacBook Pro 5,5 with CS420
Add the default pin configs for MBP55
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix double creation of SPDIF input control
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add CS420x-specific coef setu
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Force to initialize input mixer setup for CS420
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix cirrus codec parsin
The parser wasn't called in the proper order
Split now the parser to be called in patch_cirrus(), and the res
are just for building PCMs and controls
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add more quirk for HP laptops with AD1984
More entries for HP laptops to get them working properly
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add full audio support on Acer Aspire 7730G noteboo
1) Added support of internal subwoofer (it sounds!!!
2) Auto muting front speakers and internal subwoofer on headphones plug
3) Internal mic works
4) 3 channel mods (jack maps)
black pink blu
2ch: front ext mic line i
4ch: front ext mic surroun
6ch: front CLFE surroun
Can be changed in mixer
5) Sound can be recorded from
Internal mi
Ext mi
C
Line i
6) 2 separate capture channels
Signed-off-by: Denis Kuplyakov <dener.kup@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improve auto-cfg mixer name for ALC66
The last patch in this series is for ALC662; pretty similar as th
previous patch for ALC861-VD
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improve auto-cfg mixer name for ALC861-V
One more patch to give a better name for the primary output controls
this time for ALC861-VD codec. The change is simple, just checking th
pin connection whether it's a speaker-out. When both speaker and H
are assigned, we name the volume as "PCM" as this influences on bot
outputs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improve auto-cfg mixer name for ALC26
Similar improvements for ALC262 codec like previous two commits
assign a better name, either Master or Speaker, for the primary outpu
controls
However, in the case of ALC262 codec, the necessary changes are large
than others because we need to check the possibility of different mixe
amps depending on the pins. The pin 0x16 is mono, and bound with th
dedicated mixer 0x0e while other pins are bound with 0x0c. Thus, ther
are two possible volumes
When only one of them is used, we can name it as "Master". OTOH, whe
both are used at the same time, they have to be named uniquely
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improve auto-cfg mixer name for ALC26
Instead of fixed "Front" mixer name, try to assign a better name, e.g
"Master" or "Speaker" fot the primary output volume controls of ALC26
codec
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improve auto-cfg mixer name for ALC88
When there is only one DAC is used for ALC880, try to assign a bette
name, either Speaker or Front, depending on the output pin type
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Generalize input pin parsing in patch_realtek.
Provide a standard parser for input pins to create the input mixe
and input source controls instead of having a difference one for eac
Realtek codec. The new helper parses the codec connections dynamicall
isntead of fixed indicies
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Reuse ALC268 parser for ALC26
Reuse a part of the code of ALC268 parser for ALC269
This will change the default output volume either to Front or Speake
depending on the pin configuration
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda: move open coded tricks into get_wcaps_channels(
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 invalid capture mixers with some ALC268 model
The auto-mic clean-up patches caused regressions on some ALC268 model
that have no proper input_mux but with "Input Source" mixer elements
Such a combination results in Oops when accessed
[A reason why set_capture_mixer() isn't used in patch_alc268() is tha
ALC268 codec have HDA_OUTPUT direction for capture volumes unlike othe
codecs. Thus it needs own definitions of capture elements.
This patch fixes the issues
- Add a capture mixer definition without input-sourc
- Use the new capture mixer appropriatel
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing num_adc_nids definition for IDT92HD8xx
The previous fix removed the definition of num_adc_nids wrongly, an
this resulted in the missing input-source control. Now readded again
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix / clean up IDT92HD83xxx codec parse
A few improvements for IDT 92HD83xxx codec pareser
- Remove unused / deprecated mixer-amp control
- Handle d-mics as normal inputs since this codec has no separat
MUXes for analog and digita
- Don't create duplicated controls for capture volumes with Mu
capture volume
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Enable line-out detection only with speaker
Enable line-out detection for IDT/STAC codecs only when speaker pin
exist. In some cases, the speaker itself is identified as line-out
and this confuses the situation. Only the extra line-outs should d
auto-muting
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - fix noise issue when recording from digital mic with alc26
With auto config model of alc268 realtek codec, it allows to select an
of possible available digital microphone inputs when only one i
available. For example, when only digital mic in nid 0x12 is available
on second input source it will allow you to select unavailable digita
mic in nid 0x13. The problem is that selecting unavailable digital mi
creates a source of noise when recording (I'm not sure if this happen
on all machines with alc268 and only one digital mic input, but testin
on a quanta uw1 netbook a lot of noise is introduced in recording fro
digital mic 0x12/first input source, when you select the unavailabl
digital mic 0x13 for capture source 0x24 in the second input source i
mixer)
Then to avoid noise when recording from digital mic with auto model i
this case, prevent a digital mic input source to be selected i
microphone is not available
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 init and setup hooks for Realtek codec
Move static codes to setup from init_hook for each model
Also, use the common auto-mic selection helper for devices that suppor
auto-mic selection. They just need to set up ext_mic, int_mic an
auto_mic flag in the setup section
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add setup hook to ALC preset struc
Added setup hook to ALC preset struct to be called at in the parse
but not at each init callback
This can be used for setting up the static pins, etc, while th
init hook should be used for updating the status again
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Check connectivity for auto-mic of Realtek codec
Some Realtek codecs don't provide the full connections for certain pin
from each ADC; e.g. ACL662/ALC272 gives only one of two digital-mic pin
for each ADC. Thus, depending on the digital mic pin, the ADC/MUX to b
used has to be chosen properly
This patch adds the check of the connectivity of pins at auto-mic mode
If no proper connectivity is found, auto_mic flag is turned off to b
sure
Also the mux_idx is determined during this check so it won't be checke
in the unsol event any more
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Use only one capture stream for auto-mi
When the auto-mic feature is enabled, we should support only on
capture stream
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add auto-mic support for Realtek codec
Added the support for automatic mic selection via plugging fo
Realtek codecs (in auto-probing mode). The auto-mic mode is enable
only when one internal mic and one external mic are present
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix Oops due to STAC/IDT auto-mic change
The previous auto-mic patch for STAC/IDT codecs causes the Oops o
machines without digital mic pins. This patch fixes the problem
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add quirks for some HP laptop
The new HP laptops have PCI SSID 103c:701x and requires model=hp-dv5
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix line-out jack handling with STAC/IDT code
When the line-out jack is plugged/unplugged, the driver needs to chec
the headphone plug, not only the line-out jack itself. Otherwise th
headphone or the speaker may be wrongly muted/unmuted
As a result, both STAC_HP_EVENT and STAC_LO_EVENT need to call th
same function, stac92xx_hp_detect()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix line-out jack detectio
The commit fefd67f31ee7f5259344e36a237d59b47e8715c
ALSA: hda - Add line-out jack detection on IDT/STAC codec
enabled wrong pins for jack detections. Fixed to the correct ones
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin numbe
The new IbexPeak HDMI codec has 3 pin nodes and 2 converter nodes
Here we assume only the first ones will be used
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 line-out jack detection on IDT/STAC codec
Add the automatic mute of speakers via line-out jack plugging o
STAC/IDT codecs. The feature is enabled when the HP detect is present
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Integrate Digital Input Source to Input Sourc
STAC/IDT codecs provide both "Input Source" and "Digital Input Source
controls to choose the analog input source and the digital input source
But this is far user-unfriendly
This patch merges the input source selections into one "Input Source
control. To have separate digital and analog input source controls
you can pass "separate_dmux = 1 " hint string
At the same time, this patch gets rid of analog mixer stuff that wa
already disabled in previous patches
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add Cirrus Logic CS420x suppor
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda: add model for Intel DG45ID/DG45FC board
The BIOS pin configs are in fact correct and shall not be overwritten
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: enable speaker output for Compaq 6530s/6531
HP Compaq 6530s and 6531s internal speaker is silence or becomes silenc
within 1 minute after fresh boot. It is found that pin 0x1c must be set t
PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c an
speaker pin 0x16 seem to be unrelated
The codec differences before/after patch are
@@ Node 0x17 [Pin Complex] wcaps 0x40020b
Pin Default 0x41a6e130: [N/A] Mic at Ext Rea
Conn = Digital, Color = Whit
DefAssociation = 0x3, Sequence = 0x
Misc = NO_PRESENC
- Pin-ctls: 0x24: I
+ Pin-ctls: 0x40: OU
@@ Node 0x1c [Pin Complex] wcaps 0x40018d
Pin Default 0x41813021: [N/A] Line In at Ext Rea
Conn = 1/8, Color = Blu
DefAssociation = 0x2, Sequence = 0x
- Pin-ctls: 0x24: IN VREF_8
+ Pin-ctls: 0x40: OUT VREF_HI
Unsolicited: tag=00, enabled=
Connection:
0x2
Tests show that it won't impact (external) Mic recording
Reported-by: "Lin, Ming M" <ming.m.lin@intel.com
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Don't override ADC definitions for ALC codec
ALC269 and ALC861-VD parsers override the ADC definition
unconditionally without checking the spec definition. This cause
the problem when any inconsistent ADC is set up in the device quir
(like ALC272 with digital-mic)
This patch avoids the overriding by adding the proper checks
Reference: Novell bnc#52946
https://bugzilla.novell.com/show_bug.cgi?id=52946
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add missing vmaster initialization for ALC26
Without the initialization of vmaster NID, the dB information go
confused for ALC269 codec
Reference: Novell bnc#52736
https://bugzilla.novell.com/show_bug.cgi?id=52736
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
- ALSA: hda - Read buffer overflo
Check whether index is within bounds before testing the element
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: Correct EAPD for Dell Inspiron 152
The commit 24918b61b55c21e09a3e07cd82e1b3a8154782dc statically change
the model from dell-bios to dell-3stack to solve the sound decreasin
regression (http://lkml.org/lkml/2008/9/12/203), however it leads to anothe
problem that the 2nd headphone jack doesn't wor
(https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3987). So I thin
the commit 249**2dc is just a workaround. I would like to give a true solutio
here
The datasheet for STAC9228 says, GPIO2 is the same pin as VOL DOWN, an
the EAPD pin is GPIO0. This is why the sound decreases if we set EAPD a
GPIO2. This patch changes EAPD to GPIO0 to solve the problem
Signed-off-by: Chengu Wang <wangchengu@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: track CIRB/CORB command/response states for each code
Recently we hit a bug in our dev board, whose HDMI codec#3 may emi
redundant/spurious responses, which were then taken as responses t
command for another onboard Realtek codec#2, and mess up both codecs
Extend the azx_rb.cmds and azx_rb.res to array and track each codec'
commands/responses separately. This helps keep good codec safe fro
broken ones
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix quirk for Toshiba Satellite A135-S452
Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S452
with ALC861-VD codec
Reference: Novell bnc#52632
https://bugzilla.novell.com/show_bug.cgi?id=52632
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Increase PCM stream name buf in patch_realtek.
The name buf with size 16 is too short for some codec names, e.g
truncated like "ALC861-VD Analo". Now the size is doubled
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix typos of Capture controls
The commit 6479c63188290beae83ade3243b9d6eb47d394b
ALSA: hda - Create Capture controls dynamicall
introduced typos of "Capture". Fixed now
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda: add HP automute support to Intel ALC889/ALC889A model
It auto mutes all 8-channel outputs at rear panel whe
the front panel headphone is connected
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 2-channel mode to Intel ALC889/ALC889A model
This 2-channel mode is useful in that it will broadcas
a 2-channel audio stream to all front/side/... ports
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 - No analog mix input source as default for IDT92HD71bx
The analog mix is disabled now as default (unless "analog_mixer" hin
is given), so it shoudn't appear in the digital input source as well
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/ID
Added the missing initialization of DMUX connection (to analog input
for auto-mic mode with STAC/IDT codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Remove static connection in IDT 92HD71bx
We don't need any more static connection to the port F (which is ofte
used for docking stations) since its connection is done dynamically vi
DAC assignment now
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Support auto-mic switching with IDT/STAC code
Support the automatic mic-switching with some devices with IDT/STA
codecs. The condition is that the device has only two inputs, on
for an external mic and one for an internal mic
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Avoid overwrite of jack events with STAC/ID
Since only one event can be associated to a (pin) widget, it's safe
to avoid the multiple mapping. This patch fixes the behavior of th
STAC/IDT codec driver
Now stac_get_event() doesn't take the type argument but simply return
the first hit element. Then enable_pin_detect() checks the validit
of the type, and returns non-zero only if a valid entry. The calle
can call stac_issue_unsol_event() after checking the return value
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Don't create analog mixer for IDT92HD71bx
The analog mixer unit on IDT 92HD71Bxx codecs is almost useles
since we use only the direct connections from DAC to pin
Remove the controls to avoid unneeded confusion as default now
This can be still back via "analog_mixer = 1" hint
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Create Capture controls dynamicall
Instead of static snd_kcontrol_new arrays, create "Capture Volume
and "Capture Switch" controls dynamically based on the mixer att
values (made via HDA_COMPOSE_AMP_VAL())
This reduces the code size and gives more flexibility to chang
the number of controls later
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Don't create unneeded digital input source for IDT 92HD71
The current driver creates always the digital input source mixe
elements for IDT 92HD71x codecs no matter whether digital mics ar
present. This patch adds the proper check to avoid the creation o
these controls if unnecessary
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Reword information messages for BIOS auto-probing mod
The sentense "Unknown model for xxx, ..." makes people too nervou
and drives them to a direction to a wrong "fix" by giving an
mismatching model option
Let's rephrase the messages to be more nice and easy (at least tha
won't make people suspect conspiracies)
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add quirk for Dell Studio 155
Added a quirk entry for Dell Studio 1555
Reference: Novell bnc#52524
https://bugzilla.novell.com/show_bug.cgi?id=52524
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add exception for volume-knob in snd_hda_get_connections(
Volume-knob widgets may have connections even if they have no CONN_LIS
cap bit. Allow the query exceptionally in snd_hda_get_connections()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Introduce get_wcaps_type() macr
Add a helper macro to retrieve the widget type from wiget cap bits
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix mute control with some ALC262 model
The master mute switch is wrongly implemented as checking the pointe
instead of its value, thus it can be never muted. This patch fixe
the issue
Reference: Novell bnc#40487
https://bugzilla.novell.com/show_bug.cgi?id=40487
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
- [ALSA] Add better Intel IbexPeak platform suppor
Here are the new sound enabling patches for IbexPeak
Summary of tested features
- playbac
- Front Headphone: O
- 8 channel audio: Front/Rear/CLFE/Side all O
- recordin
- Front Mic/Rear Mic: both O
(front/rear/line mics are selectable in the "Input source" alsamixer control
- Line In: not workin
(in 6ch mode, its amp/mute, direction and route all looks fine
so I'm a little puzzled
(hopefully no one will care this feature
- digital SPDIF input/output: not tested (no equipment
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Restore GPIO1 properly at resume with AD1984
The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced
regression at suspend/resume where the GPIO1 bit isn't properl
restored, thus the speaker output gets muted initially after resume
The fix is simple, use the cached write for storing GPIO data
Reference: Novell bnc#52276
https://bugzilla.novell.com/show_bug.cgi?id=52276
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Use snprintf() to be safe
Use snprint() for creating the jack name string instead of sprintf(
in patch_sigmatel.c
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix ALC861 auto-mode parse
Fix the logic of ALC861 auto-mode parser for the outputs
Instead of assuming the fixed DAC list, parse the conection and assig
the DAC dynamically
Also, unmute the unused output connections to avoid noises on inputs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Reduce click noise at power-savin
Add some tricks to reduce the click noise at powering down to D
in the power saving mode on STAC/IDT codecs
The key seems to be to reset PINs before the power-down, and som
delay before entering D3. The needed delay is significantly long
but I don't know why
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codec
The recent rewrite of the codec parser for STAC9872 caused a regressio
for some Sony VAIO models that don't give proper pin default config
by BIOS. Even using model=vaio doesn't work because the pin definition
are set after the pin overrides
This patch fixes the pin definitions in patch_stac9872() to be pu
in the right place before the pin overrides. Also the patch adds th
new quirk entry for VAIO F/S to have the correct pin default configs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
- ALSA: hda - Add quirk for Gateway T6834c lapto
Gateway T6834c laptops need EAPD always on while the default behavio
for the STAC9205 reference board is to turn it off upon every HP plug
By using the special "eapd" model, which is first introduced for Gatewa
T1616 laptops for this same reason, this peculiarity can be properl
handled
Signed-off-by: Hao Song <baritono.tux@gmail.com
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- [ALSA] hda-intel: Cleanups for widget connection list handlin
This patch adds a check to snd_hda_get_connections() routine fo
presence of AC_WCAP_CONN_LIST. Also, make sure that negative erro
codes from noted route are handled on all places as errors
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [ALSA] hda_codec: Check for invalid zero connection
To prevent "Too many connections" message and the error path for some HDM
codecs (which makes onboard audio unusable), check for invalid zer
connections for CONNECT_LIST verb
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix ALC268 parser for mono speake
- Parse the mono output pin 0x16 correctly even as the primary outpu
- Create "Speaker" volume control if the primary output is a speake
- Fix the wrong direction of (optional) "Mono" switc
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix the previous sanity check in make_codec_cmd(
The newly added sanity-check for a codec verb can be better writte
with logical ORs. Also, the parameter can be more than 8bit
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - add bounds checking for the codec command field
A recent bug involves passing auto detected >0x7f NID to codec command
creating an invalid codec addr field, and finally lead to cmd timeou
and fall back into single command mode. Jaroslav fixed that bug i
alc880_parse_auto_config()
It would be safer to further check the bounds of all cmd fields
Cc: Jaroslav Kysela <perex@perex.cz
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 CX20582 and OLPC XO-1.5 suppor
This adds support for the Conexant CX20582 codec, based on code fro
http://www.linuxant.com/alsa-driver/alsa-driver-linuxant-1.0.19ppch12-1.noarch.rpm.zi
This is the codec to be shipped in the OLPC XO-1.5, so this patch als
includes an XO-specific profile. Resultant configuration
http://dev.laptop.org/~dsd/20090713/codec0.tx
http://dev.laptop.org/~dsd/20090713/codec0.sv
As the Linuxant code is structured differently to the other codecs
I was unable to cleanly reimplement everything in the generic and Del
profiles as more info is needed (e.g. codec graphs). I simplified thos
profiles so that hopefully it will not break anyone's audio. If it does
it may be worth returning -ENODEV from patch_cx5066 on non-OLPC systems
and then fixing snd_hda_codec_configure() to fall back on the generi
parser, at least until support for other systems is figured out
Signed-off-by: Daniel Drake <dsd@laptop.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Check codec errors in snd_hda_get_connections(
The codec read errors in snd_hda_get_connections() are ignored so far
and it causes a problem like the bug in the commi
9d30937accf2c01e8b0bd59787409a7348cbbcb
ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checkin
Better to check errors in the function and returns a proper error cod
rather than passing bogus NID values
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix the merge erro
Fix the merge error at the commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572
an addition of the missing alc880_gpio3_init_verbs to ALC882_TARGA model
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checkin
On some IbexPeak systems with ALC889A errors like "azx_get_respons
timeout, switching to polling mode: last cmd=0xaf9f000b" are produced
because non-existent codec #10 is wrongly accessed
The problem is that snd_hda_get_connections() returns out-of-range resul
for NID 0x1c (something like 0xf8f9 or 0xffff)
This patch adds a check to alc880_parse_auto_config() to avoid usin
of this out-of-range NIDs. A better fix maybe to improv
snd_hda_get_connections() routine to check for valid NID ranges i
NIDs are expected as result
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - targa and targa-2ch fi
Simplify ALC882_TARGA and return gpio3 to ALC883_TARGA_DIG an
ALC883_TARGA_2ch_DIG, which I accidentally removed in commit i
64a8be74357477558183b43156c5536b642de13
Signed-off-by: David Heidelberger <d.okias@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC
There is a regression, introduced in aa202455eec51699e44f658530728162cefa130
(in alsa-kernel) which I noticed when trying to use the headphone socket o
my EeeCPC 901: the output was *very* quiet, practically silent
This patch corrects the control types to that which was obviously intended i
the referenced commit
Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX71
Signed-off-by: William Weston <weston@sysex.net
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Check widget types while parsing capture source in patch_via.
Check the widget type and don't take invalid widgets while parsin
the capture source in patch_via.c
Also, fixed some compile warnings introduced in the previous commit
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix capture source selection in patch_via.
The fixed widget NIDs in patch_via.c seem wrong for some codecs
and it resulted in the invalid capture source selection
This patch adds the code to parse the topology instead of usin
fixed numbers in order to get the right MUX widget id correspondin
to the ADCs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing EAPD initialization for VIA codec
If the output pin is used and EAPD capability is present, turn o
the EAPD bit. This fixes the silent output problem on ASUS laptop
with VT1708S codec
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Clean up VT170x dig-in initialization cod
Minor clean up for initializing the digital-in pin
No functional changes
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper sectio
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 override maxbps for FLOAT sharing with linear format
When FLOAT PCM format is available but together with other linea
PCM formats, don't override maxbps value. For FLOAT format, it's alway
32, thus it can be better checked in snd_hda_calc_stream_format()
Otherwise the maxbps 32 might be used wrongly even if the linear PC
doesn't support it
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Manually expand alc882_init_verb
Instead of expanding alc882_init_verbs to two elements via a macro
manually expand to each entry. This makes clear that some have alread
the full slot for init_verbs array (currently 5)
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing mixer amp initialization for ALC88
After merting patch_alc882() and patch_alc883(), the initialization o
mixer amp 0x0b was missing in alc882_base_init_verbs[]
This is usually no critical problem, but it can disable the power-savin
as the default state, so better to put to mute these channels
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Allow FLOAT PCM forma
So far, the FLOAT PCM format is used only exclusivley set. Bu
this can be a combination with other formats
This patch changes the parser to allow the FLOAT format in additio
to other PCM formats
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix input pinctl for ALC882 auto mod
alc882_auto_init_analog_input() sets the input pins to VREF-80 regardles
of the input pin types although it shouldn't be for line-in pins
This patch fixes the behavior to follow other codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Merge patch_alc882() and patch_alc883(
Merge patch_alc882() and patch_alc883() to the former one since bot
codecs have fairly similar connections but just a slight difference
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add patch module optio
Added the patch module option to apply a "patch" as a firmware t
modify pin configurations or give additional hints to the drive
before actually initializing and configuring the codec
This can be used as a workaround when the BIOS doesn't give sufficien
information or give wrong information that doesn't match with the rea
hardware setup, until it's fixed statically in the driver via a quirk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new(
The codec setup call via snd_hda_codec_configure() isn't necessaril
called in snd_hda_codec_new(). For the later added feature, it's bette
to change the code flow like
- create all codec instance
- configure each code
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Avoid invalid formats and rates with shared SPDI
Check whether formats and rates don't result in zero due to th
restriction of SPDIF sharing. If any of them can be zero, disabl
the SPDIF sharing mode instead. Otherwise it will lead to a PC
configuration error
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Improve ASUS eeePC 1000 mixe
The mixer elements created for ASUS eeePC 1000 with ALC269 aren'
standard but strange words like "LineOut". Rename the element name
to follow the standard one like "Headphone" and "Speaker"
Also, split the volumes to each so that the virtual master can contro
them
The alc269_fujitsu_mixer is removed because it's now identical wit
the new eeepc mixer
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add GPIO1 control at muting with HP laptop
HP laptops with AD1984A codecs (at least mobile models) need to se
GPIO1 appropriately to indicate the mute state. The BIOS checks thi
bit to judge whether the mute on or off is sent via F8 key
Without changing this bit, the BIOS can be confused and may toggl
the mute wrongly
Reference: Novell bnc#51526
https://bugzilla.novell.com/show_bug.cgi?id=51526
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add quirk for HP 6930
Added a quirk model=laptop for HP 6930p (103c:30dc) with AD1984A codec
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add missing static to patch_ca0110(
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add missing initializations for ALC268 and ALC26
During the changes to clean up / fix the realtek codec initializatio
routines in commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51
I forgot to add the check for ALC268 and ALC269
This resulted in the missing EAPD and COEF setup for these codecs
This patch adds the missing checks for these codecs
Reference: bko#1363
http://bugzilla.kernel.org/show_bug.cgi?id=1363
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Line In for Acer Inspire 6530G mode
The Line In connector is set up as PIN_IN by default, usin
VREF_HIZ. It is connected to both ADCs, so add it to bot
input selectors
Also add the ability to use the input mix (on a SoundBlaste
one would call this "What You Hear")
Signed-off-by: Tony Vroon <tony@linx.net
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930
For Acer Aspire 6930G (1025:015e), acre-aspire-6530g model matche
obviously better
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix acer-aspire-6530g model quir
Fix the following bugs of acer-aspire-6530g model with ALC888
- HP jack to mute all speaker outputs including LF
- Make digital built-in mic workin
Signed-off-by: Emilio López <buhitoescolar@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add pin-sense trigger when needed for Realtek codec
Realtek codecs require the pin-sense trigger call before actuall
reading the pin-sense. Without this, the pin-detection might not b
done accurately
This patch adds the pin-capability check and issues the trigger cal
if required
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix support for Samsung P50 with AD1986A code
Samsung P50 requires the HP auto-muting unlike other Samsung models
Added a new model=samsung-p50 to support this
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Generalize the pin-detect quirk for Lenovo N10
Add a new flag to ad_spec struct so that the same hack can be used fo
any other models (if any). This also allows other models to reuse th
auto-mute functions
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Simplify AD1986A mixer definition
Split mixer element arrays of AD1986A models to several pieces so tha
each model can share the same mixer arrays
This removes lots of duplicated data
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Make jack-plug notification selectabl
Make the jack-plug notification via input layer selectable via Kconfig
This is often unnecessary, and the similr function will be provide
using the ALSA control API in near future anyway
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add digital-mic support to ALC262 auto mode
Add the digital-mic support with ALC262 auto model
The new ALC262 models have the digital mic at NID 0x12. This widge
isn't checked in the current alc262_auto_create_analog_input_ctls(
since it's under 0x18. So, just reuse the routine for alc269 to fi
the behavior
But, it doesn't suffice: the digital mic is supported only with th
ADC0, we have to exclude other ADCs when d-mic is detected
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix check of input source type for realtek codec
Fix the check of the input-source type by checking the widget type o
each capture-source item. Since some codecs can have both the mixe
and selector types depending on the ADC, alc_mux_enum_put() needs t
check each widget
With this change, spec->capture_style gets unneeded, so it's removed
too
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add quirk for Sony VAIO Z21M
It needs model=toshiba-s06 to work with the digital-mic
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
- ALSA: hda - Get back Input Source for ALC262 toshiba-s06 mode
The commit f9e336f65b666b8f1764d17e9b7c21c90748a37
ALSA: hda - Unify capture mixer creation in realtek code
removed the "Input Source" mixer element creation for toshiba-s06 mode
because it contains a digital-mic input
This patch take the control back
Signed-off-by: Takashi Iwai <tiwai@suse.de
Cc: <stable@kernel.org
- ALSA: hda - Fix unsigned comparison in patch_sigmatel.
Fix the comparison of unsigned int that causes a compile warning belo
by changing to the right signed type
patch_sigmatel.c: In function ‘stac92xx_vref_set’
patch_sigmatel.c:658: warning: comparison of unsigned expression < 0 is always fals
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add model=6530g optio
Add the new model string corresponding to the previous Acer Aspir
6530G support
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Acer Inspire 6530G model for Realtek ALC88
The selected 4930G model seemed to keep the subwoofer 'tuba
function from operating correctly. Removing the existing PC
ID match made this work again, but it was mapped to 'Side
instead of to LFE as one would expect
This attempts to enable all functionality and keep the amoun
of available mixer sliders low. Any slider that had no audibl
effect on the output audio has been removed, and as such EAP
is not currently enabled
Signed-off-by: Tony Vroon <tony@linx.net
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: HDA - Correct trivial typos in comments
Correct some trivial typos in comments
Signed-off-by: Sasha Alexandr <brina_keith@ns.sympatico.ca
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: HDA - Name-fixes in code (tagra/targa
Correct some cut+paste typos from 'tagra' to 'targa'
Signed-off-by: Sasha Alexandr <brina_keith@ns.sympatico.ca
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: HDA - Add pci-quirk for MSI MS-7350 motherboard
Add pci-quirk for MSI MS-7350 motherboard with Realtek ALC888
Signed-off-by: Sasha Alexandr <brina_keith@ns.sympatico.ca
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix memory leak at codec creatio
The codec->modelname field is allocated twice in snd_hda_codec_new()
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add quirk for Acer Aspire 6935
Added model=acer-aspire-8930g for Acer Aspire 6935G (1025:0146)
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205
A quirk is required for 8086:284b (rev 03) [Subsystem: 161f:2073]
The following has been tested with Alsa 1.0.20 (git master)
Background details can be found a
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=456
http://forum.ubuntu-gr.org/viewtopic.php?f=38&t=529
Tested-by: Theodora Iliopoulou <th30dr@gmail.com
Signed-off-by: Simos Xenitellis <simos@gnome.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix the previous tagra-8ch patc
- Fix a typo in the patc
- Adapted to follow the recent change for unsol event handlin
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add 7.1 support for MSI GX62
Added 7.1 support for MSI GX620 and jack quirk
Reference: kernel bug#1343
http://bugzilla.kernel.org/show_bug.cgi?id=1343
Signed-off-by: David Heidelberger <d.okias@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: support Sony Vaio T
with BIOS probing only we offer a non functional headphone swith an
volume slider
Signed-off-by: Guido Günther <agx@sigxcpu.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - More Aspire 8930G fixe
Enable all three capture channels, including the missing nid 7 which i
the only one capable of capturing DMIC inpu
Enable Headphone amp for the HP jack. This causes a volume boost fo
headphones, but does not cause any noticeable effect for light load
like other amps, so there is no need to make it configurable
Add Input Mix capture mux setting to capture the output of the playbac
input mux (that is, what goes out the speakers except for PCM
Hack another coef register because the stereo DMIC for some reaso
produces a nonstandard sum/difference signal. I found a bit to make i
just use the sum signal for both channels, which makes it behave like
standard mono microphone. The stereo is useless anyway (they're 1cm apart)
Tested working: Three capture channels, mic in, line in, DMIC
Tested not working: CD. Not sure why, might be unconnected in the actua
hardware or a CD drive issue
Also looked at SPDIF. It appears to work (emitter lights up inside th
HP out jack) but I lack a proper miniTOSLINK cable to test it
Signed-off-by: Hector Martin <hector@marcansoft.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Limit codec-verb retry to limited hardware
The reset of a BUS controller during operations is somehow risky an
shouldn't be done inevitably for devices that have apparently no suc
codec-communication problems
This patch adds the check of the hardware and limits the bus-rese
capability
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add codec bus reset and verb-retry at critical error
Some machines machine cause a severe CORB/RIRB stall in certai
weird conditions, such as PA access at the start up together wit
fglrx driver. This seems unable to be recovered without the controlle
reset
This patch allows the bus controller reset at critical errors s
that the communication gets recovered again
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Acer Aspire 8930G suppor
Short story: this laptop has 5.1 built-in speakers which you *really
want to use (the not-so-"sub" woofer is what makes the audio abov
average for a laptop), so 6-channel support is important (plus a decen
asound.conf to upmix stereo). It also has the 3 typical jacks that ough
to have a selectable mode. And it's based on ALC889, which sucks
Rationale/explanations
The const_channel_count stuff was added because, for a laptop like this
you always have 6 channels available (internal speakers) but still nee
to set the mode for the 3 external jacks. Therefore, the device alway
needs to be in 6-channel mode but there still needs to be a mixe
control for the jack mode. You could use line/mic-in at the same time a
the 6 internal speakers, for example. You might be tempted to make i
even smarter by dynamically switching the max channel count whe
headphones are plugged in (therefore muting the internal speakers an
reducing the physical channel count to the jack channel mode), but as
user I consider this to be harmful because I want the audio to blow u
to 6 channels / upmixed as soon as I unplug the headphones, and havin
opened the device while in 2-channel mode would prevent this fro
working (and always making 6-channel mode available doesn't do any harm)
The hardware needs EAPD turned on and the DACs routed to the interna
speaker pins, so the patch adds those verbs
The ALC889 CLFE and subsequent (side/aux, here unused) DACs do NOT wor
by default, at least here. I wasted much time trying to talk t
Realtek/pshou about this, but they just kept sending me useless update
to patch_realtek.c that did nothing relevant. In the end I gave up an
brute forced the issue by trying to flip every bit in the proprietar
coefficient registers, and eventually found the two magic registers tha
need to be cleared to enable all DACs. I have only heard Acer user
complain, but that might be because ALC889 is pretty new and using 5.
(and noticing the missing center/lfe channels) might not be that common
If this is a generalized issue with all ALC889 systems then those verb
should probably be moved to a common verb array
The internal mic is untested and probably doesn't work
These settings will probably work for other Acer Gemstone laptops wit
the same 5.1 speaker config. When identified, those should be added t
the PCI subsystem ID list
Signed-off-by: Hector Martin <hector@marcansoft.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Reorder and clean-up ALC268 quirk tabl
Rearrange alc268_cfg_tbl[] in the order of vendor id, and group som
entries using SND_PCI_QUIRK_MASK()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - fix audio on LG R51
Currently, LG R510 is only able to produce sound on headphones, th
internal speakers are not working
The user tested and confirmed that with model=Dell headphones
internal speakers and the microphone are working flawlessly
Tested-by: Serdar Soytetir <tulliana@gmail.com
Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Macbook[Pro] 5 6ch suppor
this is a patch against current snapshot that adds
6 channels support for the MB5 mode
Signed-off-by: Kacper Szczesniak <kacper@qwe.pl
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Jack Mode changes for Sigmatel board
This patch changes Line In as Out Switch and Mic In as Out Switch t
enums for consistency, and causes all mic and line in ports to be probe
and controls to be added appropriately
Signed-off-by: Nickolas Lloyd <ultrageek.lloyd@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Support NVIDIA 8 channel HDMI audi
Support 8 channel HDMI audio for MCP78/7
Signed-off-by: Wei Ni <wni@nvidia.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda-intel: improve initialization for ALC262_HP_BPC mode
Fix issues for 3 generations of HP workstations
The modest modifications do the following
1. Change the second MIC from device 3 to device
2. Init the "boost" values to "0" by defaul
From: John Brown <john.brown3@hp.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix reverted LED setup for H
The commit 86d190e77c44cb057742dcc871b12ebd4633c387 reverted the bi
flip of LED GPIO for HP DX and DV4-1222nr. Fixed now
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 patch_ca0110.
Use the new function to reduce the access and allow the user setu
via sysfs, too
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix channels_max setting for CA011
Added the missing definition of max channels for CA0110, which resulte
in an error at opening PCM devices
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Minor clean up of patch_sigmatel.
- Remove unneeded semicolon
- Introduce spec->gpio_led to specify the GPIO bit for LED contro
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Compaq Presario CQ60 patching for Conexan
A docking mic control is shown by default. The Compaq Presari
CQ60 laptop has no docking connector, so designate it as
CXT5051_HP model
This makes the phantom mixer slider disappear
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 - Support sync after writing a ver
This patch adds a debug mode to make the codec communicatio
synchronous. Define SND_HDA_SUPPORT_SYNC_WRITE in hda_codec.c
and the call of snd_hda_codec_write*() will become synchronous
i.e. wait for the reply from the codec at each time issuing a verb
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix digital beep tone calculatio
The digital beep tone is calculated in two different ways dependin
on the codec chip. The standard one is using a divider, and anothe
one is a linear tone for IDT/STAC codecs. Currently, only th
latter type is used for all codecs, which resulted in a wrong ton
pitch
This patch adds the calculation of the standard HD-audio type
Also clean-up the fields in hda_beep struct
Reference: bko#1316
http://bugzilla.kernel.org/show_bug.cgi?id=1316
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Improved MacBook 3,1 suppor
This patch adds support for MacBook 3,1 sound by adding a model ne
"mb31" with the appropriate init verbs, mixers and channel modes t
the ALC883 configuration. patch_alc882() and patch_alc883() ar
modified to handle the MacBook 3,1 sound-chip (Realtek ALC889A
correctly
Signed-off-by: Torben Schulz <public@letorbi.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Show the actual chip name in 'unkown model' message
Show the actual chip name in 'unknown model..' info messages fo
Realtek codecs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Split codec->name to vendor and chip name string
Split the name string in hda_codec struct to vendor_name and chip_nam
strings to be stored directly from the preset name
Since mostly only the chip name is referred in many patch_*.c, thi
results in the reduction of many codes in the end
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - add controls to toggle DC bias on mic port
This patch adds a mixer control for the STAC92XX boards to control th
DC bias of mic ports, allowing recording from both powered an
non-powered sources. It replaces the "Mic Output Switch" with "Mic Jac
Mode" to switch between Mic, Line In, and Line Out
Signed-off-by: Nickolas Lloyd <ultrageek.lloyd@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add a quirk entry for Macbook Pro 5,
Added the codec SSID for MacBook Pro 5,1 as compatible as MP51
However, the headphone auto-muting function doesn't work. So
this is just a tentative solution
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Disable fallback to model=acer for Acer laptop
The model=acer for ALC883/889 doesn't work well for the recent Ace
Aspire laptops. Since model=auto works better nowadays, it's safe
to use the default fallback instead of the Acer specific one
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add support of Samsung NC10 mini noteboo
Add specific configuration for Samsung NC10 mini notebook. Interna
mic/speakers will be correctly muted when plugging in external ones
Mixer controls are added for speakers, headphones and PC beep
"Boost" is added for the microphones
Signed-off-by: Chris Pockelé <chris.pockele.f1@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing models for Realtek codec
Added the missing descriptions and the model names for Realtek codec
to the documentation and the config table
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Clean up Realtek auto-mute unsol routine
Most of unsol handlers defined in patch_realtek.c can be classified t
two types, mute via amp of pins and mute via ctl bits of pins
Thus there are a big room to generalize each implementation
This patch creates two generic functions, alc_automute_amp() an
alc_automute_pin(). The latter is actually changed from the previou
alc_sku_automute(). Each caller needs to initialize hp_pins an
speaker_pins properly at own init_hook
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Clean up for ALC262 HP model auto-mute function
Just clean up, no functional changes
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix and clean up hippo-compat HP auto-mutin
The speaker auto-muting per HP plugging for ALC262 HIPPO and compatibl
devices is slightly buggy as the "Master" or "Front" mixer control ca
still toggle the speaker output even if the headphone is plugged
This patch fixes the issue, and clean up the hippo-related code
together with fixes of some inconsistent mixer names
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codec
VIA VT1708S and VT1702 codecs can have two SPDIF outputs. One of the
should have been handled as the extra digital out, but it's no
properly accessed
This patch fixes the handling of the secondary SPDIF on these codec
with the slave dig-out as found in patch_sigmatel.c. This makes th
use of such a device easier (for normal users)
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add support for MacBook 5.1 (Aluminium
Signed-off-by: Kacper Szczesniak <kacper@qwe.pl
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Addition for HP dv4-1222nr laptop suppor
Signed-off-by: James Gardiner <renidragsemaj@yahoo.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix a typo in patch_realtek.c agai
The commmit dfed0ef9b3ff9e37903920b6938ed33344ad0b3d was reverte
accidentally by the merge of auto-detection fix patch
Fixed again now
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Don't enable auto-mute but for speakers in patch_realtek.
Enable auto-muting in model=auto only for devices with HP and speakers
For devices with HP and line-outs, don't enable the auto-muting
Also, add a debug print to show the auto-mute feature
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add amp initialization for realtek auto mod
In the realtek auto-probing mode, the initialization of amp wit
some magic COEF or EAPD verbs is applied only when the codec SSI
has valid values to satisfy the realtek's definition
However, many devices don't provide in that way, thus the devic
doesn't work as is
This patch allows the same initialization code even if the SSI
doesn't pass the bit test. Also, alc_subsystem_id() is change
just to check and define the type, so that it's called in th
parser, instead of the initializer
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix a typo in debug print for realtek auto-detectio
The NID and ASS numbers were swapped..
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - minor optimization in hda_set_power_state(
Check the target power-state before checking EAPD exception to reduc
unneeded verb executions
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add debug prints for Realtek auto-ini
Added a couple of debug prints to show the checked id numbers i
alc_subsystem_id()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Retry codec-verbs at error
The current error-recovery scheme for the codec communication error
doesn't work always well. Especially falling back to th
single-command mode causes the fatal problem on many systems
In this patch, the problematic verb is re-issued again after the erro
(even with polling mode) instead of the single-cmd mode. Th
single-cmd mode will be used only when specified via the comman
option explicitly, mainly just for testing
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Cache PCM and STREAM parameters querie
Cache quries for PCM and STREAM parameters as well as ampcap an
pincap sharing the hash table. This will reduce the superfluou
access of the same codec verbs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Check strcpy lengt
Check the length to copy via strlen() beforehand to avoid the stac
corruption, or use strlcpy() to be safe in HD-audio codes
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add Creative CA0110-IBG suppor
Added the support for Creative SB X-Fi boards with UAA (HD-audio) mode
In the HD-audio mode, no multiple streams are supported by just i
behaves like a normal HD-audio device
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add missing check of pin vref 50 and others in Realtek codec
Some Realtek codecs like ALC861 seem to support only VREF50 while th
current driver assumes it's only VREF80. Check other VREF bits to se
the correct value
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add 5stack-no-fp model for STAC927
The recent fix for the headphone volume control on IDT/STAC codec
resulted in the removal of invalid "Side" volume eventually. But
if the front panel doesn't exist, this setup could be regarded as
sort of regression, as reported in kernel bug #13250
Now as a workaround, a new model 5stack-no-fp is added so that the use
without the front panel can choose this one explicitly
Reference: bko#1325
http://bugzilla.kernel.org/show_bug.cgi?id=1325
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - fix audio on HP TX25xx series notebook
Fixes https://bugtrack.alsa-project.org/alsa-bug/view.php?id=412
Taken from https://bugzilla.redhat.com/show_bug.cgi?id=49806
Signed-off-by: Adam Williamson <awilliam@redhat.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix line-in on Mac Mini Core2 Du
BIOS on Mac Mini Core2 Duo sets both INPUT and OUTPUT pinctl bits t
the line-in jack, and it confuses the driver as if it's a valid input
This patch adds the check of OUTPUT bit so that the driver fixes th
invalid pin setup
Tested-by: Tino Keitel <tino.keitel@gmx.de
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de

HDA Intel driver

- Fix build of hda_intel.
The commit dc4c2e6bde77735071dbef7aca6bd6c0116102b3 in sound tre
causes the build errors on older kernels due to undefined PCI id an
the use of pci_dev.revirsion field. Make a patch to fix the build
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add a white-list for MSI optio
Created a white-list to enable MSI since some devices require MS
explicitly due to BIOS/ACPI problems. Simply using a quirk list
As the first case, take HP Compaq CQ40
Reference: Novell bnc#52997
https://bugzilla.novell.com/show_bug.cgi?id=52997
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda: warn on spurious respons
To help disclose hardware bugs
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: remember last command for each code
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: read CORBWP inside reg_loc
This converts the last CORBWP access outside of reg_lock
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_i
Just for safety. azx_init_cmd_io() and azx_free_cmd_io() may b
called when switching to single command mode
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: take cmd_mutex in probe_codec(
Now that each codec will have its own module, it is possibl
for the user to load one codec while another one is running
So cmd_mutex would be a safe addition to probe_codec()
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: track CIRB/CORB command/response states for each code
Recently we hit a bug in our dev board, whose HDMI codec#3 may emi
redundant/spurious responses, which were then taken as responses t
command for another onboard Realtek codec#2, and mess up both codecs
Extend the azx_rb.cmds and azx_rb.res to array and track each codec'
commands/responses separately. This helps keep good codec safe fro
broken ones
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Add support for new AMD HD audio device
Add support for new AMD HD audio devices. Use generic driver to detect HD audi
devices with Vendor ID AMD
Signed-off-by: Andiry Xu <andiry.xu@amd.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Disable AMD SB600 64bit address support onl
HDA driver disabled HD audio 64bit address support for all AM
SB600/SB700/SB800 platforms with commi
09240cf429505891d6123ce14a29f58f2a60121e due to one SB600 issu
reported by community, but we do not see the similar issue o
SB700/SB800 platforms
This patch is to refine the workaround for SB600 only
Signed-off-by: Andiry Xu <andiry.xu@amd.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix error path in the sanity check in azx_pcm_open(
Release resources cleanly after errors in the sanity check i
azx_pcm_open()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add patch module optio
Added the patch module option to apply a "patch" as a firmware t
modify pin configurations or give additional hints to the drive
before actually initializing and configuring the codec
This can be used as a workaround when the BIOS doesn't give sufficien
information or give wrong information that doesn't match with the rea
hardware setup, until it's fixed statically in the driver via a quirk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new(
The codec setup call via snd_hda_codec_configure() isn't necessaril
called in snd_hda_codec_new(). For the later added feature, it's bette
to change the code flow like
- create all codec instance
- configure each code
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add sanity check in PCM open callbac
Add some sanity checks of struct snd_pcm_hardware fields in the PC
open callback of hda driver. This makes a bit easier to debug any PC
setup errors in the codec side
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callbac
The PCM rates bit field may have been changed by the codec open callback
In that case, we need to reset rate_min and rate_max. So, simply cal
snd_pcm_lib_hw_rates() again after the codec open callback
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda_intel: fix build error when !P
Fix this build error when CONFIG_PM is not set
ound/pci/hda/hda_intel.c: In function 'azx_bus_reset'
sound/pci/hda/hda_intel.c:1270: error: implicit declaration of function 'snd_pcm_suspend_all
sound/pci/hda/hda_intel.c:1271: error: implicit declaration of function 'snd_hda_suspend
sound/pci/hda/hda_intel.c:1272: error: implicit declaration of function 'snd_hda_resume
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Limit codec-verb retry to limited hardware
The reset of a BUS controller during operations is somehow risky an
shouldn't be done inevitably for devices that have apparently no suc
codec-communication problems
This patch adds the check of the hardware and limits the bus-rese
capability
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add codec bus reset and verb-retry at critical error
Some machines machine cause a severe CORB/RIRB stall in certai
weird conditions, such as PA access at the start up together wit
fglrx driver. This seems unable to be recovered without the controlle
reset
This patch allows the bus controller reset at critical errors s
that the communication gets recovered again
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Fix a typo in the previous patc
ICH6_GCTL_RESET was wrongly set to another bit by the commi
b21fadb9c1852c91622ca1dccfeb144bc535e36e. This caused a problem whe
the codec needs really a reset (e.g. recovering from the communicatio
error at probe)
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add more register bits definition
Added some missing register bits definitions to reduce magic numbers
Also renamed some to follow the names on the datasheet
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Always sync writes in single_cmd mod
In the single_cmd mode, the hardware cannot store the multiple replie
like on RIRB, thus each verb has to sync and wait for the response n
matter whether the return value is needed or not. Otherwise it ma
result in a wrong return value from the previous verb
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Allow concurrent RIRB access in single_cmd mod
In the single_cmd mode, the current driver code doesn't do any updat
for RIRB just for any safety reason. But, actually the RIRB an
single_cmd mode don't conflict. Unsolicited events can be delivere
even while using the single_cmd mode
This patch allows the handling of unsolicited events with single_cm
mode, just always checking RIRB independent from single_cmd flag
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Reset CORB/RIRB at retrying the verb communicatio
When a codec communication error occurs, the CORB/RIRB counters shoul
be reset first before re-issuing the verb. Simply call azx_free_cmd_io(
and azx_init_cmd_io() to achieve that
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add prefix to kernel message
Add proper prefix to each kernel message in hda_intel.c
Also, avoid the unneeded prefix when CONFIG_SND_VERBOSE_PRINTK is use
together with snd_print*()
Reference: bko#1320
http://bugzilla.kernel.org/show_bug.cgi?id=1320
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Avoid conflicts with snd-ctxfi drive
The PCI entries of Creative with HD-audio class can be the device
with emu20k1/emu20k2 chips. These are supported better by snd-ctxf
driver. With that driver, the device will mutate from HD-audio t
its native class
This patch adds a simple ifdef to avoid the conflict of device prob
between snd-hda-intel and snd-ctxfi drivers. 1102:0009 seems stil
OK to be added as it has no emu20kx chip, and is a pure HD-audi
device
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Retry codec-verbs at error
The current error-recovery scheme for the codec communication error
doesn't work always well. Especially falling back to th
single-command mode causes the fatal problem on many systems
In this patch, the problematic verb is re-issued again after the erro
(even with polling mode) instead of the single-cmd mode. Th
single-cmd mode will be used only when specified via the comman
option explicitly, mainly just for testing
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Check strcpy lengt
Check the length to copy via strlen() beforehand to avoid the stac
corruption, or use strlcpy() to be safe in HD-audio codes
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add Creative CA0110-IBG suppor
Added the support for Creative SB X-Fi boards with UAA (HD-audio) mode
In the HD-audio mode, no multiple streams are supported by just i
behaves like a normal HD-audio device
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 W5Fm needs the fixed codec-slots to probe to override the BIO
problem like W5F
Tested-by: Alp Kılıç <kilic.alp@gmail.com
Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr
Signed-off-by: Takashi Iwai <tiwai@suse.de

HDA generic driver

- Fix build of hda_intel.
The commit dc4c2e6bde77735071dbef7aca6bd6c0116102b3 in sound tre
causes the build errors on older kernels due to undefined PCI id an
the use of pci_dev.revirsion field. Make a patch to fix the build
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda: move open coded tricks into get_wcaps_channels(
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 Cirrus Logic CS420x suppor
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda: fix out-of-bound hdmi_eld.sad[] writ
e->sad[] is declared with size ELD_MAX_SAD=16, but the guar
allows range 0-31
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
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 - Introduce get_wcaps_type() macr
Add a helper macro to retrieve the widget type from wiget cap bits
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [ALSA] hda_generic: use AC_WCAP_CONN_LIST check for widget connection
Previous patch used widget type, but the presence flag of the connectio
list is in the widget capabilities
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [ALSA] hda_generic: do not read connections for widged with an unknown typ
Reading node connections for an unknown widget can confuse HDA codec bus
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - fix beep tone calculation for IDT/STAC codec
In the beep tone calculation for IDT/STAC codecs, lower numbers correspon
to higher frequencies and vice versa. The current code has this backwards
resulting in beep frequencies which are way too high (and sound bad o
tinny laptop speakers, resulting in complaints)
[Also added hz <= 0 check by tiwai
Signed-off-by: Paul Vojta <vojta@math.berkeley.edu
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Check "beep" hin
Check the hint "beep" in snd_hda_attach_beep_device() to avoid the bee
device creation if user doesn't want
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add patch module optio
Added the patch module option to apply a "patch" as a firmware t
modify pin configurations or give additional hints to the drive
before actually initializing and configuring the codec
This can be used as a workaround when the BIOS doesn't give sufficien
information or give wrong information that doesn't match with the rea
hardware setup, until it's fixed statically in the driver via a quirk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new(
The codec setup call via snd_hda_codec_configure() isn't necessaril
called in snd_hda_codec_new(). For the later added feature, it's bette
to change the code flow like
- create all codec instance
- configure each code
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Make jack-plug notification selectabl
Make the jack-plug notification via input layer selectable via Kconfig
This is often unnecessary, and the similr function will be provide
using the ALSA control API in near future anyway
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: hda - Fix digital beep tone calculatio
The digital beep tone is calculated in two different ways dependin
on the codec chip. The standard one is using a divider, and anothe
one is a linear tone for IDT/STAC codecs. Currently, only th
latter type is used for all codecs, which resulted in a wrong ton
pitch
This patch adds the calculation of the standard HD-audio type
Also clean-up the fields in hda_beep struct
Reference: bko#1316
http://bugzilla.kernel.org/show_bug.cgi?id=1316
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Split codec->name to vendor and chip name string
Split the name string in hda_codec struct to vendor_name and chip_nam
strings to be stored directly from the preset name
Since mostly only the chip name is referred in many patch_*.c, thi
results in the reduction of many codes in the end
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hda - Add Creative CA0110-IBG suppor
Added the support for Creative SB X-Fi boards with UAA (HD-audio) mode
In the HD-audio mode, no multiple streams are supported by just i
behaves like a normal HD-audio device
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

I2C UDA1380

- ASoC: UDA1380: refactor device registratio
This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c
"ASoC: Refactor WM8731 device registration" to make UDA1380 use standar
device instantiation. Similarly, the I2C device registration temporaril
moves into the magician machine driver before it will find its fina
resting place in the board file
At the same time, platform specific configuration is moved to platform dat
and common power/reset GPIO handling moves into the codec 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

ICE1712 driver

- Add build stub for ice1724 maya44 suppor
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD
I've built a small HTPC and had to add suspend/resume support in ice172
driver. There seem to be 3 existing bugs related to that
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=441
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=374
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=231
Due to hardware (un)availability, I only enabled the fix for Audiotra
Prodigy HD2 card, which is installed in my HTPC. However, most of my cod
should be reusable in the future on other ice1724-based cards as well (a
long as people add card-specific peices of code). The fix is currently base
on ALSA 1.0.20 and works on my MythBuntu 9.04 HTPC (using 2.6.28-11 kernel)
Signed-off-by: Igor Chernyshev <igor.ch75+alsa at gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Add ESI Maya44 suppor
Added the support for ESI Maya44 board to ice1724 driver
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Allow spec driver to create own routing control
Added a new flag, own_routing, to allow spec drivers to create ow
routing controls. Also, the basic get/put calls are changed to b
external for later use by maya44 driver
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ICE1724 driver

- ALSA: ice1724 - Fix section mismatc
Now snd_vt1724_chip_reset() is used in the resume callback, thu
it cannot be __devinit
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD
I've built a small HTPC and had to add suspend/resume support in ice172
driver. There seem to be 3 existing bugs related to that
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=441
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=374
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=231
Due to hardware (un)availability, I only enabled the fix for Audiotra
Prodigy HD2 card, which is installed in my HTPC. However, most of my cod
should be reusable in the future on other ice1724-based cards as well (a
long as people add card-specific peices of code). The fix is currently base
on ALSA 1.0.20 and works on my MythBuntu 9.04 HTPC (using 2.6.28-11 kernel)
Signed-off-by: Igor Chernyshev <igor.ch75+alsa at gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Add ESI Maya44 suppor
Added the support for ESI Maya44 board to ice1724 driver
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Allow spec driver to create own routing control
Added a new flag, own_routing, to allow spec drivers to create ow
routing controls. Also, the basic get/put calls are changed to b
external for later use by maya44 driver
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Add PCI postint to reset sequenc
Add the PCI posting to ensure the reset sequence in snd_vt1724_chip_reset()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Clean up definitions of DMA record
Rename some vt1724_pcm_reg records to more generic and consistent ones
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ice1724 - Check error in set_rate functio
The set_rate might return error but the current code doesn't check it
This patch adds a proper error check
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

ISA

- ALSA: sc6000: add support for SC-6600 and SC-700
Add support for later cards based on CompuMedia ASC-9408 chipsets
These cards were produced by Gallant
This patch make the OSS aedsp16 driver redundant
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

Intel8x0 driver

- ALSA: intel8x0 - Fix PCM position crazines
The PCM pointer callback sometimes returns invalid positions and thi
screws up the hw_ptr updater in PCM core. Especially since now th
jiffies check is optional with xrun_debug, the invalid position i
handled as is, and causes serious sound skips, etc
This patch simplifies the position-fix strategy in intel8x0 to be mor
robust
- just falls back to the last position if bogus position is detecte
- another sanity check for the backward move of the position due t
a race of register update and the base-index updat
This patch is applicable also for 2.6.30
Tested-by: David Miller <davem@davemloft.net
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de

KORG1212 driver

- ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers tha
really don't give the precise pointer value
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

LX6464ES

- ALSA: lx6464es - configure ethersound io channel
as long as the io channel number is not set by the driver, the car
is not visible from the ethersound networ
Signed-off-by: Tim Blechmann <tim@klingt.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- convert some DMA_nnBIT_MASK() caller
We're about to make DMA_nnBIT_MASK() emit `deprecated' warnings. Convert th
remaining stragglers which are visible to the x86_64 build
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp
Cc: James Bottomley <James.Bottomley@HansenPartnership.com
Cc: Eric Moore <Eric.Moore@lsil.com
Cc: Takashi Iwai <tiwai@suse.de
Cc: "David S. Miller" <davem@davemloft.net
Cc: Alexander Duyck <alexander.h.duyck@intel.com
Cc: Yi Zou <yi.zou@intel.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org
- ALSA: lx6464es - support standard alsa module parameter
trivial patch to support the alsa module parameters `index', `id
and `enable
Signed-off-by: Tim Blechmann <tim@klingt.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: lx6464es - Disable lx_message_send(
Disable lx_message_send() function temporarily as it's not use
anywhere
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: lx6464es - Use snd_card_create(
Use snd_card_create() instead of the obsoleted snd_card_new()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: lx6464es - driver for the digigram lx6464es interfac
prototype of a driver for the digigram lx6464es 64 channel ethersoun
interface
Signed-off-by: Tim Blechmann <tim@klingt.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

MSND driver

- ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers tha
really don't give the precise pointer value
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Memalloc module

- ALSA: Fix SG-buffer DMA with non-coherent architecture
Using SG-buffers with dma_alloc_coherent() is often very inefficien
on non-coherent architectures because a tracking record could b
allocated in addition for each dma_alloc_coherent() call
Instead, simply disable SG-buffers but just allocate normal continuou
buffers on non-supported (currently all but x86) architectures
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

OPL3

- ALSA: clean up the logic for building sequencer module
Instead of mangling the CONFIG_* variables in the makefiles over an
over, set a few helper variables in Kconfig
Signed-off-by: Michal Marek <mmarek@suse.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

OPL4

- ALSA: clean up the logic for building sequencer module
Instead of mangling the CONFIG_* variables in the makefiles over an
over, set a few helper variables in Kconfig
Signed-off-by: Michal Marek <mmarek@suse.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

OSS device core

- sound: make OSS device number claiming optional and schedule its remova
If any OSS support is enabled, regardless of built-in or module
sound_core claims full OSS major number (that is, the old 0-25
region) to trap open attempts and request sound modules using custo
module aliases. This feature is redundant as chrdev already has suc
mechanism. This preemptive claiming prevents alternative OS
implementation
The custom module aliases are scheduled to be removed and the previou
patch made soundcore emit the standard chrdev aliases too to hel
transition
This patch schedule the feature for removal in a year and makes i
optional so that developers and distros can try new things in th
meantime without rebuilding the kernel. The pre-claiming can b
turned off by using SOUND_OSS_CORE_PRECLAIM and/or kernel paramete
soundcore.preclaim_oss
As this allows sound minors to be individually grabbed by other users
this patch updates sound_insert_unit() such that if registerin
individual device region fails, it tries the next available slot
For details on removal plan, please read the entry added by this patc
in feature-removal-schedule.txt
Signed-off-by: Tejun Heo <tj@kernel.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: request char-major-* module aliases for missing OSS device
Till now missing OSS devices emitted sound-slot/service-* modul
alises instead of the standard char-major-* if a missing device numbe
is opened if soundcore is loaded. The custom module aliases don'
have any inherent benefit than backward compatibility
sound-slot/service-* module aliases is scheduled to be removed and t
help the transition this patch makes soundcore emit the standar
module alises along with the custom ones
Signed-off-by: Tejun Heo <tj@kernel.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: do not set DEVNAME for OSS device
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Driver Core: sound: add nodename for sound driver
This adds support to the sound core to report the proper device name t
userspace for their devices
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org
Signed-off-by: Jan Blunck <jblunck@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de

PARISC Harmony driver

- ALSA: Add missing __devexit_p() marker
3 ISA sound drivers lack their __devexit_p() markers, which woul
cause build failures when the kernel is built without hotplug support
Signed-off-by: Jean Delvare <khali@linux-fr.org
Cc: Kyle McMartin <kyle@mcmartin.ca
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: parisc/harmony: fix printk format warnin
Fix this warning
sound/parisc/harmony.c:938: warning: format '%lx' expects type 'long unsigned int'
but argument 2 has type 'resource_size_t
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PCI drivers

- ALSA: azt3328: fix Kconfig entr
This driver is about as far from being experimental as it can ever ge
for an undocumented card, thus create this patch (interestingly it was the onl
EXPERIMENTAL remaining in the entire Kconfig file)
Signed-off-by: Andreas Mohr <andi@lisas.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Remove PAGE_SIZE limitatio
Remove the limitation of PAGE_SIZE to be 4k by defining the ow
page size and macros for 4k. 8kb page size could be natively supported
but it's disabled right now for simplicity
Also, clean up using upper_32_bits() macro
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: ctxfi - Add depends on X8
The ctxfi driver requires explicitly the 4k page size, and gives
build error on architectures with non-4k pages
As a workaround, just add the kconfig dependency on X86, which i
the only architecture ever tested
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: SB X-Fi driver merg
The Sound Blaster X-Fi driver supports Creative solutions based o
20K1 and 20K2 chipsets
Supported hardware
Creative Sound Blaster X-Fi Titanium Fatal1ty® Champion Serie
Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Serie
Creative Sound Blaster X-Fi Titanium Professional Audi
Creative Sound Blaster X-Fi Titaniu
Creative Sound Blaster X-Fi Elite Pr
Creative Sound Blaster X-Fi Platinu
Creative Sound Blaster X-Fi Fatal1t
Creative Sound Blaster X-Fi XtremeGame
Creative Sound Blaster X-Fi XtremeMusi
Current release features
* ALSA PCM Playbac
* ALSA Recor
* ALSA Mixe
Note
* External I/O modules detection not included
Signed-off-by: Wai Yew CHAY <wychay@ctl.creative.com
Singed-off-by: Ryan RICHARDS <ryan_richards@creativelabs.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hdsp - Add a comment about external firmwares for hds
When the hdsp driver is built in kernel, the corresponding firmwar
files have to be built into the kernel as well (otherwise the boo
will hang up for fairly long time), but there is no way to contro
it in Kconfig yet, unfortunately. Instead, show a comment for use
just to make sure
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: lx6464es - driver for the digigram lx6464es interfac
prototype of a driver for the digigram lx6464es 64 channel ethersoun
interface
Signed-off-by: Tim Blechmann <tim@klingt.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: virtuoso: add Xonar Essence ST suppor
Add support for the Asus Xonar Essence ST and its daughterboard
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

PDAudioCF driver

- ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some driver
Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers tha
really don't give the precise pointer value
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC AWACS driver

- ALSA: powermac - Replace the rest of __init
All __initdata should be __devinitdata as platform device is hotpluggable
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: sound/ppc: update annotations of serveral function
[I am not sure if this is the correct approach as I don't know if any o
this actual hardware or drivers are really hot pluggable.
Gets rid of these build warnings
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_new()
If .snd_pmac_new is only used by .snd_pmac_probe the
annotate .snd_pmac_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_burgundy_init()
If .snd_pmac_burgundy_init is only used by .snd_pmac_probe the
annotate .snd_pmac_burgundy_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_daca_init()
If .snd_pmac_daca_init is only used by .snd_pmac_probe the
annotate .snd_pmac_daca_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_init()
If .snd_pmac_tumbler_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_post_init()
If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_post_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_awacs_init()
If .snd_pmac_awacs_init is only used by .snd_pmac_probe the
annotate .snd_pmac_awacs_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_pcm_new()
If .snd_pmac_pcm_new is only used by .snd_pmac_probe the
annotate .snd_pmac_pcm_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_attach_beep()
If .snd_pmac_attach_beep is only used by .snd_pmac_probe the
annotate .snd_pmac_attach_beep with a matching annotation
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC Beep

- ALSA: sound/ppc: update annotations of serveral function
[I am not sure if this is the correct approach as I don't know if any o
this actual hardware or drivers are really hot pluggable.
Gets rid of these build warnings
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_new()
If .snd_pmac_new is only used by .snd_pmac_probe the
annotate .snd_pmac_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_burgundy_init()
If .snd_pmac_burgundy_init is only used by .snd_pmac_probe the
annotate .snd_pmac_burgundy_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_daca_init()
If .snd_pmac_daca_init is only used by .snd_pmac_probe the
annotate .snd_pmac_daca_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_init()
If .snd_pmac_tumbler_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_post_init()
If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_post_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_awacs_init()
If .snd_pmac_awacs_init is only used by .snd_pmac_probe the
annotate .snd_pmac_awacs_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_pcm_new()
If .snd_pmac_pcm_new is only used by .snd_pmac_probe the
annotate .snd_pmac_pcm_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_attach_beep()
If .snd_pmac_attach_beep is only used by .snd_pmac_probe the
annotate .snd_pmac_attach_beep with a matching annotation
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC Burgundy driver

- ALSA: burgundy: timeout message is off by one
Timeout message is off by one
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: powermac - Replace the rest of __init
All __initdata should be __devinitdata as platform device is hotpluggable
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: sound/ppc: update annotations of serveral function
[I am not sure if this is the correct approach as I don't know if any o
this actual hardware or drivers are really hot pluggable.
Gets rid of these build warnings
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_new()
If .snd_pmac_new is only used by .snd_pmac_probe the
annotate .snd_pmac_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_burgundy_init()
If .snd_pmac_burgundy_init is only used by .snd_pmac_probe the
annotate .snd_pmac_burgundy_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_daca_init()
If .snd_pmac_daca_init is only used by .snd_pmac_probe the
annotate .snd_pmac_daca_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_init()
If .snd_pmac_tumbler_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_post_init()
If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_post_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_awacs_init()
If .snd_pmac_awacs_init is only used by .snd_pmac_probe the
annotate .snd_pmac_awacs_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_pcm_new()
If .snd_pmac_pcm_new is only used by .snd_pmac_probe the
annotate .snd_pmac_pcm_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_attach_beep()
If .snd_pmac_attach_beep is only used by .snd_pmac_probe the
annotate .snd_pmac_attach_beep with a matching annotation
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC DACA driver

- ALSA: sound/ppc: update annotations of serveral function
[I am not sure if this is the correct approach as I don't know if any o
this actual hardware or drivers are really hot pluggable.
Gets rid of these build warnings
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_new()
If .snd_pmac_new is only used by .snd_pmac_probe the
annotate .snd_pmac_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_burgundy_init()
If .snd_pmac_burgundy_init is only used by .snd_pmac_probe the
annotate .snd_pmac_burgundy_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_daca_init()
If .snd_pmac_daca_init is only used by .snd_pmac_probe the
annotate .snd_pmac_daca_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_init()
If .snd_pmac_tumbler_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_tumbler_post_init()
If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe the
annotate .snd_pmac_tumbler_post_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_awacs_init()
If .snd_pmac_awacs_init is only used by .snd_pmac_probe the
annotate .snd_pmac_awacs_init with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_pcm_new()
If .snd_pmac_pcm_new is only used by .snd_pmac_probe the
annotate .snd_pmac_pcm_new with a matching annotation
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep(
The function __devinit .snd_pmac_probe() reference
a function __init .snd_pmac_attach_beep()
If .snd_pmac_attach_beep is only used by .snd_pmac_probe the
annotate .snd_pmac_attach_beep with a matching annotation
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC Keywest driver

- ALSA: keywest: Get rid of useless i2c_device_name() macr
The i2c_device_name() macro is used only once and doesn't have muc
value, it hurts redability more than it helps. Get rid of it
Signed-off-by: Jean Delvare <khali@linux-fr.org
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC PMAC driver

- ALSA: powermac - Replace the rest of __init
All __initdata should be __devinitdata as platform device is hotpluggable
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

PPC PS3 driver

- ALSA: sound/ps3: Correct existing and add missing annotation
probe functions should be __devini
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: sound/ps3: Restructure driver sourc
Sort includes, and reorder code so we can kill the forward declaration
No functional change
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: sound/ps3: Fix checkpatch issue
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

PPC Tumbler driver

- ALSA: powermac - Replace the rest of __init
All __initdata should be __devinitdata as platform device is hotpluggable
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

RME HDSP driver

- ALSA: hdsp - allow proc reporting with disconnected io bo
the hdsp driver refuses to report any information via the pro
interface, if the io box is not connected. with this patch, th
content of the control and status registers is printed before th
iobox check
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: Clean up 64bit division function
Replace the house-made div64_32() with the standard div_u64*() functions
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: hdsp: allow firmware loading from inside the kerne
Allow the use of the FIRMWARE_IN_KERNEL option with hdsp cards an
in-kernel driver
Also corrected a typo in the comment
Signed-off-by: Raphael Doursenaud <rdoursenaud@free.fr
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

RME9652 driver

- ALSA: Clean up 64bit division function
Replace the house-made div64_32() with the standard div_u64*() functions
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SB drivers

- ALSA: clean up the logic for building sequencer module
Instead of mangling the CONFIG_* variables in the makefiles over an
over, set a few helper variables in Kconfig
Signed-off-by: Michal Marek <mmarek@suse.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SC6000 (CompuMedia ASC-9308 + AD1848) driver

- ALSA: sc6000: enable joystick por
Add module parameter to enable or disabl
joystick port (gameport) on the SC6600 an
later cards
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: sc6000: fix older card initializatio
The last patch to handle newer cards like SC700
broke initialization of the SC6000. Fix this
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: sc6000: add support for SC-6600 and SC-700
Add support for later cards based on CompuMedia ASC-9408 chipsets
These cards were produced by Gallant
This patch make the OSS aedsp16 driver redundant
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

SGI O2 Audio

- ALSA: sgio2audio.c: clean up checkin
vfree() does it's own 'NULL' check,so no need for check befor
calling it
Signed-off-by: Figo.zhang <figo1802@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de

SIS7019 driver

- trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments
Signed-off-by: Martin Olsson <martin@minimum.se
Signed-off-by: Jiri Kosina <jkosina@suse.cz

SoC Audio for Freecale i.MX1x i.MX2x CPUs

- Add soc/imx/* build stu
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Staticise unexported variable
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove unneeded i.MX dependency on SN
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix review issues in i.MX2x PCM drive
Signed-off-by: javier Martin <javier.martin@vista-silicon.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add machine driver for i.mx27_visstrim_m10 boar
This adds support for i.mx27_visstrim_sm10 board machine driver whic
uses an i.mx27 processor plus a wm8974 codec
It has been tested on a visstrim_sm10 board
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add DAI platform ssi driver for MX
This adds support for DAI platform for the SSI present in MXC platforms
It currently does not support i.MX3, the only thing necessary to d
this is to export DMA data for i.MX3 interface which I haven't don
because I don't have a i.MX3 based board available
It has been tested on i.MX27 board
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add DMA platform driver for MX1x and MX2
This adds support for DMA platform valid for i.MX1 and i.MX2 platforms
This is not valid for i.MX3 since it doesn't share the same DM
interface than i.MX1 and i.MX2
It has been tested on i.MX27 board
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Audio for TXx9

- Add soc/txx9 build stu
Just a Makefile, no source links yet
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: txx9aclc: dynamically allocate dmaengine devnam
Use kasprintf to allocate temporary devname string instead of
fixed size string
This fixes "FIXME" introduced on removal of BUS_ID_SIZE
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: Kill BUS_ID_SIZ
Remove the use of BUS_ID_SIZE from txx9aclc.c, as BUS_ID_SIZE will b
removed soon later
Also, use snprintf() instead of sprintf() as a safer operation
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Add TXx9 AC link controller driver (v3
This patch adds support for the integrated ACLC of the TXx9 family
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

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

- Add missing ASoC build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Configure WM8731 SYSCLK at startup on AT91SAM9G20-E
The system clock is currently fixed by the driver and this avoid
the need for us to handle errors with enabling and disabling MCL
(which was incorrect previously so this fixes bugs in erro
handling)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Disable microphone input for AT91SAM9G20-EK by defaul
As shipped the board does not have inputs but it is relativel
straightforward to modify the board to hook them up so suppor
is provided in the driver. When these modifications have no
been made enabling the microphone stage can cause problems
Add an ifdef to disable this by default. Don't put it int
Kconfig since users will have to get their soldering iron
out to change things
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Use CODEC as clock master on AT91SAM9G20-E
This simplifies the driver by removing the need to manuall
configure dividers within the CPU and improve audio performanc
by ensuring that the optimal phase relationships between th
clocks in the system are maintained
Note that currently this means that for playback to work th
Output Mixer HiFi switch must be enabled since otherwise CODE
will not generate the DAC clock
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: correct print specifiers for unsigned
Unsigned variables should use `%u' rather than `%d'
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: AFEB9260 drive
ASoC driver for AT91SAM9260-based AFEB9260 boar
Signed-off-by: Sergey Lapin <slapin@ossfans.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Audio for the Samsung S3C24XX chips

- ASoC: neo1973_gta02_wm8753: Replace deprecated s3c_gpio calls with gpioli
With the s3c platform has implementing gpiolib support the s3c_gpio api has bee
deprecated
This patch gets rid of all s3c_gpio calls and replaces them by using gpiolib
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: neo1973_gta02_wm8753: Replace snd_soc_cnew with snd_soc_add_controls
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix s3c-i2s-v2 buil
We now need the PCM header to kick the DMA
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add S3C24xx dependencies for Simtec machine
No point in building them for S3C64xx, certainly no sense in runnin
into build issues there
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: S3C platform: Fix s3c2410_dma_started() called at improper tim
s3c24xx dma has the auto reload feature, when the the trnasfer is done
CURR_TC(DSTAT[19:0], current value of transfer count) reaches 0, and DM
ACK becomes 1, and then, TC(DCON[19:0]) will be loaded into CURR_TC. S
the transmission is repeated
IRQ is issued while auto reload occurs. We change the DISRC an
DCON[19:0] in the ISR, but at this time, the auto reload has bee
performed already. The first block is being re-transmitted by the DMA
So we need rewrite the DISRC and DCON[19:0] for the next bloc
immediatly after the this block has been started to be transported
The function s3c2410_dma_started() is for this perpose, which is calle
in the form of "s3c2410_dma_ctrl(prtd->params->channel
S3C2410_DMAOP_STARTED);" in s3c24xx_pcm_trigger()
But it is not correct. DMA transmission won't start until DMA REQ signa
arrived, it is the time s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1
is called in s3c24xx_i2s_trigger()
In the current framework, s3c24xx_pcm_trigger() is always called befor
s3c24xx_pcm_trigger(). So the s3c2410_dma_started() should be called i
s3c24xx_pcm_trigger() after s3c24xx_snd_txctrl(1) o
s3c24xx_snd_rxctrl(1) is called in this function
However, s3c2410_dma_started() is dma related, to call this function w
should provide the channel number, which is given b
substream->runtime->private_data->params->channel. The private_dat
points to a struct s3c24xx_runtime_data object, which is define i
s3c24xx_pcm.c, so s3c2410_dma_started() can't be called in s3c24xx_i2s.
Fix this by moving the call to signal the DMA started to the DA
drivers
Signed-off-by: Shine Liu <liuxian@redflag-linux.com
Signed-off-by: Shine Liu <shinel@foxmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Select core DMA when building for S3C64x
Ensure that the core DMA support is available when building fo
S3C64xx
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: S3C24XX: Support for Simtec Hermes board
Add support for the tlv320aic3x CODEC on the Simtec Hermes board
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
- ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec board
Add core support for the range of S3C24XX Simtec boards with TLV320AIC2
CODECs on them. Since there are also boards with similar IIS routing th
AMP and the configuration code is placed in a core file for re-use wit
other CODEC bindings
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
- ASoC: S3C24XX : Align the peroid size to the buffer siz
> Then it's a driver bug. If unaligned period size is allowed, it mean
> that the irq is really generated in that period, not at the buffe
> boundary. Otherwise, it must have a proper hw-constraint to align th
> period size to the buffer size
This patch will fix the bug metioned in the above mail. Force the peroi
size to be aligned with the buffer size
Based and tested on linux-2.6.31-rc6
Signed-off-by: Shine Liu <shinel@foxmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Reenable S3C64xx I2S suppor
Joonyoung Shim reports that S3C64xx I2S is working on the NCP boards s
allow it to be selected in Kconfig
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmciro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix data format configuration for S3C64XX IISv
The data format configuration for S3C64xx IISv2 was hardcoded for IISMO
register. This patch changes to the defined values it
And instead of bits 9 and 10 of IISMOD we should clear bits 13 and 14
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
- ASoC: s3c2443-ac97: convert semaphore to mute
This fixes a build failure for 2.6.31-rc4-rt1 (ARCH=arm, s3c2410_defconfig)
CC [M] sound/soc/s3c24xx/s3c2443-ac97.
sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX
sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: parameter names (without types) in function declaratio
sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_read'
sound/soc/s3c24xx/s3c2443-ac97.c:59: error: 'ac97_mutex' undeclared (first use in this function
sound/soc/s3c24xx/s3c2443-ac97.c:59: error: (Each undeclared identifier is reported only onc
sound/soc/s3c24xx/s3c2443-ac97.c:59: error: for each function it appears in.
sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_write'
sound/soc/s3c24xx/s3c2443-ac97.c:93: error: 'ac97_mutex' undeclared (first use in this function
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Existing S3C24xx AC97 drivers should depend on S3C24x
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add Openmoko Neo FreeRunner (GTA02) audio drive
This driver supports the audio subsystem on the Openmoko Neo FreeRunne
smartphone, often known by its codename GTA02. The system has a WM875
connected to a Samsung S3C2442 with an external GPIO controlled speake
amplifier
The driver was originally written by Graeme Gregory and has recieve
contributions from Openmoko, myself and members of the Openmok
community. For much of this time the primary Openmoko kernel maintaine
was Andy Green
Signed-off-by: Graeme Gregory <graeme@openmoko.com
Signed-off-by: Andy Green <andy@openmoko.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix lm4857 contro
Commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf changed semantics o
private_value member of kcontrol. This resulted in inability to contro
amplifier and subsequently in very low output volume
Tested-by: Johannes Schauer <josch@pyneo.org
Signed-off-by: Paul Fertser <fercerpav@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- [ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h
Move all the gpio functions out of <mach/hardware.h> a
this file is for defining the generic IO base addresse
for the kernel IO calls
Make a new header <mach/gpio-fns.h> to take this an
include it via the chain from <linux/gpio.h> which i
what most of these files should be using (and will b
changed as soon as possible)
Note, this does make minor changes to some drivers bu
should not mess up any pending merges
CC: Richard Purdie <rpurdie@rpsys.net
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com
CC: David Brownell <dbrownell@users.sourceforge.net
Signed-off-by: Ben Dooks <ben-linux@fluff.org
- [ARM] S3C24XX: Remove hardware specific registers from DM
call
The S3C24XX DMA API channel configuration registers are being passe
values comprised of register values which makes it hard to move th
API to cover both the S3C24XX and S3C64XX
These values can be calculated from knowing which device the channe
is connected to, so remove them from the two calls s3c2410_dma_confi
and s3c2410_dma_devconfig
Signed-off-by: Ben Dooks <ben@simtec.co.uk
Signed-off-by: Ben Dooks <ben-linux@fluff.org
- ASoC: Use platform device resource for S3C64xx IISv
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Staticise txctrl and rxctrl for S3C IISv
They aren't used by anything external and aren't prototyped; if an
users appear they can be exported again for them
Also report what modes we have a problem with when we encounter invali
mode configurations
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Display S3C IISv2 mode and MS errors by defaul
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Display the clock rate used as the basis for rate calculatio
Aids debugging
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Allow use of resource from the platform device for S3C IISv
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix boot warnings from S3C IISv
On startup we try to make sure that the port is quiesced but if th
port is already stopped then this will generate a warning about th
RX/TX mode configuration. Configure the mode before doing the teardow
to suppress these warnings
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bi
The data format configuration for S3C64xx IISv2 is completely differen
to that for S3C24xx. Instead of a single bit configuration in bit 0 o
IISMOD we have format selection in bits 13 and 14 and bit clock rat
selection in bits 1 and 2. While we're here add support for 24 bi
samples in S3C64xx
At some point it may be desirable to expose the bit clock rate selectio
to users but given the limited configuration options that may not b
required
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Make S3C64xx clock export function to return struct cl
This makes the interface usable with the s3c-iis-v2 rate calculato
and consistent with S3C2412
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Check for supported CPUs when building s3c-i2s-v
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix error message formatting in s3c64xx-i2s drive
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Use our registration function for S3C64x
Make sure we get the DAI operations initialised
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: s3c-i2s-v2 diagnostic improvement
Say what invalid values we're seeing when we see an invalid value an
ensure that errors are displayed by default
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Enforce symmetric rates for S3C64xx I2S interfac
There is only one LRCLK pin on each interface
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: S3C2412: Failing to get the I2S clock is an erro
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix S3C64xx IIS device registration and support both port
The S3C64xx IIS code had a number of problems with device registration
The hardware has two IIS ports of which the driver supported only on
at once via a single exported DAI, attempting to identify the DAI t
use based on the dev->id of the ASoC platform device. As well a
limiting the driver to only supporting one IIS port at once this als
meant that the ID of the soc-audio device (or in future the card device
had to match the IIS ID
Fix both problems by converting the driver to register the DAIs based o
probing of platform devices registered by the arch/arm code, using thos
platform devices to interact with the clock API
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Blackfin

- ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm da
1. fix "line over 80 characters" checkpatch warning
2. ‘DMA_nnBIT_MASK’ is deprecated, use DMA_BIT_MASK instea
3. fix typo
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: board driver to connect bf5xx with ad193
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: blackfin I2S(TDM mode) CPU DAI drive
The I2S DAI driver for blackfin SPORT, but works in TDM mode
I2S is not a special case of TDM with only left and right two slots fo
SPORT interface. I2S coordinates with TDM in SPORT, but not a part o
TDM. TDM require different hardware configuration with I2S, not onl
different slot number. One is "Stereo Serial Operation" mode of SPORT
the other one is "Multichannel Operation" mode. They are incompatibl
at the same time
Hardware and DMA description and data transfer flow are much differen
for I2S and TDM. Merging them as a whole will be very ugly and difficul
to maintain
So we don't define a new DAI type, but give two DAI instances for standar
I2S and TDM, both in I2S-family DAI type. The TDM instance still uses th
I2S-family DAI type
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Blackfin I2S: fix resume handlin
There is no need to manually start playback/capture ourselves as the PC
driver will handle things for us
Signed-off-by: Cliff Cai <cliff.cai@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Blackfin AC97: fix resume handlin
There is no need to manually start playback/capture ourselves as the PC
driver will handle things for us
Signed-off-by: Cliff Cai <cliff.cai@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Blackfin: convert internal names from bf52x to bf5x
These drivers aren't BF52x specific, so don't use bf52x in the names
Signed-off-by: Barry Song <barry.song@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Blackfin: update the bf5xx_i2s_resume parameter
Latest ASoC only passes snd_soc_dai to the resume function
Signed-off-by: Barry Song <barry.song@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Blackfin: keep better track of SPORT configuration stat
Do not let the SPORT be reconfigured until there are no more activ
streams. Then we can let the system reprogram the SPORT state
Signed-off-by: Cliff Cai <cliff.cai@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Blackfin: document how anomaly 05000250 is handle
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Blackfin: set the transfer size according the ac97_frame siz
Signed-off-by: Cliff Cai <cliff.cai@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
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 AC97

- ASoC: Use a shared define for AC97 CODEC data format
The AC97 wire format is completely fixed so CODECs don't have any choic
about the formats they accept but controllers accept a variety of dat
formats and render them down onto the bus. Have a shared define so al
the CODEC drivers will interoperate with any of our controller drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec AD1836

- Add more missing build stubs for ASo
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Minor cleanups to AD1938 drive
- Build in SND_SOC_ALL_CODECS
- Remove null suspend/resume stuff
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: new ad1836 codec driver based on aso
There has been an ad1836 driver in sound/blackfin based on traditional alsa
The new driver is based on asoc. The architecture of ad1836 codec driver i
very much like ad1938
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec AD1938

- ASoC: delete -spi suffix in ad1938 and free private data while registers fai
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM wor
According to the function dapm_dac_check_power() i
sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without an
output widget as sink. And according to dapm_adc_check_power(), ad
power can't be on/off stand-alone without any input widget as source. S
we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_AD
to hope their power can be managed dynamically
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Update AD1938 for new TDM slot AP
It's only actually paying attention to the slot count anyway
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm da
1. fix "line over 80 characters" checkpatch warning
2. ‘DMA_nnBIT_MASK’ is deprecated, use DMA_BIT_MASK instea
3. fix typo
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix checkpatch issues in AD193
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Kill direct accesses to driver_dat
Replaced with dev_{get|set}_drvdata()
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: new ad1938 codec driver based on aso
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec AD1980

- ASoC: Use a shared define for AC97 CODEC data format
The AC97 wire format is completely fixed so CODECs don't have any choic
about the formats they accept but controllers accept a variety of dat
formats and render them down onto the bus. Have a shared define so al
the CODEC drivers will interoperate with any of our controller drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec AK4535

- ASoC: Remove unused AK4535 hardware read functionalit
Nothing uses it and the existing hw_read operation needs to b
refectored so it's easier to remove it rather than work with it
Support can be re-added if the code requires volatile registers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec AK4642

- ASoC: Add ak4642/ak4643 codec suppor
This is very simple driver for ALS
It supprt headphone output and stereo input onl
This patch is tested by ms7724s
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec CS4270

- ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_devic
Power management for the cs4270 codec is currently implemented as par
of the i2c_driver struct. The disadvantage of doing it this way is tha
the callbacks registered in the snd_soc_card struct are called _before
the codec's callbacks
That doesn't work, because the snd_soc_card callbacks will most likel
switch down the codec's power domains or pull the reset GPIOs, an
hence make the i2c communication bail out
Fix this by binding the suspend and resume code to th
snd_soc_codec_device driver model and let the I2C functions only cal
the SoC core function for resume and suspend, which do nothing currentl
but will do later
Signed-off-by: Daniel Mack <daniel@caiaq.de
Cc: Timur Tabi <timur@freescale.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: cs4270: add power management suppor
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
- ASoC: cs4270: introduce CS4270_I2C_INC
Replace the magic 0x80 value with a suitable macro definition
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
- ASoC: cs4270: add Master Playback Switc
This adds a new control named 'Master Playback Switch' for cs427
codecs. It is implemented using the new SOC_DOUBLE_EXT macro to catc
the put function and store the information about manually set mut
controls from userspace. When a manual mute is set, we don't want th
soc core to un-mute the outputs
Renamed cs4270_mute() to cs4270_dai_mute() to avoid confusion
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
- ASoC: cs4270: fix Master Capture Switch polarit
The control modifies the MUTE register, hence the polarity must b
inverted
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

SoC Codec CX20442

- ASoC: CX20442: simplify codec controller usag
This patch is a workaround for the problem of several subsequent contro
statements not being applied correctly to the codec controller (modem)
In order to follow the hook switch state change from handset to handsfre
whil
in full duplex mode, two consecutive +VLS control commands were sent to th
modem. The first one was M1 (microphone only), the seconds one was M1S1 (bot
microphone and speaker). As there was no real modem handshaking procedur
implemented, neither in the codec nor in the machine driver part of the lin
discipline, the modem was having the second command missed
Since a possibility to switch to microphone only mode (and speaker only mod
as well) seams of no value, I have modified the code to issue single M1S
command only for any of those cases
Tested on my Amstrad Delta
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: CX20442: add some debuggin
This patch adds debugging statement that can help in tracin
how the driver is trying to control the codec device
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: CX20442: push down machine independent line discipline bit
This corrected patch adds machine independent line discipline code, prevoiusl
exsiting inside my Amstrad Delta ASoC machine dirver, to the Conexant CX2044
codec driver. The code can be used as a standalone line discipline, or as
set of codec specific functions called from machine's line disciplin
callbacks. Anyway, the line discipline itself must be registered by a machin
driver
Applies on top of the followup to my initial driver version
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019757.htm
Suggested by ASoC manintainer Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: CX20442: fix issues pointed out by subsystem maintaine
The patch fixes some checkpatch identified issues and adds a comment abou
line discipline interaction to my driver code, as requested by Mark on m
inital submission (thank you Mark for applying my imperfect patch anyway)
It also fixes MODULE_ALIAS mismatch as used in my machine driver
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add support for Conexant CX20442-11 voice modem code
This patch adds support for Conexant CX20442-11 voice modem codec, suitabl
for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Relate
sound card driver will follow
This codec is an optional part of the Conexant SmartV three chip modem design
As such, documentation for its proprietary digital audio interface is no
available. However, on Amstrad Delta board, thanks to Mark Underwood wh
created an initial, omap-alsa based sound driver a few years ago[1], the code
has been discovered to be accessible not only from the modem side, but als
over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any soun
card that can access the codec DAI directly. The DAI configuration parameter
(sample rate and format, number of channels) has been selected out empiricall
for best user experience
The codec analogue interface consists of two pairs of analogue I/O pins
speakerphone interface or telephone handset/headset interface. Furthermore, i
seams to provide two operation modes for speakerphone I/O: standard an
advanced, with automatic gain control and echo cancelation. Even if the code
control interface is unknown and not available, all those interfaces and mode
can be selected over the modem chip using V.253 commands. The driver is abl
to issue necessary commands over a suitable hw_write function if provided by
sound card driver. Otherwise, the codec can be controlled over the modem fro
userspace while inactive
Even if nothig is known about the codec internal power managemen
capabilities, DAPM widgets has been used to model the codec audio map
Automatically performed powering up/down of those virtual widgets results i
corresponding V.253 commands being issued
Some driver features/oddities may be board specific, but I have no way t
verify that with any board other than Amstrad Delta
[1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.htm
Created and tested against linux-2.6.31-rc3
Applies and works with linux-omap-2.6 commi
7c5cb7862d32cb344be7831d466535d5255e35ac as well
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec DIT SPDI/F

- ASoC: spdif: set module licence to GP
Without MODULE_LICENCE("GPL"), when built as a module it will fai
to load because it uses other GPL symbols from kernel
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
- ASoC: spdif codec: enable use by module
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Initialise dev for the dummy S/PDIF DA
Also include the header to make sure the DAI is prototyped
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add dummy S/PDIF codec suppor
McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed
This patch provides stub codec that can be used in these configurations
On DM646x EVM the McASP1 is connected to the S/PDIF out
Signed-off-by: Steve Chen <schen@mvista.com
Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com
Signed-off-by: Naresh Medisetty <naresh@ti.com
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec MAX9877

- ASoC: MAX9877: fix write operation for registe
The MAX9877 needs an address of start register when we write values t
registers through i2c_master_send(), but the code for this was missed i
max9877_write_regs()
If the value of control is 0 in the max9877_set_out_mode(), the value i
not increased to 1, but actually the value to write to the registe
should be 1
And the register bits for out_mode and osc_mode should be cleared befor
writing
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
- ASoC: MAX9877: separate callback function
The callback function to control register was used by whole controls i
MAX9877 driver, but this causes using many if statement for doubl
register control or invert
So, the callback function for double register control is separat
differently, and the code for invert is added in the callback function
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
- ASoC: MAX9877: add MAX9877 amp drive
The MAX9877 combines a high-efficiency Class D audio power amplifie
with a stereo Class AB capacitor-less DirectDrive headphone amplifier
The max9877_add_controls() is called to register the MAX9877 specifi
controls on machine specific init() of the machine driver
The datasheet for the MAX9877 can find at the following url
http://datasheets.maxim-ic.com/en/ds/MAX9877.pd
[Slight edit to sort the ALL_CODECS entries -- broonie.
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

SoC Codec Philips UDA134x

- ASoC: UDA134X: Fix mistaken mute/unmute cod
There is a mistake in current uda134x_mute function: mute_reg has bee
changed in line 162 or line 164, so uda134x_write should writ
"mute_reg" but not "mute_reg & ~(1<<2)" t
UDA134X_DATA010
Signed-off-by: Shine Liu <shinel@foxmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec Philips UDA1380

- ASoC: UDA1380: refactor device registratio
This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c
"ASoC: Refactor WM8731 device registration" to make UDA1380 use standar
device instantiation. Similarly, the I2C device registration temporaril
moves into the magician machine driver before it will find its fina
resting place in the board file
At the same time, platform specific configuration is moved to platform dat
and common power/reset GPIO handling moves into the codec 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

SoC Codec SSM2602

- ASoC: Revert duplicated code in SSM2602 drive
The Blackfin submission was done as a patch against a different tre
and contained a duplicate hunk which will cause us to loose track of th
substream pointers when shutting down. Remove one of the duplicate
hunks
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: SSM2602: assign last substream to the master when shutting dow
Fixes crash when shutting down
Signed-off-by: Cliff Cai <cliff.cai@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: SSM2602: remove unsupported sample rate
Signed-off-by: Cliff Cai <cliff.cai@analog.com
Signed-off-by: Mike Frysinger <vapier@gentoo.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec STAC9766

- ASoC: Keep index within stac9766_reg[
Keep index within stac9766_reg[
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix minor issues in STAC9766 drive
Fairly minor issues
- Don't register the DAIs, it's not required for AC97 devices
- Make unexported functions static
- Wrap some excessively long lines
- Undo tab/space breakage
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Codec for STAC9766 used on the Efik
Datasheet: http://www.idt.com/products/getDoc.cfm?docID=1313400
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec TLV320AIC23

- ASoC: codec tlv320aic23 fix bogus divide by 0 messag
Some code analyzer software mistakenly give
divide by 0 error messages for these lines
This patch will end its confusion
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: correct print specifiers for unsigned
Unsigned variables should use `%u' rather than `%d'
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: tlv320aic23: add DSP_A format suppor
Add DSP_A interface format support by setting the LRP bit i
DSP mode
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

SoC Codec TLV320AIC3X

- ASoC: Make platform data optional for TLV320AIC3
Now that we don't need the I2C address for the device the platform dat
is redundant so allow it to be omitted
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Tested-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: tlv320aic3x: Change to use device mode
The tlv320aic3x driver managed its own i2c device, instead of an extan
one created by the board support code. Change the code to make it so tha
the driver binds to an extant (in this case i2c) device
Add explict tlv320aic33 as well as tlv320aic3x to the supported devic
table and remove the old driver bindings from the users of this 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
- ASoC: Remove use of hw_read from TLV320AIC3x drive
The TLV320AIC3x driver is currently the only user of the CODEC hw_rea
operation and is jumping through some hoops in order to do so. In orde
to support future refactoring to make the hw_read operation more usabl
unwrap the usage in this driver to avoid its use
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: tlv320aic3x: Enable PLL when not bypasse
PLL was not being enabled when it was not bypassed. This patc
enables the PLL when it is used. Additionally, it disables the PL
when it is bypassed
Without this patch, the audio on TI DM646x EVM and DM355 EV
does not work properly. The bit clocks and the frame sync signal
from the codec are not correct and hence the playback/record are faste
than usual for most sample rates. The reason for this was that the PL
was not enabled when it was not bypassed
Tested on DM6467 EVM, playback tested on DM355 EVM
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com

SoC Codec TWL4030

- ASoC: TWL4030: Fix for capture mixer string
Change the strings related to capture in order to b
interpreted correctly by alsamixer and possible othe
UI based mixer applications
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
- ASoC: TWL4030: Introduce PGAs for output
Dynamically control and control only the needed output amplifie
muting/un-muting
The original code was muting and un-muting the following outpu
amplifiers: Earpiece PreDrivL/R, CarkitL/R at the same tim
regardless which pin is actually in use at the given moment
Move these as separate PGA so only the needed amplifier will be touched
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
- ASoC: TWL4030: Add tristate callbacks for HiFi and Voic
Add "set_tristate" callbacks for HiFi and Voice DAIs
Machine drivers can enable and disable tristate for eac
DAI with "snd_soc_dai_set_tristate" function
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Add EXTMUTE to reduce pop-noise effec
According to TRM, an external FET controlled by a 1.8V output signa
can be used to reduce the pop-noise heard when the audio amplifier i
switched on. It is suggested that GPIO6 of TWL4030 be used, but an
other gpio can be used instead. This is indicated in machine drive
with the following twl4030_setup_data members
-hs_extmute. Set to 1 if board has support for EXTMUTE
-set_hs_extmute. Set to a callback funcion to control an external gpi
line. Set to NULL if MUTE[GPIO6] pin is used
Codec driver takes care of enabling and disabling this output durin
the headset pop attenuation sequence
Also add a delay to let VMID settle in ramp up sequence
Signed-off-by: Jorge Eduardo Candelaria <x0107209@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove word "Switch" from Handsfree switch nam
SoC dapm adds the suffix "Switch" to SND_SOC_DAPM_SWITCH controls
removing word "Switch" from HandsfreeL/HandsfreeR widget nam
for avoiding to duplicate it
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Correct bypass event for voice sideton
Event for voice sidetone was being interpreted as a
analog HiFi bypass event because VSTPGA register offse
is less than ARXR2_APGA_CTL offset. Reordering th
register checks allows to handle voice digital bypas
event properly
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Add AVADC Clock Priorit
AVDAC clk priority allows to determine the path ADC mus
be connected when the codec is in option2 and both HiF
and Voice paths are enabled
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Fix voice interface clock master
Voice interface of twl4030 codec supports: CBM_CFM an
CBS_CFS. It doesn't support CBS_CFM
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-By: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Staticise put_twl4030_opmode_enum_double(
It's an operation for a control and doesn't need to be exported
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix shadowed variables in twl403
No need to define second copies of mode and format, they're declare
with exactly the same type at the head of the function and there's n
conflict in their use
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix build error in twl4030.
Fix the (likely cut-n-paste) error by commi
16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9, which causes the error below
sound/soc/codecs/twl4030.c: In function 'twl4030_read_reg_cache'
sound/soc/codecs/twl4030.c:152: error: 'cache' undeclared (first use in this function
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Check the interface format for 4 channel mod
In addition to the operating mode check, also check th
codec's interface format in case of four channel mode
If the codec is not in TDM (DSP_A) mode, return with error
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
- ASoC: TWL4030: Use reg_cache in twl4030_init_chi
Use the codec->reg_cache instead of the array directl
in twl4030_init_chip for setting the default values
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
- ASoC: TWL4030: HandsfreeL/R mute DAPM switc
Add DAPM switch for HeadsetL/R mute. Since all bits are are neede
for the HFL/R pop removal to work the switch is using the SW_SHADO
no HW register for the HandsfreeL/R mute
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
- ASoC: TWL4030: Add shadow registe
Shadow, non HW register for dealing with the HandsfreeL/
muting
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
- ASoC: TWL4030: Handsfree pop removal redesig
Move the HandsfreeL/R (IHFL/R) pop removal code from the DAPM_MUX_
to a more appropriate DAPM_PGA_E widget
Also fix the power-up sequence to match with the TRM
The power-down sequence is not described in the TRM, so do i
in a way, which seams like the correct sequence
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
- ASoC: TWL4030: Differentiate the playback stream
Give unique stream names for the two playback streams s
DAPM can figure out which codec_dai is in use
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
- ASoC: TWL4030: Add support for platform dependent configuratio
twl4030_setup_data structure can be passed from platform drivers t
the codec via the snd_soc_device->codec_data pointer
Currently the setup data has support for the Headset pop-remova
related configuration, which differs from board to board
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
- ASoC: TWL4030: Move the Headset pop-attenuation code to PGA even
This patch adds SND_SOC_DAPM_PGA_E to the headset path, which handle
the headset ramp up and down sequences needed for the pop nois
removal
With this patch the order of the internal components in the twl403
codec is turned on and off in a correct order
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com
Tested-by: Jarkko Nikula <jhnikula@gmail.com
Tested-by: Misael Lopez Cruz <x0052729@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Change DAPM routings and controls for DACs and PGA
Restructuring the twl4030 codec's DAPM routing to be able to handle the powe
sequences correctly
The twl4030 codec internal implementation have this order
DAC -> Analog PGA -> Mixer/Mu
While the ASoC framework expects the following order
DAC -> Mixer -> Analog PG
This patch moves the Analog PGA handling from SND_SOC_DAPM_PGA to _MIXER an
adds two levels of mixer to handle the digital and analog loopbac
functionality
Now the analog loopback does not powers on any of the DACs
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com
Tested-by: Jarkko Nikula <jhnikula@gmail.com
Tested-by: Misael Lopez Cruz <x0052729@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Add control for selecting codec operation mod
Add a control for selecting the codec operation mode. TWL4030 code
has two modes
- Option 1. Audio only (4 audio DACs
- Option 2. Voice/Audio (2 audio DACs and voice ADC/DAC
Control is restricted when a stream is ongoing, since codec'
operation mode cannot be changed on-the-fly
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujflausi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Fix Analog capture path for AUX
AUXR is selected by bit 2 and not by bit 1 in the ANAMICR 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
- ASoC: TWL4030: Enable/disable voice digital filter
Enable TWL4030 VTXL/VTXR and VRX digital filters for uplin
and downlink paths, respectively
This patch also corrects voice 8/16kHz mode selection bi
(SEL_16K) of CODEC_MODE register
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: change DAPM for analog microphone selectio
The inputs of the twl4030 codec can be mixed, so we will use the mixe
DAPM for the analog microphone registers(0x05, 0x06), but if we enabl
more than one input at the same time, the input impedance of the inpu
amplifier will be reduced
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Fix typo in twl4030_codec_mute functio
Copy-paste error: TWL4030_PRECKL_GAIN >> TWL4030_PRECKR_GAI
It has not caused problems, sinc
TWL4030_PRECKL_GAIN == TWL4030_PRECKR_GAIN == 0x3
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
- ASoC: TWL4030: Add VIBRA outpu
This patch adds support for the VIBRA output on TWL4030 codec
The VIBRA output can be driven with audio data or wit
local vibrator driver
Add the needed DAPM elements and routes for the VIBRA output an
controls for the VIBRA driver configuration
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
- ASoC: TWL4030: Add voice digital loopback: sideton
This patch add voice digital loopback (sidetone) to the twl403
driver. It mixes voice uplink attenuated (by sidetone gain) wit
voice downlink when the codec is working in option2 (voice/audi
mode)
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Add VDL analog bypas
This patch adds voice downlink analog bypass switch. It follow
the same approach as in other analog bypass switches
DAC switch is moved from 'DAC Voice' to 'Analog Voice Playback Mixer'
that will also allow voice DAC to be powered in digital voic
loopback (sidetone)
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Add 4 channel TDM suppor
Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl403
codec
The channel allocations are
Playback
TDM i2s TWL R
Channel 1 Left SDRL
Channel 3 Right SDRR
Channel 2 -- SDRL
Channel 4 -- SDRR
Capture
TDM i2s TWL T
Channel 1 Left TXL
Channel 3 Right TXR
Channel 2 -- TXL
Channel 4 -- TXR
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
- ASoC: TWL4030: Add VDL path suppor
Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we hav
to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headse
Left/Right, Carkit Left/Right) from mux to mixer
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Add support Voice DA
Add Voice DAI to support the PCM voice interface of the twl4030 codec
The PCM voice interface can be used with 8-kHz(voice narrowband) o
16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mon
TX or stereo TX
The PCM voice interface has two mode
- PCM mode1 : This uses the normal FS polarity and the rising edge o
the clock signal
- PCM mode2 : This uses the FS polarity inverted and the falling edg
of the clock signal
If the system master clock is not 26MHz or the twl4030 codec mode is no
option2, the voice PCM interface is not available
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Fix for the constraint handlin
The original implementation of the constraints were good against san
applications
If the opening sequence is
stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> th
constraints are set correctly for stream2
But if the sequence is
stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream
would receive constraint rate = 0, sample_bits = 0, since the stream1 has no
yet called hw_params..
The command to trigger this event
gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=fals
This patch does some 'black magic' in order to always set the correc
constraints and sets it only when it is needed for the other stream
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
- ASoC: TWL4030: Fix gain control for earpiece amplifie
The gain control for earpiece amplifier uses 0dB ~ 12dB according to th
TRM, but the present code is implemented to -6dB ~ 6dB
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com

SoC Codec WM8350

- ASoC: Don't reconfigure WM8350 FLL if not neede
If the requested FLL configuration is the one we're currently runnin
in it's at best pointless to reconfigure the FLL
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Automatically manage WM8350 sloping stopband filte
For best performance the DAC sloping stopband filter should be enable
below 24kHz and not enabled above that so remove the user visibl
control for this and do it autonomously in the driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Include WM8350 register definitions in CODEC heade
It's expected behaviour for the CODEC header to provide them but th
WM8350 doesn't due to having all the registers together under drivers/mfd
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix logic in WM8350 master clocking chec
We need to check only if the WM8350 is master and only when startin
the stream so if either is not true then we can skip the check
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com

SoC Codec WM8400

- ASoC: Bodge around GCC 4.4.0 flow analysis bug in GCC 4.4.
GCC 4.4.0 doesn't appear to be able to spot that we don't apply any FL
configuration if the output frequency is zero
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: remove driver_data direct access of struct devic
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8510

- ASoC: Factor out 7 bit register 9 bit data SPI writ
This converts all the Wolfson drivers using this format (the only device
that do) except WM8753 to use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add I/O control bus information to factored out cache setu
While writes tend to be able to use a fairly bus independant format t
do the writes reads are all bus specific. To allow us to factor ou
this code include the bus type as a parameter when setting up th
cache
Initially just use this to factor out hw_write_t for I2C
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Begin to factor out register cache I/O function
A lot of CODECs share the same register data formats and therefor
replicate the code to manage access to and caching of the registe
map. In order to reduce code duplication centralised versions o
this code will be introduced with drivers able to configure the us
of the common code by calling the new snd_soc_codec_set_cache_io(
API call during startup
As an initial user the 7 bit address/9 bit data format used by man
Wolfson devices is supported for write only CODECs and the driver
with straightforward register cache implementations are converted t
use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM8510 has a single frame clock so needs symmetric rate
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8523

- ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8523 CODEC drive
The WM8523 is a high performance stereo DAC with integral charg
pump providing 2Vrms line driver outputs using a single 3.3V powe
supply rail
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8580

- ASoC: Add I/O control bus information to factored out cache setu
While writes tend to be able to use a fairly bus independant format t
do the writes reads are all bus specific. To allow us to factor ou
this code include the bus type as a parameter when setting up th
cache
Initially just use this to factor out hw_write_t for I2C
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out WM8580 register cache cod
Note the slightly tricky cache usage in the volume update function du
to the requirement for a separate write for the VU bit
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Regulator support for WM858
Add basic support for integration with the regulator API to WM8580
Since the core cannot yet disable biases when the CODEC is idle w
simply request and enable the regulators for the entire time th
driver is active
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8728

- ASoC: Factor out 7 bit register 9 bit data SPI writ
This converts all the Wolfson drivers using this format (the only device
that do) except WM8753 to use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add I/O control bus information to factored out cache setu
While writes tend to be able to use a fairly bus independant format t
do the writes reads are all bus specific. To allow us to factor ou
this code include the bus type as a parameter when setting up th
cache
Initially just use this to factor out hw_write_t for I2C
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Begin to factor out register cache I/O function
A lot of CODECs share the same register data formats and therefor
replicate the code to manage access to and caching of the registe
map. In order to reduce code duplication centralised versions o
this code will be introduced with drivers able to configure the us
of the common code by calling the new snd_soc_codec_set_cache_io(
API call during startup
As an initial user the 7 bit address/9 bit data format used by man
Wolfson devices is supported for write only CODECs and the driver
with straightforward register cache implementations are converted t
use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8731

- ASoC: Drop unneeded declaration of removed wm8731 SPI write functio
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out 7 bit register 9 bit data SPI writ
This converts all the Wolfson drivers using this format (the only device
that do) except WM8753 to use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Limit WM8731 to symmetric rate
While the hardware is capable of some limited asynmmetric modes th
driver does not currently support those modes so tell application
that only symmetric rates are available
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Correct WM8731 Mic Capture Switch control nam
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add TLV information for WM873
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix leaks in WM8731 probe error handlin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add suspend and resume callbacks to Wolfson CODEC driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: remove driver_data direct access of struct devic
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8750

- ASoC: Factor out 7 bit register 9 bit data SPI writ
This converts all the Wolfson drivers using this format (the only device
that do) except WM8753 to use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8753

- ASoC: Fix wm8753 register cache size and initializatio
Register cache space was not being allocated for the final register
causing bugs when it was used. Allocate space for it
Also ensure that the final register is displayed in sysfs
[Commit message rewritten to document actual issue. -- broonie
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix register cache initialisation for WM875
The wrong register cache variable was being used to provide the size fo
the memcpy(), resulting in a copy of only a void * of data
Reported-by: Lars-Peter Clausen <lars@metafoo.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Cc: stable@kernel.or
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: remove driver_data direct access of struct devic
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8776

- ASoC: Convert WM8776 to use factored out register cache cod
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8776 CODEC drive
The WM8776 is a high performance, stereo audio CODEC with five channe
input selector. The WM8776 is ideal for surround sound processin
applications for home hi-fi, DVD-RW and other audio visual equipment
This driver implements support for most WM8776 features - currently th
ADC automatic level control/limiter functionality is omitted
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8900

- ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Automatically manage WM8900 sloping stopband filte
For best performance the DAC sloping stopband filter should b
enabled below 24kHz and not enabled above that so remove th
user visible control for this and do it autonomously in th
driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8903

- ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Automatically control WM8903 sloping stopband filte
For best performance the DAC sloping stopband filter should b
enabled below 24kHz and not enabled above that so remove th
user visible control for this and do it autonomously in th
driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove odd bit clock ratios for WM890
These are not supported since performance can not be guarantee
when they are in use
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Cc: stable@kernel.or
- ASoC: Implement WM8903 digital sidetone suppor
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove redundant rate constraint for WM890
This is now handled by symmetric_rates
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Actively manage the DC servo for WM890
Save a little extra power by enabling the DC servo offset correctio
for the output channels only when the relevant channels are enabled
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Optimise configuration of WM8903 DC serv
Modify the default startup sequence in the chip to set the DC serv
dither level for optimal performance
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Support CLK_DSP in WM890
CLK_DSP provides a master clock for the DAC and ADC related functionalit
on the device
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Use DAPM supply widget for WM8903 charge pum
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Request shared rates for WM890
It has a shared LRCLK
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8940

- ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODEC
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add missing __devexit in wm8940.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Staticise TLV values in WM894
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: ASoC WM8940 Drive
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8960

- ASoC: Fix WM8960 leaks on probe failur
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8960 CODEC drive
The WM8960 is a low power, high quality stereo codec designed fo
portable digital audio applications
Stereo class D speaker drivers provide 1W per channel into 8W loads
Guaranteed low leakage, excellent PSRR and pop/click suppressio
mechanisms enable direct battery connection for the speaker supply
The device also integrates a complete microphone interface and a stere
headphone driver. External component requirements are drasticall
reduced as no separate microphone, speaker or headphone amplifiers ar
required. Advanced on-chip digital signal processing performs automati
level control for the microphone or line input
Stereo 24-bit sigma-delta ADCs and DACs are used with low powe
over-sampling digital interpolation and decimation filters and
flexible digital audio interface
The master clock can be input directly or generated internally by a
onboard PLL, supporting most commonly-used clocking schemes
This driver was originally written by Liam Girdwood, with substantia
subsequent additions and updates for feature completeness and changes i
the ASoC framework from me
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8961

- ASoC: Fix WM8961 suspend function typ
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add core suspend and resume callbacks to WM896
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8961 drive
The WM8961 is a low power, high quality stereo CODEC designed fo
portable digital applications with headphone and stereo class D speake
drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8974

- Add more missing build stubs for ASo
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Factor out cache I/O from WM897
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec
This corrects a bug with ADC Inversion Switch in wm8974 codec
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM8974 DAPM cleanup
Also implement AUX mode control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM8974 cosmetic cleanup
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Use symmetric rates for WM897
The chip has a single LRCLK
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8974 TLV informatio
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Refresh WM8974 PLL configuratio
Move away from a fixed table to runtime calculation
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Declare 2 channels for WM897
The device is a mono device but it can read two channel data an
many I2S controllers only understand 2 channels
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Refresh WM8974 bias configuratio
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove unreferenced wm8974_add_controls(
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Update WM8974 to use standard I2C device probe method
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM8974 checkpatch cleanup
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8974 CODEC drive
The WM8974 is a low power, high quality mono CODEC designed for portabl
applications such as digital still cameras or digital voice recorders
This driver was originally written by Graeme Gregory and Liam Girdwoo
and has since been maintained by myself with some updates contributed b
Brett Saunders and Javier Martin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8988

- Sound: remove direct access of driver_dat
This is the last in-kernel direct usage of driver_data, replace it wit
the proper dev_get/set_drvdata() calls
Cc: Takashi Iwai <tiwai@suse.de
Cc: Jaroslav Kysela <perex@perex.cz
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Cc: Liam Girdwood <lrg@slimlogic.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de
- ASoC: Fix leaks in WM8988 registration error handlin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8988 CODEC drive
The WM8988 is a low power, high quality stereo CODEC designed fo
portable digital audio applications
The device integrates complete interfaces to 2 stereo headphone or lin
out ports. External component requirements are drastically reduced as n
separate headphone amplifiers are required. Advanced on-chip digita
signal processing performs graphic equaliser, 3-D sound enhancement an
automatic level control for the microphone or line input
The WM8988 can operate as a master or a slave, with various master cloc
frequencies including 12 or 24MHz for USB devices, or standard 256f
rates like 12.288MHz and 24.576MHz. Different audio sample rates such a
96kHz, 48kHz, 44.1kHz are generated directly from the master cloc
without the need for an external PLL
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM8990

- ASoC: Fix errors in WM899
The mis-typing exist in dapm controller definitions and dapm route definitions
so happen mis-matched error when snd_soc_dapm_add_routes()
Cc: stable@kernel.or
Signed-off-by: Jinyoung Park <parkjy@mtekvision.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.co

SoC Codec WM8993/4

- Add more missing build stubs for ASo
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Remove unneeded inclusion of linux/regulator/consumer.
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.
These need to be in the CODEC since the DAIs supported by the CODEC
aren't static
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM8993 digital mixing suppor
The WM8993 provides digital sidetone paths and also allows eac
channel on the audio interface to be routed separtately to th
DACs and ADCs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Implement TDM configuration for WM899
Note that the number of slots used internally is specified in term
of stereo slots while the external API works with mono slots
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix WM8993 MCLK configuration for high frequency MCLK
When used without the PLL we were accidentally clearing the MCLK/
divider, resulting in a double rate SYSCLK when the divider shoul
have been used
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out shared code from WM899
The WM8993 analogue control is shared with other devices in the sam
product line. Since this is a very substantial proportion of th
driver move the definitions of these controls into a new wm_hubs modul
which allows them to be shared between the two
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix FLL reference clock division setup in WM899
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix sample rate lookup in WM899
We need to use the best value we picked, not the last value w
looked at
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
- ASoC: Add WM8993 CODEC drive
The WM8993 is a highly integrated ultra-low power hi-fi CODEC designe
for portable devices such as multimedia phones
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM9081

- ASoC: Update WM9081 for tdm_slot() API chang
Store the TDM slot width then if it's set use that rather than th
sample size to calculate BCLK. Leave imposing constraints to th
core (which should do this but doesn't yet) or machine driver
Also allow 0 TDM slots to be configure (for use when disabling TDM)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: change set_tdm_slot api to allow slot_width override
Extend set_tdm_slot to allow the user to arbitrarily set the frame widt
and active TX/RX slots
Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.
still doesn't handle the slot_width override
While being there, correct an incorrect use of SlotsPerFrm(7) use i
bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) )
(this series is meant for Mark's for-2.6.32 branch
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Error out if we can't determine a suitable WM9081 syscl
Due to the flexibility of the WM9081 FLL this should never happe
in a real system
Reported-by: Jaswinder Singh Rajput <jaswinder@kernel.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix WM9081 PowerPC compiler issue
Ensure that we always set a new sysclk when using the FLL in master mod
and pick out the correct value for the sample rate in hw_params()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier drive
The WM9081 is designed to provide high power output at low distortio
levels in space-constrained portable applications
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM9705

- ASoC: free socdev if init_card() fails in wm9705_soc_probe(
Free socdev if snd_soc_init_card() fails
Signed-off-by: Roel Kluin <roel.kluin@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Use a shared define for AC97 CODEC data format
The AC97 wire format is completely fixed so CODECs don't have any choic
about the formats they accept but controllers accept a variety of dat
formats and render them down onto the bus. Have a shared define so al
the CODEC drivers will interoperate with any of our controller drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM9712

- ASoC: Support AC97 link off by default on WM971
The WM9712 can be configured by resistor strapping GPIO4 to behave lik
the WM9713 and default to leaving the AC97 link disabled after col
reset until a warm reset occurs. In this configuration we need to issu
a warm reset after cold to bring the link up so do so. The warm rese
will be harmless on systems that don't need it
[Changelog rewritten to document the reasoning. -- broonie
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Codec WM9713

- ASoC: Move the WM9713 voice DAC powerdown to a DAPM even
This ensures that we sync with the DAPM powerdown sequencing properl
and don't need to bounce the power on the voice DAC so often
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM9713 requires symmetric rates on the voice DA
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC DaVinci

- ASoC: tlv320aic3x: fixup board device change
Fixup the device changes by modifying the files that we just removed th
explicit device creation from with i2c_register_board_info() until thi
can be moved into the relevant board files
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
- ASoC: tlv320aic3x: Change to use device mode
The tlv320aic3x driver managed its own i2c device, instead of an extan
one created by the board support code. Change the code to make it so tha
the driver binds to an extant (in this case i2c) device
Add explict tlv320aic33 as well as tlv320aic3x to the supported devic
table and remove the old driver bindings from the users of this 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
- ASoC: DaVinci: Add audio support fot DA850/OMAP-L138 EV
There is one instance of McASP on DA850/OMAP-L138 SoC. This i
connected to TLV320AIC3106 codec for audio playback and capture
This patch adds audio support on this platform. Some of th
structure prefix names which are common for DA830/OMAP-L137 EVM an
DA850/OMAP-L138 EVM have been renamed to da8xx from da830
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: Add a DAI format to McASP drive
The patch adds a DAI format: Codec bit clock master and frame sync slave
to the driver
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: McASP driver enhacement
On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral has FIF
support. This FIFO provides additional data buffering. It also provide
tolerance to variation in host/DMA controller response times
The read and write FIFO sizes are 256 bytes each. If FIFO is enabled
the DMA events from McASP are sent to the FIFO which in turn sends DMA request
to the host CPU according to the thresholds programmed
More details of the FIFO operation can be found a
http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber
sprufm1&fileType=pd
This patch adds support for FIFO configuration. The platform data has
version field which differentiates the McASP on different SoCs
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: Support Audio on DA830 EV
Add support for audio on DA830 EVM- here McASP1 is interfaced t
TLV320AIC3106 codec
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: pcm, constrain buffer size to multiple of perio
The dma setup code assumes that the buffer size is a multipl
of the period size
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s: don't bounce through rtd to get da
dai is a parameter to the functions, so use it instead o
looking it up
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: davinci: don't use clock name
clock name strings are no longer passed on platform_data. Instead
we rely entirely on struct device and clkdev to find the right clock
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
- ASoC: Introduce platform driver model for dm644x, dm35
Introduce the platform driver model to get platform data for dm355 and dm644x
Register platform driver and acquire the resources in the probe function Sinc
the platform specific code had been moved from machine driver to dm<soc>.
Signed-off-by: Naresh Medisetty <naresh@ti.com
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci I2S needs mach/asp.
Reported-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: pcm, don't play 1st sound period twic
Update the dma link with correct data as soon a
the master channel has copied it. Otherwise, th
1st period will play twice
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add machine driver support for DM646
This patch does the following
(1) Add support for the DM646x machin
(2) Modifications required to introduce the platform driver model to ge
platform data for all the machines including dm355 and dm644x
Signed-off-by: Steve Chen <schen@mvista.com
Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com
Signed-off-by: Naresh Medisetty <naresh@ti.com
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add mcasp support for DM646
Adds driver support for the two instances of McASP on TI's DM646x
The multichannel audio serial port (McASP) functions as a general-purpose audi
serial port optimized for the needs of multichannel audio application
(http://www.ti.com/litv/pdf/spruer1b)
There are two instances of McASP on DM646x. The McASP0 module includes up to
serializers that can be individually enabled to either transmit or receiv
in different modes. The McASP1 module is limited with only 1 pinned-ou
serializer that can be enabled to only transmit in DIT mode (neither receivin
in any mode nor transmitting in either Burst or TDM mode is supported)
McASP0 consists of transmit and receive sections that may operat
synchronized, or completely independently with separate master clocks, bi
clocks, and frame syncs, and using different transmit modes with differen
bit-stream formats
Signed-off-by: Steve Chen <schen@mvista.com
Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com
Signed-off-by: Naresh Medisetty <naresh@ti.com
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s, add davinci_i2s_prepare and shutdow
If the codec is master then prepare should cal
mcbsp_start, not trigger
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s, fix mcbsp_word_length updat
Code previously just "ors" in this field without clearin
first. Fix, by never reading this register
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s, minor cleanup of davinci_i2s_startu
Save a few lines of code
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s, only start sample generator if neede
Only start sample generator if needed, and mor
cleanup on davinci_mcbsp_start
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s cleanu
Move variable declaration closer to use
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoc: DaVinci: i2s, minor cleanu
Add davinci_mcbsp_dev as argument to davinci_mcbsp_star
and davinci_mcbsp_stop
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s toggle clock to complete rese
Add toggle_clock function to complete i2s reset earlier
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci: i2s, remove MOD_REG_BIT macr
No functional changes. Rename variable w to somethin
more meaningful. Remove code obfuscating macro MOD_REG_BIT
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: DaVinci EVM board support buildfixe
This is a build fix, resyncing the DaVinci EVM ASoC board cod
with the version in the DaVinci tree. That resync include
support for the DM355 EVM, although that board isn't yet i
mainline
(NOTE: also includes a bugfix to the platform_add_resource
call, recently sent by Chaithrika U S <chaithrika@ti.com> bu
not yet merged into the DaVinci tree.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: DaVinci I2S update
This resyncs the DaVinci I2S code with the version in the DaVinc
tree. The behavioral change uses updated clock interfaces whic
recently merged to mainline. Two other changes include adding
comment on the ASP/McBSP/McASP confusion, and dropping pdev->id i
order to support more boards than just the DM644x EVM
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: davinci-pcm buildfixe
This is a buildfix for the DaVinci PCM code, resyncing it wit
the version in the DaVinci tree. The notable change is usin
current EDMA interfaces, which recently merged to mainline
(The older interfaces never made it into mainline.
NOTE: open issue, the DMA should be to/from SRAM; see chi
errata for more info. The artifacts are extremely easy t
hear on DM355 hardware (not yet supported in mainline), bu
don't seem as audible on DM6446 hardwaare (which does hav
mainline support)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com

SoC Dynamic Audio Power Management

- ASoC: add missing inclusion of debugfs.
To fix compile errors
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add DAPM widget power decision debugfs file
Currently when built with DEBUG DAPM will dump information abou
the power state decisions it is taking for each widget to dmesg
This isn't an ideal way of getting the information - it require
a kernel build to turn it on and off and for large hub CODECs th
volume of information is so large as to be illegible. When th
output goes to the console it can also cause a noticable impac
on performance simply to print it out
Improve the situation by adding a dapm directory to our debugf
tree containing a file per widget with the same information i
it. This still requires a decision to build with debugfs suppor
but is easier to navigate and much less intrusive
In addition to the previously displayed information active stream
are also shown in these files
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Provide default set_bias_level() implementatio
If the CODEC does not provide a set_bias_level() then update th
bias_level variable for it since other parts of the system expec
that to be maintained
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add input and output AIF widget
Currently DAPM interfaces with the audio streams to and from th
processor at the DAC and ADC widgets. As the digital capabilitie
of parts increases this is becoming a less and less able to mee
the needs of parts
To meet the needs of these devices create new widgets interfacin
with the TDM bus but not integrated into any other functionality
Audio can then be routed to and from these widgets using existin
routing widgets
A slot number is provided in the definition but this is currentl
not used yet. This is intended to support devices which can us
more than one TDM slot on a single interface
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Power speakers and headphones simultaneousl
Speaker and headphone outputs do not need to be handled separatel
since they can't be part of the same path
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix handling of bias levels for non-DAPM codec
If the system doesn't have any DAPM widgets then we can't use thei
state to check if the bias level for the codec should be up
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: fix checking for external widgets bu
In SOC DAPM layer of SOUND subsystem, when add signal route (in th
function snd_soc_dapm_add_route() ), the original code has wrong logi
when dapm layer check each widget whether an external one
Signed-off-by: Rongrong Cao <rrcao@ambarella.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add pop delay debug at end of DAPM sequencin
Provide an interval after the end of DAPM sequencing so that w
can distinguish between a pop in the final step of the sequenc
and a pop generated from some other source outside DAPM
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix widget powerdown on shutdow
We need to set the widget power state we want to implement
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add a shutdown callbac
Ensure that the audio subsystem is powered down cleanly when the syste
shuts down by providing a shutdown operation. This ensures that all th
components have been returned to an off state cleanly which should avoi
audio issues from partially charged capacitors or noise on digital input
if the system is restarted quickly
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Tested-by: Ben Dooks <ben-linux@fluff.org
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Make DAPM power sequence lists local variable
They are now only accessed within dapm_power_widgets() so can be loca
to that function
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Coalesce power updates for PGA
Handle gain ramping for PGAs so we can coalesce their power updates too
This is not ideal since we can't cope properly with gain ramping fo
stereo paths but that was the case without coalescing and gain rampin
is relatively infrequently used so the effects are limited
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Coalesce power updates for DAPM widgets with event
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Sort specialised mixers and muxes togethe
The more flexible value muxes and named mixers don't need to be sorte
differently from a power management point of view, they are differen
only in terms of the control interface and not in terms of seqencin
behaviour
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Coalesce register writes for DAPM sequence
Reduce the number of register writes we need to set the power state fo
a CODEC by coalescing updates to widgets with the same sequence order an
same register into a single write
This can be a noticable performance improvement with slow or heavil
contended control buses, such as I2C controllers with a low cloc
frequency, and is particularly noticable when resuming. It can als
reduce the noticability of and pops and clicks by ensuring that lef
and right channels are powered simultaneously if they are in the sam
register
Currently widgets that have events are not coalesced, including PGA
which may use the volume ramping control
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Allow 32 bit registers for DAP
Replace the remaining unsigned shorts with unsigned ints
Tested with pcap2 codec (25 bits registers)
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out DAPM sequence executio
Lump the list walk into a single function, and pull in the powe
application too so we can do some further refactoring. Pure cod
motion
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Sort DAPM power sequences while building list
In the past the DAPM power sequencing was done by iterating over the lis
of widgets once for each widget type and powering widgets of that type
Instead of doing that do the sorting at the time we insert the widget
into the lists of widgets to apply power changes to. This reduces th
amount of computation required for seqencing still further, though th
costs are generally dwarfed by the costs of the register write
implementing them
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Apostrophe patro
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Add debug trace for bias level transition
A standard way of making sure we know when the bias level changes
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Integrate bias management with DAPM power managemen
Rather than managing the bias level of the system based on if there i
an active audio stream manage it based on there being an active DAP
widget. This simplifies the code a little, moving the power handlin
into one place, and improves audio performance for bypass paths when n
playbacks or captures are active
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Make DAPM sysfs entries non-optiona
sysfs is so standard these days there's no point
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Split DAPM power checks from sequencing of power change
DAPM has always applied any changes to the power state of widgets as soo
as it has determined that they are required. Instead of doing this stor
all the changes that are required on lists of widgets to power up an
down, then iterate over those lists and apply the changes. This change
the sequence in which changes are implemented, doing all power down
before power ups and always using the up/down sequences (previously the
were only used when changes were due to DAC/ADC power events). The erro
handling is also changed so that we continue attempting to power widget
if some changes fail
The main benefit of this is to allow future changes to do optimisation
over the whole power sequence and to reduce the number of walks of th
widget graph required to check the power status of widgets
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add power supply widget to DAP
Many modern CODECs have shared resources on chip which must be enable
for portions of the chip to work but which can be disabled at other time
in order to achieve power savings. Examples of such resources includ
power supplies and some internal clocks
Since these widgets are dependencies for the audio path but do not carr
audio signals they require slightly different handling to most widgets
they do not contribute to the audio path and so should not be counted a
either inputs or outputs during path walks
Cases where one supply provides a supply for another will requir
additional work. There is also room for more optimisation of the grap
walking to avoid repeated checks for the same thing
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Make the DAPM power check an operation on the widge
Rather than having switch statements at point of use make the DAP
power check a member of the widget structure and set it when w
instantiate the widget
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out DAPM power checks for DACs and ADC
This also switches us to using a switch statement for the widget typ
in dapm_power_widget()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out generic widget power check
This will form a basis for further power check refactoring: the overal
goal of these changes is to allow us to check power separately t
applying it, allowing improvements in the power sequencing algorithms
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Support DAPM events for DACs and ADC
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out application of power for generic widget
This is simple code motion, intended to support future refactoring o
the DAPM algorithms and (more immediately) the additon of events fo
DACs and ADCs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Display return code when failing to add a DAPM kcontro
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC FSI SH7724

- ASoC: Add SuperH FSI driver support for ALS
This driver is very simple
It support playback only now
This patch is tested by ms7724se board
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Freescale

- ASoC: MPC5200: Support for buffer wrap aroun
The code in psc_dma_bcom_enqueue_tx() didn't account for the fact tha
s->runtime->control->appl_ptr can wrap around to the beginning of th
buffer. This change fixes this problem
Signed-off-by: John Bonesio <bones@secretlab.ca
Acked-by: Grant Likely <grant.likely@secretlab.ca
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add missing DRV_NAME definitions for fsl/* driver
Module builds are broken due to missing DRV_NAME fo
efika-audio-fabric and pcm030-audio-fabric
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: MPC5200: Increase the delay time between reset
Reset was failing with the original udelay(50) between the code i
psc_ac97_cold_reset() and the call to psc_ac97_warm_reset(). Through testin
it was found that a delay of 1ms was necessary for the cold_reset code t
consistently complete successfully
Signed-off-by: John Bonesio <bones@secretlab.ca
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add locking to mpc5200-psc-ac97 drive
AC97 bus register read/write hooks need to provide locking, but th
mpc5200-psc-ac97 driver does not. This patch adds a mutex aroun
the register access routines
Signed-off-by: Grant Likely <grant.likely@secretlab.ca
Acked-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleare
When doing register reads, it is possible for there to be a stal
data ready bit set which will cause subsequent reads to retur
prematurely with incorrect data. This patch fixes the issues b
ensuring stale data is cleared before starting another transaction
Signed-off-by: Grant Likely <grant.likely@secretlab.ca
Acked-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: remove BROKEN from Efika and pcm030 fabric driver
The needed spin_event_timeout() macro is now merged in from th
powerpc tree, so these drivers are no longer broken. This revert
commit 0c0e09e21a9e7bc6ca54e06ef3d497255ca26383 (ASoC: Mark MPC520
AC97 as BROKEN until PowerPC merge issues are resolved
Tested against 2.6.31-rc1
Signed-off-by: Grant Likely <grant.likely@secretlab.ca
Acked-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfi
ALSA SoC drivers should be specify SND_SOC_AC97_BUS instead, not AC97_BUS
Without SND_SOC_AC97_BUS defined, an AC97 device will not get correctl
registered on the AC97 bus, which prevents thinks like the WM971
touchscreen driver from getting probed
Tested against 2.6.31-rc1
Signed-off-by: Grant Likely <grant.likely@secretlab.ca
Acked-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout(
The function signature for spin_event_timeout() has changed in version V9
Adjust the mpc5200 AC97 driver to use the new function
Signed-off-by: Jon Smirl <jonsmirl@gmail.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
- ASoC: Switch FSL SSI DAI over to symmetric_rate
The effect of symmetric_constraints should provide a standard way t
enforce the use of the same sample rate for both directions
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Acked-by: Timur Tabi <timur@freescale.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolve
These drivers use spin_event_timeout() which is only present in th
PowerPC tree at present and which is undergoing some API revision
so temporarily mark them as BROKEN until these issues are sorte
out
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fabric bindings for STAC9766 on the Efik
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Support for AC97 on Phytec pmc030 base board
A wm9712 AC97 codec is used
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: AC97 driver for mpc520
I've implemented retries for when the AC97 hardware doesn't reset o
first try. About 10% of the time both the Efika and pcm030 AC97 codec
don't reset on first try and need to be poked multiple times. Failur
is indicated by not having the link clock start ticking. Every once i
a while even five pokes won't get the link started and I have to powe
cycle
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Main rewite of the mpc5200 audio DMA cod
Rewrite the mpc5200 audio DMA code to support both I2S and AC97
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Acked-by: Grant Likely <grant.likely@secretlab.ca
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Rename the PSC functions to DM
Rename the functions in the mpc5200 DMA file from i2s based names to dm
ones to reflect the file they are in
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Acked-by: Grant Likely <grant.likely@secretlab.ca
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2
Basic split of mpc5200 DMA code out from i2s into a standalone file
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Acked-by: Grant Likely <grant.likely@secretlab.ca
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: use dev_set_drvdat
Eliminate direct accesses to the driver_data field
cf 82ab13b26f15f49be45f15ccc96bfa0b81dfd01
The semantic patch that makes this change is as follows
(http://www.emn.fr/x-info/coccinelle/
// <smpl
@
struct device *dev
expression E
type T
@
- dev->driver_data = (T)
+ dev_set_drvdata(dev, E
@
struct device *dev
type T
@
- (T)dev->driver_dat
+ dev_get_drvdata(dev
// </smpl
Signed-off-by: Julia Lawall <julia@diku.dk
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove BROKEN from mpc5200 kconfi
The regression was fixed by commi
3e5b50165fd0be080044586f43fcdd460ed27610, so no need to mark thi
driver as BROKEN
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: Set the MPC5200 i2s driver to BROKEN status
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Acked-by: Grant Likely <grant.likely@secretlab.ca
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com

SoC Layer

- Fix build of soc-core.c with older kernel
Now it's using dev_pm_ops, which was added recently
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ASoC: fix I2C build error
Fix soc build errors when I2C is built as a loadable module
(.text+0x5d26b): undefined reference to `i2c_master_send
soc-cache.c:(.text+0x5d32d): undefined reference to `i2c_transfer
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add DAPM widget power decision debugfs file
Currently when built with DEBUG DAPM will dump information abou
the power state decisions it is taking for each widget to dmesg
This isn't an ideal way of getting the information - it require
a kernel build to turn it on and off and for large hub CODECs th
volume of information is so large as to be illegible. When th
output goes to the console it can also cause a noticable impac
on performance simply to print it out
Improve the situation by adding a dapm directory to our debugf
tree containing a file per widget with the same information i
it. This still requires a decision to build with debugfs suppor
but is easier to navigate and much less intrusive
In addition to the previously displayed information active stream
are also shown in these files
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add ak4642/ak4643 codec suppor
This is very simple driver for ALS
It supprt headphone output and stereo input onl
This patch is tested by ms7724s
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Hook i.MX into buil
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out shared code from WM899
The WM8993 analogue control is shared with other devices in the sam
product line. Since this is a very substantial proportion of th
driver move the definitions of these controls into a new wm_hubs modul
which allows them to be shared between the two
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Minor cleanups to AD1938 drive
- Build in SND_SOC_ALL_CODECS
- Remove null suspend/resume stuff
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: new ad1836 codec driver based on aso
There has been an ad1836 driver in sound/blackfin based on traditional alsa
The new driver is based on asoc. The architecture of ad1836 codec driver i
very much like ad1938
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Define more formats for the AC97 CODEC
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: change set_tdm_slot api to allow slot_width override
Extend set_tdm_slot to allow the user to arbitrarily set the frame widt
and active TX/RX slots
Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.
still doesn't handle the slot_width override
While being there, correct an incorrect use of SlotsPerFrm(7) use i
bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) )
(this series is meant for Mark's for-2.6.32 branch
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8776 CODEC drive
The WM8776 is a high performance, stereo audio CODEC with five channe
input selector. The WM8776 is ideal for surround sound processin
applications for home hi-fi, DVD-RW and other audio visual equipment
This driver implements support for most WM8776 features - currently th
ADC automatic level control/limiter functionality is omitted
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Factor out I2C 8 bit address 16 bit data I/
As part of this refactoring the type of the CODEC hw_read operatio
is changed to match the regular read operation
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add I/O control bus information to factored out cache setu
While writes tend to be able to use a fairly bus independant format t
do the writes reads are all bus specific. To allow us to factor ou
this code include the bus type as a parameter when setting up th
cache
Initially just use this to factor out hw_write_t for I2C
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: jack: Fix race in snd_soc_jack_add_gpio
The irq can fire as soon as it has been requested, thus all fields accesse
from within the irq handler must be initialized prior to requesting the irq
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Allow CODECs to flag invalid register
This helps CODECs with sparse register maps work better with th
register cache display interface
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Begin to factor out register cache I/O function
A lot of CODECs share the same register data formats and therefor
replicate the code to manage access to and caching of the registe
map. In order to reduce code duplication centralised versions o
this code will be introduced with drivers able to configure the us
of the common code by calling the new snd_soc_codec_set_cache_io(
API call during startup
As an initial user the 7 bit address/9 bit data format used by man
Wolfson devices is supported for write only CODECs and the driver
with straightforward register cache implementations are converted t
use it
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8974 CODEC drive
The WM8974 is a low power, high quality mono CODEC designed for portabl
applications such as digital still cameras or digital voice recorders
This driver was originally written by Graeme Gregory and Liam Girdwoo
and has since been maintained by myself with some updates contributed b
Brett Saunders and Javier Martin
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Jack handling enhancements as suggested by subsystem maintaine
The patch adds a few small enhancements to the ASoC jack handling, a
suggested by Mark in his comments to my Amstrad Delta driver, and a few fixe
for related bugs found while learning Mark's code and testing results
Enhancements
1. Update status of an ASoC jack while associating it with new gpios
2. Really update DAPM pins while associating them with an ASoC jack
3. Export ASoC jack gpios over gpiolib sysfs for diagnostic purposes
Fixes
1. Apply mask on jack status report before using it, just for case
2. While updating jack associated DAPM pins, use full resulting jack status
not the status report passed as an argument
Created and tested on linux-2.6.31-rc
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: Allow passing platform_data to devices attached to AC97 bu
This patch allows passing platform_data to devices attached to AC97 bu
(like touchscreens, battery measurement chips ...)
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add support for Conexant CX20442-11 voice modem code
This patch adds support for Conexant CX20442-11 voice modem codec, suitabl
for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Relate
sound card driver will follow
This codec is an optional part of the Conexant SmartV three chip modem design
As such, documentation for its proprietary digital audio interface is no
available. However, on Amstrad Delta board, thanks to Mark Underwood wh
created an initial, omap-alsa based sound driver a few years ago[1], the code
has been discovered to be accessible not only from the modem side, but als
over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any soun
card that can access the codec DAI directly. The DAI configuration parameter
(sample rate and format, number of channels) has been selected out empiricall
for best user experience
The codec analogue interface consists of two pairs of analogue I/O pins
speakerphone interface or telephone handset/headset interface. Furthermore, i
seams to provide two operation modes for speakerphone I/O: standard an
advanced, with automatic gain control and echo cancelation. Even if the code
control interface is unknown and not available, all those interfaces and mode
can be selected over the modem chip using V.253 commands. The driver is abl
to issue necessary commands over a suitable hw_write function if provided by
sound card driver. Otherwise, the codec can be controlled over the modem fro
userspace while inactive
Even if nothig is known about the codec internal power managemen
capabilities, DAPM widgets has been used to model the codec audio map
Automatically performed powering up/down of those virtual widgets results i
corresponding V.253 commands being issued
Some driver features/oddities may be board specific, but I have no way t
verify that with any board other than Amstrad Delta
[1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.htm
Created and tested against linux-2.6.31-rc3
Applies and works with linux-omap-2.6 commi
7c5cb7862d32cb344be7831d466535d5255e35ac as well
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: new ad1938 codec driver based on aso
Signed-off-by: Barry Song <21cnbao@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: MAX9877: add MAX9877 amp drive
The MAX9877 combines a high-efficiency Class D audio power amplifie
with a stereo Class AB capacitor-less DirectDrive headphone amplifier
The max9877_add_controls() is called to register the MAX9877 specifi
controls on machine specific init() of the machine driver
The datasheet for the MAX9877 can find at the following url
http://datasheets.maxim-ic.com/en/ds/MAX9877.pd
[Slight edit to sort the ALL_CODECS entries -- broonie.
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
- ASoC: add SOC_DOUBLE_R_EXT_TLV control typ
This is a macro for double controls with special callback function an
TLV. The SOC_DOUBLE_R_EXT_TLV needs two registers and one shift fo
double controls
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
- ASoC: add SOC_DOUBLE_EXT_TLV control typ
This is a macro for double controls with special callback function an
TLV. The SOC_DOUBLE_EXT_TLV needs one register and two shifts for doubl
controls
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
- ASoC: fixes multiple typos in comments, no functional chang
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8993 CODEC drive
The WM8993 is a highly integrated ultra-low power hi-fi CODEC designe
for portable devices such as multimedia phones
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add CODEC volatile register operatio
Add a volatile_register() operation to the CODEC structure providing
standard operation to query if a register is volatile. This will be use
to factor out the register cache I/O operations for the CODECs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8523 CODEC drive
The WM8523 is a high performance stereo DAC with integral charg
pump providing 2Vrms line driver outputs using a single 3.3V powe
supply rail
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Convert to dev_pm_op
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add a shutdown callbac
Ensure that the audio subsystem is powered down cleanly when the syste
shuts down by providing a shutdown operation. This ensures that all th
components have been returned to an off state cleanly which should avoi
audio issues from partially charged capacitors or noise on digital input
if the system is restarted quickly
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Tested-by: Ben Dooks <ben-linux@fluff.org
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add stub suspend and resume calls for ASoC subdevice
Now that ASoC subdevices can be regular devices they can have norma
suspend and resume calls from their buses. However, suspending the
individually is not desirable since this can lead to problems such a
pops and clicks from devices being suspended with their signals bein
amplified or clocks being stopped suddenly
This will be resolved by having the normal device model suspend an
resume calls call into ASoC which will suspend the entire card while an
of its components are suspended. At present this is not yet implemente
but in order to aid the transition of drivers to the standard devic
model this patch adds API calls for the notifications
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8961 drive
The WM8961 is a low power, high quality stereo CODEC designed fo
portable digital applications with headphone and stereo class D speake
drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Make DAPM power sequence lists local variable
They are now only accessed within dapm_power_widgets() so can be loca
to that function
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Allow 32 bit registers for DAP
Replace the remaining unsigned shorts with unsigned ints
Tested with pcap2 codec (25 bits registers)
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Instantiate any forgotten DAPM widget
With the recent changes to the DAPM power checks it has become importan
to explicitly instantiate all widgets but some drivers were forgettin
to do that. Since everything needs to do it add a call to instantiat
them immediately before the card registration - it does no harm when i
is called repeatedly and saves work in drivers
Tested-by: pHilipp Zabel <philipp.zabel@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: fix NULL pointer dereference in soc_suspend(
In case the initalization of an soc_device failed, there is no code
associated with it. soc_suspend() will still dereference the pointe
and cause an Ooops when entering the sleep mode
This happens on our board with a multi-target kernel image when boote
on a machine without audio circuits
This patch makes the code bail out very early in this special case
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
- ASoC: Add dummy S/PDIF codec suppor
McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed
This patch provides stub codec that can be used in these configurations
On DM646x EVM the McASP1 is connected to the S/PDIF out
Signed-off-by: Steve Chen <schen@mvista.com
Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com
Signed-off-by: Naresh Medisetty <naresh@ti.com
Signed-off-by: Chaithrika U S <chaithrika@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Codec for STAC9766 used on the Efik
Datasheet: http://www.idt.com/products/getDoc.cfm?docID=1313400
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier drive
The WM9081 is designed to provide high power output at low distortio
levels in space-constrained portable applications
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- AsoC: Make snd_soc_read() and snd_soc_write() function
Should be no impact on the generated code but it helps the compile
print clearer messages
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add TXx9 AC link controller driver (v3
This patch adds support for the integrated ACLC of the TXx9 family
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: Integrate bias management with DAPM power managemen
Rather than managing the bias level of the system based on if there i
an active audio stream manage it based on there being an active DAP
widget. This simplifies the code a little, moving the power handlin
into one place, and improves audio performance for bypass paths when n
playbacks or captures are active
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Split DAPM power checks from sequencing of power change
DAPM has always applied any changes to the power state of widgets as soo
as it has determined that they are required. Instead of doing this stor
all the changes that are required on lists of widgets to power up an
down, then iterate over those lists and apply the changes. This change
the sequence in which changes are implemented, doing all power down
before power ups and always using the up/down sequences (previously the
were only used when changes were due to DAC/ADC power events). The erro
handling is also changed so that we continue attempting to power widget
if some changes fail
The main benefit of this is to allow future changes to do optimisation
over the whole power sequence and to reduce the number of walks of th
widget graph required to check the power status of widgets
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 forma
Signed-off-by: Jon Smirl <jonsmirl@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Fix up CODEC DAI formats for big endian CPU
ASoC uses the standard ALSA data format definitions to specify the wir
format used between the CPU and CODEC. Since the ALSA data formats al
include the endianess of the data but this information is not relevan
by the time the data has been encoded onto the serial link to the CODE
this means that either all the CODEC drivers need to declare both big an
little endian variants or the core needs to fix up the format constraint
specified by CODEC drivers
For now take the latter approach - this will need to be revisited if an
CODECs are endianness dependant
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove redundant codec pointer from DAI
The DAI structure has two pointers to the codec, one in the body of th
DAI and one in a union for a parent pointer. Drop the parent pointe
version
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Remove unused DAI format define
The defines for TDM and synchronous clocks are not used - they ar
mostly a legacy of the automatic clocking configuration. TDM wil
require configuration of the number of timeslots and which ones to us
so can't be fit into the DAI format and synchronous mode is handled b
symmetric_rates (and needs to be done by constraints rather than whe
the DAI format is being configured)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Use a shared define for AC97 CODEC data format
The AC97 wire format is completely fixed so CODECs don't have any choic
about the formats they accept but controllers accept a variety of dat
formats and render them down onto the bus. Have a shared define so al
the CODEC drivers will interoperate with any of our controller drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: ASoC WM8940 Drive
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add SOC_DOUBLE_EXT macr
Add a macro for double controls with special callback functions
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
- ASoC: Volume controls are never of boolean typ
Some limited volume controls (mostly simple attenuations) have only tw
settings so the ASoC info functions misreport them as booleans. Sinc
we currently have no better information check for " Volume" in th
control name and always report any controls matching as being integer
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Check we have DAI ops when calling via accessor function
Also make sure we're checking for the right operation while we're here
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8960 CODEC drive
The WM8960 is a low power, high quality stereo codec designed fo
portable digital audio applications
Stereo class D speaker drivers provide 1W per channel into 8W loads
Guaranteed low leakage, excellent PSRR and pop/click suppressio
mechanisms enable direct battery connection for the speaker supply
The device also integrates a complete microphone interface and a stere
headphone driver. External component requirements are drasticall
reduced as no separate microphone, speaker or headphone amplifiers ar
required. Advanced on-chip digital signal processing performs automati
level control for the microphone or line input
Stereo 24-bit sigma-delta ADCs and DACs are used with low powe
over-sampling digital interpolation and decimation filters and
flexible digital audio interface
The master clock can be input directly or generated internally by a
onboard PLL, supporting most commonly-used clocking schemes
This driver was originally written by Liam Girdwood, with substantia
subsequent additions and updates for feature completeness and changes i
the ASoC framework from me
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add WM8988 CODEC drive
The WM8988 is a low power, high quality stereo CODEC designed fo
portable digital audio applications
The device integrates complete interfaces to 2 stereo headphone or lin
out ports. External component requirements are drastically reduced as n
separate headphone amplifiers are required. Advanced on-chip digita
signal processing performs graphic equaliser, 3-D sound enhancement an
automatic level control for the microphone or line input
The WM8988 can operate as a master or a slave, with various master cloc
frequencies including 12 or 24MHz for USB devices, or standard 256f
rates like 12.288MHz and 24.576MHz. Different audio sample rates such a
96kHz, 48kHz, 44.1kHz are generated directly from the master cloc
without the need for an external PLL
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Provide core support for symmetric sample rate
Many devices require symmetric configurations of capture and playbac
data formats, often due to shared clocking but sometimes also due t
other shared playback and record configuration in the device. Star
providing core support for this by allowing the DAIs or the machin
to specify that the sample rates used should be kept symmetric
A flag symmetric_rates is provided in the snd_soc_dai an
snd_soc_dai_link structures. If this is set in either of the DAIs or i
the machine then a constraint will be applied when a stream is alread
open preventing any changes in sample rate
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: soc-core: fix crash when removing not instantiated car
If the card was not instantiated in snd_soc_instantiate_card, callin
soc-remove will crash because some of codec, cpu_dai and card .remov
methods are called twice
Fix this by returning from soc_remove immediately
Signed-off-by: Mike Rapoport <mike@compulab.co.il
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Add driver for s6000 I2S interfac
This patch adds a driver for the I2S interface found on Stretch s600
family processors
Signed-off-by: Daniel Glöckner <dg@emlix.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC PXA2xx Corgi

- [ARM] pxa: register wm8731 explicitly for corgi and poodl
The wm8731 driver has been converted to register using the standard I2
device registration mechanism so we can now do the registration in th
arch/arm code as normal
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Eric Miao <eric.y.miao@gmail.com

SoC PXA2xx EM-X270

- ASoC: em-x270: make the driver support also eXeda and CM-X300 machine
Signed-off-by: Mike Rapoport <mike@compulab.co.il
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC PXA2xx Palm T|X

- ASoC: Switch palm27x-asoc to jack detection ap
This patch removes the old method of jack detection from palm27x-aso
driver and adds jack detection api. It also removes some other (now
useless stuff from the driver and corrects pin configuration for th
codec
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE
Signed-off-by: Marek Vasut <marek.vasut@gmail.com
Signed-off-by: Eric Miao <eric.miao@marvell.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC PXA2xx Poodle

- [ARM] pxa: register wm8731 explicitly for corgi and poodl
The wm8731 driver has been converted to register using the standard I2
device registration mechanism so we can now do the registration in th
arch/arm code as normal
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Eric Miao <eric.y.miao@gmail.com

SoC S6000

- ASoC: tlv320aic3x: fixup board device change
Fixup the device changes by modifying the files that we just removed th
explicit device creation from with i2c_register_board_info() until thi
can be moved into the relevant board files
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
- ASoC: tlv320aic3x: Change to use device mode
The tlv320aic3x driver managed its own i2c device, instead of an extan
one created by the board support code. Change the code to make it so tha
the driver binds to an extant (in this case i2c) device
Add explict tlv320aic33 as well as tlv320aic3x to the supported devic
table and remove the old driver bindings from the users of this 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
- ASoC: correct s6000 I2S clock polarit
According to the data sheet data is clocked out on the falling edg
and latched on the rising edge of the bit clock. While the left sampl
is transmitted the word clock line is low
Signed-off-by: Daniel Glöckner <dg@emlix.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: s6105 IP camera machine specific ASoC cod
This patch adds machine specific code for the audio part of the Stretc
s6105 IP camera reference design
The device uses the tlv320aic31(01) codec to generate the clock fo
both I2S ports of the soc. While the master clock is generated by
configurable PLL chip, the code assumes the factory default settings
An additional kcontrol has been added to handle the special routing o
the board, connecting both HPLCOM and HPROUT to the same pin of the audi
jack. One of these should always be switched off
Signed-off-by: Daniel Glöckner <dg@emlix.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add driver for s6000 I2S interfac
This patch adds a driver for the I2S interface found on Stretch s600
family processors
Signed-off-by: Daniel Glöckner <dg@emlix.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC SH7760 AC97

- ASoC: Add FSI-AK4642 sound support for Super
This patch is tested by ms7724s
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add SuperH FSI driver support for ALS
This driver is very simple
It support playback only now
This patch is tested by ms7724se board
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

SoC Texas Instruments OMAP

- sound: TTY/ASoC: Rename N_AMSDELTA line discipline to N_V25
The patch changes the line discipline name registered in include/linux/tty.
and updates the ams-delta machine driver to use it
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: SDP3430: Fix TWL GPIO6 pin mux reques
Fix the write to PMBR1 register through I2C. Also, the constant whic
holds the value to write is now called TWL4030_GPIO6_PWM0_MUTE. Thi
name is based on TRM to avoid confusion
Signed-off-by: Jorge Eduardo Candelaria <x0107209@ti.com
Acked-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: ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_sto
Functionality of functions omap_mcbsp_xmit_enable and omap_mcbsp_recv_enabl
can be merged into omap_mcbsp_start and omap_mcbsp_stop since API o
those omap_mcbsp_start and omap_mcbsp_stop was changed recently allowin
to start and stop individually the transmitter and receiver
This cleans up the code in arch/arm/plat-omap/mcbsp.c and i
sound/soc/omap/omap-mcbsp.c which was the only user for those remove
functions
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com
Acked-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DA
Commit ca6e2ce08679c094878d7f39a0349a7db1d13675 is setting up few XCCR an
RCCR bits for I2S and DPS_A formats. Part of the bits are already se
for all formats and I believe that XDISABLE and RDISABLE bits ar
format independent
As XCCR and RCCR are found only from OMAP2430 and OMAP34xx, I move setu
of XDISABLE and RDISABLE to where those cpu's are tested and remove forma
dependent part for simplicity
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com
Acked-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: tlv320aic3x: fixup board device change
Fixup the device changes by modifying the files that we just removed th
explicit device creation from with i2c_register_board_info() until thi
can be moved into the relevant board files
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
- ASoC: tlv320aic3x: Change to use device mode
The tlv320aic3x driver managed its own i2c device, instead of an extan
one created by the board support code. Change the code to make it so tha
the driver binds to an extant (in this case i2c) device
Add explict tlv320aic33 as well as tlv320aic3x to the supported devic
table and remove the old driver bindings from the users of this 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
- ASoC: OMAP: Use DMA operating mode of McBS
Configures DMA sync mode depending on McBSP operating mode value
The value is configurable by McBSP instance. So, dependin
on McBSP operating mode, the DMA sync mode is passed fro
omap-mcbsp to omap-pcm. Besides that, it also configure
McBSP threshold value depending on which McBSP mode is activated
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Use McBSP threshold to playback and captur
This patch changes the way DMA is done in omap-pcm.
in order to reduce power consumption. There is no nee
to have so much SW control in order to have DMA in idl
state during audio streaming. Configuring McBSP threshold valu
and DMA to FRAME_SYNC are sufficient
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Always syncronize audio transfers on frame
All these steps are required for ASoC to behave correctly
rccr and xccr are format dependent, for example TDM audi
has different values than I2S or DSP_A. Also th
omap_mcbsp_xmit_enable and/or omap_mcbsp_recv_enable mus
be called right after the DMA has started
This provides no longer L and R channels switching at random
Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Add runtime check for RFIG and XFI
This is, no RFIG or XFIG (Not defined in 34xx), correc
initiliazation of rccr and xccr
Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Make DMA 64 aligne
Align DMA address to DMA burst transaction sizes
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Enable DMA burst mod
Improve DMA transfers by enabling Burst transaction
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Enhance OMAP1510 DMA progress software counte
Enhance period_index accuracy, particularly just before buffer rewind, b
making use of DMA interrupt status flags in addition to simply counting u
interrupts
Created against linux-2.6.31-rc5
Tested on Amstrad Delta
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Make use of DMA channel self linking on OMAP151
Use newly implemented DMA channel self linking on OMAP1510 like on other OMA
models. Remove unnecessary DMA transfer restart from interrupt handle
routine
The interrupt routine used to maintain a period index, originally needed fo
counting up periods up to a full buffer in order to restart the DMA transfer
For some time, this counter is also used as a replacement for hardware DM
progress counter that has been found unusable on OMAP1510 in case of playback
Thus, the period index calculation cannot be omitted completely. However, th
accuracy of this counter can still suffer from missing DMA interrupts
In order to work correctly, it requires patch 1 from this series also applied
[RFC][PATCH 1/3] ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP151
Created against linux-2.6.31-rc5
Tested on Amstrad Delta
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: ARM: OMAP: McBSP: Fix ASoC on OMAP1510 by fixing API of omap_mcbsp_start/sto
Simultaneous audio playback and capture on OMAP1510 can cause that secon
stream is stalled if there is enough delay between startup of the audi
streams
Current implementation of the omap_mcbsp_start is starting both transmitte
and receiver at the same time and it is called only for firstly starte
audio stream from the OMAP McBSP based ASoC DAI driver
Since DMA request lines on OMAP1510 are edge sensitive, the DMA request i
missed if there is no DMA transfer set up at that time when the first wor
after McBSP startup is transmitted. The problem hasn't noted before sinc
later OMAPs are using level sensitive DMA request lines
Fix the problem by changing API of omap_mcbsp_start and omap_mcbsp_stop b
allowing to start and stop individually McBSP transmitter and receive
logics. Then call those functions individually for both audio playbac
and capture streams. This ensures that DMA transfer is setup befor
transmitter or receiver is started
Thanks to Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> for detailed proble
analysis and Peter Ujfalusi <peter.ujfalusi@nokia.com> for info about DM
request line behavior differences between the OMAP generations
Reported-and-tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com
Acked-by: Tony Lindgren <tony@atomide.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: add support for Amstrad E3 (Delta) machin
This patch adds machine support for Amstrad E3 (Delta) videophone to ASoC
Created and tested against linux-2.6.31-rc3
Applies and works with linux-omap-2.6 commi
7c5cb7862d32cb344be7831d466535d5255e35ac as well
Depends on
1) latest version of the CX20442 codec driver that exposes v253_op
structure[1]
2) patch 2/3 form this series: TTY: Add definition of a new lin
discipline required by Amstrad E3 (Delta) ASoC driver[2]
CPU DAI parameters best matching the codec DAI has been selected ou
empirically for best user experience
Board specific audio function control (with related DAPM widgets) has bee
modeled after empirically discovered codec capabilities
Unlike other ASoC machine drivers, this one makes use of a codec provided lin
discipline that is required for talking to a modem chip that can control th
codec behavoiur. As the line discipline operations must call board specifi
bits as well, the machine driver registers its own line discipline ops, no
the codec provided, and then calls those codec provided from inside its ow
callbacks
If some kind of a glue, like a bus over a tty, exsited that could help i
runtime detection of a modem (bus adapter) over a more generic line disciplin
(bus driver)[3], the line discipline code could be probably designed in
more generic way
In order to work at all, this driver requires a working McBSP1. On OMAP151
based machines (not sure if other OMAP1 variants as well), where McBSP1 is
DSP public peripheral, that means the kernel must provide basic DSP support
ie. omap_dsp_init(), in order to power up the DSP. This used to be included i
linux-omap-2.6 tree up to commit 2512fd29db4eb09e82d182596304c7aaf76d2c5c
Without that, the driver would not work, ie. not shift in/out any bits ove
the CPU DAI[4]. This limitation is not board, but CPU specific, and may appl
to other code that makes use of McBSP1/McBSP3 on affected machines. I provid
an extra patch (4/3) as a temporary solution
To work correctly in playback mode, this driver requires my prevoiusl
submitted patch that corrects pcm pointer calculation for OMAP1510 base
machines[5] (already included in linux-2.6.31-rc3)
To support codec controls, this driver requires my previously submitted patc
that adds support for modem found on Amstrad Delta[6]
[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019780.htm
[2] http://www.spinics.net/lists/linux-serial/msg01862.htm
[3] http://www.spinics.net/lists/linux-serial/msg01856.htm
[4] http://www.spinics.net/lists/linux-omap/msg15114.htm
[5] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-June/018950.htm
[6] http://www.spinics.net/lists/linux-omap/msg15432.htm
Credits to
Mark Underwood - for his initial, omap-alsa based sound driver fo
this machine
Mark Brown - for his help, patience and excellent subsytem maintainer support
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Staticise pcm creation function of omap-pc
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
- ASoC: SDP3430: Add support for EXTMUTE using TWL GPIO
Board sdp3430 has hardware support for EXTMUTE using TWL4030 GPIO
line, controlled by register INTBR_PMBR1. Machine driver takes car
of enabling gpio line through i2c and codec driver manipulates th
line during headset ramp up/down sequence
Signed-off-by: Jorge Eduardo Candelaria <x0107209@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Zoom2: Update twl4030_setup_data parameter
Add support for EXTMUTE in Zoom2 machine driver. This is necessar
to further reduce pop noise problem. Signal EXTMUTE is connected t
signal GPIO 153 in Zoom2 board
In addition, change ramp delay value to 3 (218/161/109 ms). Wit
previous ramp delay value, pop noise was louder. With a longer valu
the beep tone can be observed
Signed-off-by: Jorge Eduardo Candelaria <x0107209@ti.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: TWL4030: Fix voice interface clock master
Voice interface of twl4030 codec supports: CBM_CFM an
CBS_CFS. It doesn't support CBS_CFM
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-By: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Zoom2: Add machine driver for Zoom2 boar
Add support for Zoom2 board. Zoom2 machine drive
connects both codec DAIs (audio and voice) to omap
McBSP ports in the following way
HiFi <-> McBSP
Voice <-> McBSP
The zoom2 driver has the following DAPM widgets
* Ext Mic: MAINMIC, SUBMIC (with bias
* Ext Spk: HFL, HF
* Headset Stereophone: HSOL, HSO
* Headset Mic: HSMIC (with bias
* Aux In: AUXL, AUX
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
- ASoC: OMAP: fix OMAP1510 broken PCM pointer callbac
This patch tries to work around the problem of broken OMAP1510 PCM playbac
pointer calculation by replacing DMA function call that incorrectly tries t
read the value form DMA hardware with a value computed locally from a
already maintained variable omap_runtime_data.period_index
Tested on OMAP5910 based Amstrad Delta (E3) using work in progress ASo
driver
Based on linux-2.6-asoc.git v2.6.31-rc1
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl
Acked-by: Jarkko Nikula <jhnikula@gmail.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: SDP4030: Use the twl4030_setup_data for headset pop-remova
With this patch the initial headset pop-removal related values ar
configured for the twl4030 codec (ramp delay and sysclk)
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
- ASoC: SDP3430: Connect twl4030 voice DAI to McBSP
Connect twl4030 voice DAI to McBSP3 in sdp3430 machine driver
Voice DAI init function enables corresponding interface b
writting directly to VOICE_IF codec register
Signed-off-by: Misael Lopez Cruz <x0052729@ti.com
Acked-by: Peter Ujflausi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Added OMAP3 EVM support in ASoC
Resending the patch after fixing the minor issues
Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: Beagle: Add support for 4 channe
This patch adds support for the four channel TDM mod
on Beagle board
Depending on the channel count, the interface needs to b
configured differently (I2S for stereo DSP_A for four channels
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
- ASoC: OMAP: Add 4 channel support to mcbs
Add 4 channel support to omap-mcbsp
This mode is going to be used by the twl4030 codec, when i
is configured in Option1 mode
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
- ASoC: OMAP: Add checking to detect bufferless pcm
Add checking in hw_params and prepare to detect bufferless pcms(i.e. B
<--> codec)
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
- ASoC: TWL4030: Add support Voice DA
Add Voice DAI to support the PCM voice interface of the twl4030 codec
The PCM voice interface can be used with 8-kHz(voice narrowband) o
16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mon
TX or stereo TX
The PCM voice interface has two mode
- PCM mode1 : This uses the normal FS polarity and the rising edge o
the clock signal
- PCM mode2 : This uses the FS polarity inverted and the falling edg
of the clock signal
If the system master clock is not 26MHz or the twl4030 codec mode is no
option2, the voice PCM interface is not available
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: OMAP: Add DSP_A mode support for mcbs
DSP_A mode is similar to the DSP_B, but the MSB is delayed wit
one bclk (appears after the FS pulse and not under it)
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@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
- ASoC: OMAP: Use single-phase for DSP mod
Use single-phase mode for the DSP mode and keep the dual phas
mode for the I2S mode
The mono (1 channel) mode already used single phase mode
now it is more cleaner. There is no need to configure th
second phase, when the single phase is used
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@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
- ASoC: n810: replace BUG() with BUG_ON(
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Soc PXA2xx Imote 2

- ASoC: IMote2 ASoC Suppor
This patch adds the ASoC side of the board support for the Crossbo
IMB400 daughter board
Thanks to Crossbow for considerable assistance
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Soc PXA2xx Magician

- ASoC: change set_tdm_slot api to allow slot_width override
Extend set_tdm_slot to allow the user to arbitrarily set the frame widt
and active TX/RX slots
Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.
still doesn't handle the slot_width override
While being there, correct an incorrect use of SlotsPerFrm(7) use i
bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) )
(this series is meant for Mark's for-2.6.32 branch
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ASoC: UDA1380: refactor device registratio
This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c
"ASoC: Refactor WM8731 device registration" to make UDA1380 use standar
device instantiation. Similarly, the I2C device registration temporaril
moves into the magician machine driver before it will find its fina
resting place in the board file
At the same time, platform specific configuration is moved to platform dat
and common power/reset GPIO handling moves into the codec 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
- ASoC: magician: fix PXA SSP clock polarit
Follow-up fix needed since "ASoC: pxa-ssp.c fix clock/frame invert"
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com
- ASoC: Optimize switch/case in magician.
Use default to optimize the switch/case in magicial_playback_hw_params()
which also fixes the compile warnings below
sound/soc/pxa/magician.c:89: warning: 'acds' may be used uninitialized in this functio
sound/soc/pxa/magician.c:89: warning: 'acps' may be used uninitialized in this functio
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

USB

- ALSA: snd_usb_caiaq: add support for Audio2D
This adds support for Native Instrument's freshly announced Audio2D
sound device hardware. Version number bumped to 1.3.19
Signed-off-by: Daniel Mack <daniel@caiaq.de
Signed-off-by: Takashi Iwai <tiwai@suse.de

USB USX2Y

- Remove multiple KERN_ prefixes from printk format
Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean u
handling of log-levels and newlines") changed printk semantics. print
lines with multiple KERN_<level> prefixes are no longer emitted a
before the patch
<level> is now included in the output on each additional use
Remove all uses of multiple KERN_<level>s in formats
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org
- ALSA: usx2y - reparent sound devic
Fix the parent device to be the USB interface, not the USB device
A similiar commit like 563c2bf59d392357bcc1d99642933cc88c687964
Signed-off-by: Takashi Iwai <tiwai@suse.de

USB caiaq

- Clean up useless files and fix .gitignore for caia
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: snd_usb_caiaq: add support for Audio2D
This adds support for Native Instrument's freshly announced Audio2D
sound device hardware. Version number bumped to 1.3.19
Signed-off-by: Daniel Mack <daniel@caiaq.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: snd_usb_caiaq: reparent sound devic
The sound device instance needs to be a child of the USB interface, no
the USB device. Newer udev versions pay attention to that
Signed-off-by: Daniel Mack <daniel@caiaq.de
Reported-by: Lennart Poettering <lennart@poettering.net
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: snd_usb_caiaq: fix legacy input streamin
Seems that nobody recently tried the input on the very first supporte
sound card model, RK2. This patch fixes the byte offset to make i
running again
Signed-off-by: Daniel Mack <daniel@caiaq.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: snd_usb_caiaq: set mixernam
alsamixer and friends want the mixername to be set. Even though th
driver does not exports a real mixer device, export the name doesn'
harm
Signed-off-by: Daniel Mack <daniel@caiaq.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: snd_usb_caiaq: bump version numbe
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: give better shortnam
If not passed as module option, provide an own card ID with the newl
introduced snd_set_card_id() call
This will prevent ALSA from calling choose_default_name() which onl
takes the last part of a name containing whitespaces. This for exampl
caused 'Audio 4 DJ' to be shortened to 'DJ', which was not ver
descriptive
The implementation now takes the short name and removes all whitespace
from it which is much nicer
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: give better longnam
The serial number is of no interest in the longname, remove it. Thi
gives space for the usb path information which is more informative
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: use strlcp
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 whitespace
Cosmetic changes only, no code change
Signed-off-by: Daniel Mack <daniel@caiaq.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

USB generic driver

- Fix usbmidi.patc
Signed-off-by: Takashi Iwai <tiwai@suse.de
- regenerate usbaudio.patc
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- ALSA: usb-audio - Fix types taken in min(
Fix the compile warning due to different integer types used in min()
sound/usb/usbaudio.c: In function 'init_substream_urbs'
sound/usb/usbaudio.c:1087: warning: comparison of distinct pointer types lacks a cas
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: do not make URBs longer than sync packet interva
Using more packets in one URB do avoid interrupts does not make sens
when we have a sync pipe whose packets generate interrupts more often
Therefore, limit the URB size to the synchronization packet interval
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: usb-audio - Volume control quirk for QuickCam E 350
- E3500 report cval->max more than it actually can handel, so if yo
set 95% capture level it will be silently muted
- Betwen cval->min and cval-max(real) is 2940 control units
but real are only 7 with cval->res = 384
- Alsa can't handel less than 10 controls, so make it mor
and set cval->res = 192
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: add MIDI drain callbac
When draining, instead of waiting for fifty milliseconds, just wait fo
the currently active URBs to complete. This cuts the usual waiting tim
down to one USB frame, or zero in the common case when there is no URB
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: use multiple output URB
Some newer USB MIDI interfaces use rather small packet sizes, so to ge
enough bandwidth, we have to be able to send multiple packets in one US
frame, so we have to use multiple URBs
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: use multiple input URB
Some newer USB MIDI interfaces use rather small packet sizes, so to ge
enough bandwidth, we have to be able to receive multiple packets in on
USB frame, so we have to use multiple URBs
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: Xonar U1 digital output suppor
Add support for the Asus Xonar U1. This device is mostly class compliant, bu
the digital output requires a vendor-specific request
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: add workaround for Blue Microphones device
Blue Microphones USB devices have an alternate setting that sends tw
channels of data to the computer. Unfortunately, the descriptors o
that altsetting have a wrong channel setting, which means that an
recorded data from such a device has twice the sample rate from wha
would be expected
This patch adds a workaround to ignore that altsetting. Since thes
devices have only one actual channel, no data is lost
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Cc: <stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: usb-audio - Correct bogus volume dB informatio
Some USB devices give bogus dB information and it screws up PA
It's better to detect a broken value and correct it in the drive
before exposing the value to the outside
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: usb-audio - Use the new TLV_DB_MINMAX typ
Use the new TLV_DB_MINMAX type instead of TLV_DB_SCALE
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkI
This patch changes yet again the ID for the TTA cards, resulting in
more reasonable name
1 [Aureon51MkII ]: USB-Audio - Aureon5.1MkI
TerraTec Aureon5.1MkII at usb-0000:00:03.0-2, full spee
Signed-off-by: Andrea Borgia <andrea@borgia.bo.it
Signed-off-by: Takashi Iwai <tiwai@suse.de
- trivial: remove extra spac
Just for the sake of readability, removing extra spac
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com
Signed-off-by: Jiri Kosina <jkosina@suse.cz
- ALSA: usb - Add boot quirk for C-Media 6206 USB Audi
Added boot quirk for C-Media CM6206 device in snd_usb_audio_probe
The function snd_usb_cm6206_boot_quirk sets up six internal 16-bi
registers in order to initialize the device. Values for the register
came from sniffing USB traffic under Windows since only four of the si
are documented in the datasheet for CM106 and some reserved bits wer
also being set
[Minor coding-style fixes by tiwai
Signed-off-by: Dan Allongo <gongo2k1@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: usb-audio - errata corrige for quir
Cut'n'paste mistake, whose likely result was nothing at all
Correct version is "USB_DEVICE", not "USB_DEVICE_VENDOR_SPEC"
Signed-off-by: Andrea Borgia <andrea@borgia.bo.it
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: usb-audio - Add quirk for Roland/Edirol M-16D
Added a half-working quirk for Roland/Edirol M-16DX
This enables the capture on the device but the playback on it seems stil
problematic becuase of lack of sync with the capture clock
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: usb-audio - quirk for USB Aureon card
Add quirk to provide proper naming of the Terratec Aureon 5.1 MkI
USB card
Signed-off-by: Andrea Borgia <andrea@borgia.bo.it
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: usbaudio - Add delay accoun
Manage the PCM delay account based on the queued URBs
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- sound: usb-audio: make the MotU Fastlane work agai
Kernel 2.6.18 broke the MotU Fastlane, which uses duplicate endpoin
numbers in a manner that is not only illegal but also confuses th
kernel's endpoint descriptor caching mechanism. To work around this, w
have to add a separate usb_set_interface() call to guide the USB core t
the correct descriptors
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Reported-and-tested-by: David Fries <david@fries.net
Cc: <stable@kernel.org

Utils

- alsa-info: Version bump to 0.4.5
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: use mktemp -
Use mktemp -t instead of -p /tmp
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: Check errors from mktem
Check errors from mktemp
Also remove superfluous mkdir $TEMPDIR. mktemp creates by itself
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: revert the behavior of update optio
It's not correct to invoke shell again for --update option
Reverted to the old behavior, but to save without renaming to a fixe
path for safety reasons
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: Add --output optio
Add --output option to specify the output file
When invoked without --output option, alsa-info.sh now puts the fil
into a temp file created by mktemp for security reasons
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: Fix usage outpu
Use tab to align the usage outputs
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: Run the new update script automaticall
Run the new updated script automatically without storing to the fixe
path
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: Use sysfs if available instead of dmidecod
Using sysfs for acquiring DMI data requires no root privileges. Us
it if available instead of dmidecode
Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: include 1 line of dmesg contex
So as to include possible ALSA messages without the common keywords
as well as be more confident on the completeness/coverage of the report
It also shows nice '--' separators between the dmesg ranges
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: add dmesg info on ALSA/HD
Add outputs
dmesg | grep -E 'ALSA|HDA|HDMI|sound|hda.codec|hda.intel
which should cover most ALSA HDA kernel messages
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info: Version bump to 0.4.5
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: introduce withall(
This merges duplicate code. The only behavior change is, we will now cal
withsysfs() when no options are provided. I guess this is desired info
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: let mv fail loudl
When mv cannot overwrite target file, it will prompt and return TRUE
Add the '-f' option so that it returns FALSE when failed
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: fix whitespace leaked to stdou
Redirect the "echo \t" outputs to the desired file
and avoid messing up stdio
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: Do not automatically upload alsa inf
- the greeting dialog informs that the script collects info, wait
for OK button. It affords a concrete listing of information to collect
/proc/asound/, aplay, etc. This not only shows respect for user privacy
but also serves as basic debugging tips for ALSA newbies
- when --upload option is given, the data will be automatically uploaded
- when --no-upload option is given, the data is just stored locally and quit
- when neither options are given, show a dialog to ask to upload or not
The above ideas mostly come from Takashi
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-info.sh: Provide system manufacturer and product name from DM
This commit adds system manufacturer and product name information
acquired using dmidecode to the output of the alsa-info script
Note that those informations will only be available when dmidecod
utility is installed and alsa-info is run with root privileges
Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add parsing of def_tristate to mod-dep
The "def_tristate" is using in the recent Kconfig changes for th
sequencer dependency clean-up
Signed-off-by: Takashi Iwai <tiwai@suse.de

VIA82xx driver

- ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wai
There's a large 500ms delay in snd_via82xx_codec_wait() that, at leas
on my hardware, appears to be unnecessary. The rest of the init o
the card works without logging any warnings or errors and both audi
and mixer settings work
This adds an "nodelay" parameter to disable this (undocumented in th
code) large delay improving bootup time by 489-500ms
[ 1.034217] initcall alsa_card_via82xx_init+0x0/0x16 returned 0 after 505757 usec
vs
[ 0.533136] initcall alsa_card_via82xx_init+0x0/0x16 returned 0 after 15915 usec
Signed-off-by: Simon Arlott <simon@fire.lp0.eu
Signed-off-by: Takashi Iwai <tiwai@suse.de

Virtual Master

- ALSA: Add new TLV types for dBwith min/ma
Add new types for TLV dB scale specified with min/max values instea
of min/step since the resolution can't match always with the on
a device provides. For example, usb audio devices give 1/256 d
resolution while ALSA TLV is based on 1/100 dB resolution
The new min/max types have less problems because the possibl
rounding error happens only at min/max
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

YMFPCI driver

- sound: ymfpci: increase timer resolution to 96 kH
Allow the interval timer to be programmed with its full 96 kH
precision
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de
Signed-off-by: Jaroslav Kysela <perex@perex.cz

au88x0 driver

- sound: Use PCI_VDEVIC
Signed-off-by: Joe Perches <joe@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- ALSA: au88x0: fix wrong period_elapsed() cal
The period_elapsed() call should be called when position moves
The idea was taken from ALSA bug#4455
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- ALSA: au88x0: fix .pointer callbac
Appearently, the used mask in the .pointer callback is invalid. It shoul
be in period_bytes range. The period_bytes is pow(2), so simple bitwis
operation is used
Idea was taken from ALSA bug#4455
Signed-off-by: Jaroslav Kysela <perex@perex.cz

alsa-lib

Core

- Release v1.0.2
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- add midi event test
Add some tests for the snd_midi_event_* functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

Config API

- fix doc error
Fix various errors in the documentation that make doxygen complain
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: more documentatio
Expand the documentation for the snd_config_* functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

Control API

- control.c: snd_ctl_wait: fix revents handlin
The revents parameter of snd_ctl_poll_descriptors_revents() is a singl
value, not an array
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- fix doc error
Fix various errors in the documentation that make doxygen complain
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- Add the support of TLV_DB_MINMAX type
Added the support of the new TLV_DB_MINMAX types
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Fix breakage of snd_card_load(
Fixed the breakage of snd_card_load() for secondary and later card
due to changes in snd_card_load1()
Signed-off-by: Takashi Iwai <tiwai@suse.de
- snd_card_get_index() - extend comment for last chang
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- Extend snd_card_get_index() to accept also control device name like /dev/snd/controlC
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Mixer API

- remove unimplemented functions from header
Remove some function declarations that are not (no longer) implemented
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

PCM API

- pcm/ioplug: fix error code in start callbac
When snd_pcm_start() is called in the invalid state, it should retur
-EBADFD. But ioplug plugin returns -EAGAIN. Let's fix it
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pcm: workaround for avoiding automatic start in mmap mod
In the normal mmap mode, the stream isn't started automatically even afte
the data >= start_threshold has been written. However, in th
mmap-emulation mode, the stream is started because it use
snd_pcm_write_areas() internally
As a workaround for this inconsistency, start_threshold value is change
dynamically in sw_parmams and mmap_commit callbacks in mmap-emul plugin
Meanwhile, start_threshold for slave PCM is set to boundary so that onl
this plugin (or the one over it) can control the start of the stream
This will fix problems in some apps using pulse plugin in the mmap mode
Signed-off-by: Takashi Iwai <tiwai@suse.de
- snd_pcm_scope_set_ops: make ops parameter cons
The contents of the snd_pcm_scope_ops structure are not going to b
changed, so we might as well declare is as constant. This change i
backwards compatible, and avoids warnings if some ops structure i
actually defined as const
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- Fix zero-division in pcm_rate.
Patch from Debian bug#53945
Signed-off-by: Takashi Iwai <tiwai@suse.de
- remove unimplemented functions from header
Remove some function declarations that are not (no longer) implemented
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- pcm_hooks: cosmetic removal of unused variable
Signed-off-by: Paul Fertser <fercerpav@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Manage dlobj lifetime in pcm_hooks.
The shared object may be still needed depending on the implementatio
of hook-installation functions. When any hooks are registered in th
installation function, the dlobj has to be kept opened until closin
the PCM instance
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pcm dmix plugin: fix MIX_AREAS_24 routine for i386 & x86_64 platform
The code was copied from ALSA bug#4577 from CannibalZerg
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- Query the supported rate ranges from rate plugin
Extend the PCM-rate plugin protocol to allow the host to query th
supported sample rates. The protocol version is bumped to 0x010002
and the version number negotiaion is slightly changed
Now the plugin is supposed to fill the version it supports in return
The old versioned plugins are still supported, but they may spe
version-mismatch warning prints
Signed-off-by: Takashi Iwai <tiwai@suse.de

RawMidi API

- sound: rawmidi: disable active-sensing-on-close by defaul
Sending an Active Sensing message when closing a port can interfere wit
the following data if the port is reopened and a note-on is sent befor
the device's timeout has elapsed. Therefore, it is better to disabl
this setting by default
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

Sequencer API

- more midi_event documentatio
Expand the documentation for the snd_midi_event_* functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- seq_midi_event: fix decoding of (N)RPN event
When decoding (N)RPN sequencer events into raw MIDI commands, th
extra_decode_xrpn() function had accidentally swapped the MSB and LS
controller values of both the parameter number and the data value
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- MIDI event decoder: prevent running status after syse
Running status cannot be using in the command immediately followin
a system exclusive command, so we have to reset the running statu
state in that case
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

Timer API

- timer_query: make ops structure constan
The contents of the snd_timer_query_ops structure are not going to b
changed, so we might as well declare is as constant. This change avoid
a warning if some ops structure is actually defined as const
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

Configuration

- Fix driver conf parsing in snd_config_hook_load_for_all_cards(
Reported by Kevin Goodsell
Summary: load_for_all_cards fails with existing configuration element
In snd_config_hook_load_for_all_cards, the first call t
snd_config_search attempts to locate an existing configuration node wit
the name of the driver. Typically none is found, and everything i
good. However, if such a node is located, the next line assumes it is
leaf node with type 'string' and calls snd_config_get_string to fetc
the string value. If this fails, the entire hook is abandoned
Because of this, setting something like the following in asoundrc
cards.<driver name>.foo
is sufficient to disable the entire card-specific configuration
As a concrete example, I have a HDA-Intel sound card. dmix.conf include
a way to set period_size, period_time, and periods by usin
configuration elements of the form cards.<driver name>.pcm.dmix.<var>
In ~/.asoundrc I ad
cards.HDA-Intel.pcm.dmix.period_size 102
This will cause HDA-Intel.conf to fail to load, and the pcm defined i
default.conf will fail to find the device-specific pc
cards.HDA-Intel.pcm.default, and fall back on the default pcm usin
plughw. By attempting to configure dmix, I have disabled it
Signed-off-by: Takashi Iwai <tiwai@suse.de
- conf.c: more documentatio
Expand the documentation for the snd_config_* functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: rename 'node' to 'config
Just for consistency with the parameter names of all the othe
functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: rename 'leaf' to 'child
Nodes that (might) have children are not leaves
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: rename 'father' to 'parent
I haven't found anything that would make compound nodes specificall
male ..
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: snd_config_add: prevent adopting a non-orpha
When adding a configuration node to another, check that the child nod
does not already have a parent. Otherwise, the old parent's childre
list would become corrupted
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- USB-Audio.conf: fix definition for M-Audio AudioPhile spdif devic
Add custom definitions for the AudioPhile "default" and "iec958" device
so that output and input are routed to the correct PCM device
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: fix handling of NULL string value
Make sure that we do not crash when encountering configuration node
with a NULL string value, or that at least we run into an assert()
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: snd_config_set_id: prevent duplicate id
snd_config_add() checks for duplicate ids, but it was possible to creat
duplicates by adding a note and changing the id afterwards wit
snd_config_set_id(); so we have to add a check there, too
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- conf.c: fix handling of NULL id
Make sure that we do not crash when encountering configuration node
with a NULL id. Furthermore, since we cannot avoid having NULL id
anyway, allow the id of a top-level node to be reset to NULL
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- Fix SB-Xfi.con
Added missing hint.device for rear, clfe, etc definitions
Removed invalid iec958 capture definition
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add IEC958 status bits support to SB-XFi.con
Signed-off-by: Takashi Iwai <tiwai@suse.de
- Add config file for SB-XFi drive
Signed-off-by: Takashi Iwai <tiwai@suse.de

Documentation

- doc: hide structs with typedef
In the documentation, hide structure types that have a correspondin
typedef. Since doxygen 1.5.4, this is no longer the default whe
OPTIMIZE_OUTPUT_FOR_C is set
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- doc: fix handling of @top_srcdir
The value of top_srcdir should be replaced in the config file, not i
the makefile, so we have to escape it in the makefile
In the default case, the value of top_srcdir is ".." which, when used a
a regular expression, is a little bit too inclusive
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

External PCM I/O Plugin SDK

- fix doc error
Fix various errors in the documentation that make doxygen complain
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

External Rate Converter Plugin SDK

- Query the supported rate ranges from rate plugin
Extend the PCM-rate plugin protocol to allow the host to query th
supported sample rates. The protocol version is bumped to 0x010002
and the version number negotiaion is slightly changed
Now the plugin is supposed to fill the version it supports in return
The old versioned plugins are still supported, but they may spe
version-mismatch warning prints
Signed-off-by: Takashi Iwai <tiwai@suse.de

I/O subsystem

- fix doc error
Fix various errors in the documentation that make doxygen complain
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

Test/Example code

- add config test
Add some test for the snd_config_* functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- test/lsb/midi_event.c: check for buffer size chec
Add a test to check that snd_midi_event_decode() checks its outpu
buffer size
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- test/lsb/midi_event.c: abort on fatal error
If snd_midi_event_fails(), we cannot use the object and must abort th
current test
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- test/pcm.c: float format suppor
Signed-off-by: Takashi Iwai <tiwai@suse.de
- add midi event test
Add some tests for the snd_midi_event_* functions
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- test/pcm.c: Generic linear PCM suppor
- Fix the support of non-native endiannes
- Conversion for unsigned format
- Only allow linear format
Signed-off-by: Takashi Iwai <tiwai@suse.de
- test/pcm.c: Fix S24 forma
S24 format has different bit width and physical width
For calculating the byte offset for big-endian packing, the latter valu
has to be used
Signed-off-by: Takashi Iwai <tiwai@suse.de
- test/pcm.c: Sample generation on big endian platforms was broken
Has not worked since commit 3d1fa924906996463ac33cba5b5143f762d913c
Signed-off-by: Kenneth Johansson <kenneth@southpole.se
Signed-off-by: Takashi Iwai <tiwai@suse.de

alsa-utils

Core

- Release v1.0.2
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- alsamixer: show channel names for multichannel control
For multichannel mixer controls, add the channel name to each scree
control
Also make some other small changes
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

/include/Makefile.am

- alsamixer: show channel names for multichannel control
For multichannel mixer controls, add the channel name to each scree
control
Also make some other small changes
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

ALSA Control (alsactl)

- alsactl init rules: fix Lenovo T61 initialization (Speaker Playback Switch
See: https://bugzilla.redhat.com/show_bug.cgi?id=50626
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- alsactl: init - fix default configuration for ENS137
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- alsactl: fixed Headphone Playback Volume setting in default rule
Signed-off-by: Jaroslav Kysela <perex@perex.cz

Speaker Test

- speaker-test: only check byte order onc
Rather than having numerous preprocessor directives scattered in the cod
checking __BYTE_ORDER, only check it once and define a set of macro
accordingly that can be used in the rest of the code. This makes thing
simpler to read and less error-prone
Signed-off-by: Dan McGee <dpmcgee@gmail.com
- speaker-test: move existing endian macros up in the fil
This is necessary for a later patch removing the various endianness check
sprinkled throughout the code
Signed-off-by: Dan McGee <dpmcgee@gmail.com
- Remove dead/commented out cod
Signed-off-by: Dan McGee <dpmcgee@gmail.com
- Allow frequencies down to 30 H
Signed-off-by: Dan McGee <dpmcgee@gmail.com
- speaker-test: allow frequency to be floating poin
Use atof() rather than atoi() to store the frequency- we were already usin
a floating point value internally but did not let the user specify one fro
the command line
Signed-off-by: Dan McGee <dpmcgee@gmail.com

alsamixer

- alsamixer: fix display of inactive volume ba
Fix the volume bar color selection logic so that the current attribut
is used for inactive controls
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- alsamixer: rename attr to c
Rename the attr variable because it contains not only the character'
attributes but also the character itself
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- alsamixer - Tricolorize volume bar
A little of bit of Italian taste was missing..
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsamixer: update man pag
Update man page for change in "CAPTURE" field
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- alsamixer: fix text box clipping with multi-column character
When a multi-column character would straddle the left window border o
a text box, we have to take the inserted space character into accoun
when we compute how many characters fit into the rest of the line
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
- alsamixer - Fix uninitialized variable warnin
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsamixer: show channel names for multichannel control
For multichannel mixer controls, add the channel name to each scree
control
Also make some other small changes
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

aplaymidi/arecordmidi

- aplaymidi: reduce bandwidth for big SysEx message
When throttling the data rate for big SysEx messages, use the bandwidt
that devices use in practice instead of the theoretical maximum
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

alsa-tools

Core

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

Envy24 Control

- envy24control - Don't redeclare isblank()
While technically isblank() is a C library function, nothing stops it fro
being a macro, and indeed it seems to be on glibc-2.10
This should not be a problem because ctype.h already declares it o
probably all the systems where it's used
Signed-off-by: Takashi Iwai <tiwai@suse.de

ac3dec (Dolby Digital Decoder)

- ac3dec - Fix typos of -q optio
It's quiet, not quit
Signed-off-by: Takashi Iwai <tiwai@suse.de

hdspconf

- Also fix the configure for hdspconf for LIBS/LDFLAGS mistakes
Commit 56970e8143b4d171a118d114b1ddfa7621401127 already took care of thi
for the other tools, but hdspconf somewhat was excluded, fix this now
Signed-off-by: Takashi Iwai <tiwai@suse.de

qlo10k1

- qlo10k1: Fix usage of $x_libraries in acinclude.m4 - it may be empt
Signed-off-by: Jaroslav Kysela <perex@perex.cz

us428control

- us428control - Fix array overflo
Fix the array overflow in accessing Vol[]
Cus428State.cc:257:32: warning: array subscript is above array bound
Signed-off-by: Takashi Iwai <tiwai@suse.de

alsa-plugins

Core

- Release v1.0.2
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- pulse: use PA_CONTEXT_IS_GOOD where applicabl
PA_CONTEXT_IS_GOOD is a safer way to check whether a context is stil
valid
This patch also bumps the version requirement of libpulse to 0.9.11
Signed-off-by: Takashi Iwai <tiwai@suse.de

Documentation

- speex - Add echo-cancelling option to speexdsp plugi
Signed-off-by: Takashi Iwai <tiwai@suse.de

OSS Mixer -> ALSA Control plugin

- oss - Add missing initialization of fragment
The periods calculation was missing for initializing OSS fragments
Signed-off-by: Takashi Iwai <tiwai@suse.de

Public Parrot Hack rate converter

- Add PCM rates query support for PCM rate plugin
Follow the new PCM rate-plugin protocol to support the rate rang
queries, etc
Signed-off-by: Takashi Iwai <tiwai@suse.de

PulseAudio -> ALSA plugin

- pulse: immediately trigger EIO when connection is droppe
When the connection is dropped notify the application immediatel
instead of waiting until the applications calls into us the next time
This makes "aplay" handle connections shutdown similar to hardwar
unplugs: an immediate EIO is thrown
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: rework object destruction paths a bi
Make sure we deal better with partially initialized structs
Don't check for pointer state before calling free() since free() doe
that anyway
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: unify stream/context state check
Unify (and simplify) the paths that check for the validity of
stream/context: always call into check_stream()/pulse_check_connection(
when applicable instead of rolling our own checks each time. Also chec
for validity of mainloop before locking it
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: get rid of redundant state variabl
snd_pulse_t::state was mostly shadowing the state o
pa_context_get_state(snd_pulse_t::context), so get rid of it and use th
state of the context directly
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: move a couple of PCM related functions from pulse.c to pcm_pulse.
A number of functions in pulse.c are only relevant for the PCM handling
so let's move them to pcm_pulse.c. This allows us to simplify thei
argument lists a bit
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: replace manual mainloop by pa_mainloop_iterate(
The pa_mainloop_prepare()/_poll()/_dispatch() can be simplified b
simply calling pa_mainloop_iterate() which does all this in one call
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: call pa_threaded_mainloop_wait() to handle spurious wakeup
pa_threaded_mainloop_wait() can wake up for no reason, according to th
specs of the underlying POSIX ptrhead_cond_wait() docs, so we need t
call it in a loop here which should be cleaner anyway
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: unify destruction of snd_pulse_
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: use PA_CONTEXT_IS_GOOD where applicabl
PA_CONTEXT_IS_GOOD is a safer way to check whether a context is stil
valid
This patch also bumps the version requirement of libpulse to 0.9.11
Signed-off-by: Takashi Iwai <tiwai@suse.de
- pulse: get rid of a number of assert()
Instead of hitting an assert when any of the plugin functions is calle
in an invalid context we should return a clean error to make sur
programs are not unnecessarily aborted
This should fix issues such as http://pulseaudio.org/ticket/59
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsa-plugins/pulse: Implement 'pause'
Just cork or uncork the stream to pause or unpause it
Signed-off-by: Troy Moure <twmoure@szypr.net
Signed-off-by: Takashi Iwai <tiwai@suse.de

Speex PCM plugin

- speex - Add echo-cancelling option to speexdsp plugi
Signed-off-by: Takashi Iwai <tiwai@suse.de

libavcodec's resampler

- Add PCM rates query support for PCM rate plugin
Follow the new PCM rate-plugin protocol to support the rate rang
queries, etc
Signed-off-by: Takashi Iwai <tiwai@suse.de

alsa-python

Core

- Release v1.0.2
Signed-off-by: Jaroslav Kysela <perex@perex.cz
- [PATCH] alsa-python: Add support for setuptool
This patch adds support for setuptools to the setup.py file of python-alsa
Signed-off-by: Christopher Arndt <chris@chrisarndt.de
Signed-off-by: Clemens Ladisch <clemens@ladisch.de

pyalsa.alsaseq module

- pyalsa: fix integer overflow in alsaseq.
* Original patch description
I've been using the alsaseq python module and I found a bug. Sometime
the SEQ_* constants have extremely large and incorrect values. Fo
example, 25769803811 instead of 35. The lower 32-bits are alway
correct
Obviously, I'm running a 64-bit operating system
The problem is that the `value` member of the `ConstantObject
structure is an `unsigned int` whereas it should be a `long`. I'v
attached a patch. It's against the latest released version, 1.0.20
* Revised patch description
I just noticed that `PyString_FromFormat` in Python 2.6 doesn't handl
`%lx` in format strings, so my patch breaks `repr(Constant)`
In addition to that, it was not necessary to change the signedness of `value`
With those two things in mind, the patch perhaps ought to look lik
this (see attached)
Signed-off-by: Chris Coleman <chris.coleman83 at gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de
- alsaseq: fix time stamp
The number of nanoseconds per second is actually 10^9
Signed-off-by: Clemens Ladisch <clemens@ladisch.de
Custom Search
Personal tools
Namespaces

Variants
Actions
Navigation
wiki
Toolbox