Linux MIPS Architecture development
 help / color / mirror / Atom feed
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

  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