- Apr 30, 2013
-
-
Eldad Zack authored
Current code does this: be16_to_cpu(buf[i * 2] << 8 | buf[(i * 2) + 1]) Which is effectively (neglecting the index): be16_to_cpu(be16_to_cpu(*((u16 *) buf))) This means the int16 in the buffer is not converted at all. Daniel Mack confirmed that the driver works on little endian CPUs, leading to the conclusion that the device-side structure is actually little endian. This changes the code to use le16_to_cpu(). Caught by sparse. Acked-by:
Daniel Mack <zonque@gmail.com> Signed-off-by:
Eldad Zack <eldad@fogrefinery.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 29, 2013
-
-
Eldad Zack authored
Some Asihpi formats are not supported or invalid, and their mapping to ALSA format is set to -1. Before performing the format conversion into ALSA bitwise formats, add a consistency check for the requested format, as done in snd_card_asihpi_playback_formats(). Compile tested only. Signed-off-by:
Eldad Zack <eldad@fogrefinery.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Eldad Zack authored
Add a function to handle conversion from snd_pcm_format_t to bitwise with proper typing. Change such conversions to use this function and silence sparse warnings. Signed-off-by:
Eldad Zack <eldad@fogrefinery.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Vinod Koul authored
for reading compressed data, we need to allow when we are paused, draining or stopped. Signed-off-by:
Vinod Koul <vinod.koul@intel.com> Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Cc: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Reviewed-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
David Henningsson authored
This enables better volume controls than the current model parser. Also, because the original quirk for X220 was added to fix docking station support, add the TP410 fixup instead. Reported-by:
Willian Jon McCann <william.jon.mccann@gmail.com> Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Clemens Ladisch authored
The recent changes in the USB API ("implement new semantics for URB_ISO_ASAP") made the former meaning of the URB_ISO_ASAP flag the default, and changed this flag to mean that URBs can be delayed. This is not the behaviour wanted by any of the audio drivers because it leads to discontinuous playback with very small period sizes. Therefore, our URBs need to be submitted without this flag. Reported-by:
Joe Rayhawk <jrayhawk@fairlystable.org> Cc: <stable@vger.kernel.org> # 3.8 only Signed-off-by:
Clemens Ladisch <clemens@ladisch.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 26, 2013
-
-
David Henningsson authored
The Scarlett 2i2 seems to take almost 500 ms to set the sample rate, even if the clock is currently set to that value. This patch speeds up prepare of the device, by avoiding setting the clock to something it already is. Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Arnd Bergmann authored
The virt_to_bus/bus_to_virt functions have been deprecated for as long as I can remember, and they are used in very few remaining instances, usually in obscure ISA device drivers. The OSS sound drivers are the only ones that are still used on the ARM architecture, and only on some of the earliest StrongARM machines. The problem for converting the OSS subsystem to use dma_map_single instead is that the caller of virt_to_bus does not have a device pointer, since the subsystem has never been ported to use the common device infrastructure. Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Arnd Bergmann authored
ARM cannot handle udelay for more than 2 miliseconds, so we should use mdelay instead for those. Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 25, 2013
-
-
Takashi Iwai authored
Merge tag 'asoc-v3.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: More updates for v3.10 A few more fixes, nothing too major though the DMA changes fix modular builds.
-
Kailang Yang authored
It's yet another ALC269-variant. Signed-off-by:
Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Trulan Martin authored
This patch adds a USB quirk for the Yamaha THR10C amp. Signed-off-by:
Trulan Martin <trulanm@gmail.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Trulan Martin authored
This patch adds a USB quirk for the Yamaha THR5A amp. Signed-off-by:
Trulan Martin <trulanm@gmail.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Trulan Martin authored
This patch adds a USB quirk for the Yamaha THR10 amp. Signed-off-by:
Trulan Martin <trulanm@gmail.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
We've got strange errors in get_ctl_value() in mixer.c during probing, e.g. on Hercules RMX2 DJ Controller: ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xa00, type = 4 ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4 .... It turned out that the culprit is autopm: snd_usb_autoresume() returns -ENODEV when called during card->probing = 1. Since the call itself during card->probing = 1 is valid, let's fix the return value of snd_usb_autoresume() as success. Reported-and-tested-by:
Daniel Schürmann <daschuer@mixxx.org> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Daniel Mack authored
The USB_DT_CS_ENDPOINT class-specific endpoint descriptor is usually stuffed directly after the standard USB endpoint descriptor, and this is where the driver currently expects it to be. There are, however, devices in the wild that have it the other way around in their descriptor sets, so the USB_DT_CS_ENDPOINT comes *before* the standard enpoint. Devices known to implement it that way are "Sennheiser BTD-500" and Plantronics USB headsets. When the driver can't find the USB_DT_CS_ENDPOINT, it won't be able to change sample rates, as the bitmask for the validity of this command is storen in bmAttributes of that descriptor. Fix this by searching the entire interface instead of just the extra bytes of the first endpoint, in case the latter fails. Signed-off-by:
Daniel Mack <zonque@gmail.com> Reported-and-tested-by:
Torstein Hegge <hegge@resisty.net> Reported-and-tested-by:
Yves G <alsa-user@vivigatt.com> Cc: stable@kernel.org Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 24, 2013
-
-
Pavel Machek authored
Fix english in sound/drivers/Kconfig. Signed-off-by:
Pavel Machek <pavel@ucw.cz> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
The commit [b209c4df : ALSA: emu10k1: cache emu1010 firmware] broke the firmware loading of the dock, just (mistakenly) ignoring a different firmware for docks on some models. This patch revives them again. Bugzilla: https://bugs.archlinux.org/task/34865 Reported-and-tested-by:
Tobias Powalowski <tobias.powalowski@googlemail.com> Cc: <stable@vger.kernel.org> [v3.8+] Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Mark Brown authored
-
Mark Brown authored
-
Mark Brown authored
-
Mark Brown authored
-
Mark Brown authored
-
Mark Brown authored
-
Mark Brown authored
-
Arnd Bergmann authored
We get a lot of build warnings from the msp driver like: In file included from sound/soc/ux500/ux500_msp_dai.h:21:0, from sound/soc/ux500/mop500.c:25: sound/soc/ux500/ux500_msp_i2s.h:546:11: warning: 'struct msp_i2s_platform_data' declared inside parameter list [enabled by default] struct msp_i2s_platform_data *platform_data); ^ sound/soc/ux500/ux500_msp_i2s.h:546:11: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] The easiest solution is to add a declaration of the struct name. Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
- Apr 23, 2013
-
-
Michal Bachraty authored
For TDM mode, BCLK-to-LCLK ratio is computed as (tdm_slots) x (word_length). I2S mode is only subset of TDM mode with specific tdm_slots = 2 channels. Also bclk_lrclk_ratio can be greater than 255, therefore u16 need to be used. Signed-off-by:
Michal Bachraty <michal.bachraty@streamunlimited.com> Acked-by:
Daniel Mack <zonque@gmail.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Michal Bachraty authored
As pointed of by Vaibhav, commit message: "ASoC: davinci-mcasp: Add support for multichannel playback" number of active serializers can be hidden into fifo_level variable, which is set in davimci-mcasp. Signed-off-by:
Michal Bachraty <michal.bachraty@streamunlimited.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Shawn Guo authored
dma_request_slave_channel() is a more appropriate API for dmaengine clients that adopt generic DMA bindings to call. Let's use it instead of of_dma_request_slave_channel() to save <linux/of_dma.h> include. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Acked-by:
Lars-Peter Clausen <lars@metafoo.de> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Shawn Guo authored
The examples in Documentation/devicetree/bindings/dma/dma.txt recommends the name for dma channel doing both RX and TX to be "rx-tx". This becomes a common pattern that has been adopted by platforms that converts to generic DMA bindings. Let's follow this common pattern in generic-dmaengine-pcm. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Acked-by:
Lars-Peter Clausen <lars@metafoo.de> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
- Apr 22, 2013
-
-
David Henningsson authored
These are being reported as being so noisy at high mic boost levels, so they are unusable in practice. Therefore artificially limit the boosts. BugLink: https://bugs.launchpad.net/bugs/1089795 Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Lars-Peter Clausen authored
Use the generic dmaengine PCM driver instead of a custom implementation. Signed-off-by:
Lars-Peter Clausen <lars@metafoo.de> Tested-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Lars-Peter Clausen authored
This allows us to access the DAI DMA data when we create the PCM. We'll use this when converting mxs to generic DMA engine PCM driver. Signed-off-by:
Lars-Peter Clausen <lars@metafoo.de> Tested-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Lars-Peter Clausen authored
The MXS SAIF is only half-duplex so set the SNDRV_PCM_INFO_HALF_DUPLEX flag for the PCM in order to prevent playback and capture from running at the same time. Signed-off-by:
Lars-Peter Clausen <lars@metafoo.de> Tested-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Lars-Peter Clausen authored
Some platforms which are half-duplex share the same DMA channel between the playback and capture stream. Add support for this to the generic dmaengine PCM driver. Signed-off-by:
Lars-Peter Clausen <lars@metafoo.de> Tested-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Daniel Schürmann authored
Set the timeout for USB control set messages according to the USB 2 spec, using the macros from include/linux/usb.h. The get timout becomes 5000 ms even though it is 500 ms in the spec. This patch is required to run the Hercules RMX2 which needs a timeout of 1240 ms. More notes from author: I still distinguish between set and get but as long both are 5000 ms GCC will remove it anyway. IMHO this is more easy read and there is no need to explain why we use a get timeout for set messages. Signed-off-by:
Daniel Schürmann <daschuer@mixxx.org> Acked-by:
Daniel Mack <zonque@gmail.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
Like the previous patch by Dan, we should clear the data to be returned from certain compress ioctls, namely, snd_compr_get_codec_caps() and snd_compr_get_params(). This time, we can simply replace kmalloc() with kzalloc(). Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Dan Carpenter authored
If the ->get_caps() function doesn't clear the buffer then there would stack information leaked to userspace. For example, soc_compr_get_caps() can return success without clearing the buffer. Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Linus Torvalds authored
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull perf fixes from Ingo Molnar: "Misc fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86: Fix offcore_rsp valid mask for SNB/IVB perf: Treat attr.config as u64 in perf_swevent_init()
-