summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRander Wang <rander.wang@linux.intel.com>2019-09-30 17:29:45 +0300
committerTakashi Iwai <tiwai@suse.de>2019-10-07 04:58:48 +0300
commit130bce3afbbbbe585cba8604f2124c28e8d86fb0 (patch)
tree90bab407ce5ca116478409761bc9d5e33986df90 /include
parent1099f48457d06b816359fb43ac32a4a07e33219b (diff)
downloadlinux-130bce3afbbbbe585cba8604f2124c28e8d86fb0.tar.xz
ALSA: hdac: clear link output stream mapping
Fix potential DMA hang upon starting playback on devices in HDA mode on Intel platforms (Gemini Lake/Whiskey Lake/Comet Lake/Ice Lake). It doesn't affect platforms before Gemini Lake or any Intel device in non-HDA mode. The reset value for the LOSDIV register is all output streams valid. Clear this register to invalidate non-existent streams when the bus is powered up. Signed-off-by: Rander Wang <rander.wang@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20190930142945.7805-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include')
-rw-r--r--include/sound/hda_register.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sound/hda_register.h b/include/sound/hda_register.h
index 0fd39295b426..057d2a2d0bd0 100644
--- a/include/sound/hda_register.h
+++ b/include/sound/hda_register.h
@@ -264,6 +264,9 @@ enum { SDI0, SDI1, SDI2, SDI3, SDO0, SDO1, SDO2, SDO3 };
#define AZX_REG_ML_LOUTPAY 0x20
#define AZX_REG_ML_LINPAY 0x30
+/* bit0 is reserved, with BIT(1) mapping to stream1 */
+#define ML_LOSIDV_STREAM_MASK 0xFFFE
+
#define ML_LCTL_SCF_MASK 0xF
#define AZX_MLCTL_SPA (0x1 << 16)
#define AZX_MLCTL_CPA (0x1 << 23)