ALSA: intel8x0: Improve comments for VM optimization
authorDenis V. Lunev <den@openvz.org>
Mon, 7 Nov 2011 16:33:25 +0000 (20:33 +0400)
committerTakashi Iwai <tiwai@suse.de>
Tue, 8 Nov 2011 06:51:21 +0000 (07:51 +0100)
The recently merged 228cf79376f1 looks a bit hackish while it is not.
The change was quite simple. In a virtualized environment the
patch unhacks old kludge introduced for old broken AC97 hardware.

This patch adds proper comment to "unkludge" code.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/intel8x0.c

index 29e312597f202b332f14a788889fa0c0d2a7f02a..c3b9bd0e188ebeaad7f49c69e5df070884779548 100644 (file)
@@ -1077,6 +1077,13 @@ static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(struct snd_pcm_substream *subs
                }
                if (civ != igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV))
                        continue;
+
+               /* IO read operation is very expensive inside virtual machine
+                * as it is emulated. The probability that subsequent PICB read
+                * will return different result is high enough to loop till
+                * timeout here.
+                * Same CIV is strict enough condition to be sure that PICB
+                * is valid inside VM on emulated card. */
                if (chip->inside_vm)
                        break;
                if (ptr1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb))