summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-21ALSA: sh: Fix up namespace collision in sh_dac_audio.Paul Mundt1-2/+2
The module_platform_driver() conversion ended up tripping over the driver name, leading to confusion in the macro with regards to 'driver' being redefined. rename it to something slightly more suitable to avoid namespace collisions. sound/sh/sh_dac_audio.c:444:122: error: conflicting types for 'driver_init' include/linux/device.h:773:6: note: previous declaration of 'driver_init' was here make[3]: *** [sound/sh/sh_dac_audio.o] Error 1 Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: usb-audio - Call get_min_max_*() after determining the name stringTakashi Iwai1-13/+13
get_min_max_with_quirks() must be called after the control id name string is determined, but the current code changes the id name string after calling the function. Reported-by: Christian Melki <christian.melki@ericsson.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: hda - add probe_mask=0x101 automatically for WinFast VP200 HJaroslav Kysela1-0/+2
This patch just sets the codec probe_mask=0x101 value for the WinFast VP200 H PCoIP card based on Teradici hardware matching the PCI subsystem vendor/device IDs 3a21:040d. The user reported no codec detection issues without this explicit codec configuration. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: snd-aloop - improve the sample copy accurracyJaroslav Kysela1-27/+35
Maintain both streams (playback, capture) synchronized. Previous code didn't take in account the small byte count drifts caused by the irq position rounding. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-14ALSA: firewire-lib: optimize packet flushingClemens Ladisch2-1/+8
Trying to flush completed packets is pointless when the pointer callback was called from the packet completion callback; avoid it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-14ALSA: firewire-lib: flush completed packets when reading PCM positionClemens Ladisch2-12/+15
By flushing all completed but not yet reported packets before reading the PCM hardware position, the granularity of the pointer is improved from the interrupt interval to the packet size. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-14ALSA: firewire-lib: taskletize the snd_pcm_period_elapsed() callClemens Ladisch2-13/+31
The following patch might introduce this call chain: PCM .pointer callback + fw_iso_context_flush_completions + packet callback + snd_pcm_period_elapsed + PCM .pointer callback Recursive calls to the pointer callback are not possible due to the PCM group locking, so avoid this by moving the period notification into a separate tasklet. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-11ALSA: usb-audio: Fix commentMark Hills1-10/+2
Explained by Takashi in <s5hfwbtmz0q.wl%tiwai@suse.de> > The reason is because get_min_max*() isn't called in the place you > created these controls, and get_min_max() would be called only for > integer volumes later even if uninitialized. A short cut for booleans. Signed-off-by: Mark Hills <mark@pogo.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-11ALSA: pcm - Optimize the call of snd_pcm_update_hw_ptr() in read/write loopTakashi Iwai1-8/+10
In the PCM read/write loop, the driver calls snd_pcm_update_hw_ptr() at each time at the beginning of the loop. Russell King reported that this hogs CPU significantly. The current code assumes that the pointer callback is very fast and cheap, also not too much fine grained. It's not true in all cases. When the pointer advances short samples while the read/write copy has been performed, the driver updates the hw_ptr and gets avail > 0 again. Then it tries to read/write these small chunks. This repeats until the avail really gets to zero. For avoiding this situation, a simple workaround is to call snd_pcm_update_hw_ptr() only once at starting the loop, assuming that the read/write copy is performed fast enough. If the available count becomes short, it goes to snd_pcm_wait_avail() anyway, and this processes right. Tested-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-11ALSA: atmel/ac97c: correct the unexpected behavior when using uninitial ↵Bo Shen1-0/+2
value for reset pin When pdata->reset_pin is passed with a negative value (means gpio is invalid), then chip->reset_pin will not be assigned to a vaule, it will use default value 0. This will cause unexpected behavior. So, add this patch to correct. Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08sound: allow the unit search until 256 in sound_core.cTakashi Iwai1-1/+1
The upper limit of the available minors isn't necessarily 128 + unit, but it's rather up to 256. Fixing this allows more than 8 devices. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: Fix the card number limit of OSS-emulationTakashi Iwai1-3/+3
There are left-over codes from the ancient days with the static device number limitation of 8. Actaully OSS can support up to 16 cards. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-07ALSA: jack: Update documention to reflect other userspace interfacesMark Brown1-1/+4
Since this is a generic API which should support any userspace interface for reporting jacks update the documentation a little to make that a bit clearer. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-05ALSA: oxygen: add Xonar DGX supportClemens Ladisch4-6/+13
Add the PCI ID of the Asus Xonar DGX card; it's otherwise identical with the DG. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-26ALSA: asihpi - Revert module_pci_driver conversion for asihpi.cTakashi Iwai1-2/+17
It contains non-standard call. Reported-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: snd-usb: fix some typos in endpoint.c documentationDaniel Mack1-25/+33
Also be more specific about some details while at it. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: pci: clean up using module_pci_driver()Takashi Iwai51-705/+98
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: sound/usb/endpoint.c: suppress warningAndrew Morton1-1/+1
sound/usb/endpoint.c: In function 'queue_pending_output_urbs': sound/usb/endpoint.c:298: warning: 'packet' may be used uninitialized in this function Cc: Daniel Mack <zonque@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: Add missing error checks in snd_ebox44_create_mixer()Takashi Iwai1-9/+29
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: M-Audio Fast Track Ultra: Add effect controlsFelix Homann2-0/+319
This adds controls for the effects section on the FTU devices. Some of these controls need volume quirks. They are added to mixer.c. [fixed missing break by tiwai] Signed-off-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: Rename Fast Track Ultra mixer quirk functionsFelix Homann1-5/+5
This is in preparation for more FTU controls to come. Should help keeping names a bit shorter. Signed-off-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: Add TLV to M-Audio Fast Track Ultra controlsFelix Homann1-2/+2
This adds db gain information to M-Audio Fast Track Ultra (8R) devices. Signed-off-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: Rename and export mixer_vol_tlvFelix Homann2-2/+5
Rename mixer_vol_tlv to snd_usb_mixer_vol_tlv and export it to make it reuseable in mixer_quirks.c. Signed-off-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-24ALSA: usb-audio: Unify M-Audio Fast Track Ultra and Ebox-44 mixer quirks.Felix Homann1-85/+125
Merge snd_maudio_ftu_create_ctl() and snd_ebox44_create_ctl() into snd_create_std_mono_ctl(). As opposed to the ftu and ebox-44 specific functions, a TLV callback can be specified for controls created by snd_create_std_mono_ctl(). [fixed minor checkpatch.pl warnings by tiwai] Signed-off-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-21ALSA: snd-usb: remove refactorization left-oversDaniel Mack2-18/+1
Drop some struct members and definitions that became obsolete during the refactorization of the driver. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-18Merge branch 'topic/cea861-audio' into topic/miscTakashi Iwai2-0/+55
2012-04-18ALSA: Add definitions for CEA-861 Audio InfoFramesRicardo Neri2-0/+55
Along with the IEC-60958 channel status word, CEA-861 Audio InfoFrames are used in HDMI and DisplayPort to describe the parameters of the audio stream. Hence, drivers for such devices may use these definitions to, for instance, fill a CEA-861 data structure and pass it to a display driver to configure an IP. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-18Merge branch 'topic/usb-endpoint' into topic/miscTakashi Iwai8-825/+1401
2012-04-15ALSA: snd-usb-audio: Replace mixer for Electrix Ebox-44Mark Hills2-0/+80
The mixer units from the firmware are corrupt, and even where they are valid they presents mono controls as L and R channels of stereo. Signed-off-by: Mark Hills <mark@pogo.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-15ALSA: snd-usb-audio: Skip un-parseable mixer units instead of erroringMark Hills1-1/+1
Some interfaces reference endpoints which do not exists. To accomodate these, do not fail completely, but skip over them. This allows the Electrix Ebox-44 with earlier firmware to be detected and used for audio. Signed-off-by: Mark Hills <mark@pogo.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: usb: Remove obsoleted fields from struct snd_usb_substreamTakashi Iwai2-26/+21
Many fields have been moved to struct snd_usb_endpoint. Also fix the proc output to correspond to the new structure. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: usb: Fix fill_max flag setTakashi Iwai1-1/+1
ep->fill_max is a 1 bit flag, thus it has to be boolean. sound/usb/endpoint.c: In function 'snd_usb_endpoint_set_params': sound/usb/endpoint.c:785: warning: overflow in implicit constant conversion Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: usb: Remove unused variableTakashi Iwai1-1/+0
sound/usb/endpoint.c: In function ‘deactivate_urbs’: sound/usb/endpoint.c:520:16: warning: unused variable ‘flags’ [-Wunused-variable] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: snd-usb: add some documentationDaniel Mack1-11/+171
Document the new streaming code and some of the functions so that contributers can catch up easier. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: snd-usb: add support for implicit feedbackDaniel Mack1-11/+26
Implicit feedback is a streaming mode that does not rely on dedicated sync endpoints but uses the information provided by record streams to clock output streams. Now that the streaming logic is decoupled from the PCM streams, this is easy to implement. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: snd-usb: remove old streaming logicDaniel Mack2-859/+6
Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: snd-usb: switch over to new endpoint streaming logicDaniel Mack6-119/+385
With the previous commit that added the new streaming model, all endpoint and streaming related code is now in endpoint.c, and pcm.c only acts as a wrapper for handling the packet's payload. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: snd-usb: implement new endpoint streaming modelDaniel Mack4-11/+1002
This patch adds a new generic streaming logic for audio over USB. It defines a model (snd_usb_endpoint) that handles everything that is related to an USB endpoint and its streaming. There are functions to activate and deactivate an endpoint (which call usb_set_interface()), and to start and stop its URBs. It also has function pointers to be called when data was received or is about to be sent, and pointer to a sync slave (another snd_usb_endpoint) that is informed when data has been received. A snd_usb_endpoint knows about its state and implements a refcounting, so only the first user will actually start the URBs and only the last one to stop it will tear them down again. With this sort of abstraction, the actual streaming is decoupled from the pcm handling, which makes the "implicit feedback" mechanisms easy to implement. In order to split changes properly, this patch only adds the new implementation but leaves the old one around, so the the driver doesn't change its behaviour. The switch to actually use the new code is submitted separately. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-13ALSA: snd-usb: add snd_usb_audio-wide mutexDaniel Mack2-0/+3
This is needed for new card-wide list operations. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-10ALSA: riptide: remove redundant NULL test before release_firmware()Jesper Juhl1-2/+1
release_firmware() deals gracefully with NULL pointers, no need to check first. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-10ALSA: sound/isa/sscape.c: add missing resource-release codeJulia Lawall1-2/+4
At the point of this error-handling code, both regions and the dma have been allocated, so free it as done in previous and subsequent error-handling code. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-10sound: sound/oss/msnd_pinnacle.c: add vfreesJulia Lawall1-2/+6
At the point of this error-handling code, HAVE_DSPCODEH may be undefined, so free INITCODE and PERMCODE as done elsewhere. A jump and label are introduced to avoid code duplication. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-07Merge tag 'asoc-3.4' of ↵Takashi Iwai10298-281130/+486124
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: fixes for 3.4 A bunch of driver-specific fixes and one generic fix for the new support for platform DAPM contexts - we were picking the wrong default for the idle_bias_off setting which was meaning we weren't actually achieving any useful runtime PM on platform devices.
2012-04-07ALSA: hda - clean up CX20549 test mixer setupMichael Karcher1-21/+17
name pins consistently (MIC1/LINE1/HP-OUT/CD) on all controls affecting those pins. remove duplicate SET_AMP_GAIN_MUTE to 0x17/index 0 and 0x17/index 1 really select MIC1, not Mixer out for recording "Mixer out" for recording is not a "pin", adjust comment Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-07ALSA: hda - CX20549 doesn't need pin_amp_workaround.Michael Karcher1-2/+3
CX20549 (ctx5045) doesn't accept data on index 1 for output pins, as shown in the following hda-var transaction: $ hda-verb /dev/snd/hwC0D0 0x10 set_amp_gain 0xb126 nid = 0x10, verb = 0x300, param = 0xb126 value = 0x0 $ hda-verb /dev/snd/hwC0D0 0x10 get_amp_gain 0x8001 nid = 0x10, verb = 0xb00, param = 0x8001 value = 0x0 Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-07ALSA: hda - Remove CD control from model=benq for CX20549Michael Karcher1-5/+1
The ID used for detection of the BenQ R55E actually identifies the Quanta TW3 ODM design, which is also used for the Gigabyte W551 laptop series. Schematics on the internet clearly indicate that the "Port C" (analog input connected to record source #4 and mixer input #4) is unconnected. Playing an audio CD through analog playback (using cdplay from cdtools) produces no sound, even with the mixer input labelled "CD" enabled, and the volume control in the CD drive set to maximum. This indicates the connection is really not present. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-07ALSA: hda - fix record volume controls of CX20459 ("Venice")Michael Karcher1-25/+6
The "input converter" widget of the CX20459 has only one input amplifier, expose that one as "Capture Volume/Capture Switch". The actual record source selection is already exposed through the separately installed input mux. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-07ALSA: hda - Rename capture sources of CX20549 to match common conventionsMichael Karcher1-13/+13
This includes renaming "Line In" to line, also in the mixer settings. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-07ALSA: hda - Fix proc output for ADC amp values of CX20549Michael Karcher3-7/+17
The CX20549 has only one single input amp on it's input converter widget. Fix printing of values in the codec file in /proc/asound. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-04-06ASoC: tegra: fix i2s compilation when !CONFIG_DEBUG_FSStephen Warren1-1/+1
Commit d4a2eca "ASoC: Tegra I2S: Remove dependency on pdev->id" changed the prototype of tegra_i2s_debug_add, but didn't update the dummy inline used when !CONFIG_DEBUG_FS. Fix that. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: <stable@vger.kernel.org> # 3.3