[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>
This commit is contained in:
Sergei Shtylyov 2006-03-21 12:01:17 +01:00 committed by Jaroslav Kysela
parent bb160b850d
commit c5c079e31c
1 changed files with 4 additions and 3 deletions

View File

@ -561,12 +561,13 @@ snd_au1000_ac97_new(struct snd_au1000 *au1000)
.read = snd_au1000_ac97_read, .read = snd_au1000_ac97_read,
}; };
if ((au1000->ac97_res_port = request_region(AC97C_CONFIG, if ((au1000->ac97_res_port = request_mem_region(CPHYSADDR(AC97C_CONFIG),
sizeof(struct au1000_ac97_reg), "Au1x00 AC97")) == NULL) { 0x100000, "Au1x00 AC97")) == NULL) {
snd_printk(KERN_ERR "ALSA AC97: can't grap AC97 port\n"); snd_printk(KERN_ERR "ALSA AC97: can't grap AC97 port\n");
return -EBUSY; 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); spin_lock_init(&au1000->ac97_lock);