All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: linuxppc-embedded@lists.linuxppc.org
Subject: Re: map iomem in linux_2_4_dev
Date: Wed, 29 May 2002 15:47:37 +1000	[thread overview]
Message-ID: <20020529054737.GE16537@zax> (raw)
In-Reply-To: <002b01c206cd$59f7a760$1a11efcb@industrialDiv.hanasys.co.kr>


On Wed, May 29, 2002 at 01:57:34PM +0900, Sangmoon Kim wrote:
>
> Hi,
> >
> > You don't need io_block_mapping.  Follow one of the many examples to
> > use early_serial_init with an ioremap call for your UART.
> >
> > The only reason your method works is that the io_block_mapping is
> > actually using a BAT on our classic PPC platform.  ioremap will
> > look for an existent BAT mapping and just return the translated
> > virtual address in this case.  Relying on this is bad practice
> > since it will not work on other PPC systems.
> >
> Right, I exactly wanted to do that.
> I called io_block_mapping() on initialization code.
> More precisly on <board name>_map_io(),
> which is in arch/ppc/platforms/<board_name>_setup().
> It has nothing to do with competibility.
> And... Is there any ppc without BAT?
> I didn't know that.

Yes there are PPCs without BATs.  e.g. 4xx.

> > As David correctly pointed out, only use io_block_mapping when
> > you absolutely must control the placement of the virtual address.
> Than, if the system initialization code is changed,
> the driver code should be changed too.

That's exactly why ioremap() is preferred - then the initialization
code doesn't need to touch it at all.

> > There are cases when this is necessary since the hardware engineers
> > always send us garbage to support.  Mapping a UART at init time is
> > not one of these.
> >
> Actually, I'm a hardware guy.
> In most cases, mapping UART is not needed,
> but on the hardware I designed, it is needed.
> Because its physical addres is 0x78000000.
> Don't blame us too much.
> It takes much money to change hardware.

Rubbish.  Having a *physical* address of 0x78000000 is no problem at
all, ioremap() will map that (like any other physical address) into a
sensible virtual address.

--
David Gibson			| For every complex problem there is a
david@gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2002-05-29  5:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-28 10:38 map iomem in linux_2_4_dev Sangmoon Kim
2002-05-28 13:23 ` Matt Porter
2002-05-29  4:57   ` Sangmoon Kim
2002-05-29  5:47     ` Roland Dreier
2002-05-29  6:01       ` Sangmoon Kim
2002-05-29  5:47     ` David Gibson [this message]
2002-05-29  6:14       ` Sangmoon Kim
2002-05-29 12:48       ` shaowei dai
  -- strict thread matches above, loose matches on Subject: below --
2002-05-27  5:59 shaowei dai
2002-05-27  6:34 ` David Gibson
2002-05-27  6:51   ` shaowei dai
2002-05-27  8:13     ` Sangmoon Kim
2002-05-27  8:13       ` shaowei dai
2002-05-28  0:36         ` David Gibson
2002-05-28  4:42           ` Sangmoon Kim

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=20020529054737.GE16537@zax \
    --to=david@gibson.dropbear.id.au \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    /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.