diff options
author | Takashi Iwai <tiwai@suse.de> | 2019-06-13 17:33:34 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-06-13 17:33:34 +0200 |
commit | 84396d141894c52f55c1276630587862f5ced7dd (patch) | |
tree | 444043322d1afe7502b8bad825c0097502a83ddb /include/sound | |
parent | 352bcae97f9ba87801f497571cdec20af190efe1 (diff) | |
parent | 3da428ff2aa5a5191ba2f1630eea75f03242f3f2 (diff) | |
download | linux-84396d141894c52f55c1276630587862f5ced7dd.tar.bz2 |
Merge tag 'asoc-fix-v5.2-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.2
There's an awful lot of fixes here, almost all for the newly introduced
SoF DSP drivers (including a few things it turned up in shared code).
This is a large and complex piece of code so it's not surprising that
there have been quite a few issues here, fortunately things seem to have
mostly calmed down now. Otherwise there's just a smattering of small fixes.
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/sof/dai.h | 1 | ||||
-rw-r--r-- | include/sound/sof/header.h | 23 | ||||
-rw-r--r-- | include/sound/sof/info.h | 20 | ||||
-rw-r--r-- | include/sound/sof/xtensa.h | 9 |
4 files changed, 41 insertions, 12 deletions
diff --git a/include/sound/sof/dai.h b/include/sound/sof/dai.h index 3b67c93ff101..3d174e20aa53 100644 --- a/include/sound/sof/dai.h +++ b/include/sound/sof/dai.h @@ -49,6 +49,7 @@ enum sof_ipc_dai_type { SOF_DAI_INTEL_SSP, /**< Intel SSP */ SOF_DAI_INTEL_DMIC, /**< Intel DMIC */ SOF_DAI_INTEL_HDA, /**< Intel HD/A */ + SOF_DAI_INTEL_SOUNDWIRE, /**< Intel SoundWire */ }; /* general purpose DAI configuration */ diff --git a/include/sound/sof/header.h b/include/sound/sof/header.h index ccb6a004b37b..1efcf7b18ec2 100644 --- a/include/sound/sof/header.h +++ b/include/sound/sof/header.h @@ -48,6 +48,7 @@ #define SOF_IPC_FW_READY SOF_GLB_TYPE(0x7U) #define SOF_IPC_GLB_DAI_MSG SOF_GLB_TYPE(0x8U) #define SOF_IPC_GLB_TRACE_MSG SOF_GLB_TYPE(0x9U) +#define SOF_IPC_GLB_GDB_DEBUG SOF_GLB_TYPE(0xAU) /* * DSP Command Message Types @@ -78,6 +79,7 @@ #define SOF_IPC_COMP_GET_VALUE SOF_CMD_TYPE(0x002) #define SOF_IPC_COMP_SET_DATA SOF_CMD_TYPE(0x003) #define SOF_IPC_COMP_GET_DATA SOF_CMD_TYPE(0x004) +#define SOF_IPC_COMP_NOTIFICATION SOF_CMD_TYPE(0x005) /* DAI messages */ #define SOF_IPC_DAI_CONFIG SOF_CMD_TYPE(0x001) @@ -153,6 +155,27 @@ struct sof_ipc_compound_hdr { uint32_t count; /**< count of 0 means end of compound sequence */ } __packed; +/** + * OOPS header architecture specific data. + */ +struct sof_ipc_dsp_oops_arch_hdr { + uint32_t arch; /* Identifier of architecture */ + uint32_t totalsize; /* Total size of oops message */ +} __packed; + +/** + * OOPS header platform specific data. + */ +struct sof_ipc_dsp_oops_plat_hdr { + uint32_t configidhi; /* ConfigID hi 32bits */ + uint32_t configidlo; /* ConfigID lo 32bits */ + uint32_t numaregs; /* Special regs num */ + uint32_t stackoffset; /* Offset to stack pointer from beginning of + * oops message + */ + uint32_t stackptr; /* Stack ptr */ +} __packed; + /** @}*/ #endif diff --git a/include/sound/sof/info.h b/include/sound/sof/info.h index 21dae04d8183..16528d2b4a50 100644 --- a/include/sound/sof/info.h +++ b/include/sound/sof/info.h @@ -18,6 +18,14 @@ #define SOF_IPC_MAX_ELEMS 16 +/* + * Firmware boot info flag bits (64-bit) + */ +#define SOF_IPC_INFO_BUILD BIT(0) +#define SOF_IPC_INFO_LOCKS BIT(1) +#define SOF_IPC_INFO_LOCKSV BIT(2) +#define SOF_IPC_INFO_GDB BIT(3) + /* extended data types that can be appended onto end of sof_ipc_fw_ready */ enum sof_ipc_ext_data { SOF_IPC_EXT_DMA_BUFFER = 0, @@ -49,16 +57,8 @@ struct sof_ipc_fw_ready { uint32_t hostbox_size; struct sof_ipc_fw_version version; - /* Miscellaneous debug flags showing build/debug features enabled */ - union { - uint64_t reserved; - struct { - uint64_t build:1; - uint64_t locks:1; - uint64_t locks_verbose:1; - uint64_t gdb:1; - } bits; - } debug; + /* Miscellaneous flags */ + uint64_t flags; /* reserved for future use */ uint32_t reserved[4]; diff --git a/include/sound/sof/xtensa.h b/include/sound/sof/xtensa.h index a7189984000d..d25c764b10e8 100644 --- a/include/sound/sof/xtensa.h +++ b/include/sound/sof/xtensa.h @@ -17,7 +17,8 @@ /* Xtensa Firmware Oops data */ struct sof_ipc_dsp_oops_xtensa { - struct sof_ipc_hdr hdr; + struct sof_ipc_dsp_oops_arch_hdr arch_hdr; + struct sof_ipc_dsp_oops_plat_hdr plat_hdr; uint32_t exccause; uint32_t excvaddr; uint32_t ps; @@ -38,7 +39,11 @@ struct sof_ipc_dsp_oops_xtensa { uint32_t intenable; uint32_t interrupt; uint32_t sar; - uint32_t stack; + uint32_t debugcause; + uint32_t windowbase; + uint32_t windowstart; + uint32_t excsave1; + uint32_t ar[]; } __packed; #endif |