sis7019: increase reset delays
authorDavid Dillow <dave@thedillows.org>
Sat, 26 Jun 2010 22:07:57 +0000 (00:07 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 28 Jun 2010 07:42:22 +0000 (09:42 +0200)
A few boards using this controller are reported to need a little extra
time during their reset cycle.

Reported-by: Michael Goeke <michael.goeke@icachip.de>
Signed-off-by: Dave Dillow <dave@thedillows.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/pci/sis7019.c

index 614ff6e514fdc999d8cd761c2fb187ea79890150..1b8f6742b5fa832a030be3ad0ece15fee13c17be 100644 (file)
@@ -1049,7 +1049,7 @@ static int sis_chip_free(struct sis7019 *sis)
        /* Reset the chip, and disable all interrputs.
         */
        outl(SIS_GCR_SOFTWARE_RESET, sis->ioport + SIS_GCR);
-       udelay(10);
+       udelay(25);
        outl(0, sis->ioport + SIS_GCR);
        outl(0, sis->ioport + SIS_GIER);
 
@@ -1085,7 +1085,7 @@ static int sis_chip_init(struct sis7019 *sis)
        /* Reset the audio controller
         */
        outl(SIS_GCR_SOFTWARE_RESET, io + SIS_GCR);
-       udelay(10);
+       udelay(25);
        outl(0, io + SIS_GCR);
 
        /* Get the AC-link semaphore, and reset the codecs
@@ -1098,7 +1098,7 @@ static int sis_chip_init(struct sis7019 *sis)
                return -EIO;
 
        outl(SIS_AC97_CMD_CODEC_COLD_RESET, io + SIS_AC97_CMD);
-       udelay(10);
+       udelay(250);
 
        count = 0xffff;
        while ((inw(io + SIS_AC97_STATUS) & SIS_AC97_STATUS_BUSY) && --count)