aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Dillow <dave@thedillows.org>2010-06-26 18:07:57 -0400
committerJaroslav Kysela <perex@perex.cz>2010-06-28 03:42:22 -0400
commit08b450988905505d12f7671bc24b8da73631d327 (patch)
treeb8abcef52abc097fed3ab05b48501fd9d84b5de2
parent3a3d5fd125f82200019ef406c4d51ba4d9f0a604 (diff)
sis7019: increase reset delays
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>
-rw-r--r--sound/pci/sis7019.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
index 614ff6e514fd..1b8f6742b5fa 100644
--- a/sound/pci/sis7019.c
+++ b/sound/pci/sis7019.c
@@ -1049,7 +1049,7 @@ static int sis_chip_free(struct sis7019 *sis)
1049 /* Reset the chip, and disable all interrputs. 1049 /* Reset the chip, and disable all interrputs.
1050 */ 1050 */
1051 outl(SIS_GCR_SOFTWARE_RESET, sis->ioport + SIS_GCR); 1051 outl(SIS_GCR_SOFTWARE_RESET, sis->ioport + SIS_GCR);
1052 udelay(10); 1052 udelay(25);
1053 outl(0, sis->ioport + SIS_GCR); 1053 outl(0, sis->ioport + SIS_GCR);
1054 outl(0, sis->ioport + SIS_GIER); 1054 outl(0, sis->ioport + SIS_GIER);
1055 1055
@@ -1085,7 +1085,7 @@ static int sis_chip_init(struct sis7019 *sis)
1085 /* Reset the audio controller 1085 /* Reset the audio controller
1086 */ 1086 */
1087 outl(SIS_GCR_SOFTWARE_RESET, io + SIS_GCR); 1087 outl(SIS_GCR_SOFTWARE_RESET, io + SIS_GCR);
1088 udelay(10); 1088 udelay(25);
1089 outl(0, io + SIS_GCR); 1089 outl(0, io + SIS_GCR);
1090 1090
1091 /* Get the AC-link semaphore, and reset the codecs 1091 /* Get the AC-link semaphore, and reset the codecs
@@ -1098,7 +1098,7 @@ static int sis_chip_init(struct sis7019 *sis)
1098 return -EIO; 1098 return -EIO;
1099 1099
1100 outl(SIS_AC97_CMD_CODEC_COLD_RESET, io + SIS_AC97_CMD); 1100 outl(SIS_AC97_CMD_CODEC_COLD_RESET, io + SIS_AC97_CMD);
1101 udelay(10); 1101 udelay(250);
1102 1102
1103 count = 0xffff; 1103 count = 0xffff;
1104 while ((inw(io + SIS_AC97_STATUS) & SIS_AC97_STATUS_BUSY) && --count) 1104 while ((inw(io + SIS_AC97_STATUS) & SIS_AC97_STATUS_BUSY) && --count)