ALSA: CS5535: shorter delays when accessing AC'97 codec registers The 10 ms sleeps while waiting for AC'97 codec register reads/writes to complete are excessive given the maxmium time is one AC'97 frame (~21 us). With AC'97 codecs with integrated touchscreens (like the UCB1400) this improves the interactive performance of the touchscreen. Signed-off-by: David Vrabel Index: linux-2.6-working/sound/pci/cs5535audio/cs5535audio.c =================================================================== --- linux-2.6-working.orig/sound/pci/cs5535audio/cs5535audio.c 2006-03-02 16:12:52.000000000 +0000 +++ linux-2.6-working/sound/pci/cs5535audio/cs5535audio.c 2006-03-03 15:47:30.000000000 +0000 @@ -62,7 +62,7 @@ tmp = cs_readl(cs5535au, ACC_CODEC_CNTL); if (!(tmp & CMD_NEW)) break; - msleep(10); + udelay(1); } while (--timeout); if (!timeout) snd_printk(KERN_ERR "Failure writing to cs5535 codec\n"); @@ -80,14 +80,14 @@ regdata |= CMD_NEW; cs_writel(cs5535au, ACC_CODEC_CNTL, regdata); - wait_till_cmd_acked(cs5535au, 500); + wait_till_cmd_acked(cs5535au, 50); timeout = 50; do { val = cs_readl(cs5535au, ACC_CODEC_STATUS); if ((val & STS_NEW) && reg == (val >> 24)) break; - msleep(10); + udelay(1); } while (--timeout); if (!timeout) snd_printk(KERN_ERR "Failure reading cs5535 codec\n");