All of lore.kernel.org
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64: add support for uart earlyprintk
Date: Thu, 28 Feb 2013 15:31:29 +0000	[thread overview]
Message-ID: <20130228153129.GA16316@arm.com> (raw)
In-Reply-To: <CAMwBHsZyd+-T_pEDAaxxthjct27UsS_G-6FXKqGTccbok_NVVA@mail.gmail.com>

On Thu, Feb 28, 2013 at 02:06:27PM +0000, Anup Patel wrote:
> On Thu, Feb 28, 2013 at 6:22 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
> > On 28/02/13 12:10, Catalin Marinas wrote:
> >> On Thu, Feb 28, 2013 at 11:34:17AM +0000, Marc Zyngier wrote:
> >>> On 28/02/13 11:01, Anup Patel wrote:
> >>>> +}
> >>>> +
> >>>> +/*
> >>>>   * PL011 single character TX.
> >>>>   */
> >>>>  static void pl011_printch(char ch)
> >>>> @@ -47,6 +62,7 @@ struct earlycon_match {
> >>>>
> >>>>  static const struct earlycon_match earlycon_match[] __initconst = {
> >>>>     { .name = "pl011", .printch = pl011_printch, },
> >>>> +   { .name = "uart", .printch = uart_printch, },
> >>>
> >>> "uart" is way too generic. pl011 is an UART too, and I suspect most of
> >>> the backends that are going to be added here over time will be UARTs.
> >>>
> >>> "uart8250" would be a possibility (and actually consistent with the rest
> >>> of the kernel, see drivers/tty/serial/8250/8250_early.c.
> >>
> >> I think it makes more sense to use the existing 8250_early.c driver. It
> >> has more features than the simple earlyprintk implementation in the
> >> 64-bit kernel (like parsing more parameters, initialising the UART). The
> >> only difference is that the early_param is called "earlycon".
> >
> > Indeed, this seems to be the best way, as it removes the need for this
> > patch altogether.
> 
> The earlycon option does not seem to work on my ARM64 kernel because it uses
> ioremap_nocache() whereas ARM64 earlyprintk uses early_io_map()

We try to get earlyprintk as early as possible and ioremap() isn't
available yet, hence the arm64-specific early_io_map(). It looks like
x86 has a CONFIG_FIX_EARLYCON_MEM to avoid the ioremap() issue but I
wouldn't add yet another option for arm64.

So we can go with your arm64 patch, once you implement the feedback from
Marc.

-- 
Catalin

  reply	other threads:[~2013-02-28 15:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-28 11:01 [PATCH] arm64: add support for uart earlyprintk Anup Patel
2013-02-28 11:34 ` Marc Zyngier
2013-02-28 12:10   ` Catalin Marinas
2013-02-28 12:52     ` Marc Zyngier
2013-02-28 14:06       ` Anup Patel
2013-02-28 15:31         ` Catalin Marinas [this message]
2013-02-28 16:54           ` Anup Patel
2013-02-28 13:56   ` Anup Patel
2013-02-28 14:03 ` Rob Herring
2013-02-28 14:11   ` Anup Patel
2013-02-28 15:02     ` Rob Herring
2013-02-28 16:58       ` Anup Patel

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=20130228153129.GA16316@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.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.