summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorBard Liao <yung-chuan.liao@linux.intel.com>2019-05-26 12:58:32 -0400
committerTakashi Iwai <tiwai@suse.de>2019-05-28 01:52:02 -0400
commitfa763f1b2858752e6150ffff46886a1b7faffc82 (patch)
tree7ccb080364a9c1adfbf1302fa4de23c976e892ea /sound/pci
parent0fbf21c3b36a9921467aa7525d2768b07f9f8fbb (diff)
ALSA: hda - Force polling mode on CNL for fixing codec communication
We observed the same issue as reported by commit a8d7bde23e7130686b7662 ("ALSA: hda - Force polling mode on CFL for fixing codec communication") We don't have a better solution. So apply the same workaround to CNL. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/hda_intel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 0741eae23f10..a4b0414dda3b 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -375,6 +375,7 @@ enum {
375 375
376#define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) 376#define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
377#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348) 377#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
378#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8)
378 379
379static char *driver_short_names[] = { 380static char *driver_short_names[] = {
380 [AZX_DRIVER_ICH] = "HDA Intel", 381 [AZX_DRIVER_ICH] = "HDA Intel",
@@ -1700,8 +1701,8 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci,
1700 else 1701 else
1701 chip->bdl_pos_adj = bdl_pos_adj[dev]; 1702 chip->bdl_pos_adj = bdl_pos_adj[dev];
1702 1703
1703 /* Workaround for a communication error on CFL (bko#199007) */ 1704 /* Workaround for a communication error on CFL (bko#199007) and CNL */
1704 if (IS_CFL(pci)) 1705 if (IS_CFL(pci) || IS_CNL(pci))
1705 chip->polling_mode = 1; 1706 chip->polling_mode = 1;
1706 1707
1707 err = azx_bus_init(chip, model[dev], &pci_hda_io_ops); 1708 err = azx_bus_init(chip, model[dev], &pci_hda_io_ops);