From: Arnd Bergmann <arnd@arndb.de> To: Rob Herring <robherring2@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, Catalin Marinas <catalin.marinas@arm.com>, Russell King <linux@arm.linux.org.uk>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "x86@kernel.org" <x86@kernel.org>, Will Deacon <Will.Deacon@arm.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>, Jiri Slaby <jslaby@suse.cz> Subject: Re: [PATCH 4/8] tty/serial: add generic serial earlycon Date: Sat, 19 Apr 2014 13:32:24 +0200 [thread overview] Message-ID: <201404191332.24392.arnd@arndb.de> (raw) In-Reply-To: <CAL_JsqJwKQ_KuWWQNZHrMh8NwwiubB2jR+g-Y2n_dH4kJ5zVow@mail.gmail.com> On Thursday 17 April 2014, Rob Herring wrote: > On Mon, Mar 24, 2014 at 10:42 AM, Arnd Bergmann <arnd@arndb.de> wrote: > > On Monday 24 March 2014 08:36:46 Rob Herring wrote: > >> On Mon, Mar 24, 2014 at 6:29 AM, Arnd Bergmann <arnd@arndb.de> wrote: > >> > On Monday 24 March 2014 11:22:03 Catalin Marinas wrote: > >> >> On Fri, Mar 21, 2014 at 09:08:44PM +0000, Rob Herring wrote: > >> >> > diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c > >> >> > new file mode 100644 > >> >> > index 0000000..241757a > >> >> > --- /dev/null > >> >> > +++ b/drivers/tty/serial/earlycon.c > >> >> [...] > >> >> > +static void __iomem * __init earlycon_map(unsigned long paddr, size_t size) > >> >> > +{ > >> >> > + void __iomem *base; > >> >> > +#ifdef CONFIG_FIX_EARLYCON_MEM > >> >> > + set_fixmap_nocache(FIX_EARLYCON_MEM_BASE, paddr & PAGE_MASK); > >> >> > + base = (void __iomem *)__fix_to_virt(FIX_EARLYCON_MEM_BASE); > >> >> > + base += paddr & ~PAGE_MASK; > >> >> > +#else > >> >> > + base = ioremap_nocache(paddr, size); > >> >> > +#endif > >> >> > >> >> Just curious why not set_fixmap_io (and plain ioremap)? > >> > > >> > Good point. Note that ioremap_nocache() is the same as ioremap() > >> > on *all* architectures. > > Did you mean "not the same"? No > Why are there 2 flavors if they are > always the same. I assume it's just a mistake someone made a long time ago and nobody ever changed it because they didn't want to break obscure code. x86 seems to be a bit odd here, because is has both page-table and MTRR method of setting up whether an access can be cached or not. This may have led to the introduction of the _nocache variant, when the regular ioremap was already uncached on all other architectures but cached on x86. Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/8] tty/serial: add generic serial earlycon Date: Sat, 19 Apr 2014 13:32:24 +0200 [thread overview] Message-ID: <201404191332.24392.arnd@arndb.de> (raw) In-Reply-To: <CAL_JsqJwKQ_KuWWQNZHrMh8NwwiubB2jR+g-Y2n_dH4kJ5zVow@mail.gmail.com> On Thursday 17 April 2014, Rob Herring wrote: > On Mon, Mar 24, 2014 at 10:42 AM, Arnd Bergmann <arnd@arndb.de> wrote: > > On Monday 24 March 2014 08:36:46 Rob Herring wrote: > >> On Mon, Mar 24, 2014 at 6:29 AM, Arnd Bergmann <arnd@arndb.de> wrote: > >> > On Monday 24 March 2014 11:22:03 Catalin Marinas wrote: > >> >> On Fri, Mar 21, 2014 at 09:08:44PM +0000, Rob Herring wrote: > >> >> > diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c > >> >> > new file mode 100644 > >> >> > index 0000000..241757a > >> >> > --- /dev/null > >> >> > +++ b/drivers/tty/serial/earlycon.c > >> >> [...] > >> >> > +static void __iomem * __init earlycon_map(unsigned long paddr, size_t size) > >> >> > +{ > >> >> > + void __iomem *base; > >> >> > +#ifdef CONFIG_FIX_EARLYCON_MEM > >> >> > + set_fixmap_nocache(FIX_EARLYCON_MEM_BASE, paddr & PAGE_MASK); > >> >> > + base = (void __iomem *)__fix_to_virt(FIX_EARLYCON_MEM_BASE); > >> >> > + base += paddr & ~PAGE_MASK; > >> >> > +#else > >> >> > + base = ioremap_nocache(paddr, size); > >> >> > +#endif > >> >> > >> >> Just curious why not set_fixmap_io (and plain ioremap)? > >> > > >> > Good point. Note that ioremap_nocache() is the same as ioremap() > >> > on *all* architectures. > > Did you mean "not the same"? No > Why are there 2 flavors if they are > always the same. I assume it's just a mistake someone made a long time ago and nobody ever changed it because they didn't want to break obscure code. x86 seems to be a bit odd here, because is has both page-table and MTRR method of setting up whether an access can be cached or not. This may have led to the introduction of the _nocache variant, when the regular ioremap was already uncached on all other architectures but cached on x86. Arnd
next prev parent reply other threads:[~2014-04-19 11:33 UTC|newest] Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-03-21 21:08 [PATCH 0/8] Generic serial earlycon Rob Herring 2014-03-21 21:08 ` Rob Herring [not found] ` < 201403221054.39799.arnd@arndb.de> [not found] ` < CAL_JsqKjGjyYypwneCmNc1qeKe0ZOG9gz3QSJ37-HwHXKu3iRA@mail.gmail.com> [not found] ` < 20140329001732.BECE2C41FF4@trevor.secretlab.ca> 2014-03-21 21:08 ` [PATCH 1/8] x86: move FIX_EARLYCON_MEM kconfig into x86 Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-21 21:08 ` [PATCH 2/8] arm64: add FIXMAP_PAGE_NOCACHE definition Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-24 11:13 ` Catalin Marinas 2014-03-24 11:13 ` Catalin Marinas 2014-03-24 11:13 ` Catalin Marinas 2014-03-21 21:08 ` [PATCH 3/8] arm64: enable FIX_EARLYCON_MEM kconfig Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-24 11:38 ` Catalin Marinas 2014-03-24 11:38 ` Catalin Marinas 2014-03-24 11:38 ` Catalin Marinas 2014-03-21 21:08 ` [PATCH 4/8] tty/serial: add generic serial earlycon Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-24 11:22 ` Catalin Marinas 2014-03-24 11:22 ` Catalin Marinas 2014-03-24 11:22 ` Catalin Marinas 2014-03-24 11:29 ` Arnd Bergmann 2014-03-24 11:29 ` Arnd Bergmann 2014-03-24 13:36 ` Rob Herring 2014-03-24 13:36 ` Rob Herring 2014-03-24 13:36 ` Rob Herring 2014-03-24 15:42 ` Arnd Bergmann 2014-03-24 15:42 ` Arnd Bergmann 2014-03-24 15:42 ` Arnd Bergmann 2014-04-17 18:27 ` Rob Herring 2014-04-17 18:27 ` Rob Herring 2014-04-17 18:27 ` Rob Herring 2014-04-17 20:16 ` Alan Cox 2014-04-17 20:16 ` Alan Cox 2014-04-17 20:16 ` Alan Cox 2014-04-19 11:32 ` Arnd Bergmann [this message] 2014-04-19 11:32 ` Arnd Bergmann 2014-04-19 11:32 ` Arnd Bergmann 2014-03-21 21:08 ` [PATCH 5/8] tty/serial: convert 8250 to generic earlycon Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-21 21:08 ` [PATCH 6/8] tty/serial: pl011: add generic earlycon support Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-24 11:28 ` Catalin Marinas 2014-03-24 11:28 ` Catalin Marinas 2014-03-24 11:28 ` Catalin Marinas 2014-04-16 22:14 ` Rob Herring 2014-04-16 22:14 ` Rob Herring 2014-04-16 22:14 ` Rob Herring 2014-04-23 16:39 ` Catalin Marinas 2014-04-23 16:39 ` Catalin Marinas 2014-04-23 16:39 ` Catalin Marinas 2014-03-21 21:08 ` [PATCH 7/8] tty/serial: add arm64 semihosting earlycon Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-23 20:04 ` Nicolas Pitre 2014-03-23 20:04 ` Nicolas Pitre 2014-03-23 20:23 ` Arnd Bergmann 2014-03-23 20:23 ` Arnd Bergmann 2014-03-23 21:48 ` Nicolas Pitre 2014-03-23 21:48 ` Nicolas Pitre 2014-03-24 11:38 ` Catalin Marinas 2014-03-24 11:38 ` Catalin Marinas 2014-03-24 11:38 ` Catalin Marinas 2014-03-24 11:48 ` Catalin Marinas 2014-03-24 11:48 ` Catalin Marinas 2014-03-24 11:48 ` Catalin Marinas 2014-03-21 21:08 ` [PATCH 8/8] arm64: remove arch specific earlyprintk Rob Herring 2014-03-21 21:08 ` Rob Herring 2014-03-22 9:54 ` [PATCH 0/8] Generic serial earlycon Arnd Bergmann 2014-03-22 9:54 ` Arnd Bergmann 2014-03-22 9:54 ` Arnd Bergmann 2014-03-22 14:14 ` Rob Herring 2014-03-22 14:14 ` Rob Herring 2014-03-22 14:14 ` Rob Herring 2014-03-22 22:01 ` Arnd Bergmann 2014-03-22 22:01 ` Arnd Bergmann 2014-03-22 22:01 ` Arnd Bergmann 2014-03-23 15:09 ` Rob Herring 2014-03-23 15:09 ` Rob Herring 2014-03-23 15:09 ` Rob Herring 2014-03-23 19:49 ` Arnd Bergmann 2014-03-23 19:49 ` Arnd Bergmann 2014-03-23 19:49 ` Arnd Bergmann 2014-03-29 0:17 ` Grant Likely 2014-03-29 0:17 ` Grant Likely 2014-03-29 0:17 ` Grant Likely 2014-03-29 14:33 ` Rob Herring 2014-03-29 14:33 ` Rob Herring 2014-03-29 14:33 ` Rob Herring 2014-03-29 15:34 ` Grant Likely 2014-03-29 15:34 ` Grant Likely 2014-03-29 15:34 ` Grant Likely
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=201404191332.24392.arnd@arndb.de \ --to=arnd@arndb.de \ --cc=Will.Deacon@arm.com \ --cc=alan@lxorguk.ukuu.org.uk \ --cc=catalin.marinas@arm.com \ --cc=gregkh@linuxfoundation.org \ --cc=jslaby@suse.cz \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=robherring2@gmail.com \ --cc=x86@kernel.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: linkBe 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.