diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2006-03-21 12:01:17 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-03-22 10:43:28 +0100 |
commit | c5c079e31cba3e6f93ef098911e216b79d0a84e8 (patch) | |
tree | 8879c5322c2e6c2b6b545eb966f40c63a63510f2 | |
parent | [ALSA] AMD Au1x00: fix DMA init/cleanup (diff) | |
download | linux-c5c079e31cba3e6f93ef098911e216b79d0a84e8.tar.xz linux-c5c079e31cba3e6f93ef098911e216b79d0a84e8.zip |
[ALSA] AMD Au1x00: AC'97 controller is memory mapped
Modules: MIPS AU1x00 driver
AMD Au1x00 ALSA driver erroneously calls request_region() for AC'97
controller registers -- the controller is actually memory mapped at
addresses 0x10000000 thru 0x100FFFFF.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/mips/au1x00.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c index 961453b77fc9..cf476fe1ac56 100644 --- a/sound/mips/au1x00.c +++ b/sound/mips/au1x00.c @@ -561,12 +561,13 @@ snd_au1000_ac97_new(struct snd_au1000 *au1000) .read = snd_au1000_ac97_read, }; - if ((au1000->ac97_res_port = request_region(AC97C_CONFIG, - sizeof(struct au1000_ac97_reg), "Au1x00 AC97")) == NULL) { + if ((au1000->ac97_res_port = request_mem_region(CPHYSADDR(AC97C_CONFIG), + 0x100000, "Au1x00 AC97")) == NULL) { snd_printk(KERN_ERR "ALSA AC97: can't grap AC97 port\n"); return -EBUSY; } - au1000->ac97_ioport = (struct au1000_ac97_reg *) au1000->ac97_res_port->start; + au1000->ac97_ioport = (struct au1000_ac97_reg *) + KSEG1ADDR(au1000->ac97_res_port->start); spin_lock_init(&au1000->ac97_lock); |