From c5c079e31cba3e6f93ef098911e216b79d0a84e8 Mon Sep 17 00:00:00 2001 From: Sergei Shtylyov Date: Tue, 21 Mar 2006 12:01:17 +0100 Subject: [PATCH] [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 Signed-off-by: Takashi Iwai --- sound/mips/au1x00.c | 7 ++++--- 1 file 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);