Commit 64ca9d9f authored by Bard Liao's avatar Bard Liao Committed by Takashi Iwai

ASoC: SOF: Force polling mode on CFL and CNL

There is a workaround in legacy HDA codec for too long time respone
with CFL machine. We need the same workaround on SOF driver. The same
issue is also seen on CNL machine.
Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 5e13cf6c
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
/* platform specific devices */ /* platform specific devices */
#include "shim.h" #include "shim.h"
#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8)
/* /*
* Debug * Debug
*/ */
...@@ -213,6 +216,11 @@ static int hda_init(struct snd_sof_dev *sdev) ...@@ -213,6 +216,11 @@ static int hda_init(struct snd_sof_dev *sdev)
ext_ops = snd_soc_hdac_hda_get_ops(); ext_ops = snd_soc_hdac_hda_get_ops();
#endif #endif
sof_hda_bus_init(bus, &pci->dev, ext_ops); sof_hda_bus_init(bus, &pci->dev, ext_ops);
/* Workaround for a communication error on CFL (bko#199007) and CNL */
if (IS_CFL(pci) || IS_CNL(pci))
bus->polling_mode = 1;
bus->use_posbuf = 1; bus->use_posbuf = 1;
bus->bdl_pos_adj = 0; bus->bdl_pos_adj = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment