Changes v1.0.18 v1.0.19

From AlsaProject
Jump to: navigation, search

Contents

Changelog between 1.0.18 and 1.0.19 releases

alsa-driver

Sound Core

Add snd-hrtimer build stub
Fix build with 2.6.28-rc2 kernel
Remov invalid AC_CACHE_VAL from configure
Add check of CONFIG_PCSPKR_PLATFORM
Release v1.0.18a
Fix kconfig-vers for CONFIG_SND_HRTIMER
Add a workaround for build on 2.6.27 x86 kernel
Enable pcsp driver on 2.6.27 or later only
Build snd-hrtimer up from 2.6.27
Release v1.0.19

ALSA Core

Add dev_name() and dev_set_name() wrappers
Remove __attribute__ form dev_set_name() wrapper
Use macro instead of inline static function for dev_set_name()
Remove redundant inclusion of <linux/module.h> in adriver.h
Add missing get_unaligned_*() wrappers for older kernels
Regenerate init.patch
Add tasklet_schedule() wrapper for 2.2 kernels
Fix build of hrtimer-related codes with older kernels
Add a definition of type bool for older kernels
Add WARN_ON_ONCE() wrapper for older kernels
fix 2.4 kernel compilation (__deprecated & usbusx2y probe)
saner FASYNC handling on file close
ALSA: Add hrtimer backend for ALSA timer interface
alsa: fix snd_BUG_on() and friends
ALSA: Evaluate condition in snd_BUG_ON() in non-debugging case
ALSA: Document debug macros
ALSA: add /sys/class/sound/card#/id (r/w) and card#/number (r/o) files
ALSA: when card identification is changed, change also /proc/asound symlink
ALSA: include/sound/info.h - coding style changed
sound: Fix warnings relating to ignored return value in snd_card_register
Check fops_get() return value
ALSA: Introduce snd_card_create()

SoC PXA2xx Core

