From: Grant Likely <grant.likely@secretlab.ca> To: Rob Herring <robherring2@gmail.com> Cc: Arnd Bergmann <arnd@arndb.de>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jiri Slaby <jslaby@suse.cz>, Catalin Marinas <catalin.marinas@arm.com>, Russell King <linux@arm.linux.org.uk>, Will Deacon <will.deacon@arm.com>, "x86@kernel.org" <x86@kernel.org> Subject: Re: [PATCH 0/8] Generic serial earlycon Date: Sat, 29 Mar 2014 15:34:25 +0000 [thread overview] Message-ID: <20140329153425.6BF73C40ADB@trevor.secretlab.ca> (raw) In-Reply-To: <CAL_JsqKAtiPXsP6fotT8FSTyy+8SJW5Cg2QKLBnL7Ya6KyKCog@mail.gmail.com> On Sat, 29 Mar 2014 09:33:22 -0500, Rob Herring <robherring2@gmail.com> wrote: > On Fri, Mar 28, 2014 at 7:17 PM, Grant Likely <grant.likely@secretlab.ca> wrote: > > On Sat, 22 Mar 2014 09:14:31 -0500, Rob Herring <robherring2@gmail.com> wrote: > >> On Sat, Mar 22, 2014 at 4:54 AM, Arnd Bergmann <arnd@arndb.de> wrote: > >> > On Friday 21 March 2014, Rob Herring wrote: > >> >> From: Rob Herring <robh@kernel.org> > >> >> > >> >> This started out as an attempt to add arm64's earlyprintk support to ARM > >> >> in order to get an earlier, runtime setup console on multi-platform > >> >> kernels. The first issue was needing the fixmap support which > >> >> conveniently Mark Salter was working on and is mostly in place now. Like > >> >> many things on ARM and arm64 now, it then became where do I put the now > >> >> common, shared code. After digging more into various early console/printk > >> >> support, it turns out the 8250_early.c setup code was the best starting > >> >> point. > >> >> > >> >> This is based on Mark Salter's fixmap support currently in linux-next. > >> >> This is tested on arm64 and ARM with pl011 and 8250. The ARM support > >> >> also requires fixmap and fixed mapping support which are not yet in place. > >> >> I have some patches in my tree to support fixmap, but they need some more > >> >> work. Fortunately, once fixmap is in place, it is just a Kconfig option > >> >> to enable earlycon support on ARM. A git tree is available here[1]. > >> >> > >> >> Based on this series, I would like to add support for doing earlycon > >> >> setup using DT. > >> > > >> > Hi Rob, > >> > > >> > I like this series a lot, great work! > >> > > >> > I would consider the DT parsing support essential here, we should not > >> > merge the patches until that is done as well, because I don't want > >> > to see users pass earlycon command line options in DT when they can > >> > use the established "linux,stdout-path" property instead. I would > >> > expect that in almost every case in which we are booting using DT > >> > today, we can just use linux,stdout-path to locate the device that > >> > the boot loader has already set up and start usign it. > >> > >> I think this series stands on its own. It is largely refactoring > >> existing code and supporting existing command line options (arm64 just > >> changes from earlyprintk= to earlycon=). There will be cases where > >> changing the kernel command line is the only way to setup the > >> earlycon. Also, I think we would still want the kernel command line to > >> control whether or not we enable the earlycon (i.e. earlycon=dt). > >> There's not a standard way for how bootloaders would decide to set > >> "linux,stdout-path" or not. > > > > I agree. I really like this series and I don't think it needs to wait > > for DT parsing. > > > > Another issue is that the earlycon assumes the port is already set up, > > but the /chosen/stdout-path binding doesn't guarantee that. We'll have > > to make sure the kernel knows when it is valid to use > > /chosen/stdout-path before enabling an early console. > > It's driver dependent whether the port setup is done in the earlycon > driver or not. The 8250 driver does port setup while the pl011 driver > does not. We could add setup to the pl011 or checks that it is setup > already, but then it would not work with SBSA compliant UARTs. Well, it would work in most cases, but would be unnecessary and makes it more likely that there will be no output if the kernel gets the setup wrong. > I don't think we want to enable earlycon solely if stdout-path is set. > My plan here is that adding "earlycon" with no parameters to the > command line enables DT based setup of earlycon. That doesn't really > solve the issue with setup, but does limit it to a developer's feature > at least. That is reasonable. Alternately, we could also add a property to chosen indicating that the console is set up and ready to go. g.
WARNING: multiple messages have this Message-ID (diff)
From: grant.likely@secretlab.ca (Grant Likely) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/8] Generic serial earlycon Date: Sat, 29 Mar 2014 15:34:25 +0000 [thread overview] Message-ID: <20140329153425.6BF73C40ADB@trevor.secretlab.ca> (raw) In-Reply-To: <CAL_JsqKAtiPXsP6fotT8FSTyy+8SJW5Cg2QKLBnL7Ya6KyKCog@mail.gmail.com> On Sat, 29 Mar 2014 09:33:22 -0500, Rob Herring <robherring2@gmail.com> wrote: > On Fri, Mar 28, 2014 at 7:17 PM, Grant Likely <grant.likely@secretlab.ca> wrote: > > On Sat, 22 Mar 2014 09:14:31 -0500, Rob Herring <robherring2@gmail.com> wrote: > >> On Sat, Mar 22, 2014 at 4:54 AM, Arnd Bergmann <arnd@arndb.de> wrote: > >> > On Friday 21 March 2014, Rob Herring wrote: > >> >> From: Rob Herring <robh@kernel.org> > >> >> > >> >> This started out as an attempt to add arm64's earlyprintk support to ARM > >> >> in order to get an earlier, runtime setup console on multi-platform > >> >> kernels. The first issue was needing the fixmap support which > >> >> conveniently Mark Salter was working on and is mostly in place now. Like > >> >> many things on ARM and arm64 now, it then became where do I put the now > >> >> common, shared code. After digging more into various early console/printk > >> >> support, it turns out the 8250_early.c setup code was the best starting > >> >> point. > >> >> > >> >> This is based on Mark Salter's fixmap support currently in linux-next. > >> >> This is tested on arm64 and ARM with pl011 and 8250. The ARM support > >> >> also requires fixmap and fixed mapping support which are not yet in place. > >> >> I have some patches in my tree to support fixmap, but they need some more > >> >> work. Fortunately, once fixmap is in place, it is just a Kconfig option > >> >> to enable earlycon support on ARM. A git tree is available here[1]. > >> >> > >> >> Based on this series, I would like to add support for doing earlycon > >> >> setup using DT. > >> > > >> > Hi Rob, > >> > > >> > I like this series a lot, great work! > >> > > >> > I would consider the DT parsing support essential here, we should not > >> > merge the patches until that is done as well, because I don't want > >> > to see users pass earlycon command line options in DT when they can > >> > use the established "linux,stdout-path" property instead. I would > >> > expect that in almost every case in which we are booting using DT > >> > today, we can just use linux,stdout-path to locate the device that > >> > the boot loader has already set up and start usign it. > >> > >> I think this series stands on its own. It is largely refactoring > >> existing code and supporting existing command line options (arm64 just > >> changes from earlyprintk= to earlycon=). There will be cases where > >> changing the kernel command line is the only way to setup the > >> earlycon. Also, I think we would still want the kernel command line to > >> control whether or not we enable the earlycon (i.e. earlycon=dt). > >> There's not a standard way for how bootloaders would decide to set > >> "linux,stdout-path" or not. > > > > I agree. I really like this series and I don't think it needs to wait > > for DT parsing. > > > > Another issue is that the earlycon assumes the port is already set up, > > but the /chosen/stdout-path binding doesn't guarantee that. We'll have > > to make sure the kernel knows when it is valid to use > > /chosen/stdout-path before enabling an early console. > > It's driver dependent whether the port setup is done in the earlycon > driver or not. The 8250 driver does port setup while the pl011 driver > does not. We could add setup to the pl011 or checks that it is setup > already, but then it would not work with SBSA compliant UARTs. Well, it would work in most cases, but would be unnecessary and makes it more likely that there will be no output if the kernel gets the setup wrong. > I don't think we want to enable earlycon solely if stdout-path is set. > My plan here is that adding "earlycon" with no parameters to the > command line enables DT based setup of earlycon. That doesn't really > solve the issue with setup, but does limit it to a developer's feature > at least. That is reasonable. Alternately, we could also add a property to chosen indicating that the console is set up and ready to go. g.
next prev parent reply other threads:[~2014-03-29 15:34 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 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 [this message] 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=20140329153425.6BF73C40ADB@trevor.secretlab.ca \ --to=grant.likely@secretlab.ca \ --cc=arnd@arndb.de \ --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=will.deacon@arm.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.