summaryrefslogtreecommitdiffstats
path: root/sound
AgeCommit message (Collapse)Author
2013-01-17ALSA: hda - Minor cleanup/fixes for patch_sigmatel.c fixup transitionTakashi Iwai
- spec->hp_detect has to be overridden in HDA_FIXUP_ACT_PARSE, not in PRE_PARSE. - Remove err == 0 check but return directly -EINVAL from stac92xx_parse_auto_config() - Set spec->default_polarity for 92HD71bxx - Some code shuffles Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-17ASoC: tegra: add tegra machine driver using wm9712 codecLucas Stach
This adds a very simple machine driver using the Wolfson wm9712 AC97 codec. Signed-off-by: Lucas Stach <dev@lynxeye.de> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-17Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown
Conflicts: sound/soc/codecs/arizona.c
2013-01-17ASoC: arizona: Use actual rather than desired BCLK when calculating LRCLKMark Brown
Otherwise we'll get the wrong LRCLK if we need to pick a higher BCLK than is required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-16ALSA: hda - Give more comments to hda_gen_spec flagsTakashi Iwai
Since we have many bit flags in hda_gen_spec, rearrange in sections and give more comments there. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - Add suppress_auto_mute flag to hda_gen_specTakashi Iwai
A new flag to skip the auto-mute handling in the generic parser, just like suppress_auto_mic flag. It has to be set before calling snd_hda_gen_parse_auto_config(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - Record the current speaker / LO mute status in hda_gen_specTakashi Iwai
... to be referred by the codec driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - Properly call automute/switch hooks at initTakashi Iwai
... and a little bit of code refactoring. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16Merge branch 'test/hda-gen-parser' into test/hda-migrateTakashi Iwai
* test/hda-gen-parser: ALSA: hda - Make sure fill_all_dac_nids is called for digital only codecs ALSA: hda - force different capture controls if amp caps differ ALSA: hda - do not add non-existing Mic boost controls ALSA: hda - initialize channel counts correctly ALSA: hda - fix wrong adc_idx in generic parser ALSA: hda - Check array bounds in get_input_path ALSA: hda - Add prefer_hp_amp flag to hda_gen_spec ALSA: hda - fix OOPS in hda_mark_cmd_cache_dirty ALSA: hda - Check pincap while parsing the configuration
2013-01-16ALSA: hda - Make sure fill_all_dac_nids is called for digital only codecsDavid Henningsson
Otherwise no PCM will be built for codecs without analog I/O. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - force different capture controls if amp caps differDavid Henningsson
Otherwise setting the capture volume for amps will be weird and inconsistent (it will try to set values outside the range of the second amp based on capabilities of the first amp). Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - do not add non-existing Mic boost controlsDavid Henningsson
If the input node does not have any volume capable input amp, don't add such a control. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ASoC: wm2200: correct mixer values and textChris Rattray
Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-16ASoC: fsi: Remove __devinitconstThierry Reding
__devinitconst and friends have recently been removed and must not be used anymore. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-16ALSA: hda - initialize channel counts correctlyDavid Henningsson
Even a single DAC can output two channels, so the channel count is twice the number of DACs. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - fix wrong adc_idx in generic parserDavid Henningsson
We use knew->index for adc_idx when we create "Capture Volume" and "Capture Switch", so use the same to retrieve adc_idx. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hda - Check array bounds in get_input_pathDavid Henningsson
This gives us some additional safety. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ASoC: arizona: Don't request FLL lock IRQMark Brown
We only log the result and since the interrupt triggers on loss of lock during shutdown this may lead to spurious interrupts during shutdown delaying the process. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-16ALSA: hda/ca0132 - Make some symbols staticTakashi Iwai
sound/pci/hda/patch_ca0132.c:387:19: sparse: symbol 'ca0132_voicefx' was not declared. Should it be static? Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hdsp - Remove obsolete settings functionsAdrian Knoth
With HDSP_TOGGLE_SETTING in place, these functions are no longer required. Removing them makes the code DRY and considerably shorter. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hdsp - Use HDSP_TOGGLE_SETTING to alter settingsAdrian Knoth
HDSP_TOGGLE_SETTING and its corresponding functions allow to change settings in the control register. Instead of using the specialised functions, use the generic code to make the code DRY. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hdsp - Implement generic function to toggle settingsAdrian Knoth
The driver contains multiple similar functions that change only a single bit in the control register, only the bit position varies. This patch implements a generic function to toggle a certain bit position that will be used to replace the old code. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ALSA: hdsp - Fix detection for RME RPM/Multiface/Digiface ioboxesAdrian Knoth
The current iobox detection code reportedly fails for various users, so simply do what the Win32 driver does instead. Patch originally by Karl Grill <kgrill@chello.at> and then modified to comply with kernel coding guidelines + current HEAD. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-16ASoC: wm2200: Initialise the ADSPsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-16Merge remote-tracking branch 'asoc/topic/adsp' into asoc-wm2200Mark Brown
2013-01-16ASoC: wm_adsp: Add initialisation function for ADSP1Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-15ALSA: hda - Add prefer_hp_amp flag to hda_gen_specTakashi Iwai
Add a new flag to indicate whether HP amp is turned on as default for speaker or line-outs, and enable this for ALC260 codec, as many machines with this codec require the HP amp even for speakers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Fix a wrong comma in snd_printdd() callTakashi Iwai
sound/pci/hda/patch_ca0132.c: In function ‘ca0132_effects_set’: sound/pci/hda/patch_ca0132.c:3391:2: warning: too many arguments for format [-Wformat-extra-args] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Declare firmware only when really builtTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Fix possible invalid DMA channel deallocationTakashi Iwai
... in the error path in dspxfr_image(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Fix possible NULL dereferenceTakashi Iwai
Spotted by smatch, sound/pci/hda/patch_ca0132.c:1950 dspxfr_image() error: potential null dereference 'dma_engine'. (kzalloc returns null) sound/pci/hda/patch_ca0132.c:1950 dspxfr_image() error: we previously assumed 'dma_engine' could be null (see line 1857) Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Fix another smatch warningTakashi Iwai
sound/pci/hda/patch_ca0132.c:1781 dspxfr_one_seg() info: why not propagate 'status' from dsp_dma_stop() instead of (-5)? Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Fix superfluous unsigned checkTakashi Iwai
Fix a warning by smatch, sound/pci/hda/patch_ca0132.c:714 dspio_send() warn: always true condition '(res >= 0) => (0-u32max >= 0)' Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132 - Use snd_hda_set_pin_ctl() helper againTakashi Iwai
The recent update of ca0132 driver replaced the pinctl setup to the direct write via snd_hda_codec_write() again. This should be covered by snd_hda_set_pin_ctl() to be safer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15Revert "ALSA: hda - Add firmware caching to CA0132 codec"Takashi Iwai
This reverts commit c3b4eea26208b8e247ece9d3a9ec8b2eab48c464. Since the recent firmware loader code supports caching at S3/S4 by itself, we don't have to handle f/w caching in the driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Fix potential init errors and update module descriptionIan Minett
Handle a potential dma_engine alloc error and fix the possible use of an uninitialized status variable in dspxfr_one_seg(). Also correct the initial sampling rate for Mic 1. Update the module description. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Shuffle to group together related codeIan Minett
Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Code shuffle to group similar functions.Ian Minett
Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Add tuning controlsIan Minett
This patch adds the controls used for tuning the DSP effects. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Add unsol handler for DSP and jack detectionIan Minett
This patch adds the unsolicited response handler for incoming DSP responses and jack detection reporting, and routines for reading the incoming DSP response. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Add PCM enhancementsIan Minett
Remove the playback PCM open callback. PCM stream setup and cleanup functions are added for use by PCM callbacks. Delay stream cleanup if effects are on, to allow time for any effects tail to finish. Add the analog capture PCM callbacks. Change the max channels of analog playback to 6. Add two new PCMs: AMic2 and What-U-Hear. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Add DSP mixer controls and helpersIan Minett
This patch adds the kcontrols for the DSP effects, playback and recording source selection. ca0132_is_vnode_effective() checks whether virtual node settings have taken effect. The control change helpers ca0132_pe_switch_set(), ca0132_voicefx_set() and ca0132_cvoice_switch_set() are added to toggle playback / capture DSP effects, ca0132_voicefx_info(), _get() and _put() are added for input path DSP effect value access. The volume helpers are updated to volume_info(), _get() and _set() to use the virtual nodes. The redundant headphone and speaker switches and ct_extension function are removed. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Init chip, DSP effects and mixer settingsIan Minett
This patch adds the framework to set effect parameters: ca0132_effects_set() and ca0132_setup_defaults() are general functions for parameter setting and initializing to default values. dspio_set_param() and dspio_set_uint_param() are lower-level fns to simplify setting individual DSP parameters via an SCP buffer transfer to the firmware. The CA0132 chip parameter init code is added in ca0132_init_params(). In chipio_[write,read]_data(), the current chip address is auto-incremented if no error has occurred. ca0132_select_out() selects the current output. If autodetect is enabled, use headphones (if jack detected) or speakers (if no jack). ca0132_select_mic() selects the current mic in. If autodetect is enabled, use exterior mic (if jack detected) or built-in mic (if no jack). Init digital mic and switch between dmic and amic with ca0132_init_dmic(), ca0132_set_dmic(). amic2 is initialized in ca0132_init_analog_mic2(). Finally, add verb tables for configuring DSP firmware. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/ca0132: Add new definitions and structs for DSPIan Minett
This patch adds definitions and structs used for configuring DSP effects, virtual nodes, effect tuning controls, and mixer control helpers. The effect structs are also initialized. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda - fix OOPS in hda_mark_cmd_cache_dirtyDavid Henningsson
Obvious copy-paste error. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/hdmi - Work around "alsactl restore" errorsTakashi Iwai
When "alsactl restore" is performed on HDMI codecs, it tries to restore the channel map value since the channel map controls are writable. But hdmi_chmap_ctl_put() returns -EBADFD when no PCM stream is assigned yet, and this results in an error message from alsactl. Although the error is harmless, it's certainly ugly and can be regarded as a regression. As a workaround, this patch changes the return code in such a case to be zero for making others happy. (A slight excuse is: when the chmap is changed through the proper alsa-lib API, the PCM status is checked there anyway, so we don't have to be too strict in the kernel side.) Cc: <stable@vger.kernel.org> [v3.7+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/sigmatel - Remove superfluous fields from sigmatel_specTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/sigmatel - Move w/a for HP Mini 110 LED to fixup tableTakashi Iwai
Instead of checking the codec SSID in find_mute_led_cfg() for HP Mini 110, set the proper spec->default_polairty in the fixup table. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda/sigmatel - Remove PCI id check in find_mute_led_cfg()Takashi Iwai
The PCI vendor ID check in find_mute_led_cfg() is now superfluous because the function is called in the fixup table entries of HP machines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda - Use standard fixup table for IDT92HD83xxxTakashi Iwai
Finally all codecs in patch_sigmatel.c have been converted to use the standard fixup helpers. This change also includes trivial cleanups like the call of common setup for GPIO LED or the removal of unused function. Signed-off-by: Takashi Iwai <tiwai@suse.de>