From: Ralf Baechle <ralf@linux-mips.org>
To: "Suresh. R" <suresh@mistralsoftware.com>
Cc: linux-mips@linux-mips.org
Subject: Re: VR4131 - MQ1132 - UPD63335
Date: Sat, 17 Jan 2004 13:20:22 +0100 [thread overview]
Message-ID: <20040117122022.GD5288@linux-mips.org> (raw)
In-Reply-To: <40079391.7080301@mistralsoftware.com>
On Fri, Jan 16, 2004 at 01:02:33PM +0530, Suresh. R wrote:
> This might be a very basic question, but I am very new to this field.
> So please help me.
>
> I am writing a linux device driver for UPD63335 audio codec. Its
> controlled through the MQ1132 co-processor. The VR4131 is the processor.
> The memory of MQ1132 is mapped to the processor memory in Kseg1 (0xA000
> 0000 onwards) which the manual says is TLB Unmapped region. Now my
> question is is it necessary to map this region before using it in Linux.
> Actually I have WinCE code for my reference. In that code the programmer
> is mapping the region using Virtual Cpoy and Virtual Alloc. Is it
> necessary to do that or Can I directly address the memory locatoin.
Generally a driver under Linux maps a device in it's initialization
routine with a bit of code like
#define FOO_BASE 0x12340000UL /* physical address */
#define FOO_SIZE 0x00001000UL
...
struct foo_regs *base;
base = ioremap(0x1234, FOO_SIZE);
if (!base) {
/* Failed, game over */
harakiri();
...
}
/* Success, make it blink ... */
foo->blinkenlight = 42;
...
/* Done, unmap before exiting.
unmap(base);
...
This removes all knowledge about how a particular architecture handles
mappings from the driver and therefore is generally the prefered way in
Linux.
Linux/MIPS optimize the case where an unmapped area can be used, so no
runtime overhead at all.
Ralf
next prev parent reply other threads:[~2004-01-17 12:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-16 7:32 VR4131 - MQ1132 - UPD63335 Suresh. R
2004-01-16 9:49 ` Geert Uytterhoeven
2004-01-16 9:49 ` Geert Uytterhoeven
2004-01-16 10:09 ` Kevin D. Kissell
2004-01-16 10:09 ` Kevin D. Kissell
2004-01-17 12:20 ` Ralf Baechle [this message]
2004-01-17 12:51 ` Jan-Benedict Glaw
2004-01-18 9:23 ` Dimitri Torfs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040117122022.GD5288@linux-mips.org \
--to=ralf@linux-mips.org \
--cc=linux-mips@linux-mips.org \
--cc=suresh@mistralsoftware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.