ALSA: hda: add polling mode in snd_hdac_bus_get_response
Polling mode is useful if a machine somehow missed an expected IRQ. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
8af42130b5
Коммит
5e13cf6cd6
|
@ -239,6 +239,8 @@ int snd_hdac_bus_get_response(struct hdac_bus *bus, unsigned int addr,
|
||||||
timeout = jiffies + msecs_to_jiffies(1000);
|
timeout = jiffies + msecs_to_jiffies(1000);
|
||||||
|
|
||||||
for (loopcounter = 0;; loopcounter++) {
|
for (loopcounter = 0;; loopcounter++) {
|
||||||
|
if (bus->polling_mode)
|
||||||
|
snd_hdac_bus_update_rirb(bus);
|
||||||
spin_lock_irq(&bus->reg_lock);
|
spin_lock_irq(&bus->reg_lock);
|
||||||
if (!bus->rirb.cmds[addr]) {
|
if (!bus->rirb.cmds[addr]) {
|
||||||
if (res)
|
if (res)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче