diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-12 01:29:53 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-12 01:29:53 -0500 |
| commit | eeab517b68beb9e044e869bee18e3bdfa60e5aca (patch) | |
| tree | 48a47e3223786919f664824842a5a23d7a8d99cd /include | |
| parent | f095ca6b31cfd20e6e7e0338ed8548d8a4374287 (diff) | |
| parent | a6bc732b5a96b5403c2637e85c350b95ec6591f3 (diff) | |
Merge tag 'sound-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"There are no too intrusive changes in this update batch. The biggest
LOC is found in the new DICE driver, and other small changes are
scattered over the whole sound subtree (which is a common pattern).
Below are highlights:
- ALSA core:
* Memory allocation support with genpool
* Fix blocking in drain ioctl of compress_offload
- HD-audio:
* Improved AMD HDMI supports
* Intel HDMI detection improvements
* thinkpad_acpi mute-key integration
* New PCI ID, New ALC255,285,293 codecs, CX20952
- USB-audio:
* New buffer size management
* Clean up endpoint handling codes
- ASoC:
* Further work on the dmaengine helpers, including support for
configuring the parameters for DMA by reading the capabilities of
the DMA controller which removes some guesswork and magic numbers
from drivers.
* A refresh of the documentation.
* Conversions of many drivers to direct regmap API usage in order
to allow the ASoC level register I/O code to be removed, this
will hopefully be completed by v3.14.
* Support for using async register I/O in DAPM, reducing the time
taken to implement power transitions on systems that support it.
- Firewire: DICE driver
- Lots of small fixes for bugs reported by Coverity"
* tag 'sound-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (382 commits)
ALSA: hda/realtek - Add new codec ALC255/ALC3234 UAJ supported
ALSA: hda - Apply MacBook fixups for CS4208 correctly
ASoC: fsl: imx-wm8962: remove an unneeded check
ASoC: fsl: imx-pcm-fiq: Remove unused 'runtime' variable
ALSA: hda/realtek - Make fixup regs persist after resume
ALSA: hda_intel: ratelimit "spurious response" message
ASoC: generic-dmaengine-pcm: Use SNDRV_DMA_TYPE_DEV_IRAM as default
ASoC: dapm: Use WARN_ON() instead of BUG_ON()
ASoC: wm_adsp: Fix BUG_ON() and WARN_ON() usages
ASoC: Replace BUG() with WARN()
ASoC: wm_hubs: Replace BUG() with WARN()
ASoC: wm8996: Replace BUG() with WARN()
ASoC: wm8962: Replace BUG() with WARN()
ASoC: wm8958: Replace BUG() with WARN()
ASoC: wm8904: Replace BUG() with WARN()
ASoC: wm8900: Replace BUG() with WARN()
ASoC: wm8350: Replace BUG() with WARN()
ASoC: txx9: Use WARN_ON() instead of BUG_ON()
ASoC: sh: Use WARN_ON() instead of BUG_ON()
ASoC: rcar: Use WARN_ON() instead of BUG_ON()
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/mfd/mc13xxx.h | 7 | ||||
| -rw-r--r-- | include/linux/platform_data/davinci_asp.h | 2 | ||||
| -rw-r--r-- | include/linux/thinkpad_acpi.h | 15 | ||||
| -rw-r--r-- | include/sound/ak4114.h | 4 | ||||
| -rw-r--r-- | include/sound/compress_driver.h | 9 | ||||
| -rw-r--r-- | include/sound/cs42l52.h | 2 | ||||
| -rw-r--r-- | include/sound/cs42l73.h | 22 | ||||
| -rw-r--r-- | include/sound/dmaengine_pcm.h | 8 | ||||
| -rw-r--r-- | include/sound/memalloc.h | 5 | ||||
| -rw-r--r-- | include/sound/rcar_snd.h | 1 | ||||
| -rw-r--r-- | include/sound/soc-dai.h | 17 | ||||
| -rw-r--r-- | include/sound/soc-dapm.h | 4 | ||||
| -rw-r--r-- | include/sound/soc.h | 100 | ||||
| -rw-r--r-- | include/trace/events/asoc.h | 1 | ||||
| -rw-r--r-- | include/uapi/sound/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/sound/asound.h | 3 | ||||
| -rw-r--r-- | include/uapi/sound/firewire.h | 51 |
17 files changed, 180 insertions, 72 deletions
diff --git a/include/linux/mfd/mc13xxx.h b/include/linux/mfd/mc13xxx.h index 41ed59276c00..67c17b5a6f44 100644 --- a/include/linux/mfd/mc13xxx.h +++ b/include/linux/mfd/mc13xxx.h | |||
| @@ -41,6 +41,13 @@ int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx, | |||
| 41 | unsigned int mode, unsigned int channel, | 41 | unsigned int mode, unsigned int channel, |
| 42 | u8 ato, bool atox, unsigned int *sample); | 42 | u8 ato, bool atox, unsigned int *sample); |
| 43 | 43 | ||
| 44 | #define MC13783_AUDIO_RX0 36 | ||
| 45 | #define MC13783_AUDIO_RX1 37 | ||
| 46 | #define MC13783_AUDIO_TX 38 | ||
| 47 | #define MC13783_SSI_NETWORK 39 | ||
| 48 | #define MC13783_AUDIO_CODEC 40 | ||
| 49 | #define MC13783_AUDIO_DAC 41 | ||
| 50 | |||
| 44 | #define MC13XXX_IRQ_ADCDONE 0 | 51 | #define MC13XXX_IRQ_ADCDONE 0 |
| 45 | #define MC13XXX_IRQ_ADCBISDONE 1 | 52 | #define MC13XXX_IRQ_ADCBISDONE 1 |
| 46 | #define MC13XXX_IRQ_TS 2 | 53 | #define MC13XXX_IRQ_TS 2 |
diff --git a/include/linux/platform_data/davinci_asp.h b/include/linux/platform_data/davinci_asp.h index 8db5ae03b6e3..689a856b86f9 100644 --- a/include/linux/platform_data/davinci_asp.h +++ b/include/linux/platform_data/davinci_asp.h | |||
| @@ -84,6 +84,8 @@ struct snd_platform_data { | |||
| 84 | u8 version; | 84 | u8 version; |
| 85 | u8 txnumevt; | 85 | u8 txnumevt; |
| 86 | u8 rxnumevt; | 86 | u8 rxnumevt; |
| 87 | int tx_dma_channel; | ||
| 88 | int rx_dma_channel; | ||
| 87 | }; | 89 | }; |
| 88 | 90 | ||
| 89 | enum { | 91 | enum { |
diff --git a/include/linux/thinkpad_acpi.h b/include/linux/thinkpad_acpi.h new file mode 100644 index 000000000000..361de59a2285 --- /dev/null +++ b/include/linux/thinkpad_acpi.h | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #ifndef __THINKPAD_ACPI_H__ | ||
| 2 | #define __THINKPAD_ACPI_H__ | ||
| 3 | |||
| 4 | /* These two functions return 0 if success, or negative error code | ||
| 5 | (e g -ENODEV if no led present) */ | ||
| 6 | |||
| 7 | enum { | ||
| 8 | TPACPI_LED_MUTE, | ||
| 9 | TPACPI_LED_MICMUTE, | ||
| 10 | TPACPI_LED_MAX, | ||
| 11 | }; | ||
| 12 | |||
| 13 | int tpacpi_led_set(int whichled, bool on); | ||
| 14 | |||
| 15 | #endif | ||
diff --git a/include/sound/ak4114.h b/include/sound/ak4114.h index 3ce69fd92523..52f02a60dba7 100644 --- a/include/sound/ak4114.h +++ b/include/sound/ak4114.h | |||
| @@ -170,7 +170,7 @@ struct ak4114 { | |||
| 170 | void * private_data; | 170 | void * private_data; |
| 171 | unsigned int init: 1; | 171 | unsigned int init: 1; |
| 172 | spinlock_t lock; | 172 | spinlock_t lock; |
| 173 | unsigned char regmap[7]; | 173 | unsigned char regmap[6]; |
| 174 | unsigned char txcsb[5]; | 174 | unsigned char txcsb[5]; |
| 175 | struct snd_kcontrol *kctls[AK4114_CONTROLS]; | 175 | struct snd_kcontrol *kctls[AK4114_CONTROLS]; |
| 176 | struct snd_pcm_substream *playback_substream; | 176 | struct snd_pcm_substream *playback_substream; |
| @@ -189,7 +189,7 @@ struct ak4114 { | |||
| 189 | 189 | ||
| 190 | int snd_ak4114_create(struct snd_card *card, | 190 | int snd_ak4114_create(struct snd_card *card, |
| 191 | ak4114_read_t *read, ak4114_write_t *write, | 191 | ak4114_read_t *read, ak4114_write_t *write, |
| 192 | const unsigned char pgm[7], const unsigned char txcsb[5], | 192 | const unsigned char pgm[6], const unsigned char txcsb[5], |
| 193 | void *private_data, struct ak4114 **r_ak4114); | 193 | void *private_data, struct ak4114 **r_ak4114); |
| 194 | void snd_ak4114_reg_write(struct ak4114 *ak4114, unsigned char reg, unsigned char mask, unsigned char val); | 194 | void snd_ak4114_reg_write(struct ak4114 *ak4114, unsigned char reg, unsigned char mask, unsigned char val); |
| 195 | void snd_ak4114_reinit(struct ak4114 *ak4114); | 195 | void snd_ak4114_reinit(struct ak4114 *ak4114); |
diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h index 9031a26249b5..ae6c3b8ed2f5 100644 --- a/include/sound/compress_driver.h +++ b/include/sound/compress_driver.h | |||
| @@ -171,4 +171,13 @@ static inline void snd_compr_fragment_elapsed(struct snd_compr_stream *stream) | |||
| 171 | wake_up(&stream->runtime->sleep); | 171 | wake_up(&stream->runtime->sleep); |
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | static inline void snd_compr_drain_notify(struct snd_compr_stream *stream) | ||
| 175 | { | ||
| 176 | if (snd_BUG_ON(!stream)) | ||
| 177 | return; | ||
| 178 | |||
| 179 | stream->runtime->state = SNDRV_PCM_STATE_SETUP; | ||
| 180 | wake_up(&stream->runtime->sleep); | ||
| 181 | } | ||
| 182 | |||
| 174 | #endif | 183 | #endif |
diff --git a/include/sound/cs42l52.h b/include/sound/cs42l52.h index 4c68955f7330..7c2be4a51894 100644 --- a/include/sound/cs42l52.h +++ b/include/sound/cs42l52.h | |||
| @@ -31,6 +31,8 @@ struct cs42l52_platform_data { | |||
| 31 | /* Charge Pump Freq. Check datasheet Pg73 */ | 31 | /* Charge Pump Freq. Check datasheet Pg73 */ |
| 32 | unsigned int chgfreq; | 32 | unsigned int chgfreq; |
| 33 | 33 | ||
| 34 | /* Reset GPIO */ | ||
| 35 | unsigned int reset_gpio; | ||
| 34 | }; | 36 | }; |
| 35 | 37 | ||
| 36 | #endif /* __CS42L52_H */ | 38 | #endif /* __CS42L52_H */ |
diff --git a/include/sound/cs42l73.h b/include/sound/cs42l73.h new file mode 100644 index 000000000000..f354be4cdc9e --- /dev/null +++ b/include/sound/cs42l73.h | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* | ||
| 2 | * linux/sound/cs42l73.h -- Platform data for CS42L73 | ||
| 3 | * | ||
| 4 | * Copyright (c) 2012 Cirrus Logic Inc. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License version 2 as | ||
| 8 | * published by the Free Software Foundation. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef __CS42L73_H | ||
| 12 | #define __CS42L73_H | ||
| 13 | |||
| 14 | struct cs42l73_platform_data { | ||
| 15 | /* RST GPIO */ | ||
| 16 | unsigned int reset_gpio; | ||
| 17 | unsigned int chgfreq; | ||
| 18 | int jack_detection; | ||
| 19 | unsigned int mclk_freq; | ||
| 20 | }; | ||
| 21 | |||
| 22 | #endif /* __CS42L73_H */ | ||
diff --git a/include/sound/dmaengine_pcm.h b/include/sound/dmaengine_pcm.h index f11c35cd5532..15017311f2e9 100644 --- a/include/sound/dmaengine_pcm.h +++ b/include/sound/dmaengine_pcm.h | |||
| @@ -61,6 +61,8 @@ struct dma_chan *snd_dmaengine_pcm_get_chan(struct snd_pcm_substream *substream) | |||
| 61 | * @slave_id: Slave requester id for the DMA channel. | 61 | * @slave_id: Slave requester id for the DMA channel. |
| 62 | * @filter_data: Custom DMA channel filter data, this will usually be used when | 62 | * @filter_data: Custom DMA channel filter data, this will usually be used when |
| 63 | * requesting the DMA channel. | 63 | * requesting the DMA channel. |
| 64 | * @chan_name: Custom channel name to use when requesting DMA channel. | ||
| 65 | * @fifo_size: FIFO size of the DAI controller in bytes | ||
| 64 | */ | 66 | */ |
| 65 | struct snd_dmaengine_dai_dma_data { | 67 | struct snd_dmaengine_dai_dma_data { |
| 66 | dma_addr_t addr; | 68 | dma_addr_t addr; |
| @@ -68,6 +70,8 @@ struct snd_dmaengine_dai_dma_data { | |||
| 68 | u32 maxburst; | 70 | u32 maxburst; |
| 69 | unsigned int slave_id; | 71 | unsigned int slave_id; |
| 70 | void *filter_data; | 72 | void *filter_data; |
| 73 | const char *chan_name; | ||
| 74 | unsigned int fifo_size; | ||
| 71 | }; | 75 | }; |
| 72 | 76 | ||
| 73 | void snd_dmaengine_pcm_set_config_from_dai_data( | 77 | void snd_dmaengine_pcm_set_config_from_dai_data( |
| @@ -96,6 +100,10 @@ void snd_dmaengine_pcm_set_config_from_dai_data( | |||
| 96 | * playback. | 100 | * playback. |
| 97 | */ | 101 | */ |
| 98 | #define SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX BIT(3) | 102 | #define SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX BIT(3) |
| 103 | /* | ||
| 104 | * The PCM streams have custom channel names | ||
