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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox