diff options
author | Bard Liao <yung-chuan.liao@linux.intel.com> | 2019-05-26 12:58:32 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-05-28 01:52:02 -0400 |
commit | fa763f1b2858752e6150ffff46886a1b7faffc82 (patch) | |
tree | 7ccb080364a9c1adfbf1302fa4de23c976e892ea /sound/pci | |
parent | 0fbf21c3b36a9921467aa7525d2768b07f9f8fbb (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.c | 5 |
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 | ||
379 | static char *driver_short_names[] = { | 380 | static 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); |