sound: ASoC: Add PXA SSP support
sound: ASoC: Add Palm/PXA27x unified ASoC audio driver
sound: ASoC: Staticise pxa2xx_pcm_ops
[ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h
sound: ASoC: Fix pxa2xx-pcm checks for invalid DMA channels
sound: ASoC: machine driver for Toshiba e750

Control Midlevel

ALSA: Warn when control names are truncated
saner FASYNC handling on file close
ALSA: add snd_ctl_add_slave_uncached()

Jack Input Event Midlevel

Define SW_JACK_PHYSICAL_INSERT for jack.c
Add SW_VIDEO_INSERT definition for older kernels
Fix a typo for SW_VIDEOOUT_INSERT definition
ALSA: Add support for mechanical jack insertion
ALSA: Reduce boilerplate for new jack types
ALSA: Add support for video out to the jack reporting API

PCM Midlevel

saner FASYNC handling on file close

RawMidi Midlevel

ALSA: rawmidi - Add open check in rawmidi callbacks
ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()

Timer Midlevel

saner FASYNC handling on file close
ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()

T5 and LifeDrive

sound: ASoC: Add Palm/PXA27x unified ASoC audio driver

/soc/Makefile

sound: ASoC: Merge AT91 and AVR32 support into a single atmel architecture
ASoC: Ease merge difficulties from new architectures
sound: ASoC: Add jack reporting interface

/soc/codecs/Makefile

sound: ASoC: Add support for TWL4030 audio codec
sound: ASoC: Add WM8728 codec driver
sound: ASoC: UDA134x codec driver
sound: ASoC: Add PCM3008 ALSA SoC driver
ASoC: Add WM8350 AudioPlus codec driver
sound: ASoC: Driver for the WM9705 AC97 codec.

/soc/pxa/Makefile

sound: ASoC: Add PXA SSP support
sound: ASoC: Add Palm/PXA27x unified ASoC audio driver
sound: ASoC: Add Marvell Zylonite machine support
sound: ASoC: machine driver for Toshiba e750

AC97 Codec

sound: struct device - replace bus_id with dev_name(), dev_set_name()
ALSA: cs5535audio: stick AD1888 bitshift values into a header file
ALSA: ac97 - Add WM9715 to AC97 IDs

AC97 bus driver

ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration

AD1816A driver

ALSA: Convert to snd_card_create() in sound/isa/*

AD1848 driver

ALSA: remove direct access of dev->bus_id in sound/isa/*
ALSA: Convert to snd_card_create() in sound/isa/*

AD1889 driver

ALSA: Convert to snd_card_create() in sound/pci/*

ALI5451 driver

ALSA: Convert to snd_card_create() in sound/pci/*

ALS100 driver

ALSA: Convert to snd_card_create() in sound/isa/*

ALSA Version

ALSA: Release v1.0.18a
ALSA: Release v1.0.19

ALSA sequencer

ALSA: Add hrtimer backend for ALSA timer interface

AMD InterWave driver

ALSA: Return proper error code at probe in sound/isa/*

ARM AACI PL041 driver

ALSA: Convert to snd_card_create() in other sound/*

ARM PXA2XX driver

Convert to snd_card_create()
[ARM] pxa: explicit #include <mach/dma.h> in various drivers
[ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h
pxa2xx-ac97: switch AC unit to correct state before probing
ALSA: Convert to snd_card_create() in other sound/*

ARM S3C24XX IIS driver

Convert to snd_card_create()

Adlib FM driver

ALSA: remove direct access of dev->bus_id in sound/isa/*
ALSA: Convert to snd_card_create() in sound/isa/*

Apple Onboard Audio driver

sound: struct device - replace bus_id with dev_name(), dev_set_name()
ALSA: Convert to snd_card_create() in other sound/*
ALSA: snd-aoa: handle older machines
ALSA: snd-aoa: handle master-amp if present

Au12x0/Au1550 PSC ASoC

ASoC: Register platform DAIs
ASoC: Register platform drivers
remove lots of double-semicolons

Avance Logic ALS300/300+ driver

ALSA: Convert to snd_card_create() in sound/pci/*

CA0106 driver

Regenerate ca0106_main.patch
ALSA: ca0106 - Add power-management support
ALSA: ca0106 - Check return value of pci_enable_device() in resume
ALSA: ca0106 Add comments to snd_ca0106_details struct
ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1
ALSA: ca0106 - Don't override the values at resume
ALSA: ca0106 - Add IEC958 PCM Stream controls
ALSA: ca0106 - Fix typo in resume code
ALSA: ca0106 - Check ac97 availability at PM
ALSA: ca0106 - Add missing card->private_data initialization
ALSA: ca0106 - disable 44.1kHz capture

CMI8788 (Oxygen) driver

ALSA: oxygen: add Claro halo support
sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X

CS4231 driver

ALSA: remove direct access of dev->bus_id in sound/isa/*

CS4236+ driver

ALSA: remove direct access of dev->bus_id in sound/isa/*
ALSA: Return proper error code at probe in sound/isa/*

CS46xx driver

ALSA: Fix a compile warning in cs46xx_lib.c

CS5535 driver

Add pci/cs5535audio/cs5535audio_olpc.c
ALSA: cs5535audio: turn off PCM properly if closing the audio device
ALSA: cs5535audio: suspend/resume callbacks are only defined with CONFIG_PM
ALSA: ALSA: cs5535audio: OLPC analog input support
ALSA: ALSA: cs5535audio: Use OLPC/Geode basic infrastructure
ALSA: ALSA: cs5535audio: invert EAPD for OLPC (newer than B3)
ALSA: ALSA: cs5535audio: drop ec_analog_input flag for OLPC stuff
ALSA: cs5535audio: decouple HPF from V_REFOUT in OLPC code
ALSA: cs5535audio: create function for setting OLPC's Analog Input mode
ALSA: cs5535audio: rename OLPC's analog input control && drop AD1888's HPF
ALSA: cs5535audio: check OLPC's Analog Input status vis GPIO
ALSA: cs5535audio: enable OLPC's V_REFOUT bias when recording
ALSA: ALSA: cs5535audio: rename V_REFOUT control to MIC Bias
ALSA: cs5535audio: for OLPC, default to Analog Input being off
ALSA: cs5535audio: turn off mic bias on OLPCs by default
ALSA: cs5535audio: clean up OLPC code
ALSA: cs5535audio: ensure MIC Bias/Analog Input bail if not on an OLPC machine
ALSA: cs5535 - Make OLPC-stuff depending on MGEODE_LX

Conexant Riptide driver

ALSA: Reduce stall detection timeout in riptide.c

Digigram PCXHR driver

Add build stub for pcxhr_mix22.c
pcxhr: fix pcxhr_mix22.c compilation for 2.4 kernels
ALSA: sound/pci/pcxhr/pcxhr.c: introduce missing kfree and pci_disable_device
ALSA: pcxhr - add support for pcxhr stereo sound cards
ALSA: pcxhr - add support for pcxhr stereo sound cards (core change)
ALSA: pcxhr - add support for pcxhr stereo sound cards (firmware support)
ALSA: pcxhr - add support for pcxhr stereo sound cards (mixer part)
ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free
ALSA: pcxhr - change firmware filenames

Digigram VX Pocket driver

ALSA: Return proper error code at probe in sound/pcmcia/*

Digigram VX core

ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()

Documentation

ALSA: hda - Add ALC299 fujitsu preset model
ALSA: hda - Add ASUS V1Sn support
ALSA: hda - Split ALC268 acer model
ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptop
ALSA: hda - make laptop-eapd model back for AD1986A
ALSA: hda: Add STAC_DELL_M4_3 quirk
sound: ASoC: Rename snd_soc_card to snd_soc_machine
ALSA: ASoC: Fix typo in snd_soc_card update documentation
ALSA: hda - document the ELD proc interface
ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530
ALSA: hda - Check model for Dell 92HD73xx laptops
ALSA: oxygen: add Claro halo support
ALSA: Add more documentation about HD-audio driver
ALSA: hda - Add reference to HD-Audio.txt in ALSA-Configuration.txt
ALSA: Updates about bug-reporting in ALSA-Configuration.txt
ALSA: hda - Update documentation
ALSA: hda - Update HD-Audio.txt
ALSA: hda - Fix another typo in HD-Audio.txt
ALSA: hda - Add development tree URLs in HD-audio.txt
ALSA: hda - Fix silent HP output on D975
ALSA: hda - Add no-jd model for IDT 92HD73xx
ALSA: split HD-audio model list to HD-Audio-Models.txt
ALSA: hda - Fix HD-Audio.txt reference of model list
ALSA: hda - Add probe_only option
ALSA: hda - Update model descriptions in patch_sigmatel.c
sound: ASoC: dapm: Allow explictly named mixer controls
ALSA: Update description of snd_card_create() in documents

EMU10K1/EMU10K2 driver

ALSA: emu10k1 - Add more invert_shared_spdif flag to Audigy models
ALSA: emu10k1 - Add capture boost mixer switch for Audigy

ES18xx driver

ALSA: Return proper error code at probe in sound/isa/*

FM801 driver

Fix fm801.patch and tea575-tuner.patch for V4L2 changes

Generic drivers

Add a wrapper for ns_to_ktime() for drivers/pcsp/pcsp_lib.c
Add HRTIMER_CB_IRQSAFE_UNLOCKED wrapper for 2.6.26 and older for pcsp
Fix pcsp.c for 2.6.26 or older kernels
Enable pcsp driver on 2.6.27 or later only
aloop - Remove unnecessary typedefs
aloop - A little clean-ups
aloop - Misc coding-style fixes
aloop - Rewrite to platform driver
aloop - Remove superfluous spinlock
aloop - Almost copmlete rewrite
Fix build of hrtimer-related codes with older kernels
Convert to snd_card_create()
ALSA: Fix PIT lockup on some chipsets when using the PC-Speaker
sound: struct device - replace bus_id with dev_name(), dev_set_name()
ALSA: pcsp - Use HRTIMER_CB_IRQSAFE_UNLOCKED
hrtimer: removing all ur callback modes
ALSA: pcsp - Fix starting the stream with HRTIMER_CB_IRQSAFE_UNLOCK
ALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVE

HDA Codec driver

Add the build stub for pci/hda/patch_intelhdmi.c
Fix build of hda_codec.c
ALSA: hda - Restore default pin configs for realtek codecs
ALSA: hda - Add another HP model for AD1884A
ALSA: hda: Add HDA vendor ID for Wolfson Microelectronics
ALSA: hda - Fix SPDIF mute on IDT/STAC codecs
ALSA: hda - Disable broken mic auto-muting in Realtek codes
ALSA: hda - Add digital-mic for ALC269 auto-probe mode
ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
ALSA: hda: make a STAC_DELL_EQ option
ALSA: hda - Use macros to check array overflow
ALSA: hda - Unify capture callbacks in realtek codes
ALSA: hda - Unify capture mixer creation in realtek codes
ALSA: hda - Re-add input-source control for Realtek
ALSA: hda - Add ALC299 fujitsu preset model
ALSA: hda - Fix missing ADC list in ALC260 auto-probe mode
ALSA: hda - Fix possible NULL dereference
ALSA: hda - Don't create empty PCM streams
ALSA: hda - Intel HDMI audio support
ALSA: hda - Fix unused function in patch_intelhdmi.c
ALSA: hda - Add ASUS V1Sn support
ALSA: hda - Add a quirk for MEDION MD96630
ALSA: hda - Split ALC268 acer model
ALSA: hda - simplify hda_bus ops callbacks
ALSA: hda - Add lifebook model for Realtek ALC269
ALSA: hda - Add missing NULL check in amp hash allocation
ALSA: hda - Add max allocation check in array allocator
ALSA: hda - Fix broken hash chain allocation
ALSA: hda - Add another HP model (6730s) for AD1884A
ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
ALSA: hda - Fix ALC260 hp3013 master switch
ALSA: hda - Fix another cache list management
ALSA: hda - Add missing analog-mux mixer creation for STAC9200
ALSA: hda - Fix input pin initialization for STAC/IDT codecs
ALSA: hda - Fix IDT/STAC multiple HP detection
ALSA: hda - Check model type instead of SSID in patch_92hd71bxx()
ALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()
ALSA: hda - Add quirks for HP Pavilion DV models
ALSA: hda - Fix resume of GPIO unsol event for STAC/IDT
ALSA: hda - Add digital beep playback switch for STAC/IDT codecs
ALSA: hda: STAC_VREF_EVENT value change
ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.c
ALSA: hda - Support Headphone and Speaker volumes control on VAIO
ALSA: hda: alc883 model for ASUS P5Q-EM boards
ALSA: hda: STAC_DELL_M6 EAPD
ALSA: hda-intel: reorder HDMI audio enabling sequence
ALSA: hda: remove redundant get_amp_nid()
ALSA: create hda_eld.c for ELD routines and proc interface
ALSA: ELD proc interface for HDMI sinks
ALSA: hda - Create jack detection elements in build_controls
ALSA: hda - Use init callback in stac92xx_resume()
ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecs
ALSA: hda - Allow multiple imux for matrix-type mixers of ALC codecs
ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptop
ALSA: hda: make standalone hdmi_fill_audio_infoframe()
ALSA: hda: HDMI channel allocations for audio infoframe
ALSA: hda: HDMI channel mapping cleanups
ALSA: hda: EAPD mute on suspend
ALSA: hda: minor code cleanups
ALSA: hda: rename sink_eld to hdmi_eld
ALSA: hda - make laptop-eapd model back for AD1986A
ALSA: hda: Add STAC_DELL_M4_3 quirk
ALSA: hda - Add a quirk for Dell Studio 15
ALSA: hda - Fix double free of jack instances
ALSA: hda - Release ELD proc file
ALSA: hda - fix sparse warning
ALSA: hda - mark Dell studio 1535 quirk
ALSA: hda - Fix build without CONFIG_PROC_FS
ALSA: hda - minor HDMI code cleanups
ALSA: hda - report selected CA index for Audio InfoFrame
ALSA: hda - make HDMI messages more user friendly
ALSA: hda - No 'Headphone as Line-out' swich without line-outs
ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530
ALSA: hda - Fix caching of SPDIF status bits
ALSA: hda - Add quirk for MSI 7260 mobo
ALSA: hda - Check model for Dell 92HD73xx laptops
ALSA: hda - Assign unsol tags dynamically in patch_sigmatel.c
ALSA: hda - Fix AFG power management on IDT 92HD* codecs
ALSA: sound/pci/hda/hda_codec.c: cleanup kernel-doc
ALSA: hda - make some functions static
ALSA: hda - Move power_save option to hda_intel.c
ALSA: hda - Fix PCM reconfigure
ALSA: hda - Fix creation of automatic capture mixers
ALSA: hda - Modularize HD-audio driver
ALSA: hda - Add codec-specific proc hook
ALSA: hda - Remove unused proc entry in hda_bus struct
ALSA: hda - Add IDT/STAC-specific proc output
ALSA: hda - Clear codec->proc_widget_hook at reset
ALSA: hda - Add quirk for Sony VAIO VGN-SR19XN
ALSA: hda - Check MODULE instead of CONFIG_SND_HDA_INTEL_MODULE
ALSA: hda - Don't export symbols when built-in kernel
ALSA: hda - Use amp cache for SPDIF mute controls in patch_sigmatel.c
ALSA: hda - Remove unnecessary caches for power states in patch_sigmatel.c
ALSA: hda - Add MCP67 HDMI support
ALSA: hda - Add forgotten module alias for Nvidia MCP67 HDMI
ALSA: hda - Fix pin-detection in patch_sigmatel.c
ALSA: hda - Proper power-map toggling for input pins
ALSA: hda - Add quirk for HP6730B laptop
ALSA: hda - Add Nvidia vendor id string
ALSA: hda - Fix silent HP output on D975
ALSA: hda - Add Intel vendor id string
ALSA: hda - Remove duplicated strings from codec name
ALSA: hda - Add no-jd model for IDT 92HD73xx
ALSA: hda - Add quirk for Dell Studio 17
ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"
ALSA: hda - Add missing initializations of amp and verb caches
ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c
ALSA: hda - Remove non-working headphone control for Dell laptops
ALSA: hda - Rework on STAC/IDT auto-configuration code
ALSA: hda - Use more distinct name for a unique volume in STAC/IDT
ALSA: hda - Add probe_only option
ALSA: hda - Fix unused variable warnings in patch_sigmatel.c
ALSA: hda - Power up always when no jack detection is available
ALSA: hda - Add quirk for another HP dv7
ALSA: hda: dinput_mux check
ALSA: hda: fix incorrect mixer index values for 92hd83xx
ALSA: hda - Add missing terminators in patch_sigmatel.c
ALSA: hda - fix name for ALC1200
sound: LSA: hda - Add HP Acacia detection
ALSA: hda - add basic jack reporting functions to patch_conexant.c
ALSA: hda - cxt5051 report jack state
ALSA: hda - Add a new function to seek for a codec ID
ALSA: patch_sigmatel: Add missing Gateway entries and autodetection
ALSA: hda - More fixes on Gateway entries
ALSA: hda - Add quirk for HP 2230s
ALSA: hda - Fix typos for AD1882 codecs
ALSA: hda - Add codec ID for MCP73 HDMI
ALSA: hda - Add quirks for Acer Aspire 5930G and 6930G
ALSA: hda - Add quirk for Dell Inspiron Mini9
ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value
ALSA: hda - add support for Intel DX58SO board
ALSA: hda - Use own workqueue
ALSA: hda - Fix a typo
ALSA: hda - Add support of NVidia MCP78 HDMI
ALSA: hda - Add quirk for another HP dv5
ALSA: hda - Use queue_delayed_work()
ALSA: hda - Fix silent headphone output on Panasonic CF-74
ALSA: hda: stac92hd8xxx amp mixers
ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c
ALSA: hda - Add automatic model setting for Samsung Q45
ALSA: hda - Fix stac92hd83xxx_amp_nids[]
ALSA: hda - Fix missing initialization of NID 0x0e for STAC925x
ALSA: hda - Fix HP dv5 mic input
ALSA: hda - Fix invalid amp value for STAC925x
ALSA: hda - Fix (yet more) STAC925x issues
ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC
ALSA: hda: fix invalid power mapping masks

HDA Intel driver

Fix build of hda-intel with older kernels
ALSA: hda - Add reboot notifier
ALSA: hda - Remove old codec-probe limitation
ALSA: hda - simplify hda_bus ops callbacks
ALSA: hda - Make codec-probing more robust
ALSA: hda - Fix probe errors on Dell Studio Desktop
ALSA: hda - support detecting HD Audio devices with PCI class code
ALSA: azx_probe() cleanup
ALSA: hda - Add probe_mask quirk for Medion MD96630
ALSA: hda - make some functions static
ALSA: hda - Move power_save option to hda_intel.c
ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE
Sound: hda - Restore PCI configuration space with interrupts off
ALSA: hda - Fix a compile warning when CONFIG_PM=n
ALSA: hda - Add probe_only option
ALSA: hda - Use own workqueue

HDA generic driver

Regenerate hda_beep.patch
Add hda_eld.c build stub
Fix build of hda-intel with older kernels
Fix build of hda_codec.c
Regenerate hda_beep.patch
ALSA: hda - Fix indentation in hda_local.h
ALSA: hda - Limit the number of GPIOs show in proc
ALSA: hda - Intel HDMI audio support
ALSA: hda - Missing NULL check in hda_beep.c
ALSA: hda - Add digital beep playback switch for STAC/IDT codecs
ALSA: introduce snd_print_pcm_rates()
ALSA: create hda_eld.c for ELD routines and proc interface
ALSA: ELD proc interface for HDMI sinks
ALSA: hda: make global snd_print_channel_allocation()
ALSA: hda: minor code cleanups
ALSA: hda: rename sink_eld to hdmi_eld
ALSA: hda: minor output message cleanups
ALSA: hda: make global snd_print_pcm_bits()
ALSA: hda: compact ELD output messages
ALSA: hda - Show missing GPIO unsol bits
ALSA: hda - properly print ELD sample bits
ALSA: hda: modify monitor name to be consistent with other ELD proc items
ALSA: hda - support writing to the ELD proc file
ALSA: hda - Add missing static for snd_hda_eld_proc_new() inline funciton
ALSA: hda - Release ELD proc file
ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration
ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/Kconfig
ALSA: hda - Fix build without CONFIG_PROC_FS
ALSA: hda - make HDMI messages more user friendly
ALSA: hda - ELD proc interface write updates
ALSA: hda - fix DisplayPort naming
ALSA: hda - fix build warning when CONFIG_PROC_FS=n
ALSA: hda - Fix proc pcm rate bits
ALSA: hda - Really fix bits value in proc output
ALSA: hda - Fix PCM reconfigure
ALSA: hda - Modularize HD-audio driver
ALSA: hda - Add codec-specific proc hook
ALSA: hda - Add IDT/STAC-specific proc output
ALSA: hda - Don't export symbols when built-in kernel
ALSA: hda - Remove EXPERIMENTAL from CONFIG_SND_HDA_POWER_SAVE
ALSA: hda - Add a new function to seek for a codec ID
ALSA: hda - Use own workqueue

HR timer driver

Add snd-hrtimer build stub
Fix build of hrtimer-related codes with older kernels
hrtimer: Fix compilation for linus's GIT kernels
ALSA: Add hrtimer backend for ALSA timer interface
ALSA: timer - Add comments and use ns_to_ktime()
ALSA: hrtimer - Use hard-irq callback
hrtimer: Remove HRTIMER_CB_IRQSAFE_UNLOCKED cb_mode

ICE1712 driver

ALSA: sound/ice1712: indentation & braces disagree - add braces

ICE1724 driver

ALSA: ice1724 - Fix IRQ register initialization
ALSA: ice1724 - Re-fix IRQ mask initialization
ALSA: ice1724 - Fix a typo in IEC958 PCM name

ISA

ALSA: gusextreme: Fix build errors

Intel8x0 driver

ALSA: intel8x0 - add Dell Optiplex GX620 (AD1981B) to AC97 clock whitelist
ALSA: intel8x0 - Add reboot notifier
Revert "ALSA: intel8x0 - Add reboot notifier"

MIXART driver

ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free

OSS device core

sound: sound/sound_core: Fix sparse warnings
ALSA: Fix declaration of sound_class

Opti9xx drivers

ALSA: Return proper error code at probe in sound/isa/*
ALSA: opti9xx - Fix build breakage by snd_card_create() conversion

PCI drivers

ALSA: hda - Intel HDMI audio support
ALSA: create hda_eld.c for ELD routines and proc interface
ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration
ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/Kconfig
ALSA: oxygen: add Claro halo support

PDAudioCF driver

ALSA: pdaudiocf - Fix missing free in the error path
ALSA: Return proper error code at probe in sound/pcmcia/*

PPC PMAC driver

snd-powermac: enable mic on iMac G4 (older kernels)
ALSA: snd-powermac: enable mic on iMac G4

PPC PS3 driver

powerpc/ps3: Printing fixups for l64 to ll64 conversion sound/ppc

PPC Tumbler driver

ALSA: powermac - Rename mic-analog loopback mixer element

RME HDSP driver

ALSA: HDSP: check for io box before uploading firmware
ALSA: hdsp: check for iobox and upload firmware during ioctl
ALSA: hdsp/hdspm: remove card->id from rawmidi device name

RME9652 driver

ALSA: hdsp/hdspm: remove card->id from rawmidi device name

RTC timer driver

ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()

SB8 driver

ALSA: sb8 - Fix a return code in the error path

SPARC DBRI driver

dbri: check dma_alloc_coherent errors

SPARC cs4231 driver

of_platform_driver noise on sparce
Revert "of_platform_driver noise on sparce"
sparc64: Fix unsigned long long warnings in drivers.

Serial BUS drivers

Fix tea535-tuner.patch for older kernels
Regenerated patches
Fix fm801.patch and tea575-tuner.patch for V4L2 changes

SoC Audio for the Atmel AT32 System-on-Chip

Changed files for soc/atmel code merging
sound: ASoC: Merge AT91 and AVR32 support into a single atmel architecture

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

sound: ASoC: Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731).
ALSA: ASoC - Remove unnecessary inclusion of linux/version.h
sound: ASoC: Merge snd_soc_ops into snd_soc_dai_ops
sound: ASoC: Remove DAI type information
ASoC: Push platform registration down into the card
ASoC: Remove device from platform suspend and resume operations
ASoC: Remove platform device from DAI suspend and resume operations
ASoC: Register platform DAIs
ASoC: Register platform drivers
ASoC: Fix typos in Atmel module registration
ALSA: ASoC - Fix wrong section types
ASoC: Use snd_soc_dapm_nc_pin() in at91sam9g20ek
sound: ASoC: atmel_pcm: Remove non-existant header

SoC Audio for the Samsung S3C24XX chips

sound: ASoC: Add new parameter to s3c24xx_pcm_enqueue
sound: ASoC: s3c24xx 8 bit sound fix
sound: ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue"
sound: ASoC: Machine driver for for s3c24xx with uda134x
sound: ASoC: Move uda134x_codec.h to uda134x.h
sound: ASoC: s3c24xx_uda134x DAI accessor functions and static cleanup
[ARM] S3C: Move regs-ac97.h to arch/arm/plat-s3c/include/plat.
ASoC: Add new parameter to s3c24xx_pcm_enqueue
ALSA: ASoC: Fix old-style trigger callback in s3c2443-ac97.c
ALSA: ASoC - Fix DAI registration in s3c2443-ac97.c
ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue"

SoC Blackfin

ALSA: ASoC: Blackfin: update SPORT0 port selector (v2)
sound: ASoC: Blackfin: updates Kconfig for SPORT
sound: ASoC: Blackfin: add multi-channel function support
sound: ASoC: Blackfin: Fix AD1980/1 build with MMAP support disabled
sound: ASoC: Fix Blackfin AC97 DAI probe function return code
sound: ASoC: Blackfin: do not force TWI bus for ssm2602 codec
sound: ASoC: Blackfin: Simplify the MMAP_SUPPORT macros protected code
sound: ASoC: Blackfin: always set a default value for that GPIO range
sound: ASoC: Convert blackfin machines to use DAI accessor functions
ALSA: ASoC: Remove superfluous dependency on SND_SOC
ASoC: Push platform registration down into the card
ALSA: ASoC - Fix wrong section types
ASoC: Fix variable name for Blackfin I2S DAI

SoC Codec AC97

ASoC: Rename snd_soc_register_card() to snd_soc_init_card()

SoC Codec AD1980

sound: ASoC: AD1980 codec: add multi-channel function support
sound: ASoC: Improve error reporting for AC97 reset failures
sound: ASoC: Flag AD1980 as an AC97 interface
ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
sound: ASoC: cleanup duplicated code.

SoC Codec AD73311

ALSA: ASoC codec: remove unused #include <version.h>
ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
ASoC: Remove in-code changelog from AD73311 driver
ASoC: Register non-AC97 codec DAIs

SoC Codec AK4535

ASoC: Register non-AC97 codec DAIs
sound: ASoC: cleanup duplicated code.

SoC Codec CS4270

sound: ASoC: Disable automatic volume control in the CS4270 sound driver
ASoC: Register non-AC97 codec DAIs

SoC Codec PCM3008

Add a few soc build stubs
sound: ASoC: Add PCM3008 ALSA SoC driver
ASoC: Register non-AC97 codec DAIs

SoC Codec Philips UDA134x

Add build stubs for soc s3c24xx-uda134x & co
sound: ASoC: UDA134x codec driver
sound: ASoC: Move uda134x_codec.h to uda134x.h

SoC Codec SSM2602

sound: ASoC: ssm2602: Fix priv substreams refs
sound: ASoC: ssm2602: Update supported stream formats
ASoC: Fix DSP formats in SSM2602 audio codec
sound: ASoC: cleanup duplicated code.

SoC Codec TLV320AIC23

sound: ASoC: TLV320AIC23B Support more sample rates
sound: ASoC: Build tlv320aic23 cleanly
ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers

SoC Codec TLV320AIC3X

ASoC: Allow more routing features for tlv320aic3x
ASoC: tlv320aic3x: headset/button press support
ASoC: tlv320aic3x: control additions and cleanups
ALSA: ASoC: tlv320aic3x add dsp_a

SoC Codec TWL4030

sound: ASoC: Add support for TWL4030 audio codec
ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
sound: ASoC: Fix supported sample rates of TWL4030 audio codec
sound: ASoC: Fix for master playback/capture volume range for TWL4030 codec
sound: ASoC: TWL4030: Disable soft-volume
sound: ASoC: TWL4030: Change the Master volume control to TLV
sound: ASoC: TWL4030: Add CGAIN volume control
sound: ASoC: TWL4030: Add helper function for output gain controls
ASoC: TWL4030: Add helper function for output gain controls
ASoC: TWL4030: Change the capture volume control to TLV
ASoC: TWL4030: Change the common playback volume controls
ASoC: TWL4030: Add volume controls for outputs
ASoC: TWL4030: Add input selection and gain controls
ASoC: TWL4030: Correct DAPM_DAC with power control
ASoC: TWL4030: Add Analog PGA control switch to DAPM
ASoC: TWL4030: Add DAPM event handler for output MUX selection
ASoC: TWL4030: DAPM mapping of the Earpiece output
ASoC: TWL4030: DAPM mapping of the PreDriv outputs
ASoC: TWL4030: DAPM mapping of the Headset outputs
ASoC: TWL4030: DAPM mapping of the Carkit outputs
ASoC: TWL4030: DAPM mapping of the Handsfree outputs
ASoC: TWL4030: Do not alter the Headset output volume on power-up/down
ALSA: ASoC - Fix module init entry for twl4030.c
ASoC: TWL4030: Add missing Carkit output
ASoC: TWL4030: Small cleanup
ASoC: TWL4030: Change the name for the DACs
ASoC: TWL4030: hands-free start-up sequence.
asoc/twl4030: remove duplicate code (merging problem)
sound: ASoC: TWL4030: Make the enum filter generic for twl4030
sound: ASoC: TWL4030: DAPM based capture implementation
ASoC: TWL4030: Convert the bitfield enums to VALUE_ENUM type
ASoC: TWL4030: Change the soc_value_enum back to soc_enum
ASoC: TWL4030: Module unloading fix

SoC Codec WM8350

ASoC: Add WM8350 AudioPlus codec driver
ALSA: ASoC - Add missing __devexit annotation to wm8350.c
sound: ASoC: Implement WM8350 headphone jack detection

SoC Codec WM8728

Add wm8728 build stub
sound: ASoC: Add WM8728 codec driver

SoC Codec WM8900

ASoC: Convert WM8900 to allow registration by machine code
ASoC: Convert WM8900 to do more work at I2C probe time

SoC Codec WM8903

ALSA: soc - Fix compile warnings in wm8903.c
Revert "ALSA: soc - Fix compile warnings in wm8903.c"
ASoC: Fix WM8903 right mixer bypass path
ASoC: Work around warnings from some build environments
ASoC: Convert WM8903 driver to register at I2C probe time
ASoC: Stop WM8903 SYSCLK when suspending

SoC Codec WM8990

sound: ASoC: Allow writes to uncached registers in WM8990
sound: ASoC: Enable WM8990 ADC clocking workaround
sound: ASoC: Manage VMID mode for WM8990

SoC Codec WM9705

sound: ASoC: Driver for the WM9705 AC97 codec.

SoC Codec WM9712

sound: ASoC: Improve error reporting for AC97 reset failures

SoC Codec WM9713

ALSA: ASoC: Fix WM9713 ALC Decay Time name
sound: ASoC: Do a warm reset after cold when resetting the WM9713
sound: ASoC: Improve error reporting for AC97 reset failures
sound: ASoC: Use supplied DAI for WM9713 rather than substream
ASoC: Don't free static data in WM9713

SoC DaVinci

Add a few soc build stubs
sound: ASoC: Add Right-Justified mode and Codec clock master to davinci-i2s
sound: ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback
sound: ASoC: DaVinci: Fix audio stall when doing full duplex
sound: ASoC: Add driver for the Lyrtech SFFSDR board
ASoC: switch davinci DPRINTK to pr_debug()
ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit
ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity
ALSA: ASoC: DaVinci: davinci-i2s clean up
ALSA: ASoC: DaVinci: davinci-i2s clean up
ALSA: ASoC: DaVinci: document I2S limitations
ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai
ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode
ASoC: fix davinci-sffsdr buglet
ASoC: Clocking fixes for davinci-evm.c
remove lots of double-semicolons
sound: ASoC: DaVinci: Fix SFFSDR compilation error.

SoC Dynamic Audio Power Management

Remove ALSA kernel codes from soc-dapm.c
sound: ASoC: Allow setting codec register with debugfs filesystem
sound: ASoC: Remove DAPM restriction on mixer control name lengths
ALSA: ASoC - restore removed variable declaration
ALSA: SOC: Fix setting codec register with debugfs filesystem merge error
ASoC: Complain if we fail to create DAPM controls
sound: ASoC: Clean up kerneldoc warnings
ASoC: New enum type: value_enum
ASoC: Merge the soc_value_enum to soc_enum struct
ASoC: Fix the power update function for snd_soc_dapm_value_mux
sound: ASoC: dapm: Allow explictly named mixer controls
sound: ASoC: Constify pin names for DAPM pin status APIs

SoC Freescale

ALSA: ASoC: Fix some minor errors in mpc5200 psc i2s driver
powerpc/mpc5200: fix bestcomm Kconfig dependencies
ALSA: ASoC: Remove superfluous dependency on SND_SOC

SoC L3 bus

Add build stubs for soc s3c24xx-uda134x & co
sound: ASoC: UDA134x codec driver

SoC Layer

soc - Fix build with 2.6.25 or earler kernel
soc - disable DEBUG_FS for 2.6.26, too
Add soc-jack build stub
ALSA: ASoC: Fix mono controls after conversion to support full int masks
sound: struct device - replace bus_id with dev_name(), dev_set_name()
sound: ASoC: Allow setting codec register with debugfs filesystem
sound: ASoC: Fix handling of DAPM suspend work
sound: ASoC: Convert core to use standard debug print macros
sound: ASoC: Use finer grained dependencies in SND_SOC_ALL_CODECS
ALSA: ASoC - Fix a typo in Kconfig
sound: ASoC: Add support for TWL4030 audio codec
sound: ASoC: Merge AT91 and AVR32 support into a single atmel architecture
sound: ASoC: Remove core version number
sound: ASoC: Add WM8728 codec driver
sound: ASoC: UDA134x codec driver
sound: ASoC: Remove unused snd_soc_machine_config declaration
sound: ASoC: Add PCM3008 ALSA SoC driver
sound: ASoC: Rename snd_soc_card to snd_soc_machine
sound: ASoC: Move DAI structure definitions into new soc-dai.h
sound: ASoC: Merge snd_soc_ops into snd_soc_dai_ops
sound: ASoC: Remove DAI type information
sound: ASoC: Lower priority of resume work logging
ASoC: Clean up kernel-doc for snd_soc_dai_set_fmt
ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
ASoC: Annotate core removal function
ASoC: Push workqueue data into snd_soc_card
ASoC: Push platform registration down into the card
ASoC: Push debugfs files out of the snd_soc_device structure
ASoC: Remove device from platform suspend and resume operations
ASoC: Remove platform device from DAI suspend and resume operations
ASoC: Remove obsolete declaration of struct snd_soc_clock_info
ASoC: Add card registration API
ASoC: Add DAI registration API
ASoC: Add platform registration API
ASoC: Initial framework for dynamic card instantiation
ASoC: Wait for non-AC97 codec DAIs before instantiating
ASoC: Add codec registration API
ASoC: Ease merge difficulties from new architectures
ASoC: Add WM8350 AudioPlus codec driver
sound: ASoC: Clean up kerneldoc warnings
ASoC: New enum type: value_enum
ASoC: Fix SND_SOC_ALL_CODECS handling of dual SPI and I2C control buses
ASoC: Merge the soc_value_enum to soc_enum struct
sound: ASoC: Add jack reporting interface
sound: ASoC: cleanup duplicated code.
sound: ASoC: Driver for the WM9705 AC97 codec.

SoC PXA2xx Corgi

ALSA: ASoC: Fix compile warnings on corgi.c

SoC PXA2xx E750

sound: ASoC: machine driver for Toshiba e750

SoC PXA2xx E800/WM9712

sound: ASoC: machine driver for Toshiba e800

SoC PXA2xx EM-X270

ALSA: soc - Remove obsoleted sound/driver.h inclusion

SoC PXA2xx Palm T|X

sound: ASoC: Add Palm/PXA27x unified ASoC audio driver

SoC PXA2xx Tosa

sound: ASoC: tosa: move gpio probing to machine callbacks

SoC PXA2xx Zylonite

Add the build stub for zylonite
sound: ASoC: Add Marvell Zylonite machine support

SoC Texas Instruments OMAP

Add a few soc build stubs
sound: ASoC: Add support for Gumstix Overo
sound: ASoC: Add support for Beagleboard
sound: ASoC: OMAP: Add more supported sample rates into McBSP DAI driver
sound: ASoC: Add support for omap2evm board
sound: ASoC: OMAP: Fix preprocessor filled DAI name in McBSP DAI
sound: ASoC: OMAP: Apply channel constrains to N810 machine driver
sound: ASoC: OMAP: Add support for mono audio links in McBSP DAI
sound: ASoC: Fix TWL4030 Kconfig dependency
sound: ASoC: Add support for TI SDP3430
ASoC: Fix word wrapping in OMAP Kconfig
ALSA: ASoC: Remove superfluous dependency on SND_SOC
ASoC: Add support for OMAP3 Pandora
ALSA: ASoC - Fix symbol conflicts in omac-mcbsp.c
ALSA: Fix a Oops bug in omap soc driver.
ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers
ALSA: ASoC: fix a typo in omp-pcm.c
ASoC: OMAP: Select OMAP pin multiplexing when using Nokia N810 ASoC drivers
ASoC: Mark non-connected TWL4030 pins for pandora

Sound Scape driver

ALSA: wss-lib: move AD1845 frequency setting into wss-lib
ALSA: sscape: fix incorrect timeout after microcode upload

TEA575x tuner

V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card
V4L/DVB (10135): v4l2: introduce v4l2_file_operations.
V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl.

USB

ALSA: snd-usb-caiaq: support for two more audio devices

USB USX2Y

Add wrapper functions for new usb interface functions
fix 2.4 kernel compilation (__deprecated & usbusx2y probe)
ALSA: sound: Make static
ALSA: Use usb_set/get_intfdata
trivial: fix then -> than typos in comments and documentation
ALSA: Return proper error code at probe in sound/usb/*

USB caiaq

Add wrapper functions for new usb interface functions
ALSA: snd-usb-caiaq: clean up the control adding code
ALSA: Use usb_set/get_intfdata
ALSA: caiaq - Fix Oops with MIDI
ALSA: caiaq - Version 1.3.10
ALSA: Return proper error code at probe in sound/usb/*
ALSA: snd-usb-caiaq: support for two more audio devices

USB generic driver

Regenerated patches
Add wrapper functions for new usb interface functions
ALSA: Add missing usbcompat.h
Fix usbcompat.h
Don't include usbcompat.h multiple times
ALSA: usb - Add quirk for Edirol UA-25EX advanced modes
ALSA: sound/usb: use USB API functions rather than constants
ALSA: Use usb_set/get_intfdata
ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc
ALSA: USB quirk for Logitech Quickcam Pro 9000 name
ALSA: preliminary support for Toshiba SB-0500
ALSA: rename "Device" to "Toshiba SB-0500" via quirks
ALSA: usb-audio - Cache mixer values
ALSA: usb-audio - Quirk for Serato phono

Utils

Add a workaround to disable CONFIG_SND_SOC_ALL_CODECS as default
alsa-info.sh: check if script can be overwritten in update()
Handle a bit deeper dependency chain in utils/mod-deps
Handle def_bool in mod-deps
Fix handling of tab and space in Kconfig
Fix the handling of CONFIG_SND_FM801_TEA575X
alsa-info.sh - added extra checks

Virtual Master

ALSA: add snd_ctl_add_slave_uncached()

WSS library

ALSA: wss-lib: move AD1845 frequency setting into wss-lib
ALSA: wss-lib: remove "pops" before each played sound

alsa-lib

Core

Don't use AC_CANONICAL_SYSTEM, only use AC_CANONICAL_HOST.
Add the attributes.m4 macro file from xine/lscube.
Check for --no-undefined linker flag and use it.
Release v1.0.19

Control API

Make seq, rawmidi and control operation structures static const.
Make all the remaining ops structure constants.
Make string arrays as constant as possible.
Mark static tables as constant when possible.

HWDEP API

Make all the remaining ops structure constants.

Mixer API

Fix volume/switch updates for global/simple mixer elements
Make string arrays as constant as possible.
Mark static tables as constant when possible.

PCM API

Fix segfault with invalid meter plugin option
Make some static tables and strings constants.
Make snd_pcm_hw_params_names static to pcm_params.c .
Make all the PCM plugins ops structure constant.
Make string arrays as constant as possible.
Mark static tables as constant when possible.
Fix softvol access refine

RawMidi API

Make seq, rawmidi and control operation structures static const.
Mark static tables as constant when possible.

Sequencer API

Make some static tables and strings constants.
Make seq, rawmidi and control operation structures static const.

Timer API

Make all the remaining ops structure constants.

/Makefile.am

Add the attributes.m4 macro file from xine/lscube.
Add m4/attributes.m4 as dist file..

/src/Makefile.am

Check for --no-undefined linker flag and use it.

ALSA Lisp

Mark static tables as constant when possible.

ALSA Server

Make some static tables and strings constants.

Async helpers

Make some static tables and strings constants.

Configuration

Add linear plugin wrapping iec958 PCM for ice1724-based boards
Mark static tables as constant when possible.
Fix snd-pcsp default configuration
Don't accept an empty string for $ALSA_CONFIG_PATH
add softvol for CMI8788

I/O subsystem

Make all the remaining ops structure constants.

Simple Abstraction Mixer Modules

Check for --no-undefined linker flag and use it.
Make sure that python libraries are passed through LIBADD.

alsa-utils

Core

Add --disable-xmlto configure option
Release v1.0.19

ALSA Control (alsactl)

Add --disable-xmlto configure option
Add -I option to alsactl
Remove some dead code (comparisons between 0 and unsigned integers).
Mark static the functions not used outside their unit.
Make some static tables and strings constants.
alsactl: Fix restore / init call behaviour when driver contains more controls
alsa-utils check if __USE_BSD is defined before compiling "BSD functions"

ALSA RawMidi Utility (amidi)

Mark static the functions not used outside their unit.
Make some static tables and strings constants.

Speaker Test

Move conditional inclusion of locale.h further down.
Remove some unused variables.
speaker-test: Fix floating-point exception bug

alsaconf

alsaconf: add Slackware support
Create a special fd redirection for menu choice.
Nowadays Gentoo also uses update-modules, so update alsaconf.

alsamixer

Make some static tables and strings constants.

amixer

Mark static the functions not used outside their unit.
Make some static tables and strings constants.

aplay/arecord

Fix wrong direction check in aplay/arecord --list-pcms

aseqnet

aseqnet - Add $(INTLLIBS) to Makefile.am

alsa-tools

Core

Release v1.0.19

Digigram Echo Mixer

Fix building of alsa-tools when using the --as-needed linker option.

Envy24 Control

Fix building of alsa-tools when using the --as-needed linker option.

RME Digi Control

Fix building of alsa-tools when using the --as-needed linker option.

ac3dec (Dolby Digital Decoder)

Remove -Werror for ac3dec/tools

hdspmixer

Fix building of alsa-tools when using the --as-needed linker option.

alsa-plugins

Core

Allow opt-out from jack, pulseaudio and avcodec dependencies.
Add the attributes.m4 macro file from xine/lscube.
Check for --no-undefined linker flag and use it.
Release v1.0.19

/Makefile.am

Add the attributes.m4 macro file from xine/lscube.
Added m4/attributes.m4 to extra dist.

A52 Output plugin

Check for --no-undefined linker flag and use it.

Alsa support for Maemo SDK (n770)

Cleanup flags in maemo/Makefile.am
[RFC] Don't use pow() for calculating a power of 2, use shift instead.
Make some static tables and strings constants.
Mark as static the functions not used outside their unit.

Automatic upmix / downmix plugins

Make some static tables and strings constants.

Jack PCM plugin

Check for --no-undefined linker flag and use it.

PulseAudio -> ALSA plugin

Mark as static the functions not used outside their unit.

Changelog between 1.0.17 and 1.0.19 releases

alsa-firmware

Core

Release v1.0.19

Digigram PCXHR Firmware

pcxhr - Add new firmwares
pcxhr - change firmware files

Detailed changelog between 1.0.18 and 1.0.19 releases

alsa-driver

Sound Core

- Add snd-hrtimer build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build with 2.6.28-rc2 kernel
Fixed the case asm/* is moved under arch/$ARCH/include.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remov invalid AC_CACHE_VAL from configure
The variable name is wrong, and the current implementation doesn't make sense.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add check of CONFIG_PCSPKR_PLATFORM
Added check of CONFIG_PCSPKR_PLATFORM to fix the build check of snd-pcsp
driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.18a
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Fix kconfig-vers for CONFIG_SND_HRTIMER
snd-hrtimer is supported up 2.6.25 or later due to the use of
hrtimer_forward_now().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add a workaround for build on 2.6.27 x86 kernel
The recent x86 kernel seems to have a problem with build when some
options like CONFIG_X86_BIGSMP is set because configure script picks
up a wrong machine-* sub directory for the include path.
Better to pick up only mach-default in such a case.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Enable pcsp driver on 2.6.27 or later only
... due to hrtimer API change, until someone fixes it right.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Build snd-hrtimer up from 2.6.27
Build snd-hrtimer up from 2.6.27 due to API incompatibilies.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.19
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALSA Core

- Add dev_name() and dev_set_name() wrappers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remove __attribute__ form dev_set_name() wrapper
Looks like __attribute__ doesn't work with static inline functions...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Use macro instead of inline static function for dev_set_name()
gcc seems unable to handle variable arguments in an inline function.
Use a more simple macro as a workaround.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remove redundant inclusion of <linux/module.h> in adriver.h
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add missing get_unaligned_*() wrappers for older kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Regenerate init.patch
Regenerated init.patch for the change of udev-id-change things.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add tasklet_schedule() wrapper for 2.2 kernels
Identical with tasklet_hi_schedule().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build of hrtimer-related codes with older kernels
Initialize hrtimer cb_mode for older kernels.
This was removed in 2.6.29.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add a definition of type bool for older kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add WARN_ON_ONCE() wrapper for older kernels
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- fix 2.4 kernel compilation (__deprecated & usbusx2y probe)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- saner FASYNC handling on file close
As it is, all instances of ->release() for files that have ->fasync()
need to remember to evict file from fasync lists; forgetting that
creates a hole and we actually have a bunch that *does* forget.
So let's keep our lives simple - let __fput() check FASYNC in
file->f_flags and call ->fasync() there if it's been set. And lose that
crap in ->release() instances - leaving it there is still valid, but we
don't have to bother anymore.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: Add hrtimer backend for ALSA timer interface
Added the hrtimer backend for ALSA timer interface.
It can be used for the sequencer timer source.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsa: fix snd_BUG_on() and friends
sound/pci/pcxhr/pcxhr_core.c: In function 'pcxhr_set_pipe_cmd_params':
sound/pci/pcxhr/pcxhr_core.c:700: warning: statement with no effect
sound/pci/pcxhr/pcxhr_core.c:706: warning: statement with no effect
sound/pci/pcxhr/pcxhr_core.c:710: warning: statement with no effect
Due to
#define snd_BUG_ON(cond) ({ 0;})
try to fix this, and be more conventional about the empty stubs.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Evaluate condition in snd_BUG_ON() in non-debugging case
Change snd_BUG_ON() to evaluate the given condition, at least, in syntax
for avoiding compile warnings such as unused variables. The compiler
should optimize out the condition evaluation in the real code, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Document debug macros
Add descriptions of snd_BUG() and snd_BUG_ON().
Also fixed a typo in the comment of snd_printk(), too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: add /sys/class/sound/card#/id (r/w) and card#/number (r/o) files
For udev, we need a way to rename soundcard names. The soundcard numbers
(indexes) are hardwired but we have a text identification which can be
changed at run-time. The ALSA user space tools already allow using of
this text identification.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: when card identification is changed, change also /proc/asound symlink
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: include/sound/info.h - coding style changed
Change coding style to be more acceptable by checkpatch.pl.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: Fix warnings relating to ignored return value in snd_card_register
Do not ignore the return of 'device_create_file' in
'snd_card_register' and thereby fixing the following warnings:
sound/core/init.c: In function 'snd_card_register':
sound/core/init.c:640: warning: ignoring return value of
'device_create_file', declared with attribute warn_unused_result
sound/core/init.c:641: warning: ignoring return value of
'device_create_file', declared with attribute warn_unused_result
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Check fops_get() return value
Several subsystem open handlers dereference the fops_get() return value
without checking it for nullness. This opens a race condition between the
open handler and module unloading.
A module can be marked as being unloaded (MODULE_STATE_GOING) before its
exit function is called and gets the chance to unregister the driver.
During that window open handlers can still be called, and fops_get() will
fail in try_module_get() and return a NULL pointer.
This change checks the fops_get() return value and returns -ENODEV if NULL.
Reported-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dave Airlie <airlied@linux.ie>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: Introduce snd_card_create()
Introduced snd_card_create() function as a replacement of snd_card_new().
The new function returns a negative error code so that the probe callback
can return the proper error code, while snd_card_new() can give only NULL
check.
The old snd_card_new() is still provided as an inline function but with
__deprecated attribute. It'll be removed soon later.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx Core

- sound: ASoC: Add PXA SSP support
The SSP ports PXA series processors can be used to implement a variety of
audio interface formats. This patch implements support for I2S, DSP A and
DSP B modes on these ports.
This patch is based on the previous out of tree pxa2xx-ssp driver (which
was originally written by Liam Girdwood with updates from Philipp Zabel
and Nicola Perrino) and pxa3xx-ssp driver (originally written by Seth
Forsee based on the pxa2xx-ssp driver). Testing coverage is not complete
currently.
Tested-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add Palm/PXA27x unified ASoC audio driver
this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for
palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test).
I sent it here some time ago, but now I got to fixing bugs in it. It should
be somehow mostly ok and ready for applying.
[Converted to use snd_soc_dapm_nc_pin() and bool Kconfig -- 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>
- sound: ASoC: Staticise pxa2xx_pcm_ops
It's not exported.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h
The optimal change would be to move the AC97 register definitions into
the AC97 driver, unfortunately, the registers are shared between several
files. Move them into a dedicated regs-ac97.h first.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
- sound: ASoC: Fix pxa2xx-pcm checks for invalid DMA channels
Set the invalid dma channel to -1 (and check properly for it) in
pxa2xx_pcm_hw_free(). Was assuming 0 is an invalid channel number but 0
is a valid pxa dma channel num.
Signed-off-by: stephen <stephen.ware@eqware.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: machine driver for Toshiba e750
This patch adds support for the wm9705 ac97 codec as used in the Toshiba e750
PDA. It includes support for powering up / down the external headphone and
speaker amplifiers on this machine.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Control Midlevel

- ALSA: Warn when control names are truncated
This is likely to confuse user interfaces since the end of the control
name is interpreted (eg, "Volume", "Switch").
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- saner FASYNC handling on file close
As it is, all instances of ->release() for files that have ->fasync()
need to remember to evict file from fasync lists; forgetting that
creates a hole and we actually have a bunch that *does* forget.
So let's keep our lives simple - let __fput() check FASYNC in
file->f_flags and call ->fasync() there if it's been set. And lose that
crap in ->release() instances - leaving it there is still valid, but we
don't have to bother anymore.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: add snd_ctl_add_slave_uncached()
Added snd_ctl_add_slave_uncached() function to add a slave element
with volatile controls. The values of normal slave elements are
supposed to be cachable, i.e. they are changed only via the put
callbacks. OTOH, when a slave element is volatile and its values may
be changed by other reason (e.g. hardware status change), the values
will get inconsistent.
The new function allows the slave elements with volatile changes.
When the slave is tied with this call, the native get callback is
issued at each time so that the values are always updated.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Jack Input Event Midlevel

- Define SW_JACK_PHYSICAL_INSERT for jack.c
Define SW_JACK_PHYSICAL_INSERT for jack.c when not defined in the kernel yet.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add SW_VIDEO_INSERT definition for older kernels
Fix build of jack.c with older kernels by defining SW_VIDEO_INSERT
manually.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix a typo for SW_VIDEOOUT_INSERT definition
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Add support for mechanical jack insertion
Some systems support both mechanical and electrical jack detection,
allowing them to report that a jack is physically present but does
not have any functioning connections. Add a new jack type for these,
allowing user space to report faulty connections.
Thanks to Guillem Jover for the suggestion.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Reduce boilerplate for new jack types
Use a lookup table rather than explicit code to map input subsystem jack
types into ASoC ones, implemented as suggested by Takashi Iwai.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add support for video out to the jack reporting API
Add support for reporting new jack types SND_JACK_VIDEOOUT and
SND_JACK_AVOUT (a combination of LINEOUT and VIDEOOUT) to the jack
reporting API.
Also add the corresponding SW_VIDEOOUT_INSERT switch to the input system
header.
Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PCM Midlevel

- saner FASYNC handling on file close
As it is, all instances of ->release() for files that have ->fasync()
need to remember to evict file from fasync lists; forgetting that
creates a hole and we actually have a bunch that *does* forget.
So let's keep our lives simple - let __fput() check FASYNC in
file->f_flags and call ->fasync() there if it's been set. And lose that
crap in ->release() instances - leaving it there is still valid, but we
don't have to bother anymore.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

RawMidi Midlevel

- ALSA: rawmidi - Add open check in rawmidi callbacks
The drivers (e.g. mtpav) may call rawmidi functions in irq handlers
even though the streams are not opened. This results in Oops or panic.
This patch adds the rawmidi state check before actually operating the
rawmidi buffers.
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()
Replace all tasklet_hi_schedule() callers with the normal
tasklet_schedule(). The former often causes troubles with
RT-kernels, and has actually no merit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Timer Midlevel

- saner FASYNC handling on file close
As it is, all instances of ->release() for files that have ->fasync()
need to remember to evict file from fasync lists; forgetting that
creates a hole and we actually have a bunch that *does* forget.
So let's keep our lives simple - let __fput() check FASYNC in
file->f_flags and call ->fasync() there if it's been set. And lose that
crap in ->release() instances - leaving it there is still valid, but we
don't have to bother anymore.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()
Replace all tasklet_hi_schedule() callers with the normal
tasklet_schedule(). The former often causes troubles with
RT-kernels, and has actually no merit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

T5 and LifeDrive

- sound: ASoC: Add Palm/PXA27x unified ASoC audio driver
this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for
palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test).
I sent it here some time ago, but now I got to fixing bugs in it. It should
be somehow mostly ok and ready for applying.
[Converted to use snd_soc_dapm_nc_pin() and bool Kconfig -- 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/Makefile

- sound: ASoC: Merge AT91 and AVR32 support into a single atmel architecture
The Ateml AT91 and AVR32 SoC share common IP for audio and can share the
same driver code using the atmel-ssc API provided for both architectures.
Do this, creating a new unified atmel ASoC architecture to replace the
previous at32 and at91 ones.
[This was contributed as a patch series for reviewability but has been
squashed down to a single commit to help preserve both the history and
bisectability. A small bugfix from Jukka is included.]
Tested-by: Jukka Hynninen <ext-jukka.hynninen@vaisala.com>
Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Ease merge difficulties from new architectures
Rather than listing lots of architectures per line in Kconfig and
Makefile, causing merge conflicts all the time, have one per line
in alphabetical order.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Add jack reporting interface
This patch adds a jack reporting interface to ASoC. This wraps the ALSA
core jack detection functionality and provides integration with DAPM to
automatically update the power state of pins based on the jack state.
Since embedded platforms can have multiple detecton methods used for a
single jack (eg, separate microphone and headphone detection) the report
function allows specification of which bits are being updated on a given
report.
The expected usage is that machine drivers will create jack objects and
then configure jack detection methods to update that jack.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/soc/codecs/Makefile

- sound: ASoC: Add support for TWL4030 audio codec
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add WM8728 codec driver
The WM8728 is a high performance stereo DAC designed for applications
such as DVD, home theatre and digital TV.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: UDA134x codec driver
Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add PCM3008 ALSA SoC driver
The PCM3008 is a 16-bit stereo audio codec. It accepts
left-justified format for ADC, and right-justified format
for DAC. Independent power-down modes for ADC and DAC are
provided, as well as a digital de-emphasis filter (4 modes).
[Merged Makefile & Kconfig, changed asm/gpio.h to linux/gpio.h -- broonie]
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Add WM8350 AudioPlus codec driver
The WM8350 is an integrated audio and power management subsystem which
provides a single-chip solution for portable audio and multimedia systems.
The integrated audio CODEC provides all the necessary functions for
high-quality stereo recording and playback. Programmable on-chip
amplifiers allow for the direct connection of headphones and microphones
with a minimum of external components. A programmable low-noise bias
voltage is available to feed one or more electret microphones.
Additional audio features include programmable high-pass filter in the
ADC input path.
This driver was originally written by Liam Girdwood with further updates
from me.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Driver for the WM9705 AC97 codec.
This driver adds support for the wm9705 ac97 codec. The driver supports
audio input and output.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/soc/pxa/Makefile

- sound: ASoC: Add PXA SSP support
The SSP ports PXA series processors can be used to implement a variety of
audio interface formats. This patch implements support for I2S, DSP A and
DSP B modes on these ports.
This patch is based on the previous out of tree pxa2xx-ssp driver (which
was originally written by Liam Girdwood with updates from Philipp Zabel
and Nicola Perrino) and pxa3xx-ssp driver (originally written by Seth
Forsee based on the pxa2xx-ssp driver). Testing coverage is not complete
currently.
Tested-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add Palm/PXA27x unified ASoC audio driver
this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for
palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test).
I sent it here some time ago, but now I got to fixing bugs in it. It should
be somehow mostly ok and ready for applying.
[Converted to use snd_soc_dapm_nc_pin() and bool Kconfig -- 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>
- sound: ASoC: Add Marvell Zylonite machine support
Implement support for the Marvell Zylonite PXA3xx reference platform,
supporting standard AC97 stereo and AUX interfaces together with the
auxiliary I2S interface of the WM9713.
The board has two options for the MCLK of the WM9713: either the standard
AC97 system clock can be used or the 13MHz CLK_POUT output of the PXA3xx
can be used, selected via SW15 on the board. Currently only the AC97
system clock is supported by this driver.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: machine driver for Toshiba e750
This patch adds support for the wm9705 ac97 codec as used in the Toshiba e750
PDA. It includes support for powering up / down the external headphone and
speaker amplifiers on this machine.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AC97 Codec

- sound: struct device - replace bus_id with dev_name(), dev_set_name()
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-By: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: cs5535audio: stick AD1888 bitshift values into a header file
We'd like to use the High Pass Filter and V_REFOUT bitshift values elsewhere,
so stick them into a ac97_codec.h.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ac97 - Add WM9715 to AC97 IDs
The WM9715 is software compatible with the WM9711 and WM9712.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

AC97 bus driver

- ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration
This fixes a sparse warning caused by the lack of a connection with the
prototype for ac97_bus_type.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

AD1816A driver

- ALSA: Convert to snd_card_create() in sound/isa/*
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AD1848 driver

- ALSA: remove direct access of dev->bus_id in sound/isa/*
Removed the direct accesses of dev->bus_id in sound/isa/* by replacement
with dev_err() or dev_warn() functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Convert to snd_card_create() in sound/isa/*
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AD1889 driver

- ALSA: Convert to snd_card_create() in sound/pci/*
Convert from snd_card_new() to the new snd_card_create() function
in sound/pci/*.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALI5451 driver

- ALSA: Convert to snd_card_create() in sound/pci/*
Convert from snd_card_new() to the new snd_card_create() function
in sound/pci/*.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALS100 driver

- ALSA: Convert to snd_card_create() in sound/isa/*
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALSA Version

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

ALSA sequencer

- ALSA: Add hrtimer backend for ALSA timer interface
Added the hrtimer backend for ALSA timer interface.
It can be used for the sequencer timer source.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

AMD InterWave driver

- ALSA: Return proper error code at probe in sound/isa/*
Some drivers in sound/isa/* don't handle the error code properly
from snd_card_create(). This patch fixes these places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ARM AACI PL041 driver

- ALSA: Convert to snd_card_create() in other sound/*
Convert from snd_card_new() to the new snd_card_create() function
in other sound subdirectories.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ARM PXA2XX driver

- Convert to snd_card_create()
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- [ARM] pxa: explicit #include <mach/dma.h> in various drivers
Where 'pxa_dma_desc' and 'pxa_{request,free}_dma' are referenced.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
- [ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h
The optimal change would be to move the AC97 register definitions into
the AC97 driver, unfortunately, the registers are shared between several
files. Move them into a dedicated regs-ac97.h first.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
- pxa2xx-ac97: switch AC unit to correct state before probing
If AC97 unit is in partially enabled state, early request_irq can trigger
IRQ storm or even full hang up. Workaround this by forcibly switching ACLINK off
at the start of the probe.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: Convert to snd_card_create() in other sound/*
Convert from snd_card_new() to the new snd_card_create() function
in other sound subdirectories.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ARM S3C24XX IIS driver

- Convert to snd_card_create()
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Adlib FM driver

- ALSA: remove direct access of dev->bus_id in sound/isa/*
Removed the direct accesses of dev->bus_id in sound/isa/* by replacement
with dev_err() or dev_warn() functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Convert to snd_card_create() in sound/isa/*
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Apple Onboard Audio driver

- sound: struct device - replace bus_id with dev_name(), dev_set_name()
[stripped sound/isa/* changes, replaced with the next patch -- tiwai]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Convert to snd_card_create() in other sound/*
Convert from snd_card_new() to the new snd_card_create() function
in other sound subdirectories.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-aoa: handle older machines
This patch changes snd-aoa to handle some older machines that are
currently handled by snd-powermac. snd-aoa has a number of advantages
though, notably it can autoload better and is generally a more modern
driver.
By hardcoding the accepted device-ids (last hunk of the patch) I'm
trying to avoid regressions because this driver will otherwise load
automatically and not let snd-powermac load. People who are unhappy
with snd-powermac and have a device-id property in the device tree
are encouraged to read this patch and make a patch to amend this as
appropriate.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-aoa: handle master-amp if present
Some machines have a master amp GPIO that needs to be toggled to
get sound output, in addition to speaker/headphone/line-out amps.
This makes snd-aoa handle it, if present in the device tree, thus
making snd-aoa be able to output sound on PowerMac3,6, which was
previously handled by snd-powermac which also doesn't use the
master amp GPIO.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Au12x0/Au1550 PSC ASoC

- ASoC: Register platform DAIs
Register all platform DAIs with the core. In line with current behaviour
this is done at module probe time rather than when the devices are probed
(since currently that only happens as the entire ASoC card is registered
except for those drivers that currently implement some kind of hotplug).
Since the core currently ignores DAI registration this has no practical
effect.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Register platform drivers
This is done at modprobe time, mirroring current behaviour, except for
mpc5200_psc_i2s where we do registration at the same time as we register
with soc-of-simple. Since the core currently ignores registration this
has no practical impact.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- remove lots of double-semicolons
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Acked-by: Mark Fasheh <mfasheh@suse.com>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: James Morris <jmorris@namei.org>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Avance Logic ALS300/300+ driver

- ALSA: Convert to snd_card_create() in sound/pci/*
Convert from snd_card_new() to the new snd_card_create() function
in sound/pci/*.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

CA0106 driver

- Regenerate ca0106_main.patch
Regenerated ca0106_main.patch for PM addition.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Add power-management support
Added the missing PM support for snd-ca0106 driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Check return value of pci_enable_device() in resume
The return value of pci_enable_device() must be checked even in resume
callback:
sound/pci/ca0106/ca0106_main.c:1779: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 Add comments to snd_ca0106_details struct
Takashi wrote an email [1] explaining the fields of snd_ca0106_details,
so I captured the information into the ca0106.h header file.
[1] http://article.gmane.org/gmane.linux.alsa.devel/56783/match=takashi+gpio_type
Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1
This patch removes an inconsistency that became apparent when I
documented the fields of snd_ca0106_details. spi_dac is always
used in a 'boolean' sense, so this cleanup should make no difference.
[Actually, there is one place checking explicitly spi_dac == 1, so
this will change the behavior. But, supposing it's rather a typo,
I apply this clean-up patch -- tiwai]
Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Don't override the values at resume
Don't override some values in ca0106_init_chip() at resume.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Add IEC958 PCM Stream controls
Added "IEC958 PCM Stream" controls for the per-stream IEC958 status
bits. Using this instead of "IEC958 Default" is safer since the status
bits will be recovered to the default states after closing the PCM
stream.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Fix typo in resume code
The register and channel_id pair were twisted in the pm code...
Oh my.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Check ac97 availability at PM
Check the availability of ac97 at PM suspend/resume callbacks.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - Add missing card->private_data initialization
Added the missing card->private_data initialization that caused obvious
problems at PM.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ca0106 - disable 44.1kHz capture
The capture with 44.1kHz on ca0106 seems to cause loud noises on
later playbacks, which doesn't support 44.1kHz. A simple fix is to
disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with
48kHz.
Reference: Novell bnc#447624
https://bugzilla.novell.com/show_bug.cgi?id=447624
Signed-off-by: Takashi Iwai <tiwai@suse.de>

CMI8788 (Oxygen) driver

- ALSA: oxygen: add Claro halo support
Add support for the HT-Omega Claro halo (XT).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X
On the Asus Xonar D2 and D2X models, the SPI chip select signal for the
fourth DAC shares its pin with the serial clock for the EEPROM that
contains the PCI subdevice ID values. It appears that when DAC
registers are written and some other unknown conditions occur (probably
noise on the EEPROM's chip select line), the EEPROM gets overwritten
with garbage, which makes it impossible to properly detect the card
later.
Therefore, we better avoid DAC register writes and make sure that the
driver works with the DAC's registers' default values. Consequently,
the sample format is now I2S instead of left-justified (no user-visible
change), and the DAC's volume/mute registers cannot be used anymore
(volume changes are now done by the software volume plugin).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

CS4231 driver

- ALSA: remove direct access of dev->bus_id in sound/isa/*
Removed the direct accesses of dev->bus_id in sound/isa/* by replacement
with dev_err() or dev_warn() functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

CS4236+ driver

- ALSA: remove direct access of dev->bus_id in sound/isa/*
Removed the direct accesses of dev->bus_id in sound/isa/* by replacement
with dev_err() or dev_warn() functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Return proper error code at probe in sound/isa/*
Some drivers in sound/isa/* don't handle the error code properly
from snd_card_create(). This patch fixes these places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

CS46xx driver

- ALSA: Fix a compile warning in cs46xx_lib.c
Fix a build warning
sound/pci/cs46xx/cs46xx_lib.c:3643: warning: unused variable ‘i’
when CONFIG_SND_CS46XX_NEW_DSP=n.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

CS5535 driver

- Add pci/cs5535audio/cs5535audio_olpc.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: cs5535audio: turn off PCM properly if closing the audio device
As per <http://dev.laptop.org/ticket/1420>, we need to properly turn off
the PCM if we're closing the device in order to save power. This also
causes the MIC led to turn off properly.
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: suspend/resume callbacks are only defined with CONFIG_PM
snd_cs5535audio_suspend and snd_cs5535audio_resume are only defined when
CONFIG_PM is set; make that clear in the header file.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ALSA: cs5535audio: OLPC analog input support
This is a 2nd cut at adding support for OLPC analog input.
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ALSA: cs5535audio: Use OLPC/Geode basic infrastructure
Use basic infrastructure code; geode_gpio* (rather than indexed i/o
EC access), and do an OLPC machine check in olpc_quirk.
[dilinger@debian.org: don't return failure in olpc_quirks if !OLPC]
[dilinger@debian.org: drop the <B2 workarounds; those machines are EOL'd]
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ALSA: cs5535audio: invert EAPD for OLPC (newer than B3)
Fix an audible pop described in <http://dev.laptop.org/ticket/977>. Originally
based upon fixes by Mitch Bradley and Chris Ball.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ALSA: cs5535audio: drop ec_analog_input flag for OLPC stuff
This is no longer necessary, as we're no longer doing indexed i/o commands.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: decouple HPF from V_REFOUT in OLPC code
We shouldn't be touching V_REFOUT when we toggle HPF/analog input, so just
drop that code.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: create function for setting OLPC's Analog Input mode
Clean this stuff up a bit..
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: rename OLPC's analog input control && drop AD1888's HPF
Previously, we had two separate controls; there's no need to have AD1888's
HPF control, so drop it if we're on an OLPC machine. Also, as per Arjun's
request, rename OLPC's Analog Input Switch control to "DC Mode Enable".
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: check OLPC's Analog Input status vis GPIO
Checking the HPF register is irrelevant; HPF is secondary to the AI mode.
Instead, check for Analog Input mode via GPIO.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: enable OLPC's V_REFOUT bias when recording
The OLPC has a privacy light hooked up in series with the microphone's
V_Ref bias. We want to activate the bias while we are capturing audio.
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ALSA: cs5535audio: rename V_REFOUT control to MIC Bias
This drops the AD1888 V_REFOUT control, and replaces it with a MIC Bias
Enable control. It also moves the MIC bias enabling into a separate
function.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: for OLPC, default to Analog Input being off
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: turn off mic bias on OLPCs by default
Always turn off mic bias; the MIC LED should never come on when the
driver is first loaded.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: clean up OLPC code
- add copyright info to _olpc.c
- minor layout fixes
- make Makefile more concise
- silence a warning
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535audio: ensure MIC Bias/Analog Input bail if not on an OLPC machine
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: cs5535 - Make OLPC-stuff depending on MGEODE_LX
The GPIO stuff for OLPC in cs5535audio_olpc.c is implemented only for
Geode-LX, and enabled only when CONFIG_MGEODE_LX=y. Without this
config option, the driver gets build errors.
This patch adds a workaround to make it dependent on CONFIG_MGEODE_LX.
Ideally, the OLPC-GPIO stuff should be implemented in a way
independent from CPU type selection...
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Conexant Riptide driver

- ALSA: Reduce stall detection timeout in riptide.c
Reduce the command timeout to 0.5sec. Should be enough to allow a
working command interface but removes a RCU stall and slow resume on
some revisions where the AC97 revision detection stalls in resume.
Signed-off-by: Peter Gruber <nokos@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Digigram PCXHR driver

- Add build stub for pcxhr_mix22.c
For updates of PCXHR driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- pcxhr: fix pcxhr_mix22.c compilation for 2.4 kernels
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/pci/pcxhr/pcxhr.c: introduce missing kfree and pci_disable_device
Error handling code following a kzalloc should free the allocated data.
The error handling code is adjusted to call pci_disable_device(pci); as
well, as done later in the function
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,l;
position p1,p2;
expression *ptr != NULL;
@@
(
if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
|
x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
)
<... when != x
when != if (...) { <+...x...+> }
x->f = E
...>
(
return \(0\|<+...x...+>\|ptr\);
|
return@p2 ...;
)
@script:python@
p1 << r.p1;
p2 << r.p2;
@@
print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: pcxhr - add support for pcxhr stereo sound cards
- Add support for pcxhr stereo cards
- do some clean up
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcxhr - add support for pcxhr stereo sound cards (core change)
- Add support for pcxhr stereo cards
- minor bugfixes : period and buffer size consraints
- fix PLL register values
- do some clean up
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcxhr - add support for pcxhr stereo sound cards (firmware support)
- Add support for pcxhr stereo cards and their firmware
- autorize sound cards without analog IO
- do some cleanup
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcxhr - add support for pcxhr stereo sound cards (mixer part)
- add support for pcxhr stereo cards mixer controls
- adjust tlv db scales to real dBu values
- fix bug with monitoring volume control pcxhr_monitor_vol_put
- do some cleanup
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free
The function snd_mixart_create creates a link between mgr and card that
allows snd_mixart_free to free card as well. But if snd_mixart_create
fails, then the link has not been created and card has to be freed explicitly.
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
statement S,S1;
position p1,p2,p3;
expression E,E1;
type T,T1;
expression *ptr != NULL;
@@
(
if ((x@p1 = snd_card_new(...)) == NULL) S
|
x@p1 = snd_card_new(...);
)
... when != snd_card_free(...,(T)x,...)
when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> }
when != true x == NULL || ...
when != x = E
when != E = (T)x
when any
(
if (x == NULL || ...) S1
|
if@p2 (...) {
... when != snd_card_free(...,(T1)x,...)
when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> }
when != x = E1
when != E1 = (T1)x
(
return \(0\|<+...x...+>\|ptr\);
|
return@p3 ...;
)
}
)
@ script:python @
p1 << r.p1;
p3 << r.p3;
@@
print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: pcxhr - change firmware filenames
- compatibility issue : change firmware filenames
the pcxhr driver version <= 1.0.18a does not work
with new firmware > 1.0.17. Keep the old firmware files
and add new firmware files with different names
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Digigram VX Pocket driver

- ALSA: Return proper error code at probe in sound/pcmcia/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Digigram VX core

- ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()
Replace all tasklet_hi_schedule() callers with the normal
tasklet_schedule(). The former often causes troubles with
RT-kernels, and has actually no merit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Documentation

- ALSA: hda - Add ALC299 fujitsu preset model
Added a preset model for FSC Amilo with ALC269 codec chip.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add ASUS V1Sn support
Asus V1s series laptops have an ALC660VD with PCI id: 0x1043, 0x1633.
1.) remove the previous behaviour of mapping that to the ALC861VD_LENOVO
device.
2.) add a new ALC660VD_V1S device based on ALC861VD_LENOVO, with an
added digital out.
Signed-off-by: Tristan Aston <astrotris@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Split ALC268 acer model
There are actually two variants of ALC268 Acer implementation, one
with an analog built-in mic (pin 0x19) and another with a digital
mic (pin 0x12). Created a new model, acer-dmic, for the latter case
now.
So far, all known models are assigned to be analog-mic, according to
the BIOS setup. If this doesn't match with the actual case, one needs
to try model=acer-dmic, and fix the entry to point ALC268_ACER_DMIC
if it works.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptop
Added Realtek ALC888 model entry for the Acer Aspire 4930G laptop that
fixes the following features:
- internal microphone
- heaphone jack sense
- channel mode
Signed-off-by: Vincent Petry <PVince81@yahoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - make laptop-eapd model back for AD1986A
The changes specific for Samsung laptops seem unapplicable to other
hardware models like ASUS. The mic inputs are lost on such hardware
by the change 5d5d5f43f1b835c375de9bd270cce030d16e2871.
This patch adds back the old laptop-eapd model, and create a new
model "samsung" for the new one specific to Samsung laptops with
automatic mic selection feature.
Reference: kernel bugzilla #12070
http://bugzilla.kernel.org/show_bug.cgi?id=12070
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Add STAC_DELL_M4_3 quirk
Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the
board config switch to assign number of digital muxes, microphones,
and SPDIF muxes via the PCI quirk defined.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Rename snd_soc_card to snd_soc_machine
One of the issues with the ASoC v1 API which has been addressed in the
ASoC v2 work that Liam Girdwood has done is that the ALSA card provided
by ASoC is distributed around the ASoC structures. For example, machine
wide data such as the struct snd_card are maintained as part of the
CODEC data structure, preventing the use of multiple codecs. This has
been addressed by refactoring the data structures so that all the data
for the ALSA card is contained in a single structure snd_soc_card which
replaces the existing snd_soc_machine and snd_soc_device.
Begin the process of backporting this by renaming struct snd_soc_machine
to struct snd_soc_card, better reflecting its function and bringing it
closer to standard ALSA terminology.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Fix typo in snd_soc_card update documentation
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: hda - document the ELD proc interface
Describe what ELD proc interface provides and how to fix incorrect values.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530
This patch fixes the bug 0004240: ALC888 - Intel HDA - Headphone Controlling.
It is made against the 2008-11-23 snapshot.
Added Realtek ALC888 model entry for the Fujitsu-Siemens Amilo Xa3530
laptop. It has 4 jacks: HP out, Mic-in, Line-in and Line-out/Side/SPDIF
(this one is on the laptop side, the other ones are on the rear).
Model detection works.
Headphone jack sense works now.
Front mic works now, was same as Acer Aspire 4930G.
Added channel mode from 2 to 8 channels.
In 2ch and 4ch modes, the front is also sent to the Line-out/side jack
for convenience instead of just muting the Line-out/side jack like other
models do.
When using the Mic-in jack as CLFE, the sound is very low (bug?). To
work it around, in 6ch mode the CLFE channel is duplicated to the
Line-out/side jack because this one has a better amp.
Cc: manu@frogged.de
Signed-off-by: Vincent Petry <PVince81@yahoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Check model for Dell 92HD73xx laptops
Check the model type instead of PCI SSID for detection of the mic types
on Dell laptops with IDT 92HD73xx codecs. In this way, a new laptop
can be tested via model module option.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: oxygen: add Claro halo support
Add support for the HT-Omega Claro halo (XT).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- ALSA: Add more documentation about HD-audio driver
The file can be converted to PDF via asciidoc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add reference to HD-Audio.txt in ALSA-Configuration.txt
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Updates about bug-reporting in ALSA-Configuration.txt
Updated the information about bug-reporting for HD-audio.
Mentioned alsa-info.sh and kernel bugzilla. Removed ALSA BTS address
not to flood the unhandled reports any more.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Update documentation
Minor typo-fixes and improvements on HD-Audio.txt.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Update HD-Audio.txt
Fixed typos and added a section about codecgraph.
Thanks to Vedran Miletić and Daniel T Chen for suggestions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix another typo in HD-Audio.txt
- ALSA: hda - Add development tree URLs in HD-audio.txt
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix silent HP output on D975
Some desktops seems to have no HP/mic jack detection on the front panel,
which results in the silent output in the recent driver, because the
driver mutes the output (to save power) when no plug is detected.
This patch adds a new model that disables the jack-detection.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add no-jd model for IDT 92HD73xx
Added the model without the jack-detection for some desktops that
have really no jack-detection. The recent driver caused regressions
regarding the sound output on such machines.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: split HD-audio model list to HD-Audio-Models.txt
Split the list of model option values to a separate file,
HD-Audio-Models.txt, from ALSA-Configuration.txt.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix HD-Audio.txt reference of model list
The model list is now in HD-Audio-Models.txt.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add probe_only option
Added probe_only module option to hd-audio driver.
This option specifies whether the driver creates and initializes the
codec-parser after probing. When this option is set, the driver skips
the codec parsing and initialization but gives you proc and other
accesses. It's useful to see the initial codec state for debugging.
The default of this value is off, so the default behavior is as same
as before.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Update model descriptions in patch_sigmatel.c
Update models in patch_sigmatel.c, mainly for the last Gateway updates.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: dapm: Allow explictly named mixer controls
This patch allows you to define the mixer paths as having the same name as the
paths they represent.
This is required to support codecs such as the wm9705 neatly without extra
controls in the alsa mixer.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Update description of snd_card_create() in documents
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

EMU10K1/EMU10K2 driver

- ALSA: emu10k1 - Add more invert_shared_spdif flag to Audigy models
Reported in Novell bnc#440862:
https://bugzilla.novell.com/show_bug.cgi?id=440862
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: emu10k1 - Add capture boost mixer switch for Audigy
Due to the conversion (drop) from 24bit in the DSP to 16bit in AC97,
the maximum capture level on Audigy seems lower than it could be.
This patch adds a workaround to enable the artificial capture boost
switch. When this switch is on, the whole analog capature level is
boost up. However, this results in the lower capture resolution.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ES18xx driver

- ALSA: Return proper error code at probe in sound/isa/*
Some drivers in sound/isa/* don't handle the error code properly
from snd_card_create(). This patch fixes these places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

FM801 driver

- Fix fm801.patch and tea575-tuner.patch for V4L2 changes
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Generic drivers

- Add a wrapper for ns_to_ktime() for drivers/pcsp/pcsp_lib.c
Simply use ktime_set(), assuming it's 32bit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add HRTIMER_CB_IRQSAFE_UNLOCKED wrapper for 2.6.26 and older for pcsp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix pcsp.c for 2.6.26 or older kernels
HRTIMER_CG_IRQSAFE_UNLOCKED is used rather in this code...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Enable pcsp driver on 2.6.27 or later only
... due to hrtimer API change, until someone fixes it right.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aloop - Remove unnecessary typedefs
Remove unnecessary typedefs of structs. Use struct explicitly to follow
the standard coding style.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aloop - A little clean-ups
- Use the substream pointer as the busy flag as well for the cable
- Remove unnecessary zero-initialization
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aloop - Misc coding-style fixes
Just a few coding-style fixes; no functional changes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aloop - Rewrite to platform driver
- Rewrite the core code to use platform driver
- Remove snd_* prefix from local functions for better redability
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aloop - Remove superfluous spinlock
dpcm->lock doesn't help really anything useful, so better to remove it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- aloop - Almost copmlete rewrite
The current design of aloop is broken -- sharing the same buffer on
both playback and capture does't work. The "available" area of the
playback buffer can be changed at any time by apps while the capture
apps need to read that area as the recorded samples. In addition,
the unsynchronous period updates make thing more worse.
This is a almost complete rewrite of aloop; the aloop creates the
buffer for each direction, and does copy samples from the playback
to the capture to avoid data corruption.
The timer update code is changed to be more adaptive; it's updated
only at period boundary or the position is asked. This will reduce
the wake-up time quite a lot.
The both streams are supposed to be synchronos; for that, the second
stream is started actually at the same irq-update timing. This may
need a bit more work, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build of hrtimer-related codes with older kernels
Initialize hrtimer cb_mode for older kernels.
This was removed in 2.6.29.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Convert to snd_card_create()
Convert from snd_card_new() to the new snd_card_create() function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Fix PIT lockup on some chipsets when using the PC-Speaker
Fix PIT lockup on some chipsets when using the PC-Speaker.
Signed-off-by: Zoltan Devai <zdevai@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: struct device - replace bus_id with dev_name(), dev_set_name()
[stripped sound/isa/* changes, replaced with the next patch -- tiwai]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: pcsp - Use HRTIMER_CB_IRQSAFE_UNLOCKED
HRTIMER_CB_IRQSAFE was removed in the upstream.
Try to use HRTIMER_CB_IRQSAFE_UNLOCKED instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- hrtimer: removing all ur callback modes
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: pcsp - Fix starting the stream with HRTIMER_CB_IRQSAFE_UNLOCK
With the callback mode HRTIMER_CB_IRQSAFE_UNLOCK, the start of the
stream with zero delay doesn't work. Since IRQSAFE mode is removed,
we have to change the pcsp start-up code.
This patch splits the callback function to two parts, the triggering
of the port and the calculation of the expire time, and the update of
the ALSA PCM core. The first part is called both from the trigger-start
and the hrtimer callback while the latter is handled only in the
hrtimer callback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVE
It's mature enough now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

HDA Codec driver

- Add the build stub for pci/hda/patch_intelhdmi.c
- Fix build of hda_codec.c
Remove hda_codec.patch since the driver is now only for 2.6 kernels
and no more patches needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Restore default pin configs for realtek codecs
Some machines have broken BIOS resume that doesn't restore the default
pin configuration properly, which results in a wrong detection of HP
pin. This causes a silent speaker output due to missing HP detection.
Related bug: Novell bug#406101
https://bugzilla.novell.com/show_bug.cgi?id=406101
This patch fixes the issue by saving/restoring the default pin configs
by the driver itself.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add another HP model for AD1884A
Added a quirk entry for another HP mobile device with AD1884A codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: Add HDA vendor ID for Wolfson Microelectronics
Add Wolfson Microelectronics to the HDA vendor ID table.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix SPDIF mute on IDT/STAC codecs
The SPDIF mute switch code seems broken. It doesn't set unmute bits
properly. Also it contains the duplicated lines (merge error?) to be
cleaned up.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Disable broken mic auto-muting in Realtek codes
The recent addition of automatic mic-muting is broken in some cases.
The code assumes that the pin nids <= 0x18, but the digital pins can
be less than 0x18.
Also, it assumes the front-mic being the internal mic, but it depends
on the hardware implementation actually.
Instead of complex case-fixes, better to disable the code as now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add digital-mic for ALC269 auto-probe mode
The digital mic wasn't detected properly for ALC269 auto-probing mode
because of its widget number. Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
Added a quirk for another Acer Aspier laptop (1025:0090) with ALC883
codec. Reported in Novell bnc#426935:
https://bugzilla.novell.com/show_bug.cgi?id=426935
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: make a STAC_DELL_EQ option
Add support for explicitly enabling the EQ distortion hack for
systems without software biquad support.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use macros to check array overflow
Use macro to add mixer and verb elements to check the possible
array overflow.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Unify capture callbacks in realtek codes
Unify the capture callbacks in patch_realtek.c.
The difference of matrix or mux style is checked via spec->is_mix_capture
flag.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Unify capture mixer creation in realtek codes
Unified the capture mixer creation in patch_realtek.c.
ALC268 is still an exception since it has no AMP in ADC but in
MUX widget.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Re-add input-source control for Realtek
Re-added again "Input Source" control that was removed mistakenly
in the previous patchset.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add ALC299 fujitsu preset model
Added a preset model for FSC Amilo with ALC269 codec chip.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix missing ADC list in ALC260 auto-probe mode
The commit f9e336f65b666b8f1764d17e9b7c21c90748a37e
ALSA: hda - Unify capture mixer creation in realtek codes
removed the ADC check for ALC260 auto-probe mode accidentally.
Re-added to patch_alc260() again.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix possible NULL dereference
Add NULL-check of the return value of snd_kctl_new1() before
accessing it. Also, make a sanity NULL check to snd_BUG_ON()
for debugging only.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Don't create empty PCM streams
Due to the hda-reconfiguration patches, the check of empty stream
is gone, and this results in an error with the codec setup with empty
streams.
This patch adds the check again to avoid the error at probing.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Intel HDMI audio support
Add support for Intel G45 integrated HDMI audio codecs.
This initial release supports:
- 2 channel stereo sound output
- report monitor's ELD information
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix unused function in patch_intelhdmi.c
Add a proper ifdef to shut out a compile warning:
CC [M] sound/pci/hda/patch_intelhdmi.o
sound/pci/hda/patch_intelhdmi.c:286: warning: ‘hdmi_get_dip_index’ defined but \
not used
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add ASUS V1Sn support
Asus V1s series laptops have an ALC660VD with PCI id: 0x1043, 0x1633.
1.) remove the previous behaviour of mapping that to the ALC861VD_LENOVO
device.
2.) add a new ALC660VD_V1S device based on ALC861VD_LENOVO, with an
added digital out.
Signed-off-by: Tristan Aston <astrotris@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add a quirk for MEDION MD96630
Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085)
with ALC888 codec.
Reference: Novell bnc#412548
https://bugzilla.novell.com/show_bug.cgi?id=412528
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Split ALC268 acer model
There are actually two variants of ALC268 Acer implementation, one
with an analog built-in mic (pin 0x19) and another with a digital
mic (pin 0x12). Created a new model, acer-dmic, for the latter case
now.
So far, all known models are assigned to be analog-mic, according to
the BIOS setup. If this doesn't match with the actual case, one needs
to try model=acer-dmic, and fix the entry to point ALC268_ACER_DMIC
if it works.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - simplify hda_bus ops callbacks
The hda_bus ops callback take struct hda_bus pointer.
Also, the command callback takes the composed command word, instead of
each small bits in arguments.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add lifebook model for Realtek ALC269
The widget layout of the Fujitsu Lifebook S6420 (which is ICH9M-based
and uses an ALC269) is similar but not identical to the Lifebook
S6410/E8410 (which are ICH8M-based and use an ALC262).
It is named lifebook as fujitsu is in use for Amilo machines. This builds
on the Quanta FL1 work and supports all analog inputs & outputs that I am
aware of. Microphone autoswitch is implemented. The laptop mic port takes
precedence over the dock mic port if both happen to have a jack plugged in.
This made sense to me as a design decision (imagine a presentation
environment with the dock fully wired in and the presenter quickly wanting
to override the mic with a headset).
There is mention of a digital audio path on the codec graph, so perhaps
the headphone socket is dual-function analog/digital. I will follow up
with another patch if I can acquire equipment to test this.
Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add missing NULL check in amp hash allocation
Added the missing NULL check from allocator in get_alloc_hash().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add max allocation check in array allocator
Added a check for max allocation size in snd_array_new() for a
debugging purpose.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix broken hash chain allocation
The chaining for amp hash got broken due to the rewrite with
snd_array. Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add another HP model (6730s) for AD1884A
Added model=laptop for another HP machine (103c:3614) with AD1884A
codec.
Signed-off-by: Michel Marti <mma@objectxp.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
Added a QUIRK to patch_analog.c for the HP Elitebook 8530p
(IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default.
Playback and Capture confirmed working.
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix ALC260 hp3013 master switch
The master switch doesn't influence on NID 0x15, the headphone jack
on HP 3013 model because alc260_hp_master_update() ignores the passed
arguments.
Also, corrected the wrong arguments of hp3013 (0x10 and 0x15) although
this doesn't change any behavior.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix another cache list management
Fix another silly bug in the amp cache list management.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add missing analog-mux mixer creation for STAC9200
The creation of analog-mux mixer element is missing in
patch_stac9200() due to the dynamic allocation patch.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix input pin initialization for STAC/IDT codecs
The input pins are sometimes not initialized properly because
of the optimization check of the current pinctl code.
Force to initialize the mic input pins so that they can be set up
properly even if they were in a weird state. But keep other input
pins if already set up as input, since this could be an extra mic
pin.
Reference: Novell bnc#443738
https://bugzilla.novell.com/show_bug.cgi?id=443738
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix IDT/STAC multiple HP detection
Due to the recent change for multiple HP as line-out switch, only
one of the multiple headphons (usually a wrong one) is toggled
and the other pins are still disabled. This causes the silent output
problem on some Dell laptops.
Also, the hp_switch check is screwed up when a line-in or a mic-in
jack exists. This is added as an additional output, but hp_switch
check doesn't take it into account.
This patch fixes these issues: simplify hp_switch check by using
the NID instead of bool, and clean up / fix the toggle of HP pins
in unsol event handler code.
Reference: Novell bnc#443267
https://bugzilla.novell.com/show_bug.cgi?id=443267
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Check model type instead of SSID in patch_92hd71bxx()
Check board preset model instead of codec->subsystem_id in
patch_92hd71bxx() so that other hardwares configured via the model
option work like the given model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()
Fixed the GPIO mask and co initialization in patch_stac92hd71bxx()
so that the gpio_maks for HP_M4 model is set properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirks for HP Pavilion DV models
Added the quirk entries for HP Pavilion DV5 and DV7 with model=hp-m4.
Reference: Novell bnc#445321, bnc#445161
https://bugzilla.novell.com/show_bug.cgi?id=445321
https://bugzilla.novell.com/show_bug.cgi?id=445161
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix resume of GPIO unsol event for STAC/IDT
Use cached write for setting the GPIO unsolicited event mask to be
restored properly at resume.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add digital beep playback switch for STAC/IDT codecs
The digital beep widget may have no mute control, and always enabling
the beep is ofen pretty annoying, especially on laptops.
This patch adds a mixer control "PC Beep Playback Switch" when there
is no mixer amp mute is found, and controls it on software.
Reference: Novell bnc#444572
https://bugzilla.novell.com/show_bug.cgi?id=444572
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: STAC_VREF_EVENT value change
Changed value for STAC_VREF_EVENT from 0x40 to 0x00 because the
unsol response value is only 6-bits width and the former value
was 1<<6 which is an overrun.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.c
Move the handling of SiI1392 HDMI codec from patch_atihdmi.c to
patch_intelhdmi.c, which makes our ASUS P5E-VM HDMI board work.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Support Headphone and Speaker volumes control on VAIO
Split the bound Master control to individual Headphone and Speaker
volume controls for VAIO with STAC982x codecs.
The Master controls is still created as a vmaster.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: alc883 model for ASUS P5Q-EM boards
Add a new alc883 model ALC1200_ASUS_P5Q for ASUS P5Q-EM boards.
It is the same as ALC883_6ST_DIG except that the SPDIF digital
output nid is 0x10.
Tested-by: Andrei Tanas <andrei@tanas.ca>
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: STAC_DELL_M6 EAPD
Add support for EAPD on system suspend and disabling EAPD on headphone jack
detection for STAC_DELL_M6 laptops.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda-intel: reorder HDMI audio enabling sequence
Reorder HDMI audio enabling sequence so that
1) the sink knows about the coming audio stream
2) unmute
3) start transferring audio samples
The theory is that in the path A=>B=>C, we first make C ready, and then
enable B, and lastly allow A to send audio samples.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: remove redundant get_amp_nid()
Remove get_amp_nid(): it duplicates the one defined in hda_local.h
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: create hda_eld.c for ELD routines and proc interface
ELD handling routines can be shared by all HDMI codecs,
and they are large enough to make a standalone source file.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ELD proc interface for HDMI sinks
Create /proc/asound/card<card_no>/eld#<codec_no> to reflect the audio
configurations and capabilities of the attached HDMI sink.
Some notes:
- Shall we show an empty file if the ELD content is not valid?
Well it's not that simple. There could be partially populated ELD,
and there may be malformed ELD provided by buggy drivers/monitors.
So expose ELD as it is.
- The ELD retrieval routines rely on the Intel HDA interface,
others are/could be universal and independent ones.
- How do we name the proc file?
If there are going to be two HDMI pins per codec, then the current naming
scheme (eld#<codec no>) will fail. Luckily the user space dependencies should
be minimal, so it would be trivial to do the rename if that happens.
- The ELD proc file content is designed to be easy for scripts and human reading.
Its lines all have the pattern:
<item_name>\t[\t]*<item_value>
where <item_name> is a keyword in c language, while <item_value> could be any
contents, including white spaces. <item_value> could also be a null value.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Create jack detection elements in build_controls
The jack detection input elements should be created in build_controls
callback instead of init callback because init can be called multiple
times by suspend/resume and power-saving.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Use init callback in stac92xx_resume()
Call the init callback and remove duplicated codes in stac92xx_resume().
This also fixes the missing initialization such as digital I/O pins.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecs
Fixed the restore of pin configs at resume for some STAC/IDT codec
models. These models set explicitly the pin configs after the default
init configs, and these aren't restored properly at resume.
This patch introduces two changes:
- Allocate always pin_configs array in stac_spec so that the driver
can overwrite the value freely
- Introduce stac_change_pin_config() to change the pin config value
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Allow multiple imux for matrix-type mixers of ALC codecs
Allow the multiple imux instances for matrix-type mixers like ALC882.
So far, only ALC260 used this feature, but other codecs may need a
similar stuff.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptop
Added Realtek ALC888 model entry for the Acer Aspire 4930G laptop that
fixes the following features:
- internal microphone
- heaphone jack sense
- channel mode
Signed-off-by: Vincent Petry <PVince81@yahoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: make standalone hdmi_fill_audio_infoframe()
code refactor: make a standalone function hdmi_fill_audio_infoframe().
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: HDMI channel allocations for audio infoframe
To play a 3+ channels LPCM/DSD stream via HDMI,
- HDMI sink must tell HDMI source about its speaker placements
(via ELD, speaker-allocation field)
- HDMI source must tell the HDMI sink about channel allocation
(via audio infoframe, channel-allocation field)
(related docs: HDMI 1.3a spec section 7.4, CEA-861-D section 7.5.3 and 6.6)
This patch attempts to set the CA(channel-allocation) byte in the audio infoframe
according to
- the number of channels in the current stream
- the speakers attached to the HDMI sink
A channel_allocations[] line must meet the following two criteria to be
considered as a valid candidate for CA:
1) its number of allocated channels = substream->runtime->channels
2) its speakers are a subset of the available ones on the sink side
If there are multiple candidates, the first one is selected. This simple
policy shall cheat the sink into playing music, but may direct data to the
wrong speakers.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: HDMI channel mapping cleanups
Refactor the channel mapping code for consistent naming
and make it more informed about channel allocations.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: EAPD mute on suspend
Moved support for EAPD mute on suspend from stac92hd71xx_suspend
to the generic stac92xx_suspend function.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: minor code cleanups
Some minor code cleanups.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: rename sink_eld to hdmi_eld
Rename struct sink_eld to hdmi_eld.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - make laptop-eapd model back for AD1986A
The changes specific for Samsung laptops seem unapplicable to other
hardware models like ASUS. The mic inputs are lost on such hardware
by the change 5d5d5f43f1b835c375de9bd270cce030d16e2871.
This patch adds back the old laptop-eapd model, and create a new
model "samsung" for the new one specific to Samsung laptops with
automatic mic selection feature.
Reference: kernel bugzilla #12070
http://bugzilla.kernel.org/show_bug.cgi?id=12070
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Add STAC_DELL_M4_3 quirk
Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the
board config switch to assign number of digital muxes, microphones,
and SPDIF muxes via the PCI quirk defined.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add a quirk for Dell Studio 15
Added the matching model=dell-m6 for Dell Studio 15 laptop.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix double free of jack instances
The jack instances created in patch_sigmatel.c may be double-freed.
The device management code checks the invalid element, and thus there
is no real breakage, but it spews annoying warning messages.
But, we can't simply remove the release calls of these jack instances
because they have to be freed when the codec is re-configured.
Now, a new flag, bus->shutdown is introduced to indicate that the bus
is really being unloaded, i.e. the objects managed by the device
manager will be automatically deleted. We release these objects only
when this flag isn't set.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Release ELD proc file
Release ELD proc file when reconfigured so that no leak occurs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - fix sparse warning
Fix the following sparse warning:
sound/pci/hda/patch_nvhdmi.c:161:25: warning: symbol
'snd_hda_preset_nvhdmi' was not declared. Should it be static?
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - mark Dell studio 1535 quirk
Fixed the quirk string for Dell studio 1535 (the product name wasn't
published at the time the patch was made).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix build without CONFIG_PROC_FS
snd_print_pcm_rates() and snd_print_pcm_bits() are used by both
hda_proc.c and hda_eld.c, thus they have to be defined in the common
place.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - minor HDMI code cleanups
Some minor code cleanups.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - report selected CA index for Audio InfoFrame
Print some CA selecting info, which could be valuable for debugging when
something goes wrong.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - make HDMI messages more user friendly
- make some messages more user friendly
- add message prefix "HDMI:" to indicate the problem's domain
(also easier to do `dmesg | grep HDMI` ;-)
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - No 'Headphone as Line-out' swich without line-outs
STAC/IDT driver creates "Headphone as Line-Out" switch even if there
is no line-out pins on the machine. For devices only with headpohnes
and speaker-outs, this switch shouldn't be created.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530
This patch fixes the bug 0004240: ALC888 - Intel HDA - Headphone Controlling.
It is made against the 2008-11-23 snapshot.
Added Realtek ALC888 model entry for the Fujitsu-Siemens Amilo Xa3530
laptop. It has 4 jacks: HP out, Mic-in, Line-in and Line-out/Side/SPDIF
(this one is on the laptop side, the other ones are on the rear).
Model detection works.
Headphone jack sense works now.
Front mic works now, was same as Acer Aspire 4930G.
Added channel mode from 2 to 8 channels.
In 2ch and 4ch modes, the front is also sent to the Line-out/side jack
for convenience instead of just muting the Line-out/side jack like other
models do.
When using the Mic-in jack as CLFE, the sound is very low (bug?). To
work it around, in 6ch mode the CLFE channel is duplicated to the
Line-out/side jack because this one has a better amp.
Cc: manu@frogged.de
Signed-off-by: Vincent Petry <PVince81@yahoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix caching of SPDIF status bits
SPDIF status bits controls are written via snd_hda_codec_write()
without caching. This causes a regression at resume that the bits
are lost.
Simply replacing it with the cached version fixes the problem.
Reference:
http://lkml.org/lkml/2008/11/24/324
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for MSI 7260 mobo
Added preset model=targa-dig for MSI 7260 mobo.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Check model for Dell 92HD73xx laptops
Check the model type instead of PCI SSID for detection of the mic types
on Dell laptops with IDT 92HD73xx codecs. In this way, a new laptop
can be tested via model module option.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Assign unsol tags dynamically in patch_sigmatel.c
Since we need to handle many unsolicited events assigned to different
widgets, allocate the event dynamically using the existing events
array, and use the tag appropriately instead of combination of fixed
number and widget nid. (Note that widget nid can be over 4 bits!)
Also, replaced the call of unsol_event handler with a dedicated
function to be more readable.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix AFG power management on IDT 92HD* codecs
The AFG pin power-mapping isn't properly set for the fixed I/O pins
on IDT 92HD* codecs. This resulted in the low power mode after the
boot until any jack detection is executed, thus no output from the
speaker.
This patch fixes the power mapping for the fixed pins, and also fixes
the GPIO bits and digital I/O pin settings properly in stac92xx_ini().
Reference: Novell bnc#446025
https://bugzilla.novell.com/show_bug.cgi?id=446025
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: sound/pci/hda/hda_codec.c: cleanup kernel-doc
There is no argument named @state in snd_hda_resume,
remove its' comment.
Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - make some functions static
Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and
make static. Also, make snd_hda_query_supported_pcm() static
as it's used only in hda_codec.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Move power_save option to hda_intel.c
Move power_save option into hda_intel.c, and make a field in hda_bus,
instead of keeping module parameters in separate files.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix PCM reconfigure
The reconfiguration of PCM affected all PCM streams on the bus, but
this this should be done rather only for the target codec.
This patch does the following:
- introduce bitmap indicating the PCM device usages on a hda_bus
- refactor the PCM build functions
- fix __devinit prefix in some fucntions
- add a proper ifdef around HDA-reconfig-specific functions
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix creation of automatic capture mixers
Fixed a wrong boundary check of num_adc_nids in set_capture_mixer()
in patch_realtek.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Modularize HD-audio driver
Split the monolithc HD-audio driver into several pieces:
- snd-hda-intel HD-audio PCI controller driver; loaded via udev
- snd-hda-codec HD-audio codec bus driver
- snd-hda-codec-* Specific HD-audio codec drivers
When built as modules, snd-hda-codec (that is invoked by snd-hda-intel)
looks up the codec vendor ID and loads the corresponding codec module
automatically via request_module().
When built in a kernel, each codec drivers are statically hooked up
before probing the PCI.
This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module
information for each driver, and driver-linking codes between
codec-bus and codec drivers.
TODO:
- Avoid EXPORT_SYMBOL*() when built-in kernel
- Restore __devinit appropriately depending on the condition
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add codec-specific proc hook
Added a hook for proc outputs of codec-specific stuff.
Moved realtek-specific coeff output into patch_realtek.c as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove unused proc entry in hda_bus struct
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add IDT/STAC-specific proc output
Added power-map and analog-loopback information to proc output for
IDT/STAC codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Clear codec->proc_widget_hook at reset
Clear the remaining pointer at snd_hda_codec_reset() to avoid Oops.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for Sony VAIO VGN-SR19XN
Added model=sony-assamd for Sony VAIO VGN-SR19XN with ALC262 codec.
Reference: Novell bnc#450080
https://bugzilla.novell.com/show_bug.cgi?id=450080
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Check MODULE instead of CONFIG_SND_HDA_INTEL_MODULE
Checking MODULE is more generic.
Also a cosmetic comment change.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Don't export symbols when built-in kernel
The global functions in hda_codec.c and other core parts are only
for HD-audio codec and controller drivers. When the HD-audio driver
is built in kernel, all stuff have to be statically linked, thus
we don't need any exports.
This patch introduces a conditional macro to do export only
when needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use amp cache for SPDIF mute controls in patch_sigmatel.c
The amp switch of SPDIF outputs have to be cached in the amp cache
instead of codec cache. Otherwise it conflicts with the IEC958
playback switch control in hda_codec.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove unnecessary caches for power states in patch_sigmatel.c
The power-state changes in patch_sigmatel.c are accessed via *_cached()
but they shouldn't be really cached. Fixed to the normal write.
Also, stac92hd71xx_suspend and resume are no longer necessary as the
power-state changes are handled properly in the common routine.
Removed these hacks now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add MCP67 HDMI support
Added id for MCP67 HDMI codec.
Signed-off-by: Scott Waye <scott@waye.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add forgotten module alias for Nvidia MCP67 HDMI
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix pin-detection in patch_sigmatel.c
The pin-detection function used in patch_sigmatel.c shouldn't be specific
to HP pin because it's used for input pins in general, too.
This patch fixes the detection function, removes the HP check from it
and moves to stac92xx_hp_detect().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Proper power-map toggling for input pins
The current code overrides the event type on input pins always to
PWR_EVENT. Although this still works (PWR_EVENT and INSERT_EVENT
are handled samely), it'd be better to avoid such overrides.
Also, currently the unsol events are registered even for fixed pins
which will never raise the pin-detection event.
This patch fixes both issues.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for HP6730B laptop
Added model=laptop for HP 6730B laptop with AD1984A codec.
Reference: Novell bnc#457909
https://bugzilla.novell.com/show_bug.cgi?id=457909
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
- ALSA: hda - Add Nvidia vendor id string
Added Nvidia (0x10de) to the vendor id list.
Cleaned up the codec name strings accordingly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix silent HP output on D975
Some desktops seems to have no HP/mic jack detection on the front panel,
which results in the silent output in the recent driver, because the
driver mutes the output (to save power) when no plug is detected.
This patch adds a new model that disables the jack-detection.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add Intel vendor id string
Added Intel codec vendor id string (0x8086).
Also fixed Intel-HDMI codec name strings, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove duplicated strings from codec name
Remove codec vendor names from the codec name strings.
The vendor name is already given from the vendor name table, so
displayed doubly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add no-jd model for IDT 92HD73xx
Added the model without the jack-detection for some desktops that
have really no jack-detection. The recent driver caused regressions
regarding the sound output on such machines.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add quirk for Dell Studio 17
Added the matching model=dell-m6 for Dell Studio 17 laptop.
Signed-off-by: Joerg Schirottke <master@kanotix.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"
This reverts commit 07f455f779acfb3eba4921fd1399761559b10fa9.
ALSA: hda: removed unneeded hp_nid references
Removed unneeded hp_nid references for 92hd73xx codec family.
This caused the silent output on some Intel desktops due to missing
routing of widget 0x0a and 0x0d.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add missing initializations of amp and verb caches
The re-initializations of codec amp and verb caches are missing
at reconfig, which may cause Oops occasionally.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c
Fixed the call of snd_ctl_add() by replacing with snd_hda_ctl_add()
so that this mixer element can be tracked for re-configuration.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove non-working headphone control for Dell laptops
The previous commit re-enabled hp_nid setup for IDT92HD73*, but
it's unneeded indeed for Dell laptops that have multiple headphones.
Setting the extra hp_nid results in a non-working "Headpohne" mixer
control. Thus hp_nid should be 0 for these dell models.
Also, the automatic addition of hp_nid should check whether it's
a dual-HP model or not. For dual-HPs, the pins are already checked
by the early workaround.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Rework on STAC/IDT auto-configuration code
The current auto-configuration code has several problems especially
for the new IDT codecs, e.g. wrong assignment of pins and DACs or
coupled volume for speaker and headphone.
This patch is a fairly large rewrite of the auto-configuration code.
Some remaks
- mic_switch and line_switch contain NIDs instead of bool
- dac_list isn't fixed for IDT 92HD* codecs now, they are all probed
- extra HP and speakers are stored in extra_dacs[].
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use more distinct name for a unique volume in STAC/IDT
When the line_out has only one DAC and it's unique (i.e. not shared
by other outputs), assign a more reasonable and distinct mixer name
such as "Headphone" or "Speaker".
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add probe_only option
Added probe_only module option to hd-audio driver.
This option specifies whether the driver creates and initializes the
codec-parser after probing. When this option is set, the driver skips
the codec parsing and initialization but gives you proc and other
accesses. It's useful to see the initial codec state for debugging.
The default of this value is off, so the default behavior is as same
as before.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix unused variable warnings in patch_sigmatel.c
Fixed "unused varible" warnings in patch_sigmatel.c that have been
introduced by the last changes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Power up always when no jack detection is available
When no jack detection is available, the pins should be always
turned on since it can't be turned on/off dynamically via unsol
events.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for another HP dv7
Added the model=hp-m4 quirk for another HP dv7 (103c:30fc) with IDT
92HD71b* codec.
Reference: Novell bnc#461108
https://bugzilla.novell.com/show_bug.cgi?id=461108
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: dinput_mux check
Add check to determine if dinput_mux is set by any of patch_stac*() functions,
otherwise a invalid pointer my be referenced causing gibberish to mixer values.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: fix incorrect mixer index values for 92hd83xx
Fixed incorrect mixer index values for 92hd83xx codec's audio
input mixer.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add missing terminators in patch_sigmatel.c
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - fix name for ALC1200
Move the more specific preset for ALC1200 above the general one for
ALC888, so that it will have the chance to get matched and selected.
Reported-by: Thomas Schneider <nailstudio@gmx.net>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: LSA: hda - Add HP Acacia detection
Add automatic mapping of HP Acacia motherboards to 3stack-hp. Allows
for greater then 2 channel audio by enabling Channel Mode option in mixer.
Motherboard specs:
http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01321559&lc=en&dlc=en&cc=us&product=3829353&os=2093&lang=en#
Signed-off-by: Chris Bagwell <chris at cnpbagwell dot com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - add basic jack reporting functions to patch_conexant.c
Added functions to report jack sense.
As CXT5051_PORTB_EVENT has the same value as CONEXANT_MIC_EVENT two input
devices for the microphone will be created if using CXT5051.
Signed-off-by: Ulrich Dangel <uli@spamt.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - cxt5051 report jack state
Signed-off-by: Ulrich Dangel <uli@spamt.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add a new function to seek for a codec ID
Gateway notebooks have their ID inside codec vendor ID, not at PCI ID. Due to
that, model auto-detection were not possible with the standard seek method.
This is what is found at lspci -vnn:
00:14.2 Audio device [0403]: ATI Technologies Inc SB450 HDA Audio [1002:437b] (rev 01)
Subsystem: ATI Technologies Inc SB450 HDA Audio [1002:437b]
Yet, autodetection is possible, since the codec properly reflects the vendor at
the Subsystem ID:
$ cat /proc/asound/card0/codec#0 |head -4
Codec: SigmaTel STAC9250
Address: 0
Vendor Id: 0x83847634
Subsystem Id: 0x107b0367
This patch adds a new autodetection function that seeks for codec subsystem ID.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: patch_sigmatel: Add missing Gateway entries and autodetection
Gateway autodetection and entries are incomplete.
This patch adds the entries found at the .INI file for their driver version
5.10.5082.0.
It also uses the proper code to seek for notebook ID, since this is based on
codec subsystem ID on those devices.
This should provide a proper pinup for several gateways notebooks:
Gateway M465-E Notebook [Part #1008637]
Gateway M465-G Notebook [Part #1008667]
Gateway NX260X Notebook [Part #1008794]
Gateway NX100X Notebook [Part #1008798]
Gateway E-100M Notebook [Part #1008799]
Gateway E-100M G Notebook [Part #1008800]
Gateway M255-E Notebook [Part #1008801]
Gateway M255-G Notebook [Part #1008803]
Gateway M285-E Convertible Notebook [Part #1008804]
Gateway M285-G Convertible Notebook [Part #1008805]
Gateway CX210S Convertible Notebook [Part #1008807]
Gateway CX210X Convertible Notebook [Part #1008808]
Gateway E-100M SB Notebook [Part #1008973]
Gateway M255-E SB Notebook [Part #1008989]
Gateway M285-E SB Convertible Notebook [Part #1008990]
Gateway M465-E Notebook [Part #1009022]
Gateway CX2724 Convertible Notebook [Part #1009036]
Gateway MX1025 Notebook [Part #1009046]
Gateway CX2720 Convertible Notebook [Part #1009063]
Gateway CX2724h Convertible Notebook [Part #1009089]
Gateway MX1023 Notebook [Part #1009097]
Gateway MX1023h Notebook [Part #1009098]
Gateway NX260X Notebook [Part #1009112]
Gateway E-100M Notebook [Part #1009126]
Gateway MX7533 Notebook [Part #1009146] [Part #1009163]
Gateway CX210X Convertible Notebook [Part #1009346]
Gateway NX570X Notebook [Part #1009442]
Gateway NX570X Notebook [Part #1009448]
Gateway NX270S Notebook [Part #1009550]
Gateway MX6448 Notebook [Part #1013912R]
Gateway MX6453 Notebook [Part #1013913R]
Gateway MX6216 Notebook [Part #1013916R]
Gateway MX6931 Notebook [Part #1013918R]
Gateway CX2726 Convertible Notebook [Part #1013921R]
Gateway MP8708 Notebook [Part #1013924R]
Gateway MX6446 Notebook [Part #1013927R]
Gateway MX6930 Notebook [Part #1013928R]
Gateway MX6447 Notebook [Part #1013932R]
Gateway MX6454 Notebook [Part #1013943R]
Gateway MX6439 Notebook [Part #1013947R] [Part #1013955R] [Part #1013971R]
Gateway MX6930h Notebook [Part #1013973R] [Part #1013974R] [Part #1013975R]
Gateway MX6955 Notebook [Part #1014028R]
Gateway MX6956 Notebook [Part #1014033R]
Gateway MX6959 Notebook [Part #1014061R]
Gateway MX6957 Notebook [Part #1014065R]
Gateway MX6960 Notebook [Part #1014068R]
Gateway MX6958 Notebook [Part #1014072R]
Gateway NX570X Notebook [Part #1014077R]
Gateway NX570XL Notebook [Part #1014078R]
Gateway NX570QS Notebook [Part #1014079R]
Gateway MX6961 Notebook [Part #1014080R] [Part #1014106R]
Gateway MX6961h Notebook [Part #1014112R]
Gateway NX270S Notebook [Part #1014120R]
Gateway MX6431 Notebook [Part #1014121R]
Gateway MX8710 Notebook [Part #2905895R]
Gateway MX3702 Notebook [Part #2905898R]
Blade-K8F GW UMA Single Core Motherboard w/RS485M and 1394 - Quanta (FRU) [Part #4006133R]
Since some entries conflict with existing pinups, I'm providing a separate
patch to fix those entries.
Tested only with Gateway MX6453.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - More fixes on Gateway entries
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for HP 2230s
Added a quirk for HP 2230s, model=laptop, with AD1984A codec.
Reference: Novell bnc#461660
https://bugzilla.novell.com/show_bug.cgi?id=461660
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix typos for AD1882 codecs
Fixed typos of codec-id checks for AD1882/AD1882A.
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add codec ID for MCP73 HDMI
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirks for Acer Aspire 5930G and 6930G
This is a patch which adds correct auto detection of model for
snd-hda-intel for Acer Aspire 5930G and 6930G. Tested on my 5930G. It
finally adds hp jack sense and 5.1 speaker system sliders.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for Dell Inspiron Mini9
Added a quirk, model=dell, for Dell Inspiron Mini9 with ALC268 codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value
Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex.
ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2
=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.28-next-20090102 #33
-------------------------------------------------------
mplayer/3151 is trying to acquire lock:
(&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm]
but task is already holding lock:
(&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80
which lock already depends on the new lock.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - add support for Intel DX58SO board
The Intel DX58SO board works fine with model ALC883_3ST_6ch_INTEL.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use own workqueue
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer
updates, but this has several potential problems:
- it may block other eventsd works longer
- it may deadlock when probing fails and flush_scheduled_work() is
called during probe callback (as probe callback itself could be
invoked from eventd)
This patch adds an own workq for each driver instance to solve these
problems.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix a typo
Fix a typo in stac92hd83xxx_cfg_tbl[]. The actual number is identical
thus there is no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add support of NVidia MCP78 HDMI
Added the new id for NVidia MCP HDMI (10de:0007).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add quirk for another HP dv5
Add the model=hp-m4 quirk for another HP dv5 (103c:3603)
Reference: kernel bug#12440
http://bugzilla.kernel.org/show_bug.cgi?id=12440
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
- ALSA: hda - Use queue_delayed_work()
Replaced the old schedule_work() with queue_delayed_work() where
overlooked in the previous patches.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix silent headphone output on Panasonic CF-74
CF-74 does the headphone/speaker switching on hardware, thus the driver
shouldn't do any software-toggling of pins. Otherwise it results in a
silent headphone output.
This patch simply resets the hp_detect flag to fix the problem.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda: stac92hd8xxx amp mixers
Added amp nid for stac92hd8xxx families of codecs so the input amp
mixer is created.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Don't reset HP pinctl in patch_sigmatel.c
Resetting HP pinctl at the unplugged state may cause a sort of regression
on some devices because of their wrong pin configuration.
A simple workaround is to disable the pin reset. This is ugly and may be
not good from the power-saving POV (if any), but damn simple.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
- ALSA: hda - Add automatic model setting for Samsung Q45
Have the Samsung Q45 (144d:c510) select ALC262_HIPPO by default
Reference: Ubuntu bug 200210
http://launchpad.net/bugs/200210
Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix stac92hd83xxx_amp_nids[]
Fix the bug introduced in commit c15c5060fc32d7de7cde76aa61e98bae1334d82e:
sound/pci/hda/patch_sigmatel.c: In function ‘patch_stac92hd83xxx’:
sound/pci/hda/patch_sigmatel.c:4765: warning: assignment from incompatible pointer type
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix missing initialization of NID 0x0e for STAC925x
The selector widget 0x0e isn't initialized properly in the whole probe
process, thus it can be a wrong value depending on the BIOS setup.
This patch adds the init verb to set it to the max & unmuted.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix HP dv5 mic input
Fix HP dv5 (103c:3603) built-in mic input.
Reference: kernel bug 12440
http://bugzilla.kernel.org/show_bug.cgi?id=12440
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
- ALSA: hda - Fix invalid amp value for STAC925x
The value set in the commit 2465fb6605b4f8f3964b132017bf4078d1265fe9
is actually wrong. The value range is from 0 to 0x1f while the patch
sets to 0x7f. Let's fix it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix (yet more) STAC925x issues
The codec-parsing of STAC925x was utterly broken due to its unique
design unlike other STAC codecs. It has a volume control only in NID
0x0e (similar as STAC9200), but the parser assumes that the amp is
available on each DAC widget.
The patch fixes the whole wrong stories: fix the initial volume,
assign the fixed "Master" volume, and avoid to create wrong volume
controls.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - add quirks for some 82801H variants to use ALC883_MITAC
Add the 82801H variants 1071:8227 and 8086:2503 to use ALC883_MITAC
Reference: Ubuntu bug 210865
https://bugs.launchpad.net/bugs/210865
Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: fix invalid power mapping masks
Fixed invalid power mappings for ports 0xd and 0xe on 93hd83xxx codecs.
They were shifted right one too many bits.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

HDA Intel driver

- Fix build of hda-intel with older kernels
Fixed the build of snd-hda-intel on kernels without resume_early PCI
callback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add reboot notifier
The current snd-hda-intel driver seems blocking the power-off on some
devices like eeepc. Although this is likely a BIOS problem, we can add
a workaround by disabling IRQ lines before power-off operation.
This patch adds the reboot notifier to achieve it.
The detailed problem description is found in bug#11889:
http://bugme.linux-foundation.org/show_bug.cgi?id=11889
Tested-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove old codec-probe limitation
Removed the old workaround to avoid the non-existing codec slot.
The current code should work without that workaround. If any,
we can add a quirk table.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - simplify hda_bus ops callbacks
The hda_bus ops callback take struct hda_bus pointer.
Also, the command callback takes the composed command word, instead of
each small bits in arguments.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Make codec-probing more robust
When an error occurs during the codec probing, typically accessing to an
non-existing codec slot, the controller chip gets often screwed up and
can no longer communicate with the codecs.
This patch adds a preparation phase just to probe codec addresses before
actually creating codec instances. If any error occurs during this
probing phase, the driver resets the controller to recover.
This will (hopefully) fix the famous "single_cmd" errors.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix probe errors on Dell Studio Desktop
BIOS on Dell Studio Desktop tells wrong codec probe masks.
This patch gives the preset mask value to avoid invalid access.
Reference: Novell bug#440907
https://bugzilla.novell.com/show_bug.cgi?id=440907
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - support detecting HD Audio devices with PCI class code
The patch uses HD Audio PCI class code to detect AMD HD Audio cards.
Signed-off-by: Libin Yang <libin.yang@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: azx_probe() cleanup
Replace 5 free-and-return-err blocks with goto-out-free ones.
This makes the main logic more outstanding.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add probe_mask quirk for Medion MD96630
Medion MD96630 has ALC268 codec on slot#2 although it's not used
for any purpose. This codec conflicts with the primiary codec ALC888
on slot#0, and gives mixer errors.
This patch adds a corresponding entry to probe_mask blacklist.
Reference: Novell bnc#412528
https://bugzilla.novell.com/show_bug.cgi?id=412528
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - make some functions static
Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and
make static. Also, make snd_hda_query_supported_pcm() static
as it's used only in hda_codec.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Move power_save option to hda_intel.c
Move power_save option into hda_intel.c, and make a field in hda_bus,
instead of keeping module parameters in separate files.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE
Moved power_save field initialization inside a proper ifdef
to fix a build error without CONFIG_SND_HDA_POWER_SAVE.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Sound: hda - Restore PCI configuration space with interrupts off
Move the restoration of the standard PCI configuration registers
in the snd_hda_intel driver to a ->resume_early() callback executed
with interrupts disabled, since doing that with interrupts enabled
may lead to problems in some cases.
This patch addresses the regression from 2.6.26 tracked as
http://bugzilla.kernel.org/show_bug.cgi?id=12121 .
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix a compile warning when CONFIG_PM=n
Fixed the compile warning regarding the unused function when built
with CONFIG_PM=n:
sound/pci/hda/hda_intel.c:1905: warning: ‘snd_hda_codecs_inuse’ defined but not used
snd_hda_codecs_inuse() is used only in the resume callback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add probe_only option
Added probe_only module option to hd-audio driver.
This option specifies whether the driver creates and initializes the
codec-parser after probing. When this option is set, the driver skips
the codec parsing and initialization but gives you proc and other
accesses. It's useful to see the initial codec state for debugging.
The default of this value is off, so the default behavior is as same
as before.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use own workqueue
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer
updates, but this has several potential problems:
- it may block other eventsd works longer
- it may deadlock when probing fails and flush_scheduled_work() is
called during probe callback (as probe callback itself could be
invoked from eventd)
This patch adds an own workq for each driver instance to solve these
problems.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

HDA generic driver

- Regenerate hda_beep.patch
Fixed for input_alloc_device() NULL check.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add hda_eld.c build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build of hda-intel with older kernels
Fixed the build of snd-hda-intel on kernels without resume_early PCI
callback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build of hda_codec.c
Remove hda_codec.patch since the driver is now only for 2.6 kernels
and no more patches needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Regenerate hda_beep.patch
Regenerate hda_beep.patch due to changes for own workq.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Fix indentation in hda_local.h
Just cosmetic fixes of spacing that annoyed me.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Limit the number of GPIOs show in proc
Limit the number of GPIOs shown in proc. Otherwise it gets too long
unnecessarily, and hard to analyze.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Intel HDMI audio support
Add support for Intel G45 integrated HDMI audio codecs.
This initial release supports:
- 2 channel stereo sound output
- report monitor's ELD information
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Missing NULL check in hda_beep.c
Added a NULL check of input_allocate_device() in hda_beep.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add digital beep playback switch for STAC/IDT codecs
The digital beep widget may have no mute control, and always enabling
the beep is ofen pretty annoying, especially on laptops.
This patch adds a mixer control "PC Beep Playback Switch" when there
is no mixer amp mute is found, and controls it on software.
Reference: Novell bnc#444572
https://bugzilla.novell.com/show_bug.cgi?id=444572
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: introduce snd_print_pcm_rates()
We want to share some code with print_pcm_rates(),
so extract a common routine snd_print_pcm_rates() from it.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: create hda_eld.c for ELD routines and proc interface
ELD handling routines can be shared by all HDMI codecs,
and they are large enough to make a standalone source file.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ELD proc interface for HDMI sinks
Create /proc/asound/card<card_no>/eld#<codec_no> to reflect the audio
configurations and capabilities of the attached HDMI sink.
Some notes:
- Shall we show an empty file if the ELD content is not valid?
Well it's not that simple. There could be partially populated ELD,
and there may be malformed ELD provided by buggy drivers/monitors.
So expose ELD as it is.
- The ELD retrieval routines rely on the Intel HDA interface,
others are/could be universal and independent ones.
- How do we name the proc file?
If there are going to be two HDMI pins per codec, then the current naming
scheme (eld#<codec no>) will fail. Luckily the user space dependencies should
be minimal, so it would be trivial to do the rename if that happens.
- The ELD proc file content is designed to be easy for scripts and human reading.
Its lines all have the pattern:
<item_name>\t[\t]*<item_value>
where <item_name> is a keyword in c language, while <item_value> could be any
contents, including white spaces. <item_value> could also be a null value.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: make global snd_print_channel_allocation()
code refactor: make a global function snd_print_channel_allocation().
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: minor code cleanups
Some minor code cleanups.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: rename sink_eld to hdmi_eld
Rename struct sink_eld to hdmi_eld.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: minor output message cleanups
Some minor user visible message cleanups.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: make global snd_print_pcm_bits()
Introduce a global function snd_print_pcm_bits() and use it in the ELD code.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: compact ELD output messages
Strip out some ELD printk messages that end user won't care,
and make the output compact.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Show missing GPIO unsol bits
The GPIO unsolicited event bits are read but not shown in the proc file.
Let's fix it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - properly print ELD sample bits
Fix bugs on printing the ELD sample bits.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda: modify monitor name to be consistent with other ELD proc items
Rename "monitor name" to "monitor_name" to conform with the keyword style.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - support writing to the ELD proc file
Allow users to fix quicks of ELD ROMs by writing new values to the ELD proc
interface. The format is one or more lines of "name hex_value".
Users can add/remove/modify up to 32 SAD(Short Audio Descriptor) entries.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Add missing static for snd_hda_eld_proc_new() inline funciton
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Release ELD proc file
Release ELD proc file when reconfigured so that no leak occurs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration
Make the codec re-configuration feature selectable via Kconfig,
CONFIG_SND_HDA_RECONFIG.
Also mark it as experimental (as it really is).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/Kconfig
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix build without CONFIG_PROC_FS
snd_print_pcm_rates() and snd_print_pcm_bits() are used by both
hda_proc.c and hda_eld.c, thus they have to be defined in the common
place.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - make HDMI messages more user friendly
- make some messages more user friendly
- add message prefix "HDMI:" to indicate the problem's domain
(also easier to do `dmesg | grep HDMI` ;-)
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - ELD proc interface write updates
- rename ELD proc write routine to hdmi_write_eld_info()
- support modifying WMAPro's profile
Write to some ELD fields (monitor_name, manufacture_id, product_id,
eld_version, edid_version) are deliberately not supported, since that
won't correct wrong behaviors and only leads to confusions.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - fix DisplayPort naming
DisplayPort is a digital display interface standard put forth by
the Video Electronics Standards Association (VESA). It defines a
new license-free, royalty-free, digital audio/video interconnect,
intended to be used primarily between a computer and its display monitor,
or a computer and a home-theater system.
- From Wikipedia, the free encyclopedia
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - fix build warning when CONFIG_PROC_FS=n
Fix "defined but not used" build warning by moving eld_versoin_names[]
and cea_edid_version_names[] into hdmi_print_eld_info().
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix proc pcm rate bits
Show only the relevant bits in the PCM rate bits as in the earlier version.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Really fix bits value in proc output
The fix in 82894b6f6f109722070d4d78730fe50cdaba9443 resulted in zero
due to wrong mask and bit shifts. Now fixed really.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Fix PCM reconfigure
The reconfiguration of PCM affected all PCM streams on the bus, but
this this should be done rather only for the target codec.
This patch does the following:
- introduce bitmap indicating the PCM device usages on a hda_bus
- refactor the PCM build functions
- fix __devinit prefix in some fucntions
- add a proper ifdef around HDA-reconfig-specific functions
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Modularize HD-audio driver
Split the monolithc HD-audio driver into several pieces:
- snd-hda-intel HD-audio PCI controller driver; loaded via udev
- snd-hda-codec HD-audio codec bus driver
- snd-hda-codec-* Specific HD-audio codec drivers
When built as modules, snd-hda-codec (that is invoked by snd-hda-intel)
looks up the codec vendor ID and loads the corresponding codec module
automatically via request_module().
When built in a kernel, each codec drivers are statically hooked up
before probing the PCI.
This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module
information for each driver, and driver-linking codes between
codec-bus and codec drivers.
TODO:
- Avoid EXPORT_SYMBOL*() when built-in kernel
- Restore __devinit appropriately depending on the condition
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add codec-specific proc hook
Added a hook for proc outputs of codec-specific stuff.
Moved realtek-specific coeff output into patch_realtek.c as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add IDT/STAC-specific proc output
Added power-map and analog-loopback information to proc output for
IDT/STAC codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Don't export symbols when built-in kernel
The global functions in hda_codec.c and other core parts are only
for HD-audio codec and controller drivers. When the HD-audio driver
is built in kernel, all stuff have to be statically linked, thus
we don't need any exports.
This patch introduces a conditional macro to do export only
when needed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Remove EXPERIMENTAL from CONFIG_SND_HDA_POWER_SAVE
It's mature enough now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Add a new function to seek for a codec ID
Gateway notebooks have their ID inside codec vendor ID, not at PCI ID. Due to
that, model auto-detection were not possible with the standard seek method.
This is what is found at lspci -vnn:
00:14.2 Audio device [0403]: ATI Technologies Inc SB450 HDA Audio [1002:437b] (rev 01)
Subsystem: ATI Technologies Inc SB450 HDA Audio [1002:437b]
Yet, autodetection is possible, since the codec properly reflects the vendor at
the Subsystem ID:
$ cat /proc/asound/card0/codec#0 |head -4
Codec: SigmaTel STAC9250
Address: 0
Vendor Id: 0x83847634
Subsystem Id: 0x107b0367
This patch adds a new autodetection function that seeks for codec subsystem ID.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hda - Use own workqueue
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer
updates, but this has several potential problems:
- it may block other eventsd works longer
- it may deadlock when probing fails and flush_scheduled_work() is
called during probe callback (as probe callback itself could be
invoked from eventd)
This patch adds an own workq for each driver instance to solve these
problems.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

HR timer driver

- Add snd-hrtimer build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix build of hrtimer-related codes with older kernels
Initialize hrtimer cb_mode for older kernels.
This was removed in 2.6.29.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- hrtimer: Fix compilation for linus's GIT kernels
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Add hrtimer backend for ALSA timer interface
Added the hrtimer backend for ALSA timer interface.
It can be used for the sequencer timer source.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: timer - Add comments and use ns_to_ktime()
Add the license and misc comments at the beginning of the code.
Also, use ns_to_ktime() for simplification.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hrtimer - Use hard-irq callback
Use the hard-irq mode for the callback (for possible removal of
soft-irq mode in future).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- hrtimer: Remove HRTIMER_CB_IRQSAFE_UNLOCKED cb_mode
Taken from upstream
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ICE1712 driver

- ALSA: sound/ice1712: indentation & braces disagree - add braces
Neither has any significance currently to the flow
because err is checked for the same condition before
the place of disagreement.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ICE1724 driver

- ALSA: ice1724 - Fix IRQ register initialization
The IRQMASK register has to be set to zero expclitily at the initialization
otherwise you'll get no interrupts properly at later operations.
Also, removed the old commented out codes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ice1724 - Re-fix IRQ mask initialization
The previous IRQ mask initialization was wrong. It must set the bits
to be masked.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ice1724 - Fix a typo in IEC958 PCM name
Fix trivial name string typo as reported in bug 2552.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ISA

- ALSA: gusextreme: Fix build errors
gusextreme depends on opl3 support. Add the approriate select to Kconfig.
Also remove the unnecessary hwdep select.
Relevant build errors:
ERROR: "snd_opl3_hwdep_new" [sound/isa/gus/snd-gusextreme.ko] undefined!
ERROR: "snd_opl3_create" [sound/isa/gus/snd-gusextreme.ko] undefined!
Signed-off-by: Ville Syrjala <syrjala@sci.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Intel8x0 driver

- ALSA: intel8x0 - add Dell Optiplex GX620 (AD1981B) to AC97 clock whitelist
alsa-info.sh output at:
https://bugzilla.redhat.com/show_bug.cgi?id=441087#c49
Signed-off-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: intel8x0 - Add reboot notifier
The current snd-inte8x0 driver seems blocking the power-off on some
devices like Asus P5GD1 motherboard. Although this is likely a BIOS
problem, we can add a workaround by disabling IRQ lines before
power-off operation. This patch adds the reboot notifier to achieve it.
The detailed problem description is found in RedHat bug#203930:
https://bugzilla.redhat.com/show_bug.cgi?id=203930
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Revert "ALSA: intel8x0 - Add reboot notifier"
This reverts commit f97cbf5c69d076d1743f8ca9350a139b119ae057.
The user in RedHat bug#203930 reported that newer kernel works
correctly even without this patch.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

MIXART driver

- ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free
The function snd_mixart_create creates a link between mgr and card that
allows snd_mixart_free to free card as well. But if snd_mixart_create
fails, then the link has not been created and card has to be freed explicitly.
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
statement S,S1;
position p1,p2,p3;
expression E,E1;
type T,T1;
expression *ptr != NULL;
@@
(
if ((x@p1 = snd_card_new(...)) == NULL) S
|
x@p1 = snd_card_new(...);
)
... when != snd_card_free(...,(T)x,...)
when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> }
when != true x == NULL || ...
when != x = E
when != E = (T)x
when any
(
if (x == NULL || ...) S1
|
if@p2 (...) {
... when != snd_card_free(...,(T1)x,...)
when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> }
when != x = E1
when != E1 = (T1)x
(
return \(0\|<+...x...+>\|ptr\);
|
return@p3 ...;
)
}
)
@ script:python @
p1 << r.p1;
p3 << r.p3;
@@
print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

OSS device core

- sound: sound/sound_core: Fix sparse warnings
Fix the following sparse warnings:
sound/sound_core.c:460:2: warning: returning void-valued expression
sound/sound_core.c:477:2: warning: returning void-valued expression
sound/sound_core.c:510:5: warning: symbol 'soundcore_open' was not
declared. Should it be static?
Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Fix declaration of sound_class
Include sound/core.h in sound_core.c so that sound_class is declared
before it is defined, avoiding it looking like it should be static.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Opti9xx drivers

- ALSA: Return proper error code at probe in sound/isa/*
Some drivers in sound/isa/* don't handle the error code properly
from snd_card_create(). This patch fixes these places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: opti9xx - Fix build breakage by snd_card_create() conversion
Add a missing variable declaration.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PCI drivers

- ALSA: hda - Intel HDMI audio support
Add support for Intel G45 integrated HDMI audio codecs.
This initial release supports:
- 2 channel stereo sound output
- report monitor's ELD information
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: create hda_eld.c for ELD routines and proc interface
ELD handling routines can be shared by all HDMI codecs,
and they are large enough to make a standalone source file.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration
Make the codec re-configuration feature selectable via Kconfig,
CONFIG_SND_HDA_RECONFIG.
Also mark it as experimental (as it really is).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/Kconfig
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: oxygen: add Claro halo support
Add support for the HT-Omega Claro halo (XT).
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

PDAudioCF driver

- ALSA: pdaudiocf - Fix missing free in the error path
Added the missing snd_card_free() in the error path of probe callback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: Return proper error code at probe in sound/pcmcia/*
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC PMAC driver

- snd-powermac: enable mic on iMac G4 (older kernels)
Allow input from microphone on iMac G4 Flat-panel (Tumbler) on older kernels.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-powermac: enable mic on iMac G4
Allow input from microphone on iMac G4 Flat-panel (Tumbler).
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

PPC PS3 driver

- powerpc/ps3: Printing fixups for l64 to ll64 conversion sound/ppc
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

PPC Tumbler driver

- ALSA: powermac - Rename mic-analog loopback mixer element
PCM Playback Volume:1 is actually assigned to a mic loopback volume
on iBook G4. Let's rename it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

RME HDSP driver

- ALSA: HDSP: check for io box before uploading firmware
currently the hdsp driver tries to upload the firmware, even if the
io box is not connected. this patch adds a check for the io box
before trying to upload the firmware.
thus instead of messages complaining about the fifo status and firmware
loading failure, the driver gives a message that no multiface or
digiface is connected.
[A minor coding-style fix by tiwai]
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hdsp: check for iobox and upload firmware during ioctl
currently, the error message when trying to run hdspmixer or hdspconf
if the breakout box is not connected is somehow misleading, since it
asks the user to upload the firmware.
this patch adds a test, whether the breakout box is connected and
tries to upload the firmware in the case, that it is not present, e.g.
because of power failures of the breakout box.
[Minor coding-style fixes by tiwai]
Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: hdsp/hdspm: remove card->id from rawmidi device name
The card->id (card text identification) can be changed at runtime.
It might be confusing to have old text identification in device name.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

RME9652 driver

- ALSA: hdsp/hdspm: remove card->id from rawmidi device name
The card->id (card text identification) can be changed at runtime.
It might be confusing to have old text identification in device name.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

RTC timer driver

- ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()
Replace all tasklet_hi_schedule() callers with the normal
tasklet_schedule(). The former often causes troubles with
RT-kernels, and has actually no merit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SB8 driver

- ALSA: sb8 - Fix a return code in the error path
Fixed a compile warning below:
sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’:
sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function
by setting the return value correctly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SPARC DBRI driver

- dbri: check dma_alloc_coherent errors
Needs to check for dma_alloc_coherent() allocation failure.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>

SPARC cs4231 driver

- of_platform_driver noise on sparce
switch to __init for those; unlike powerpc sparc has no hotplug support
for that stuff and their ->probe() tends to call __init functions while
being declared __devinit.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- Revert "of_platform_driver noise on sparce"
This reverts commit e669dae6141ff97d3c7566207f5de3b487dcf837, since it
is incomplete, and clashes with fuller patches and the sparc 32/64
unification effort.
Requested-by: David Miller <davem@davemloft.net>
Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- sparc64: Fix unsigned long long warnings in drivers.
Fix warnings caused by the unsigned long long usage in sparc
specific drivers.
The drivers were considered sparc specific more or less from the
filename alone.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Serial BUS drivers

- Fix tea535-tuner.patch for older kernels
snd_tea575x_exclusive_*() functions didn't build with older kernels well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Regenerated patches
Regenerated tea575x-tuner.patch and usbmixer.patch for 2.6.29 merge.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix fm801.patch and tea575-tuner.patch for V4L2 changes
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SoC Audio for the Atmel AT32 System-on-Chip

- Changed files for soc/atmel code merging
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Merge AT91 and AVR32 support into a single atmel architecture
The Ateml AT91 and AVR32 SoC share common IP for audio and can share the
same driver code using the atmel-ssc API provided for both architectures.
Do this, creating a new unified atmel ASoC architecture to replace the
previous at32 and at91 ones.
[This was contributed as a patch series for reviewability but has been
squashed down to a single commit to help preserve both the history and
bisectability. A small bugfix from Jukka is included.]
Tested-by: Jukka Hynninen <ext-jukka.hynninen@vaisala.com>
Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
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

- sound: ASoC: Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731).
Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731).
It is based on the former eti_b1_wm8731.c file, using the atmel scc API.
Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC - Remove unnecessary inclusion of linux/version.h
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Merge snd_soc_ops into snd_soc_dai_ops
Liam Girdwood's ASoC v2 work avoids having two different ops structures
for DAIs by merging the members of struct snd_soc_ops into struct
snd_soc_dai_ops, allowing per DAI configuration for everything.
Backport this change.
This paves the way for future work allowing any combination of DAIs to
be connected rather than having fixed purpose CODEC and CPU DAIs and
only allowing CODEC<->CPU interconnections.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove DAI type information
DAI type information is only ever used within ASoC in order to special
case AC97 and for diagnostic purposes. Since modern CPUs and codecs
support multi function DAIs which can be configured for several modes
it is more trouble than it's worth to maintain anything other than a
flag identifying AC97 DAIs so remove the type field and replace it with
an ac97_control flag.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Push platform registration down into the card
As part of the deprecation of snd_soc_device push the registration of
the platform down into the card structure.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove device from platform suspend and resume operations
None of the platforms are actually using the SoC device so remove it
(only atmel actually has a suspend method).
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove platform device from DAI suspend and resume operations
None of the DAIs use it except s3c2412-i2s which only uses it for
dev_() printouts.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Register platform DAIs
Register all platform DAIs with the core. In line with current behaviour
this is done at module probe time rather than when the devices are probed
(since currently that only happens as the entire ASoC card is registered
except for those drivers that currently implement some kind of hotplug).
Since the core currently ignores DAI registration this has no practical
effect.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Register platform drivers
This is done at modprobe time, mirroring current behaviour, except for
mpc5200_psc_i2s where we do registration at the same time as we register
with soc-of-simple. Since the core currently ignores registration this
has no practical impact.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix typos in Atmel module registration
I wish I had boards which work with unmodified kernels :/
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC - Fix wrong section types
The module init entries should be __init instead of __devinit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Use snd_soc_dapm_nc_pin() in at91sam9g20ek
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: atmel_pcm: Remove non-existant header
<mach/hardware.h> doesn't exist on AVR32 and therefore this driver won't
build on that arch. AFAICT this driver doesn't actually use the content
of that header so easiest just to remove it.
Signed-off-by: Ben Nizette <bn@niasdigital.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Audio for the Samsung S3C24XX chips

- sound: ASoC: Add new parameter to s3c24xx_pcm_enqueue
The S3C24xx dma does not allow more than one buffer to be enqueue prior to
the dma transfers starting. This patch adds an additional parameter to
s3c24xx_pcm_enqueue() to allow for passing an initial dma maximum load
value.
Signed-off-by: David Anders <danders at amltd.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: s3c24xx 8 bit sound fix
fixes playing/recording of 8 bit audio files.
Generated on 20081108 against v2.6.27
Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue"
This reverts commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6. Christian
Pellegrin <chripell@gmail.com> reported that on some systems the patch
caused DMA to fail which is much more serious than the original skipped
audio issue. Further investigation by Dave shows that the behaviour
depends on the clock speed of the SoC - a better fix is neeeded.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Machine driver for for s3c24xx with uda134x
Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Move uda134x_codec.h to uda134x.h
For consistency with other ASoC codec drivers.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: s3c24xx_uda134x DAI accessor functions and static cleanup
Missed these during review.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- [ARM] S3C: Move regs-ac97.h to arch/arm/plat-s3c/include/plat.
Move regs-ac97.h to arch/arm/plat-s3c/include/plat ready
to clean out old include directories.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
- ASoC: Add new parameter to s3c24xx_pcm_enqueue
The S3C24xx dma does not allow more than one buffer to be enqueue prior to
the dma transfers starting. This patch adds an additional parameter to
s3c24xx_pcm_enqueue() to allow for passing an initial dma maximum load
value.
Signed-off-by: David Anders <danders at amltd.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: Fix old-style trigger callback in s3c2443-ac97.c
Fix the old-style trigger callback in s3c2443-ac97.c:
sound/soc/s3c24xx/s3c2443-ac97.c:378: warning: initialization from incompatible pointer type
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ASoC - Fix DAI registration in s3c2443-ac97.c
Fixed the registration of dais in s3c2443-ac97.c.
sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_init':
sound/soc/s3c24xx/s3c2443-ac97.c:401: warning: passing argument 1 of 'snd_soc_register_dai' from incompatible pointer type
sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_exit':
sound/soc/s3c24xx/s3c2443-ac97.c:407: warning: passing argument 1 of 'snd_soc_unregister_dai' from incompatible pointer type
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue"
This reverts commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6. Christian
Pellegrin <chripell@gmail.com> reported that on some systems the patch
caused DMA to fail which is much more serious than the original skipped
audio issue. Further investigation by Dave shows that the behaviour
depends on the clock speed of the SoC - a better fix is neeeded.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Blackfin

- ALSA: ASoC: Blackfin: update SPORT0 port selector (v2)
- Setting the TFS pin selector for SPORT 0 based on whether the selected
port id F or G. If the port is F then no conflict should exist for the
TFS. When Port G is selected and EMAC then there is a conflict between
the PHY interrupt line and TFS. Current settings prevent the conflict
by ignoring the TFS pin when Port G is selected. This allows both
ssm2602 using Port G and EMAC concurrently.
- some code cleanup
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Blackfin: updates Kconfig for SPORT
tweak SPORT range for non-BF54x so we get proper behavior for BF52x parts
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: add multi-channel function support
This patch provides a option for users to enable multi-channel function support
in Blackfin ASoC driver. Because Blackfin is without MMU, it is easy for us and
the user to enable this function at compiling stage not dynamically on the fly.
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: Fix AD1980/1 build with MMAP support disabled
clean up redudent code and correct building problem in non-mmap mode
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix Blackfin AC97 DAI probe function return code
A probe function should have a clean return 0 path.
Cc: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: do not force TWI bus for ssm2602 codec
Cc: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: Simplify the MMAP_SUPPORT macros protected code
Cc: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Blackfin: always set a default value for that GPIO range
Cc: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Convert blackfin machines to use DAI accessor functions
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: Remove superfluous dependency on SND_SOC
The dependency on SND_SOC is already fulfilled in sound/soc/Kconfig,
thus no more need in Kconfig of each sub directory.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Push platform registration down into the card
As part of the deprecation of snd_soc_device push the registration of
the platform down into the card structure.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC - Fix wrong section types
The module init entries should be __init instead of __devinit.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Fix variable name for Blackfin I2S DAI
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec AC97

- ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
Currently ASoC card initialisation is completed by a function called
snd_soc_register_card(). As part of the work to allow independant
registration of cards, codecs and machines in ASoC v2 a new function of
the same name has been added so rename the existing function to
facilitate the merge of v2.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec AD1980

- sound: ASoC: AD1980 codec: add multi-channel function support
We added multi-channel function to this codec driver and Blackfin ASoC driver as well.
It was tested on Blackfin hardware.
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Improve error reporting for AC97 reset failures
Print something a bit more verbose to help make errors a little more
obvious.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Flag AD1980 as an AC97 interface
Special handling is required for suspend and resume of AC97 codecs
due to the control path going over the data bus.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
Currently ASoC card initialisation is completed by a function called
snd_soc_register_card(). As part of the work to allow independant
registration of cards, codecs and machines in ASoC v2 a new function of
the same name has been added so rename the existing function to
facilitate the merge of v2.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: cleanup duplicated code.
Many codec drivers were implementing cookie-cutter copies of the function
that adds kcontrols to the codec.
This patch moves this code to a common function snd_soc_add_controls() in
soc-core.c and updates all drivers using copies of this function to use the
new common version.
[Edited to raise priority of error log message and document parameters.
-- broonie]
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec AD73311

- ALSA: ASoC codec: remove unused #include <version.h>
The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
sound/soc/codecs/ad73311.c
This patch removes the said #include <version.h>.
Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
Currently ASoC card initialisation is completed by a function called
snd_soc_register_card(). As part of the work to allow independant
registration of cards, codecs and machines in ASoC v2 a new function of
the same name has been added so rename the existing function to
facilitate the merge of v2.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove in-code changelog from AD73311 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Register non-AC97 codec DAIs
Currently this is done at module probe time since ASoC ties in codec
device probe to the instantiation of the entire ASoC device. Subsequent
patches will refactor the codec drivers to handle probing separately.
Note that the core does not yet use this information.
AC97 is special since the codec is controlled over the AC97 link but
we want to give the machine driver a chance to set up the system before
trying to instantiate since it may need to do configuration before the
AC97 link will operate
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec AK4535

- ASoC: Register non-AC97 codec DAIs
Currently this is done at module probe time since ASoC ties in codec
device probe to the instantiation of the entire ASoC device. Subsequent
patches will refactor the codec drivers to handle probing separately.
Note that the core does not yet use this information.
AC97 is special since the codec is controlled over the AC97 link but
we want to give the machine driver a chance to set up the system before
trying to instantiate since it may need to do configuration before the
AC97 link will operate
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: cleanup duplicated code.
Many codec drivers were implementing cookie-cutter copies of the function
that adds kcontrols to the codec.
This patch moves this code to a common function snd_soc_add_controls() in
soc-core.c and updates all drivers using copies of this function to use the
new common version.
[Edited to raise priority of error log message and document parameters.
-- broonie]
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec CS4270

- sound: ASoC: Disable automatic volume control in the CS4270 sound driver
Disable the automatic volume control feature of the CS4270 audio codec. This
feature, which is enabled by default, causes volume change commands to be
delayed. Sometimes the volume change happens after playback is started.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Register non-AC97 codec DAIs
Currently this is done at module probe time since ASoC ties in codec
device probe to the instantiation of the entire ASoC device. Subsequent
patches will refactor the codec drivers to handle probing separately.
Note that the core does not yet use this information.
AC97 is special since the codec is controlled over the AC97 link but
we want to give the machine driver a chance to set up the system before
trying to instantiate since it may need to do configuration before the
AC97 link will operate
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec PCM3008

- Add a few soc build stubs
- pcm3008
- davinci-sffssdr
- omap2evm
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Add PCM3008 ALSA SoC driver
The PCM3008 is a 16-bit stereo audio codec. It accepts
left-justified format for ADC, and right-justified format
for DAC. Independent power-down modes for ADC and DAC are
provided, as well as a digital de-emphasis filter (4 modes).
[Merged Makefile & Kconfig, changed asm/gpio.h to linux/gpio.h -- broonie]
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Register non-AC97 codec DAIs
Currently this is done at module probe time since ASoC ties in codec
device probe to the instantiation of the entire ASoC device. Subsequent
patches will refactor the codec drivers to handle probing separately.
Note that the core does not yet use this information.
AC97 is special since the codec is controlled over the AC97 link but
we want to give the machine driver a chance to set up the system before
trying to instantiate since it may need to do configuration before the
AC97 link will operate
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec Philips UDA134x

- Add build stubs for soc s3c24xx-uda134x & co
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: UDA134x codec driver
Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Move uda134x_codec.h to uda134x.h
For consistency with other ASoC codec drivers.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec SSM2602

- sound: ASoC: ssm2602: Fix priv substreams refs
Clean up our record of the active streams in shutdown(), fixing
subsequent failures of snd_pcm_hw_constraints_complete after closure of
a stream.
NOTE:
- The ssm2602 allows pairs of non-matching PB/REC rates.
- This is a fix for less evil:
The logic is flawed (e.g. the slave might startup before the
master's rate and sample_bits are set).
Signed-off-by: Karl Beldan <karl.beldan@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: ssm2602: Update supported stream formats
Signed-off-by: Karl Beldan <karl.beldan@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Fix DSP formats in SSM2602 audio codec
Thanks to Troy Kisky <troy.kisky@boundarydevices.com> for noticing.
- DSP_A format has 1-bit data delay which corresponds to SSM6202 submode 2
- DSP_B has 0-bit data delay which corresponds to submode 1
- Currently driver sets them opposite so swap the submode setting
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: cleanup duplicated code.
Many codec drivers were implementing cookie-cutter copies of the function
that adds kcontrols to the codec.
This patch moves this code to a common function snd_soc_add_controls() in
soc-core.c and updates all drivers using copies of this function to use the
new common version.
[Edited to raise priority of error log message and document parameters.
-- broonie]
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec TLV320AIC23

- sound: ASoC: TLV320AIC23B Support more sample rates
Add support for more sample rates, different crystals
and split playback/capture rates.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Build tlv320aic23 cleanly
Also merge down a couple of last minute style changes that got lost in the
shuffle.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers
- OMAP McBSP DAI driver claims to support DSP_A format which has 1-bit data
delay but configures link for 0-bit data delay which is in fact DSP_B
- Fix this by changing format from DSP_A to DSP_B
- Fix also TLV320AIC23 codec and OSK5912 machine drivers since the same
error is populated also there
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec TLV320AIC3X

- ASoC: Allow more routing features for tlv320aic3x
This patch enables more routing functions for tlv320aic3x codecs.
It is now possible to
- control the volume of the PGA bypass path for the HPL, HPR, HPLCOM
and HPRCOM outputs individually
- route right line1 input to the left ADC channel
- route left line1 input to the right ADC channel
- route right mic3 input to left DAC channel
- route left mic3 input to right DAC channel
- route left line1 input to right line1 output
- route right line1 input to left line1 output
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: tlv320aic3x: headset/button press support
- Add aic3x_set_headset_detection() function to define the headset
detection mode for tlv32aic3x chips
- added aic3x_button_pressed()
- Read from the real-time registers in aic3x_headset_detected() to query
headset presence without an occured interrupt
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: tlv320aic3x: control additions and cleanups
- split "Line Playback Switch" into "LineL Playback Switch" and "LineR
Playback Switch"
- split "Line PGA Bypass Playback Volume" into "LineL Left PGA Bypass
Playback Volume" and "LineR Right PGA Bypass Playback Volume"
- split "Line Line2 Bypass Playback Volume" into "LineL Line2 Bypass
Playback Volume" and "LineR Line2 Bypass Playback Volume"
- Added "HP Right PGA Bypass Playback Volume"
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: tlv320aic3x add dsp_a
Add SND_SOC_DAIFMT_DSP_A mode option.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec TWL4030

- sound: ASoC: Add support for TWL4030 audio codec
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
According to TRM, 256*Fs clock output should be enabled
when TWL4030 is in slave mode, not master.
This allows sound to work on OMAP3 Pandora, which uses
256*Fs clock.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix supported sample rates of TWL4030 audio codec
TWL4030 currently supports rates between 8 kHz and 48 kHz and sets the codec
mode register accordingly in twl4030_hw_params. Expose this info so that
ASoC can match other rates than 44.1 kHz or 48 kHz as well.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix for master playback/capture volume range for TWL4030 codec
FGAIN for playback is in range of 0-0x3f, while for capture GAIN it
is in the range of 0-0x1f.
The original value of 128 (0x7f) would modify the CGAIN also for
playback.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Disable soft-volume
Keep Soft-volume disabled for now, since if it is enabled
the FGAIN volume controls are not working in the current
configuration:
CODEC_MODE:OPT_MODE = 1
OPTION:ARXR2_EN = 1
OPTION:ARXL2_EN = 1
OPTION:ARXR1_EN = 0
OPTION:ARXL1_VRX_EN = 0
RX_PATH_SEL:RXL1_SEL = 0x0 (or 0x1)
RX_PATH_SEL:RXR1_SEL = 0x0 (or 0x1)
After the patch, FGAIN volume control works.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Change the Master volume control to TLV
TWL4030 FGAIN volume control has a range:
-62 to 0 dB in 1 dB steps, 0 in the FGAIN means 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>
- sound: ASoC: TWL4030: Add CGAIN volume control
Add CGAIN (Coarse gain control) to TWL4030 codec.
The range of the CGAIN is:
0 dB to 12 dB in 6 dB steps.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Add helper function for output gain controls
Some of the gain controls in TWL (mostly those which are associated with
the outputs) are implemented in an interesting way:
0x0 : Power down (mute)
0x1 : 6dB
0x2 : 0 dB
0x3 : -6 dB
Inverting not going to help with these.
Custom volsw and volsw_2r get/put functions to handle these gains.
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 helper function for output gain controls
Some of the gain controls in TWL (mostly those which are associated with
the outputs) are implemented in an interesting way:
0x0 : Power down (mute)
0x1 : 6dB
0x2 : 0 dB
0x3 : -6 dB
Inverting not going to help with these.
Custom volsw and volsw_2r get/put functions to handle these gains.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Change the capture volume control to TLV
The digital Capture gain control has a range:
0 to 31 dB in 1 dB steps.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Change the common playback volume controls
Add Playback volume controls for all four DACs.
All four paths has three levels of volume controls:
Digital Fine gain, Digital Coarse gain, Analog gain.
The controls are named to reflect their connection to the DACs.
Per DAC volume can be performed, if needed:
amixer sset 'DAC1 Analog' 5,10
DACL1 analog gain to 5
DACR1 analog gain to 10
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Add volume controls for outputs
All outputs have dedicated gain controls except the
HandsFree output.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Add input selection and gain controls
The TWL4030 codec device has two ADCs. Both of them can have
several inputs routed to them, but TRM says that only one source
can be selected for every ADC, even though every source has a
dedicated bit in the registers.
This patch adds input source controls. It modifies default register
values to have no inputs selected and ADCs disabled. When some
input is selected, control handlers enable apropriate input
amplifier and ADC. If a microphone is selected, bias power is
automatically enabled. When some input is deselected, unused
chip parts are disabled.
Microphone and line input recording tested on OMAP3 pandora board.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Correct DAPM_DAC with power control
Add all four DACs to dapm_widgets with power switch.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Add Analog PGA control switch to DAPM
Add all four APGA switch to DAPM routing and widgets.
Add user control for DA enable for all APGA as normal
control.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Add DAPM event handler for output MUX selection
DAPM event handler is set to filter out invalid MUX settings
for certain outputs.
Earpiece:
- 0 = Off
- 1 = DACL1
- 2 = DACL2
- 3 = *** Invalid ***
- 4 = DACR1
PreDriveL/R:
- 0 = Off/Off
- 1 = DACL1/DACR1
- 2 = DACL2/DACR2
- 3 = *** Invalid/Invalid ***
- 4 = DACR2/DACL2
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: DAPM mapping of the Earpiece output
Adds DAPM muxing, routing for the Earpiece output.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: DAPM mapping of the PreDriv outputs
Adds DAPM muxing, routing for the PreDrive outputs.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: DAPM mapping of the Headset outputs
Adds DAPM muxing, routing for the Headset outputs.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: DAPM mapping of the Carkit outputs
Adds DAPM muxing, routing for the Carkit outputs.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: DAPM mapping of the Handsfree outputs
Adds DAPM muxing, routing for the Handsfree outputs.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Do not alter the Headset output volume on power-up/down
There is a separate gain control for the Headset output already.
Do not reset the gain to 0 dB at power up.
In power-down, there is no need to set the Headset output gain
to power-down mode, since if the CODECPDZ is in powered off this
setting has no effect.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC - Fix module init entry for twl4030.c
Fixed the function name of module init entry for twl4030.c, which
conflicted with the existing hardware init function:
sound/soc/codecs/twl4030.c:1278: error: conflicting types for 'twl4030_init'
sound/soc/codecs/twl4030.c:1187: error: previous definition of 'twl4030_init' was here
Also fixed the section type of init function.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: TWL4030: Add missing Carkit output
SND_SOC_DAPM_OUTPUT definition for carkitL/R was missing.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Small cleanup
The mux switch related texts fits to on line, no need to wrap
them.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Change the name for the DACs
To avoid confusion the names for the DACs changed:
DACL1 -> DAC Left1
...
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: hands-free start-up sequence.
A special start-up sequence is required to reduce the pop-noise of Class D
amplifier when enable hands-free on TWL4030.
Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- asoc/twl4030: remove duplicate code (merging problem)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: Make the enum filter generic for twl4030
Modify the enum filter to more generic that it will filter
out the enums with text "Invalid".
The enum filter also required for the capture path.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: TWL4030: DAPM based capture implementation
This patch adds DAPM implementaion for the capture path
on twlx030.
TWL has two physical ADC and two digital microphone (stereo) connections.
The CPU interface has four microphone channels.
For simplicity the microphone channel paths are named as:
TX1 (Left/Right) - when using i2s mode, only the TX1 data is valid
TX2 (Left/Right)
Input routing (simplified version):
There is two levels of mux settings for TWL in input path:
Analog input mux:
ADCL <- {Off, Main mic, Headset mic, AUXL, Carkit mic}
ADCR <- {Off, Sub mic, AUXR}
Analog/Digital mux:
TX1 Analog mode:
TX1L <- ADCL
TX1R <- ADCR
TX1 Digital mode:
TX1L <- Digimic0 (Left)
TX1R <- Digimic0 (Right)
TX2 Analog mode:
TX2L <- ADCL
TX2R <- ADCR
TX2 Digital mode:
TX2L <- Digimic1 (Left)
TX2R <- Digimic1 (Right)
The patch provides the following user controls for the capture path:
Mux settings:
"TX1 Capture Route": {Analog, Digimic0}
"TX2 Capture Route": {Analog, Digimic1}
"Analog Left Capture Route": {Off, Main Mic, Headset Mic, AUXL, Carkit Mic}
"Analog Right Capture Route": {Off, Sub Mic, AUXR}
Volume/Gain controls:
"TX1 Digital Capture Volume": Stereo gain control for TX1 path
"TX2 Digital Capture Volume": Stereo gain control for TX2 path
"Analog Capture Volume": Stereo gain control for the analog path only
Important things for the board files:
Microphone bias:
"Mic Bias 1": Bias for Main mic or for digimic0 (analog or digital path)
"Mic Bias 2": Bias for Sub mic or for digimic1 (analog or digital path)
"Headset Mic Bias": Bias for Headset mic
When the routing configured correctly only the needed components will be
powered/enabled.
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: Convert the bitfield enums to VALUE_ENUM type
Convert the bitfield coded enums to the new VALUE_ENUM type.
Remove the enum check, since the VALUE_ENUM type can handle
the bitfield coding and also handles the 'holes' in the bitfield.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Change the soc_value_enum back to soc_enum
The soc_value_enum has been merged to soc_enum.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: TWL4030: Module unloading fix
Call the snd_soc_free_pcm and snd_soc_dapm_free when the
codec driver is unloaded.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec WM8350

- ASoC: Add WM8350 AudioPlus codec driver
The WM8350 is an integrated audio and power management subsystem which
provides a single-chip solution for portable audio and multimedia systems.
The integrated audio CODEC provides all the necessary functions for
high-quality stereo recording and playback. Programmable on-chip
amplifiers allow for the direct connection of headphones and microphones
with a minimum of external components. A programmable low-noise bias
voltage is available to feed one or more electret microphones.
Additional audio features include programmable high-pass filter in the
ADC input path.
This driver was originally written by Liam Girdwood with further updates
from me.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC - Add missing __devexit annotation to wm8350.c
Added the missing __devexit annotation to wm8350_codec_remove():
sound/soc/codecs/wm8350.c:1546: warning: 'wm8350_codec_remove' defined but not used
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Implement WM8350 headphone jack detection
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8728

- Add wm8728 build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Add WM8728 codec driver
The WM8728 is a high performance stereo DAC designed for applications
such as DVD, home theatre and digital TV.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM8900

- ASoC: Convert WM8900 to allow registration by machine code
This makes use of the support for delayed DAI registration to allow the
WM8900 I2C device to be registered by general platform/architecture code
rather than as part of the ASoC device probe.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Convert WM8900 to do more work at I2C probe time
Redo the instantiation of the WM8900 to do most of the initialisation
work when the I2C driver probes rather than when the ASoC device is
instantiated, registering the codec with the ASoC core when done.
Also move all dynamic allocations into a single kmalloc() to simplify
error handling and rename the I2C driver to make output more sensible.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec WM8903

- ALSA: soc - Fix compile warnings in wm8903.c
Hide annoying uninitialized warnings:
sound/soc/codecs/wm8903.c:382: warning: ‘reg’ may be used uninitialized in this function
sound/soc/codecs/wm8903.c:383: warning: ‘shift’ may be used uninitialized in this function
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Revert "ALSA: soc - Fix compile warnings in wm8903.c"
This reverts commit 9171e5e6a20a9cd4992ff9c7cbee13c6fdf7b0b1.
I can't reproduce the compile warnings any more. The warnings
might be some weird cross-compiling set up.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Fix WM8903 right mixer bypass path
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Work around warnings from some build environments
BUG() should be marked as not returning but for at least some
configurations (including some widely deployed compilers) that's either
not happening or being forgotten by the compiler. Add some extra return
statements to the affected paths.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Convert WM8903 driver to register at I2C probe time
The driver now registers the codec and DAI when probed as an I2C device.
Also convert the driver to use a single dynamic allocation to simplify
error handling.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Stop WM8903 SYSCLK when suspending
This will save some additional power.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC Codec WM8990

- sound: ASoC: Allow writes to uncached registers in WM8990
Only fully documented registers are cached in the WM8990 but additional
registers exist.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Enable WM8990 ADC clocking workaround
Enable a hardware workaround which avoids problems with the clocking of
the ADCs in certain configurations.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Manage VMID mode for WM8990
A small additional power saving can be achieved for the WM8990 by
maintaining VMID using a 2*250k divider when in standby mode.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM9705

- sound: ASoC: Driver for the WM9705 AC97 codec.
This driver adds support for the wm9705 ac97 codec. The driver supports
audio input and output.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM9712

- sound: ASoC: Improve error reporting for AC97 reset failures
Print something a bit more verbose to help make errors a little more
obvious.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Codec WM9713

- ALSA: ASoC: Fix WM9713 ALC Decay Time name
The control had an extra space at the end of the name.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Do a warm reset after cold when resetting the WM9713
The WM9713 comes out of cold reset in low power mode so always requires
a warm reset to bring up the AC97 link after a cold reset.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Improve error reporting for AC97 reset failures
Print something a bit more verbose to help make errors a little more
obvious.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Use supplied DAI for WM9713 rather than substream
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Don't free static data in WM9713
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

SoC DaVinci

- Add a few soc build stubs
- pcm3008
- davinci-sffssdr
- omap2evm
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Add Right-Justified mode and Codec clock master to davinci-i2s
The TI DVEVM board uses the SND_SOC_DAIFMT_CBM_CFM & I2S formats, but the
Lyrtech SFFSDR board uses the SND_SOC_DAIFMT_CBM_CFS & RIGHT-JUSTIFIED formats.
Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback
Fixes swapping of channels at start of stereo playback.
Channel swap can be observed while playing left-only or right-only audio data. The channel
swap is fixed by handling the XSYNCERR condition.
Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: DaVinci: Fix audio stall when doing full duplex
Fix concurrent capture/playback issue.
The issue is caused by re-initialization of control registers used specifically
for capture or playback in both capture and playback operations.
Signed-off-by: Steve Chen <schen@mvista.com>
Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add driver for the Lyrtech SFFSDR board
The PCM3008 is used on the Lyrtech SFFSDR board, in conjunction with an
FPGA that generates the bit clock and the master clock
[Downgraded the rate debug print to pr_debug() in hw_params, converted
asm/gpio.h to linux/gpio.h -- broonie]
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: switch davinci DPRINTK to pr_debug()
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit
Add constants with a value of 0 to show more explicitly
what is being requested.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity
Document the current polarity choices.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: DaVinci: davinci-i2s clean up
Just at little cleanup of davinci_i2s_set_dai_fmt
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: DaVinci: davinci-i2s clean up
Minor, just move a block of code to make next patch clearer.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: DaVinci: document I2S limitations
DaVinci does not support true I2S or right justified
mode so not all I2S codecs will work with it when the codec is
master. Document this limitation.
Add dsp_a, dsp_b mode options
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai
Fix the meaning of SND_SOC_DAIFMT_NB_NF to match that
used in the codec.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode
Sense DaVinci does not support true I2S mode and
we don't have to use the hack, use dsp_b mode instead
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: fix davinci-sffsdr buglet
Minor bugfix: now that DaVinci kernels can support multiple
boards, board-specific ASoC components need to verify they're
running on the right board before initializing.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Clocking fixes for davinci-evm.c
Let's have audio playback not sound like chipmunks, 'k? :)
ASP1 on the DM355 EVM uses a 27 MHz external audio clock, not
the slower clock used with ASP0 on the DM6446 EVM.
Also, that slower ASP0 clock on the DM6446 is 12.288 MHz,
not 22.5792 MHz ... 48 KHz sample rate (x256), not a double
speed 44.1 KHz sample rate (which could be done, but isn't
what the board init code now sets up).
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- remove lots of double-semicolons
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Theodore Ts'o <tytso@mit.edu>
Acked-by: Mark Fasheh <mfasheh@suse.com>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: James Morris <jmorris@namei.org>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- sound: ASoC: DaVinci: Fix SFFSDR compilation error.
Remove dependency on sffsdr_fpga_set_codec_fs() when the
SFFSDR FPGA module is not selected.
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Dynamic Audio Power Management

- Remove ALSA kernel codes from soc-dapm.c
The kernel codes were merged into alsa-driver/soc/soc-dapm.c accidentally.
Include the code instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Allow setting codec register with debugfs filesystem
i.e. echo 6 59 >/sys/kernel/debug/soc-audio.0/codec_reg
will set register 0x06 to a value of 0x59.
Also, pop_time debugfs interface setup is moved so that it
is setup in the same function as codec_reg
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>
- sound: ASoC: Remove DAPM restriction on mixer control name lengths
As well as ensuring that UI-relevant parts of control names don't get
truncated in the DAPM code this avoids conflicts in long control names
that differ only at the end of a long string.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC - restore removed variable declaration
sound/soc/soc-dapm.c: In function 'snd_soc_dapm_sys_add':
sound/soc/soc-dapm.c:828: error: 'ret' undeclared (first use in this function)
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>
- ALSA: SOC: Fix setting codec register with debugfs filesystem merge error
Call device_create_file only once in snd_soc_dapm_sys_add function.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Complain if we fail to create DAPM controls
This should never happen and it's helpful to identify the specific control
that failed when it does happen.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Clean up kerneldoc warnings
Almost all parameters that have been misnamed in the comments.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: New enum type: value_enum
This patch introduces a new enum type.
In this enum type each enumerated items referred with a value.
This new enum type can handle enums encoded in bitfield, or any other
weird ways. twl4030 codec has several mux selection register, where the
input/output mux is coded in a bitfield. With the normal enum type this type
of mux can not be handled in a clean way.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Merge the soc_value_enum to soc_enum struct
Merge the recently introduced soc_value_enum structure to the soc_enum.
The value based enums are still handled separately from the normal enum types,
but with the merge some of the newly introduced functions can be removed.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix the power update function for snd_soc_dapm_value_mux
Modify the check for the mux type to also handle the
snd_soc_dapm_value_mux type in a same way as the snd_soc_dapm_mux.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: dapm: Allow explictly named mixer controls
This patch allows you to define the mixer paths as having the same name as the
paths they represent.
This is required to support codecs such as the wm9705 neatly without extra
controls in the alsa mixer.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Constify pin names for DAPM pin status APIs
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Freescale

- ALSA: ASoC: Fix some minor errors in mpc5200 psc i2s driver
Fix missing unsigned for irqsave flags in psc i2s driver
Make attribute visiblity static
Collect all sysfs errors before checking status
[Word wrapped DEVICE_ATTR() lines for 80 columns -- broonie]
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: Takashi Iwai <tiwai@suse.de>
- powerpc/mpc5200: fix bestcomm Kconfig dependencies
Without this patch it is possible to select drivers which require
bestcomm support without bestcomm support being selected. This
patch reworks the bestcomm dependencies to ensure the correct
bestcomm tasks are always enabled.
Reported-by: Hans Lehmann <hans.lehmann@ritter-elektronik.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
- ALSA: ASoC: Remove superfluous dependency on SND_SOC
The dependency on SND_SOC is already fulfilled in sound/soc/Kconfig,
thus no more need in Kconfig of each sub directory.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SoC L3 bus

- Add build stubs for soc s3c24xx-uda134x & co
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: UDA134x codec driver
Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Layer

- soc - Fix build with 2.6.25 or earler kernel
Simply force to undefine CONFIG_DEBUG_FS since debugfs_remove_recursive()
doesn't exist in the earlier kernels.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- soc - disable DEBUG_FS for 2.6.26, too
debugfs_remove_recursive() doesn't exist on 2.6.26, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add soc-jack build stub
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: ASoC: Fix mono controls after conversion to support full int masks
When ASoC was converted to support full int width masks SOC_SINGLE_VALUE()
omitted the assignment of rshift, causing the control operatins to report
some mono controls as stereo. This happened to work some of the time due
to a confusion between shift and min in snd_soc_info_volsw().
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: struct device - replace bus_id with dev_name(), dev_set_name()
[stripped sound/isa/* changes, replaced with the next patch -- tiwai]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Allow setting codec register with debugfs filesystem
i.e. echo 6 59 >/sys/kernel/debug/soc-audio.0/codec_reg
will set register 0x06 to a value of 0x59.
Also, pop_time debugfs interface setup is moved so that it
is setup in the same function as codec_reg
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>
- sound: ASoC: Fix handling of DAPM suspend work
Since we can query the playback stream power state directly we do not
need to infer if it is powered up from the timer being scheduled. Doing
this avoids problems that previously existed with streams being
incorrectly determined to be powered up caused when the timer is
scheduled when streams are closed after being partially set up.
Reported-by: Nobin Mathew <nobin.mathew@gmail.com>
Reported-by: Jukka Hynninen <ext-jukka.hynninen@vaisala.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Convert core to use standard debug print macros
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Use finer grained dependencies in SND_SOC_ALL_CODECS
Move the bus dependencies in SND_SOC_ALL_CODECS into the individual
codec options rather than have them centrally. This allows the
inclusion of AC97 codecs when testing on platforms with AC97 support
and will also handle codecs on multi-function devices more gracefully.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: ASoC - Fix a typo in Kconfig
The last change to Kconfig ca53fb24dd21bff32c4b41b2be1035a1adfc0135
added a wrong item SND_SOC_AC97, which must be SND_SOC_AC97_CODEC.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add support for TWL4030 audio codec
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Merge AT91 and AVR32 support into a single atmel architecture
The Ateml AT91 and AVR32 SoC share common IP for audio and can share the
same driver code using the atmel-ssc API provided for both architectures.
Do this, creating a new unified atmel ASoC architecture to replace the
previous at32 and at91 ones.
[This was contributed as a patch series for reviewability but has been
squashed down to a single commit to help preserve both the history and
bisectability. A small bugfix from Jukka is included.]
Tested-by: Jukka Hynninen <ext-jukka.hynninen@vaisala.com>
Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove core version number
Rather than try to remember to keep the core version number updated
(which hasn't been happening) just remove it. It was much more useful
when ASoC was out of tree.
Signed-off-by: Mark brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add WM8728 codec driver
The WM8728 is a high performance stereo DAC designed for applications
such as DVD, home theatre and digital TV.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: UDA134x codec driver
Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove unused snd_soc_machine_config declaration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add PCM3008 ALSA SoC driver
The PCM3008 is a 16-bit stereo audio codec. It accepts
left-justified format for ADC, and right-justified format
for DAC. Independent power-down modes for ADC and DAC are
provided, as well as a digital de-emphasis filter (4 modes).
[Merged Makefile & Kconfig, changed asm/gpio.h to linux/gpio.h -- broonie]
Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Rename snd_soc_card to snd_soc_machine
One of the issues with the ASoC v1 API which has been addressed in the
ASoC v2 work that Liam Girdwood has done is that the ALSA card provided
by ASoC is distributed around the ASoC structures. For example, machine
wide data such as the struct snd_card are maintained as part of the
CODEC data structure, preventing the use of multiple codecs. This has
been addressed by refactoring the data structures so that all the data
for the ALSA card is contained in a single structure snd_soc_card which
replaces the existing snd_soc_machine and snd_soc_device.
Begin the process of backporting this by renaming struct snd_soc_machine
to struct snd_soc_card, better reflecting its function and bringing it
closer to standard ALSA terminology.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Move DAI structure definitions into new soc-dai.h
ASoC v2 factors most of the contents of soc.h out into separate headers,
including soc-dai.h for the DAI. Factor the existing DAI API out into
this file in order to prepare for backporting of the ASoC v2 DAI API.
Also backport some of Liam's improvements to the documentation.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Merge snd_soc_ops into snd_soc_dai_ops
Liam Girdwood's ASoC v2 work avoids having two different ops structures
for DAIs by merging the members of struct snd_soc_ops into struct
snd_soc_dai_ops, allowing per DAI configuration for everything.
Backport this change.
This paves the way for future work allowing any combination of DAIs to
be connected rather than having fixed purpose CODEC and CPU DAIs and
only allowing CODEC<->CPU interconnections.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Remove DAI type information
DAI type information is only ever used within ASoC in order to special
case AC97 and for diagnostic purposes. Since modern CPUs and codecs
support multi function DAIs which can be configured for several modes
it is more trouble than it's worth to maintain anything other than a
flag identifying AC97 DAIs so remove the type field and replace it with
an ac97_control flag.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Lower priority of resume work logging
Now that the ASoC resume has been punted to a workqueue for a release
cycle without attracting bug reports it should be safe to make the
log messages associated with it debug level, reducing noise and kernel
size in production configurations.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Clean up kernel-doc for snd_soc_dai_set_fmt
There is no argument named @clk_id in snd_soc_dai_set_fmt,
remove its' comment.
Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Rename snd_soc_register_card() to snd_soc_init_card()
Currently ASoC card initialisation is completed by a function called
snd_soc_register_card(). As part of the work to allow independant
registration of cards, codecs and machines in ASoC v2 a new function of
the same name has been added so rename the existing function to
facilitate the merge of v2.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Annotate core removal function
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Push workqueue data into snd_soc_card
ASoC v2 does not use the struct snd_soc_device at runtime, using struct
snd_soc_card as the root of the card. Begin removing data from
snd_soc_device by pushing the workqueue data into snd_soc_card, using a
backpointer to the snd_soc_device to keep things going for the time
being.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Push platform registration down into the card
As part of the deprecation of snd_soc_device push the registration of
the platform down into the card structure.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Push debugfs files out of the snd_soc_device structure
This is in preparation for the removal of struct snd_soc_device.
The pop time configuration should really be a property of the card not
the codec but since DAPM currently uses the codec rather than the card
using the codec is fine for now.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove device from platform suspend and resume operations
None of the platforms are actually using the SoC device so remove it
(only atmel actually has a suspend method).
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove platform device from DAI suspend and resume operations
None of the DAIs use it except s3c2412-i2s which only uses it for
dev_() printouts.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Remove obsolete declaration of struct snd_soc_clock_info
The struct is never defined.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Add card registration API
ASoC v2 allows cards, codecs and platforms to instantiate separately,
with the overall ASoC device only being instantiated once all the
required components have registered. As part of backporting Liam's work
introduce an initial version of the card registration functions. At
present these do nothing active and are internal only, they will be
exposed to machine drivers after further backporting. Adding this now
allows the datastructures used for dynamic card instantiation to be
built up gradually.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Add DAI registration API
Add API calls to register and unregister DAIs with the core. Currently
these APIs are ineffective. Since multiple DAIs for a given device are
a common case bulk variants are provided.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Add platform registration API
ASoC v2 allows platform drivers to instantiate independantly of the
overall ASoC card. This API allows drivers to notify the core when
they are registered.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Initial framework for dynamic card instantiation
Use the lists of platforms, platform DAIs and cards to check to see that
everything has registered. Since relationships are still specified by
direct references to the structures in the drivers and the drivers all
register everything at modprobe there should be no practical effect yet.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Wait for non-AC97 codec DAIs before instantiating
This will allow codec drivers to be refactored to allow them to be
registered out of line with the ASoC device registration.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Add codec registration API
Another part of the backporting of Liam's ASoC v2 work. Using this is
more complicated than the other registration types since currently the
codec is instantiated during the probe of the ASoC device so we can't
currently readily wait for the codec to register.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Ease merge difficulties from new architectures
Rather than listing lots of architectures per line in Kconfig and
Makefile, causing merge conflicts all the time, have one per line
in alphabetical order.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Add WM8350 AudioPlus codec driver
The WM8350 is an integrated audio and power management subsystem which
provides a single-chip solution for portable audio and multimedia systems.
The integrated audio CODEC provides all the necessary functions for
high-quality stereo recording and playback. Programmable on-chip
amplifiers allow for the direct connection of headphones and microphones
with a minimum of external components. A programmable low-noise bias
voltage is available to feed one or more electret microphones.
Additional audio features include programmable high-pass filter in the
ADC input path.
This driver was originally written by Liam Girdwood with further updates
from me.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Clean up kerneldoc warnings
Almost all parameters that have been misnamed in the comments.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: New enum type: value_enum
This patch introduces a new enum type.
In this enum type each enumerated items referred with a value.
This new enum type can handle enums encoded in bitfield, or any other
weird ways. twl4030 codec has several mux selection register, where the
input/output mux is coded in a bitfield. With the normal enum type this type
of mux can not be handled in a clean way.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Fix SND_SOC_ALL_CODECS handling of dual SPI and I2C control buses
For codecs that have both SPI and I2C support we need to ensure that we
don't try to make the codec driver built in when I2C is modular since
that won't link. Do this by creating a helper variable which uses
conditional defaults to pick up the correct value for all combinations.
We don't need to do anything special for I2C-only codecs since a
conditional select passes on the full value for a tristate.
Reported-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Merge the soc_value_enum to soc_enum struct
Merge the recently introduced soc_value_enum structure to the soc_enum.
The value based enums are still handled separately from the normal enum types,
but with the merge some of the newly introduced functions can be removed.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- sound: ASoC: Add jack reporting interface
This patch adds a jack reporting interface to ASoC. This wraps the ALSA
core jack detection functionality and provides integration with DAPM to
automatically update the power state of pins based on the jack state.
Since embedded platforms can have multiple detecton methods used for a
single jack (eg, separate microphone and headphone detection) the report
function allows specification of which bits are being updated on a given
report.
The expected usage is that machine drivers will create jack objects and
then configure jack detection methods to update that jack.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: cleanup duplicated code.
Many codec drivers were implementing cookie-cutter copies of the function
that adds kcontrols to the codec.
This patch moves this code to a common function snd_soc_add_controls() in
soc-core.c and updates all drivers using copies of this function to use the
new common version.
[Edited to raise priority of error log message and document parameters.
-- broonie]
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Driver for the WM9705 AC97 codec.
This driver adds support for the wm9705 ac97 codec. The driver supports
audio input and output.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx Corgi

- ALSA: ASoC: Fix compile warnings on corgi.c
Fix the wrong shutdown callback type. Also removed the unused variables
there:
sound/soc/pxa/corgi.c: In function 'corgi_shutdown':
sound/soc/pxa/corgi.c:114: warning: unused variable 'codec'
sound/soc/pxa/corgi.c: At top level:
sound/soc/pxa/corgi.c:175: warning: initialization from incompatible pointer type
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SoC PXA2xx E750

- sound: ASoC: machine driver for Toshiba e750
This patch adds support for the wm9705 ac97 codec as used in the Toshiba e750
PDA. It includes support for powering up / down the external headphone and
speaker amplifiers on this machine.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx E800/WM9712

- sound: ASoC: machine driver for Toshiba e800
This patch adds support for the wm9712 ac97 codec as used in the Toshiba e800
PDA. It includes support for powering up / down the external headphone and
speaker amplifiers on this machine.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx EM-X270

- ALSA: soc - Remove obsoleted sound/driver.h inclusion
Signed-off-by: Takashi Iwai <tiwai@suse.de>

SoC PXA2xx Palm T|X

- sound: ASoC: Add Palm/PXA27x unified ASoC audio driver
this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for
palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test).
I sent it here some time ago, but now I got to fixing bugs in it. It should
be somehow mostly ok and ready for applying.
[Converted to use snd_soc_dapm_nc_pin() and bool Kconfig -- 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 PXA2xx Tosa

- sound: ASoC: tosa: move gpio probing to machine callbacks
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC PXA2xx Zylonite

- Add the build stub for zylonite
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Add Marvell Zylonite machine support
Implement support for the Marvell Zylonite PXA3xx reference platform,
supporting standard AC97 stereo and AUX interfaces together with the
auxiliary I2S interface of the WM9713.
The board has two options for the MCLK of the WM9713: either the standard
AC97 system clock can be used or the 13MHz CLK_POUT output of the PXA3xx
can be used, selected via SW15 on the board. Currently only the AC97
system clock is supported by this driver.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

SoC Texas Instruments OMAP

- Add a few soc build stubs
- pcm3008
- davinci-sffssdr
- omap2evm
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- sound: ASoC: Add support for Gumstix Overo
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add support for Beagleboard
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: Add more supported sample rates into McBSP DAI driver
Originally it was put too tight limits to support only 44.1 kHz and 48 kHz
sample rates in McBSP DAI driver. Extend it now to 8 kHz - 96 kHz. With
96 kHz and 2*16 bits, bit clock is 3.072 MHz < 3.125 MHz (I2S max?).
Tested on Nokia N810 with TVL320AIC33 from rates 8 - 96 kHz and on Texas
Instruments Beagle with TWL4030 from rates 8 - 48 kHz.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add support for omap2evm board
This patch adds twl4030 audio support on omap2evm
Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: Fix preprocessor filled DAI name in McBSP DAI
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: Apply channel constrains to N810 machine driver
Prepare for upcoming McBSP DAI update adding support for mono links by
restricting number of channels to 2 in N810. This is due tlv320aic3x which
claims channels_min = 1 and playing pure mono audio over I2S would cause
it to be played only from left channel if both cpu and codec DAI's claim to
support mono.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: OMAP: Add support for mono audio links in McBSP DAI
Patch adds support for mono audio links so that McBSP DAI can operate with
real mono codecs. In I2S, the signalling remains the same but only first
frame (left channel) is transmitting audio data and second frame having null
data. In DSP_A, only first frame is transmitted.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Fix TWL4030 Kconfig dependency
Fixes Kconfig dependency of TWL4030 audio codec driver
with TWL4030 core driver on both overo and omap2evm
boards
Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- sound: ASoC: Add support for TI SDP3430
This patch add ASoC support for TI SDP3430. It's based on Gumstix
Overo SoC code by Steve Sakoman.
Signed-off-by: Misael Lopez Cruz <mesak82@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ASoC: Fix word wrapping in OMAP Kconfig
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: Remove superfluous dependency on SND_SOC
The dependency on SND_SOC is already fulfilled in sound/soc/Kconfig,
thus no more need in Kconfig of each sub directory.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Add support for OMAP3 Pandora
This patch adds basic support for OMAP3 Pandora.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC - Fix symbol conflicts in omac-mcbsp.c
Add snd_ prefix to avoid the conflict of symbols in omac-mcbsp.c:
sound/soc/omap/omap-mcbsp.c:503: error: static declaration of 'omap_mcbsp_init' follows non-static declaration
arch/arm/plat-omap/include/mach/mcbsp.h:373: error: previous declaration of 'omap_mcbsp_init' was here
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Fix a Oops bug in omap soc driver.
There will be a Oops or frequent underrun messages when playing music with
omap soc driver, this is because a data region is incorretly sized, other data
region will be overwriten when writing to this data region.
Signed-off-by: Stanley Miao <stanley.miao@windriver.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers
- OMAP McBSP DAI driver claims to support DSP_A format which has 1-bit data
delay but configures link for 0-bit data delay which is in fact DSP_B
- Fix this by changing format from DSP_A to DSP_B
- Fix also TLV320AIC23 codec and OSK5912 machine drivers since the same
error is populated also there
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ALSA: ASoC: fix a typo in omp-pcm.c
Fix a typo (& and &&)
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ASoC: OMAP: Select OMAP pin multiplexing when using Nokia N810 ASoC drivers
N810 bootloader muxes I2S pins for OMAP2420 EAC block while N810 ASoC
drivers are using McBSP block so the kernel have to change configuration
runtime.
Author has not seen problems using kernel pin multiplexing on N810 but very
many times unworking audio after forgotten to enable it and spending
15 minutes each time to figure it out again...
This change makes it easier for other users as well. If problems arise, then
they are better to find and fix in OMAP pin multiplexing framework.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
- ASoC: Mark non-connected TWL4030 pins for pandora
Pandora has all TWL4030 output pins floating, it uses
external DAC for playback. Mark those outputs as not
connected using DAPM calls.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Sound Scape driver

- ALSA: wss-lib: move AD1845 frequency setting into wss-lib
This is required to allow the sscape driver
to autodetect installed codec.
Also, do not create a timer if detected codec
has no hardware timer (e.g. AD1848).
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Rene Herman
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sscape: fix incorrect timeout after microcode upload
A comment states that one should wait up to 5 secs
while a waiting loop waits only 5 system ticks.
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>

TEA575x tuner

- V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card
The card based on stv0299 or stv0288 demodulators.
Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
- V4L/DVB (10135): v4l2: introduce v4l2_file_operations.
Introduce a struct v4l2_file_operations for v4l2 drivers.
Remove the unnecessary inode argument.
Move compat32 handling (and llseek) into the v4l2-dev core: this is now
handled in the v4l2 core and no longer in the drivers themselves.
Note that this changeset reverts an earlier patch that changed the return
type of__video_ioctl2 from int to long. This change will be reinstated
later in a much improved version.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
- V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl.
Since internal to v4l2 the ioctl prototype is the same regardless of it
being called through .ioctl or .unlocked_ioctl, we need to convert it all
to the long return type of unlocked_ioctl.
Thanks to Jean-Francois Moine for posting an initial patch for this and
thus bringing it to our attention.
Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

USB

- ALSA: snd-usb-caiaq: support for two more audio devices
- Added support for two new audio devices from Native Instuments,
'Audio4DJ' and 'GuitarRig mobile'
- Add missing statement about 'Session IO' in Kconfig help text
- Version number bumped to 1.3.11
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 USX2Y

- Add wrapper functions for new usb interface functions
Added the wrapper for older kernels for new (inlined) usb-interface
functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- fix 2.4 kernel compilation (__deprecated & usbusx2y probe)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: sound: Make static
Sparse asked whether these could be static.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Use usb_set/get_intfdata
Use the USB functions usb_get_intfdata and usb_set_intfdata instead of
dev_get_drvdata and dev_set_drvdata, respectively.
The semantic patch that makes this change for the usb_get_intfdata case is
as follows: (http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@header@
@@
#include <linux/usb.h>
@same depends on header@
position p;
@@
usb_get_intfdata@p(...) { ... }
@depends on header@
position _p!=same.p;
identifier _f;
struct usb_interface*intf;
@@
_f@_p(...) { <+...
- dev_get_drvdata(&intf->dev)
+ usb_get_intfdata(intf)
...+> }
// </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>
- trivial: fix then -> than typos in comments and documentation
- (better, more, bigger ...) then -> (...) than
Signed-off-by: Frederik Schwarzer <schwarzerf@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
- ALSA: Return proper error code at probe in sound/usb/*
Some drivers in soudn/usb/* don't handle the error code properly
from snd_card_create(). This patch fixes these places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

USB caiaq

- Add wrapper functions for new usb interface functions
Added the wrapper for older kernels for new (inlined) usb-interface
functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: snd-usb-caiaq: clean up the control adding code
snd-usb-caiaq: clean up the control adding code by moving dulpicate code
to a function.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Use usb_set/get_intfdata
Use the USB functions usb_get_intfdata and usb_set_intfdata instead of
dev_get_drvdata and dev_set_drvdata, respectively.
The semantic patch that makes this change for the usb_get_intfdata case is
as follows: (http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@header@
@@
#include <linux/usb.h>
@same depends on header@
position p;
@@
usb_get_intfdata@p(...) { ... }
@depends on header@
position _p!=same.p;
identifier _f;
struct usb_interface*intf;
@@
_f@_p(...) { <+...
- dev_get_drvdata(&intf->dev)
+ usb_get_intfdata(intf)
...+> }
// </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>
- ALSA: caiaq - Fix Oops with MIDI
The snd-usb-caiaq driver causes Oops occasionally when accessing MIDI
devices. This patch fixes the Oops and invalid URB submission errors
as well.
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: caiaq - Version 1.3.10
Increase the version number in module info to indicate the fixes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Return proper error code at probe in sound/usb/*
Some drivers in soudn/usb/* don't handle the error code properly
from snd_card_create(). This patch fixes these places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: snd-usb-caiaq: support for two more audio devices
- Added support for two new audio devices from Native Instuments,
'Audio4DJ' and 'GuitarRig mobile'
- Add missing statement about 'Session IO' in Kconfig help text
- Version number bumped to 1.3.11
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

- Regenerated patches
Regenerated tea575x-tuner.patch and usbmixer.patch for 2.6.29 merge.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add wrapper functions for new usb interface functions
Added the wrapper for older kernels for new (inlined) usb-interface
functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: Add missing usbcompat.h
Forgot to add in the last commit...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix usbcompat.h
Most usb_endpoint_*() functions are already defined since 2.6.19.
But usb_endpoint_xfer_control() doesn't exist until 2.6.21.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Don't include usbcompat.h multiple times
Don't include usbcompat.h multiple times, which causes build errors.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: usb - Add quirk for Edirol UA-25EX advanced modes
Added the quirk for UA-25EX advanced modes.
UA-25EX is almost compatible with UA-25.
Tested-by: Serge Perinsky <sergebass@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: sound/usb: use USB API functions rather than constants
This set of patches introduces calls to the following set of functions:
usb_endpoint_dir_in(epd)
usb_endpoint_dir_out(epd)
usb_endpoint_is_bulk_in(epd)
usb_endpoint_is_bulk_out(epd)
usb_endpoint_is_int_in(epd)
usb_endpoint_is_int_out(epd)
usb_endpoint_num(epd)
usb_endpoint_type(epd)
usb_endpoint_xfer_bulk(epd)
usb_endpoint_xfer_control(epd)
usb_endpoint_xfer_int(epd)
usb_endpoint_xfer_isoc(epd)
In some cases, introducing one of these functions is not possible, and it
just replaces an explicit integer value by one of the following constants:
USB_ENDPOINT_XFER_BULK
USB_ENDPOINT_XFER_CONTROL
USB_ENDPOINT_XFER_INT
USB_ENDPOINT_XFER_ISOC
An extract of the semantic patch that makes these changes is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r1@ struct usb_endpoint_descriptor *epd; @@
- ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) ==
- \(USB_ENDPOINT_XFER_CONTROL\|0\))
+ usb_endpoint_xfer_control(epd)
@r5@ struct usb_endpoint_descriptor *epd; @@
- ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) ==
- \(USB_DIR_IN\|0x80\))
+ usb_endpoint_dir_in(epd)
@inc@
@@
#include <linux/usb.h>
@depends on !inc && (r1||r5)@
@@
+ #include <linux/usb.h>
#include <linux/usb/...>
// </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>
- ALSA: Use usb_set/get_intfdata
Use the USB functions usb_get_intfdata and usb_set_intfdata instead of
dev_get_drvdata and dev_set_drvdata, respectively.
The semantic patch that makes this change for the usb_get_intfdata case is
as follows: (http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@header@
@@
#include <linux/usb.h>
@same depends on header@
position p;
@@
usb_get_intfdata@p(...) { ... }
@depends on header@
position _p!=same.p;
identifier _f;
struct usb_interface*intf;
@@
_f@_p(...) { <+...
- dev_get_drvdata(&intf->dev)
+ usb_get_intfdata(intf)
...+> }
// </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>
- ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc
This patch extends 42a6e66f1e40a930d093c33ba0bb9d8d8e4555ed by using
usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,
and usb_endpoint_xfer_int in the negated case as well.
This patch also rewrites some calls to usb_endpoint_dir_in as negated calls
to !usb_endpoint_dir_out, and vice versa, to better correspond to the
intent of the original code.
The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@ struct usb_endpoint_descriptor *epd; @@
- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\))
+ !usb_endpoint_xfer_control(epd)
@@ struct usb_endpoint_descriptor *epd; @@
- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\))
+ !usb_endpoint_xfer_isoc(epd)
@@ struct usb_endpoint_descriptor *epd; @@
- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\))
+ !usb_endpoint_xfer_bulk(epd)
@@ struct usb_endpoint_descriptor *epd; @@
- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\))
+ !usb_endpoint_xfer_int(epd)
// </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>
- ALSA: USB quirk for Logitech Quickcam Pro 9000 name
The Logitech QuickCam Pro 9000 does not appear to any product identification
strings in its USB device descriptor. Therefore it receives a device name of
"USB Device 0x46d:0x990". Th e attached patch below adds a USB quirk to
provide a more friendly name.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- ALSA: preliminary support for Toshiba SB-0500
The Toshiba Multimedia Center SB-0500 is a rebranded version of the
Creative Technology SB Live! 24-bit External: it shares the same chipset
and only has minor cosmetic differences. Remote controller works with
alsa_usb module, basic audio is there and mixer controls are mostly
untested.
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: rename "Device" to "Toshiba SB-0500" via quirks
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 - Cache mixer values
Cache mixer values in usb-audio driver to reduce too excessive
accesses to the hardware.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: usb-audio - Quirk for Serato phono
Ignore errors (wrong usb interface data) found when using the serato
scratch live box with alsa
Thus the alsa controls can be accessed (beware: they don't work though -
but at least it's one ugly error message less)
Signed-off-by: Andreas Bergmeier <lcid-fire@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Utils

- Add a workaround to disable CONFIG_SND_SOC_ALL_CODECS as default
Add a workaround to disable CONFIG_SND_SOC_ALL_CODECS as default,
otherwise it doesn't build.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsa-info.sh: check if script can be overwritten in update()
If script is not writable, do not try to update it, but inform user
about temporaly location.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- Handle a bit deeper dependency chain in utils/mod-deps
Some items like CONFIG_SND_AC97_POWER_SAVE couldn't be handled properly
because its dependent item, CONFIG_SND_AC97_CODEC, is no selectable item
but always reverse-selected by other card items.
To solve this situation, new pending flag is added to struct dep.
In the first loop, if the dependency can't be solved in a single run,
the item is marked and skipped.
In the next run, the marked items are resolved.
Also, cleaned up annoying "M68K" dependency by introducing is_always_false()
and checking logical not.
Last but not least, added missing items to kernel_deps[] to be handled
properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Handle def_bool in mod-deps
Handle def_bool in mod-deps.
Assumes only def_bool y and the following depends (as an alternative
to reverse-selection).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix handling of tab and space in Kconfig
Fixed the handling of tab and spaces in Kconfig. Accept a combination
of spaces and a tab.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Fix the handling of CONFIG_SND_FM801_TEA575X
CONFIG_SND_FM801_TEA575X is a kconfig item without the explicit selection
but with a default dependency on CONFIG_SND_FM801, which wasn't handled
properly via mod-deps. Fixed now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- alsa-info.sh - added extra checks
Added checks for Pulseaudio/Esound/aRts 'sound servers', Check if they
are 1) installed 2) running
A few small changes for the locale, and timezone - keep things more
uniform.
Bumped version to 0.4.53
Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Virtual Master

- ALSA: add snd_ctl_add_slave_uncached()
Added snd_ctl_add_slave_uncached() function to add a slave element
with volatile controls. The values of normal slave elements are
supposed to be cachable, i.e. they are changed only via the put
callbacks. OTOH, when a slave element is volatile and its values may
be changed by other reason (e.g. hardware status change), the values
will get inconsistent.
The new function allows the slave elements with volatile changes.
When the slave is tied with this call, the native get callback is
issued at each time so that the values are always updated.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

WSS library

- ALSA: wss-lib: move AD1845 frequency setting into wss-lib
This is required to allow the sscape driver
to autodetect installed codec.
Also, do not create a timer if detected codec
has no hardware timer (e.g. AD1848).
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Rene Herman
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- ALSA: wss-lib: remove "pops" before each played sound
A WSS codec is autocalibrated each time before
playing sound. Do only one calibration during
codec initialization.
Complete snd_wss_calibrate_mute to mute loopback
volume as well.
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-lib

Core

- Don't use AC_CANONICAL_SYSTEM, only use AC_CANONICAL_HOST.
Since alsa-lib is not a tool generating architecture code, the target
definition does not matter, instead use $host and $build properly.
See http://blog.flameeyes.eu/2008/10/11 for a detailed explanation of
the problem and the fix.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Add the attributes.m4 macro file from xine/lscube.
This is a shared macro file that is currently maintained in both xine
and lscube repositories and contains a series of utility macros to
check compiler and linker features.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Release v1.0.19
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

Control API

- Make seq, rawmidi and control operation structures static const.
Since they are never changed it does not make sense to have them in
the writeable .data section, just make sure to add const to the ops
member in the structure definitions so that there are no extra
warnings added.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make all the remaining ops structure constants.
This excludes the mixer for now since it requires a change to the
public headers.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make string arrays as constant as possible.
Use "const char *const []" as type for string arrays, or convert to
"const char [][x]" when it makes sense.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

HWDEP API

- Make all the remaining ops structure constants.
This excludes the mixer for now since it requires a change to the
public headers.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Mixer API

- Fix volume/switch updates for global/simple mixer elements
Fixed a long-standing bug that the values of global or simple mixer
elements aren't updated when dir = SM_CAPT is given.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Make string arrays as constant as possible.
Use "const char *const []" as type for string arrays, or convert to
"const char [][x]" when it makes sense.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

PCM API

- Fix segfault with invalid meter plugin option
snd_pcm_meter_add_scope_conf() may cause a segfault when pcm_scope_type
isn't defined.
Initialize type_conf properly to avoid it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make snd_pcm_hw_params_names static to pcm_params.c .
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make all the PCM plugins ops structure constant.
This ensures they are emitted in .data.rel.ro rather than .data.rel,
which should make a nice difference when using prelink.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make string arrays as constant as possible.
Use "const char *const []" as type for string arrays, or convert to
"const char [][x]" when it makes sense.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Fix softvol access refine
The commit a13707da6bb0161db855a146c3e4d1d849e4108b
pcm_softvol plugin: remove access type change for refine
breaks the softvol in the case of RW -> MMAP. The slave of softvol
must be an mmap although the previous fix forces RW access.
This patch reverts the commit, and the fixed access refine method
to hanle non-interleaved <-> interleaved changes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

RawMidi API

- Make seq, rawmidi and control operation structures static const.
Since they are never changed it does not make sense to have them in
the writeable .data section, just make sure to add const to the ops
member in the structure definitions so that there are no extra
warnings added.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Sequencer API

- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make seq, rawmidi and control operation structures static const.
Since they are never changed it does not make sense to have them in
the writeable .data section, just make sure to add const to the ops
member in the structure definitions so that there are no extra
warnings added.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Timer API

- Make all the remaining ops structure constants.
This excludes the mixer for now since it requires a change to the
public headers.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

/Makefile.am

- Add the attributes.m4 macro file from xine/lscube.
This is a shared macro file that is currently maintained in both xine
and lscube repositories and contains a series of utility macros to
check compiler and linker features.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Add m4/attributes.m4 as dist file..
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/src/Makefile.am

- Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

ALSA Lisp

- Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

ALSA Server

- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Async helpers

- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Configuration

- Add linear plugin wrapping iec958 PCM for ice1724-based boards
The ice1724-based cards can handle only 32bit while the apps almost
expet 16bit format for SPDIF I/O. This prevents the default config
working on many apps like mplayer, xine, etc.
This patch simply adds the least automatic conversion by linear plugin.
Note that "plug" isn't used here. Otherwise we get a problem of the
routing (plug over plug is buggy).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Mark static tables as constant when possible.
This makes it possible to write them to .data.rel.ro or to .rodata if
there is no relocation involved (arrays of character arrays).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Fix snd-pcsp default configuration
The softvol must be inside the plug. Otherwise it gets stuck.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Don't accept an empty string for $ALSA_CONFIG_PATH
The variable $ALSA_CONFIG_PATH specifies the config path, but the current
code accepts the empty string and results in a mysterious error because
no config file is found.
This patch fixes the check of the variable and takes the default value
if the string is empty.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- add softvol for CMI8788
Master Volume controls were removed from Xonar D2/D2X cards; add the
softvol plugin so that we have at least PCM volume.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

I/O subsystem

- Make all the remaining ops structure constants.
This excludes the mixer for now since it requires a change to the
public headers.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Simple Abstraction Mixer Modules

- Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make sure that python libraries are passed through LIBADD.
Also avoid an indirection by using $(PYTHON_LIBS) and
$(PYTHON_INCLUDES) directly.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

alsa-utils

Core

- Add --disable-xmlto configure option
Added the check of xmlto program in configure script.
Also added --disable-xmlto configure option for systems with a broken
or older xmlto that doesn't work properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Release v1.0.19
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

ALSA Control (alsactl)

- Add --disable-xmlto configure option
Added the check of xmlto program in configure script.
Also added --disable-xmlto configure option for systems with a broken
or older xmlto that doesn't work properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Add -I option to alsactl
Add -I option to alsactl to take back the old restore behavior without
initialization.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remove some dead code (comparisons between 0 and unsigned integers).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Mark static the functions not used outside their unit.
This way the compiler can assume more information about their
interface for optimisation.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- alsactl: Fix restore / init call behaviour when driver contains more controls
Fix check when driver contains more controls than state file. In this case,
initialization procedure should be run, too.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
- alsa-utils check if __USE_BSD is defined before compiling "BSD functions"
Another bug/issue I tripped over when compiling alsa-utils in an
environment using uClibc to supply the C library functions. Here I have
enabled some old BSD style functions. The attached patch will honor
them if they are enabled.
Without this patch I get a redefined error during compile.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

ALSA RawMidi Utility (amidi)

- Mark static the functions not used outside their unit.
This way the compiler can assume more information about their
interface for optimisation.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Speaker Test

- Move conditional inclusion of locale.h further down.
Without this patch, ENABLE_NLS is checked before ever being defined
(aconfig.h is not yet included), and thus locale.h would never be
included even when NLS is enabled.
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Remove some unused variables.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- speaker-test: Fix floating-point exception bug
The period_size an buffer_size parameters must be taken after calling
snd_pcm_hw_params(). Otherwise they could be undefined numbers.
For example, period_size gets 0 when pcsp driver is used, resulting in
a floating-point exception error.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsaconf

- alsaconf: add Slackware support
Add Slackware support.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
- Create a special fd redirection for menu choice.
Without this patch, dialog errors gets interpreted as the choice,
causing errors related to loading "snd-***" module.
The problem was reported as Gentoo bug #96467 (
https://bugs.gentoo.org/show_bug.cgi?id=96467 ).
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Nowadays Gentoo also uses update-modules, so update alsaconf.
This was originally reported as Gentoo bug #193303 (
https://bugs.gentoo.org/show_bug.cgi?id=193303 ).
Original patch by Jack Kelly <endgame.dos@gmail.com>
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>

alsamixer

- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

amixer

- Mark static the functions not used outside their unit.
This way the compiler can assume more information about their
interface for optimisation.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

aplay/arecord

- Fix wrong direction check in aplay/arecord --list-pcms
I have just discovered a minor logic inversion bug in
aplay/arecord --list-pcms functionality.
Basically, executing "aplay --list-pcms" lists all devices capable of
capture and executing "arecord --list-pcms" lists all devices capable
of playback.
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

aseqnet

- aseqnet - Add $(INTLLIBS) to Makefile.am
Add $(INTLLIBS) to LDADD for aseqnet to fix build errors on uclibc
(and possibly others).
Signed-off-by: Takashi Iwai <tiwai@suse.de>

alsa-tools

Core

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

Digigram Echo Mixer

- Fix building of alsa-tools when using the --as-needed linker option.
Please note that LDFLAGS is the _wrong_ variable to pass libraries
with, automake tells you to use _LDADD for binaries and _LIBADD for
libraries, while autoconf wants them in the LIBS variable.
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>

Envy24 Control

- Fix building of alsa-tools when using the --as-needed linker option.
Please note that LDFLAGS is the _wrong_ variable to pass libraries
with, automake tells you to use _LDADD for binaries and _LIBADD for
libraries, while autoconf wants them in the LIBS variable.
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>

RME Digi Control

- Fix building of alsa-tools when using the --as-needed linker option.
Please note that LDFLAGS is the _wrong_ variable to pass libraries
with, automake tells you to use _LDADD for binaries and _LIBADD for
libraries, while autoconf wants them in the LIBS variable.
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>

ac3dec (Dolby Digital Decoder)

- Remove -Werror for ac3dec/tools
The -Werror option may cause build errors depending on the compiler
version.
Signed-off-by: Takashi Iwai <tiwai@suse.de>

hdspmixer

- Fix building of alsa-tools when using the --as-needed linker option.
Please note that LDFLAGS is the _wrong_ variable to pass libraries
with, automake tells you to use _LDADD for binaries and _LIBADD for
libraries, while autoconf wants them in the LIBS variable.
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>

alsa-plugins

Core

- Allow opt-out from jack, pulseaudio and avcodec dependencies.
Without this patch the jack, pulseaudio and avcodec discovery was
"automagic", without a way for the user to disable the relative
plugins if the dependencies are installed but the plugin is unwanted.
This patch does not change the default behaviour but allows to opt-out
from the plugins by passing the relative --without option at
./configure time.
Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Add the attributes.m4 macro file from xine/lscube.
This is a shared macro file that is currently maintained in both xine
and lscube repositories and contains a series of utility macros to
check compiler and linker features.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Release v1.0.19
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

/Makefile.am

- Add the attributes.m4 macro file from xine/lscube.
This is a shared macro file that is currently maintained in both xine
and lscube repositories and contains a series of utility macros to
check compiler and linker features.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Added m4/attributes.m4 to extra dist.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

A52 Output plugin

- Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Alsa support for Maemo SDK (n770)

- Cleanup flags in maemo/Makefile.am
Pass libraries on LIBADD rather than LDFLAGS, don't link to libdl
since it's unneeded, no need to pass -shared since libtool's -module
takes care of that, the same goes for -fPIC -DPIC (which might not
even be the right option).
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- [RFC] Don't use pow() for calculating a power of 2, use shift instead.
This assumes that the power2 argument is in the 0-32 range, so this
need to be carefully checked.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
- Mark as static the functions not used outside their unit.
This allows the compiler to assume more about their interface, if at
all possible.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Automatic upmix / downmix plugins

- Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.
The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Jack PCM plugin

- Check for --no-undefined linker flag and use it.
This adds extra safety that the built libraries will have all the
correct dependencies linked in.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

PulseAudio -> ALSA plugin

- Mark as static the functions not used outside their unit.
This allows the compiler to assume more about their interface, if at
all possible.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>

Detailed changelog between 1.0.17 and 1.0.19 releases

alsa-firmware

Core

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

Digigram PCXHR Firmware

- pcxhr - Add new firmwares
Add new firmwares for PCXHR devices.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- pcxhr - change firmware files
- compatibility issue : change firmware filenames
the pcxhr driver version <= 1.0.18a does not work
with new firmware > 1.0.17. Keep the old firmware files
and add new firmware files with different names
Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Custom Search
Personal tools
Namespaces

Variants
Actions
Navigation
wiki
Toolbox