Merge tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "Mostly many small changes spread as seen in diffstat in sound/* directory by this update. A significant change in the subsystem level is the introduction of snd_soc_component, which will help more generic handling of SoC and off-SoC components. Also, snd_BUG_ON() macro is enabled unconditionally now due to its misuses, so people might hit kernel warnings (it's a good thing for us). - compress-offload: support for capture by Charles Keepax - HD-audio: codec delay support by Dylan Reid - HD-audio: improvements/fixes in generic parser: better headphone mic and headset mic support, jack_modes hint consolidation, proper beep attach/detachment, generalized power filter controls by David Henningsson, et al - HD-audio: Improved management of HDMI codec pins/converters - HD-audio: Better pin/DAC assignment for VIA codecs - HD-audio: Haswell HDMI workarounds - HD-audio: ALC268 codec support, a few new quirks for Chromebooks - USB: regression fixes: USB-MIDI autopm fix, the recent ISO latency fix by Clemens Ladisch - USB: support for DSD formats by Daniel Mack - USB: A few UAC2 device endian/cock fixes by Eldad Zack - USB: quirks for Emu 192kHz support, Novation Twitch DJ controller, Yamaha THRxx devices - HDSPM: updates for TCO controls by Adrian Knoth - ASoC: Add a snd_soc_component object type for generic handling of SoC and off-SoC components by Kuninori Morimoto, - dmaengine: a large set of cleanups and conversions by Lars-Peter Clausen - ASoC DAPM: performance optimizations from Ryo Tsutsui - ASoC DAPM: support for mixer control sharing by Stephen Warren - ASoC: multiplatform ARM cleanups from Arnd Bergmann - ASoC: new codec drivers for AK5385 and TAS5086 from Daniel Mack" * tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (315 commits) ALSA: usb-audio: caiaq: fix endianness bug in snd_usb_caiaq_maschine_dispatch ALSA: asihpi: add format support check in snd_card_asihpi_capture_formats ALSA: pcm_format_to_bits strong-typed conversion ALSA: compress: fix the states to check for allowing read ALSA: hda - Move Thinkpad X220 to use auto parser ALSA: USB: adjust for changed 3.8 USB API ALSA: usb - Avoid unnecessary sample rate changes on USB 2.0 clock sources sound: oss/dmabuf: use dma_map_single ALSA: ali5451: use mdelay instead of large udelay constants ALSA: hda - Add the support for ALC286 codec ALSA: usb-audio: USB quirk for Yamaha THR10C ALSA: usb-audio: USB quirk for Yamaha THR5A ALSA: usb-audio: USB quirk for Yamaha THR10 ALSA: usb-audio: Fix autopm error during probing ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT ALSA: sound kconfig typo ALSA: emu10k1: Fix dock firmware loading ASoC: ux500: forward declare msp_i2s_platform_data ASoC: davinci-mcasp: Add Support BCLK-to-LRCLK ratio for TDM modes ASoC: davinci-pcm, davinci-mcasp: Clean up active_serializers ...
This commit is contained in:
@@ -181,6 +181,8 @@ struct snd_pcm_ops {
|
||||
#define SNDRV_PCM_FMTBIT_G723_24_1B _SNDRV_PCM_FMTBIT(G723_24_1B)
|
||||
#define SNDRV_PCM_FMTBIT_G723_40 _SNDRV_PCM_FMTBIT(G723_40)
|
||||
#define SNDRV_PCM_FMTBIT_G723_40_1B _SNDRV_PCM_FMTBIT(G723_40_1B)
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U8 _SNDRV_PCM_FMTBIT(DSD_U8)
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U16_LE _SNDRV_PCM_FMTBIT(DSD_U16_LE)
|
||||
|
||||
#ifdef SNDRV_LITTLE_ENDIAN
|
||||
#define SNDRV_PCM_FMTBIT_S16 SNDRV_PCM_FMTBIT_S16_LE
|
||||
@@ -659,7 +661,7 @@ static inline snd_pcm_sframes_t snd_pcm_capture_hw_avail(struct snd_pcm_runtime
|
||||
*
|
||||
* Checks whether enough free space is available on the playback buffer.
|
||||
*
|
||||
* Returns non-zero if available, or zero if not.
|
||||
* Return: Non-zero if available, or zero if not.
|
||||
*/
|
||||
static inline int snd_pcm_playback_ready(struct snd_pcm_substream *substream)
|
||||
{
|
||||
@@ -673,7 +675,7 @@ static inline int snd_pcm_playback_ready(struct snd_pcm_substream *substream)
|
||||
*
|
||||
* Checks whether enough capture data is available on the capture buffer.
|
||||
*
|
||||
* Returns non-zero if available, or zero if not.
|
||||
* Return: Non-zero if available, or zero if not.
|
||||
*/
|
||||
static inline int snd_pcm_capture_ready(struct snd_pcm_substream *substream)
|
||||
{
|
||||
@@ -685,10 +687,10 @@ static inline int snd_pcm_capture_ready(struct snd_pcm_substream *substream)
|
||||
* snd_pcm_playback_data - check whether any data exists on the playback buffer
|
||||
* @substream: the pcm substream instance
|
||||
*
|
||||
* Checks whether any data exists on the playback buffer. If stop_threshold
|
||||
* is bigger or equal to boundary, then this function returns always non-zero.
|
||||
* Checks whether any data exists on the playback buffer.
|
||||
*
|
||||
* Returns non-zero if exists, or zero if not.
|
||||
* Return: Non-zero if any data exists, or zero if not. If stop_threshold
|
||||
* is bigger or equal to boundary, then this function returns always non-zero.
|
||||
*/
|
||||
static inline int snd_pcm_playback_data(struct snd_pcm_substream *substream)
|
||||
{
|
||||
@@ -705,7 +707,7 @@ static inline int snd_pcm_playback_data(struct snd_pcm_substream *substream)
|
||||
*
|
||||
* Checks whether the playback buffer is empty.
|
||||
*
|
||||
* Returns non-zero if empty, or zero if not.
|
||||
* Return: Non-zero if empty, or zero if not.
|
||||
*/
|
||||
static inline int snd_pcm_playback_empty(struct snd_pcm_substream *substream)
|
||||
{
|
||||
@@ -719,7 +721,7 @@ static inline int snd_pcm_playback_empty(struct snd_pcm_substream *substream)
|
||||
*
|
||||
* Checks whether the capture buffer is empty.
|
||||
*
|
||||
* Returns non-zero if empty, or zero if not.
|
||||
* Return: Non-zero if empty, or zero if not.
|
||||
*/
|
||||
static inline int snd_pcm_capture_empty(struct snd_pcm_substream *substream)
|
||||
{
|
||||
@@ -852,7 +854,7 @@ int snd_pcm_format_big_endian(snd_pcm_format_t format);
|
||||
* snd_pcm_format_cpu_endian - Check the PCM format is CPU-endian
|
||||
* @format: the format to check
|
||||
*
|
||||
* Returns 1 if the given PCM format is CPU-endian, 0 if
|
||||
* Return: 1 if the given PCM format is CPU-endian, 0 if
|
||||
* opposite, or a negative error code if endian not specified.
|
||||
*/
|
||||
int snd_pcm_format_cpu_endian(snd_pcm_format_t format);
|
||||
@@ -963,7 +965,7 @@ struct page *snd_pcm_lib_get_vmalloc_page(struct snd_pcm_substream *substream,
|
||||
* contiguous in kernel virtual space, but not in physical memory. Use this
|
||||
* if the buffer is accessed by kernel code but not by device DMA.
|
||||
*
|
||||
* Returns 1 if the buffer was changed, 0 if not changed, or a negative error
|
||||
* Return: 1 if the buffer was changed, 0 if not changed, or a negative error
|
||||
* code.
|
||||
*/
|
||||
static int snd_pcm_lib_alloc_vmalloc_buffer
|
||||
@@ -975,6 +977,9 @@ static int snd_pcm_lib_alloc_vmalloc_buffer
|
||||
*
|
||||
* This function works like snd_pcm_lib_alloc_vmalloc_buffer(), but uses
|
||||
* vmalloc_32(), i.e., the pages are allocated from 32-bit-addressable memory.
|
||||
*
|
||||
* Return: 1 if the buffer was changed, 0 if not changed, or a negative error
|
||||
* code.
|
||||
*/
|
||||
static int snd_pcm_lib_alloc_vmalloc_32_buffer
|
||||
(struct snd_pcm_substream *substream, size_t size);
|
||||
@@ -1070,6 +1075,8 @@ const char *snd_pcm_format_name(snd_pcm_format_t format);
|
||||
/**
|
||||
* snd_pcm_stream_str - Get a string naming the direction of a stream
|
||||
* @substream: the pcm substream instance
|
||||
*
|
||||
* Return: A string naming the direction of the stream.
|
||||
*/
|
||||
static inline const char *snd_pcm_stream_str(struct snd_pcm_substream *substream)
|
||||
{
|
||||
@@ -1126,4 +1133,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream,
|
||||
unsigned long private_value,
|
||||
struct snd_pcm_chmap **info_ret);
|
||||
|
||||
/* Strong-typed conversion of pcm_format to bitwise */
|
||||
static inline u64 pcm_format_to_bits(snd_pcm_format_t pcm_format)
|
||||
{
|
||||
return 1ULL << (__force int) pcm_format;
|
||||
}
|
||||
|
||||
#endif /* __SOUND_PCM_H */
|
||||
|
Reference in New Issue
Block a user