summaryrefslogtreecommitdiffstats
path: root/sound
AgeCommit message (Collapse)Author
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>
2013-01-15ALSA: hda - Use standard fixup table for IDT92HD73xxTakashi Iwai
This one is rather a simple conversion. The fixups for Dell machines are implemented by fixup functions in the end. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda - Use standard fixup table for IDT92HD71BxxTakashi Iwai
This time, the only intrusive changes are for HP machines. As the mute LED fixup and the bass speaker switch are required only for HP machines, we can move these checks into the fixup entries; the former is applied generically to all HP machines while the latter for only certain models. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda - Check pincap while parsing the configurationTakashi Iwai
Sometimes (or rather often) BIOS sets the pin default configurations obviously wrongly. Looking through these failures, one common pattern is to enable some dead pins that are usually marked as speaker pins. In such a case, we can skip them if the pins don't have the output capability. In this patch, add a check for the valid pin cap bit for each parsed pin, and filter out when it's invalid. The fix was originally suggested by Raymond Yau. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda - Use standard fixup table for STAC927xTakashi Iwai
This conversion is a bit tricky. Since STAC927x may take two different volume-knob initialization values depending on the model, a new flag, spec->volknob_init, is introduced to indicate whether it's the standard volume-knob initialization or not. Also, Dell BIOS model is now directly mapped onto the fixup table instead of parsing in the function. This resulted in a new model ref, STAC_927X_DELL_BIOS_SPDIF, which is a chained entry. Also, for reducing the fixups, virtual entries like STAC_927X_DELL_DMIC and STAC_D965_VERBS are introduced. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-15ALSA: hda - Use standard fixup table for STAC922xTakashi Iwai
Rather straightforward conversion, except for ones for Intel Mac. As Intel Mac have only unique codec SSIDs, we need to remap the fixup again for the codec SSID and call the new fixup there. Also, we can reduce model enums like STAC_MACMINI, which are model aliases for backward compatibility, since they can be pointed directly via hda_model_fixup table. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: hda - Use standard fixup table for STAC9205Takashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: hda - Use standard fixup table for STAC9872Takashi Iwai
Now for STAC9872. It has a small fixup table, fortunately. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: hda - Use standard fixup table for STAC925xTakashi Iwai
Similar like the previous commit, convert patch_stac925x() to use the standard fixup table. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14ALSA: hda - Use standard fixup table for STAC9200Takashi Iwai
Convert patch_stac9200() to use the standard fixup table instead of manual switch-case with board_config. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-14Merge branch 'test/hda-gen-parser' into test/hda-migrateTakashi Iwai
* test/hda-gen-parser: ALSA: hda - Add capture_switch_hook to generic parser