aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-11 16:20:50 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-11 16:20:50 -0500
commitbae41e45b7400496b9bf0c70c6004419d9987819 (patch)
treecf22a65d119da1c414dbc79518857800fbe7a24b /arch
parent7ef58b32f571bffb7763c6252ad7527562081f34 (diff)
parent6e1d7a51392f06899bd7b693f28ac60fa1e00032 (diff)
Merge tag 'sound-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "This became a fairly large pull request. In addition to the usual driver updates / fixes, there have been a high amount of cleanups in ASoC area, as well as control API helpers and kernel documentations fixes touching through the whole tree. In the driver side, the biggest changes are the support for new Intel SoC found on new x86 machines, and the updates of FireWire dice and oxfw drivers. Some remarkable items are below: ALSA core: - PCM mmap code cleanup, removal of arch-dependent codes - PCM xrun injection support - PCM hwptr tracepoint support - Refactoring of snd_pcm_action(), simplification of PCM locking - Robustified sequecner auto-load functionality - New control API helpers and lots of cleanups along with them - Lots of kerneldoc fixes and cleanups USB-audio: - The mixer resume code was largely rewritten, and the devices with quirks are resumed properly. - New hardware support: Focusrite Scarlett, Digidesign Mbox1, Denon/Marantz DACs, Zoom R16/24 FireWire: - DICE driver updates with better duplex and sync support, including MIDI support - New OXFW driver for Oxford Semiconductor FW970/971 chipset, including the previous LaCie Speakers device. Fullduplex and MIDI support included as well as DICE driver. HD-audio: - Refactoring the driver-caps quirk handling in snd-hda-intel - More consistent control names representing the topology better - Fixups: HP mute LED with ALC268 codec, Ideapad S210 built-in mic fix, ASUS Z99He laptop EAPD ASoC: - Conversion of AC'97 drivers to use regmap, bringing us closer to the removal of the ASoC level I/O code - Clean up a lot of old drivers that were open coding things that have subsequently been implemented in the core - Some DAPM performance improvements - Removal of the now seldom used CODEC mutex - Lots of updates for the newer Intel SoC support, including support for the DSP and some Cherrytrail and Braswell machine drivers - Support for Samsung boards using rt5631 as the CODEC - Removal of the obsolete AFEB9260 machine driver - Driver support for the TI TS3A227E headset driver used in some Chrombeooks Others: - ASIHPI driver update and cleanups - Lots of dev_*() printk conversions - Lots of trivial cleanups for the codes spotted by Coccinelle" * tag 'sound-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (594 commits) ALSA: pcxhr: NULL dereference on probe failure ALSA: lola: NULL dereference on probe failure ALSA: hda - Add "eapd" model string for AD1986A codec ALSA: hda - Add EAPD fixup for ASUS Z99He laptop ALSA: oxfw: Add hwdep interface ALSA: oxfw: Add support for capture/playback MIDI messages ALSA: oxfw: add support for capturing PCM samples ALSA: oxfw: Add support AMDTP in-stream ALSA: oxfw: Add support for Behringer/Mackie devices ALSA: oxfw: Change the way to start stream ALSA: oxfw: Add proc interface for debugging purpose ALSA: oxfw: Change the way to make PCM rules/constraints ALSA: oxfw: Add support for AV/C stream format command to get/set supported stream formation ALSA: oxfw: Change the way to name card ALSA: dice: Add support for MIDI capture/playback ALSA: dice: Add support for capturing PCM samples ALSA: dice: Support for non SYT-Match sampling clock source mode ALSA: dice: Add support for duplex streams with synchronization ALSA: dice: Change the way to start stream ALSA: jack: Add dummy snd_jack_set_key() definition ...
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-pxa/spitz.c9
-rw-r--r--arch/x86/include/asm/platform_sst_audio.h62
2 files changed, 71 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 840c3a48e720..962a7f31f596 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -924,6 +924,14 @@ static inline void spitz_i2c_init(void) {}
924#endif 924#endif
925 925
926/****************************************************************************** 926/******************************************************************************
927 * Audio devices
928 ******************************************************************************/
929static inline void spitz_audio_init(void)
930{
931 platform_device_register_simple("spitz-audio", -1, NULL, 0);
932}
933
934/******************************************************************************
927 * Machine init 935 * Machine init
928 ******************************************************************************/ 936 ******************************************************************************/
929static void spitz_poweroff(void) 937static void spitz_poweroff(void)
@@ -970,6 +978,7 @@ static void __init spitz_init(void)
970 spitz_nor_init(); 978 spitz_nor_init();
971 spitz_nand_init(); 979 spitz_nand_init();
972 spitz_i2c_init(); 980 spitz_i2c_init();
981 spitz_audio_init();
973} 982}
974 983
975static void __init spitz_fixup(struct tag *tags, char **cmdline) 984static void __init spitz_fixup(struct tag *tags, char **cmdline)
diff --git a/arch/x86/include/asm/platform_sst_audio.h b/arch/x86/include/asm/platform_sst_audio.h
index 0a4e140315b6..7249e6d0902d 100644
--- a/arch/x86/include/asm/platform_sst_audio.h
+++ b/arch/x86/include/asm/platform_sst_audio.h
@@ -16,6 +16,9 @@
16 16
17#include <linux/sfi.h> 17#include <linux/sfi.h>
18 18
19#define MAX_NUM_STREAMS_MRFLD 25
20#define MAX_NUM_STREAMS MAX_NUM_STREAMS_MRFLD
21
19enum sst_audio_task_id_mrfld { 22enum sst_audio_task_id_mrfld {
20 SST_TASK_ID_NONE = 0, 23 SST_TASK_ID_NONE = 0,
21 SST_TASK_ID_SBA = 1, 24 SST_TASK_ID_SBA = 1,
@@ -73,6 +76,65 @@ struct sst_platform_data {
73 unsigned int strm_map_size; 76 unsigned int strm_map_size;
74}; 77};
75 78
79struct sst_info {
80 u32 iram_start;
81 u32 iram_end;
82 bool iram_use;
83 u32 dram_start;
84 u32 dram_end;
85 bool dram_use;
86 u32 imr_start;
87 u32 imr_end;
88 bool imr_use;
89 u32 mailbox_start;
90 bool use_elf;
91 bool lpe_viewpt_rqd;
92 unsigned int max_streams;
93 u32 dma_max_len;
94 u8 num_probes;
95};
96
97struct sst_lib_dnld_info {
98 unsigned int mod_base;
99 unsigned int mod_end;
100 unsigned int mod_table_offset;
101 unsigned int mod_table_size;
102 bool mod_ddr_dnld;
103};
104
105struct sst_res_info {
106 unsigned int shim_offset;
107 unsigned int shim_size;
108 unsigned int shim_phy_addr;
109 unsigned int ssp0_offset;
110 unsigned int ssp0_size;
111 unsigned int dma0_offset;
112 unsigned int dma0_size;
113 unsigned int dma1_offset;
114 unsigned int dma1_size;
115 unsigned int iram_offset;
116 unsigned int iram_size;
117 unsigned int dram_offset;
118 unsigned int dram_size;
119 unsigned int mbox_offset;
120 unsigned int mbox_size;
121 unsigned int acpi_lpe_res_index;
122 unsigned int acpi_ddr_index;
123 unsigned int acpi_ipc_irq_index;
124};
125
126struct sst_ipc_info {
127 int ipc_offset;
128 unsigned int mbox_recv_off;
129};
130
131struct sst_platform_info {
132 const struct sst_info *probe_data;
133 const struct sst_ipc_info *ipc_info;
134 const struct sst_res_info *res_info;
135 const struct sst_lib_dnld_info *lib_info;
136 const char *platform;
137};
76int add_sst_platform_device(void); 138int add_sst_platform_device(void);
77#endif 139#endif
78 140