diff mbox series

[4/5] ALSA: hda: add polling mode in snd_hdac_bus_get_response

Message ID 20190526165836.10867-4-yung-chuan.liao@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [1/5] ALSA: hda - Force polling mode on CNL for fixing codec communication | expand

Commit Message

Bard Liao May 26, 2019, 4:58 p.m. UTC
From: Bard Liao <yung-chuan.liao@linux.intel.com>

Polling mode is useful if a machine somehow missed an expected IRQ.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
 sound/hda/hdac_controller.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/sound/hda/hdac_controller.c b/sound/hda/hdac_controller.c
index b2e9454f5816..a16ac31bda83 100644
--- a/sound/hda/hdac_controller.c
+++ b/sound/hda/hdac_controller.c
@@ -239,6 +239,8 @@  int snd_hdac_bus_get_response(struct hdac_bus *bus, unsigned int addr,
 	timeout = jiffies + msecs_to_jiffies(1000);
 
 	for (loopcounter = 0;; loopcounter++) {
+		if (bus->polling_mode)
+			snd_hdac_bus_update_rirb(bus);
 		spin_lock_irq(&bus->reg_lock);
 		if (!bus->rirb.cmds[addr]) {
 			if (res)