From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Russell King <rmk@arm.linux.org.uk>,
Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: uart_match_port() question
Date: Thu, 8 Dec 2005 09:26:37 -0700 [thread overview]
Message-ID: <200512080926.37497.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <1134001049.7168.97.camel@gaston>
On Wednesday 07 December 2005 5:17 pm, Benjamin Herrenschmidt wrote:
> On Wed, 2005-12-07 at 16:36 -0700, Bjorn Helgaas wrote:
> > On Wednesday 07 December 2005 4:13 pm, Benjamin Herrenschmidt wrote:
> > > ... Part of the problem here is for example PIO. There is no such
> > > thing as PIO on a PowerPC, it's purely a PCI abstraction, thus inX/outX
> > > will only work once the PCI host briges have been discovered and their
> > > IO space mapped (setup_arch() time, but I definitely want my early
> > > console earlier).
> >
> > ia64 has a similar problem, but it's a bit easier because firmware
> > configures and tells us about the legacy (0-64K) I/O port space.
> > So we do have to look up the MMIO base where those I/O ports get
> > mapped, but that's basically the first thing in setup_arch(). We
> > don't do much before that, so it hasn't been worthwhile to make
> > the console work earlier.
>
> Oh, that's what I do too, that is, I have a mecanism now to walk the
> firmware device-tree and get the MMIO, my problem was with matching that
> MMIO address with the PIO one that 8250 gets later on. It seems that you
> solved that problem so it looks like I really need to look more closely
> at what you are doing :)
Well, don't get your hopes up too much... ia64 uses the same addresses
early and late, i.e., if 8250_pci discovers a PIO port, the early code
also uses a PIO address. We never use an MMIO address early and a PIO
address later.
The PIO -> MMIO translation is hidden inside our inb/outb functions
(see __ia64_mk_io_addr()). The firmware tells us where the legacy
0-64K I/O ports are mapped, so we can set up io_space[0].mmio_base
very early, without enumerating the PCI bridges.
prev parent reply other threads:[~2005-12-08 16:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-27 0:21 uart_match_port() question Benjamin Herrenschmidt
2005-11-28 11:30 ` Russell King
2005-11-28 11:36 ` Benjamin Herrenschmidt
2005-12-07 22:15 ` Bjorn Helgaas
2005-12-07 23:13 ` Benjamin Herrenschmidt
2005-12-07 23:36 ` Bjorn Helgaas
2005-12-08 0:17 ` Benjamin Herrenschmidt
2005-12-08 16:26 ` Bjorn Helgaas [this message]
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=200512080926.37497.bjorn.helgaas@hp.com \
--to=bjorn.helgaas@hp.com \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk@arm.linux.org.uk \
/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.