Currently, when the Marvell mpsc driver is used as console,
any console output that occurs before the Marvell mpsc driver
is initialized is discarded by the udbg console.
This patch resolves that issue by providing udbg_putc() and
udbg_getc() functions for the Marvell mv64x60 chips. These functions
are enabled if an mv64x60 port is to be used as the console as
determined from the device tree.
Signed-off-by: Dale Farnsworth <redacted>
Acked-by: Mark A. Greer <redacted>
---
Paul, this patch is unchanged from the one I posted 10 days ago.
At that time, I saw no discussion, other than Mark's ACK. I'd
argue that this is a bugfix, and hope that it could go into 2.6.22.
Thanks.
-Dale
arch/powerpc/platforms/embedded6xx/prpmc2800.c | 1
arch/powerpc/sysdev/Makefile | 3
arch/powerpc/sysdev/mv64x60.h | 1
arch/powerpc/sysdev/mv64x60_udbg.c | 152 +++++++++++++++
4 files changed, 156 insertions(+), 1 deletion(-)
Index: linux-2.6-powerpc-df/arch/powerpc/sysdev/mv64x60_udbg.c
===================================================================
@@ -17,7 +17,8 @@ obj-$(CONFIG_FSL_PCIE) += fsl_pcie.oobj-$(CONFIG_TSI108_BRIDGE)+=tsi108_pci.otsi108_dev.oobj-$(CONFIG_QUICC_ENGINE)+=qe_lib/mv64x60-$(CONFIG_PCI)+=mv64x60_pci.o-obj-$(CONFIG_MV64X60)+=$(mv64x60-y)mv64x60_pic.omv64x60_dev.o+obj-$(CONFIG_MV64X60)+=$(mv64x60-y)mv64x60_pic.omv64x60_dev.o\+mv64x60_udbg.o# contains only the suspend handler for timeobj-$(CONFIG_PM)+=timer.o
Is there a reason you're not putting it with the other udbg code, and
not naming it with the same scheme (kernel/udbg_<xxx>)?
Or maybe we should just move the udbg_16550 code to sysdev instead, it's
roots are from ppc64 where we didn't have sysdev.
-Olof
From: Paul Mackerras <hidden> Date: 2007-06-06 06:06:05
Dale Farnsworth writes:
Paul, this patch is unchanged from the one I posted 10 days ago.
At that time, I saw no discussion, other than Mark's ACK. I'd
argue that this is a bugfix, and hope that it could go into 2.6.22.
Um, it seems rather large, and in particular adds a fair bit of
completely new code. Is there a simpler way of getting to an
acceptable point - e.g. just not use the udbg console on these boards?
If we don't have udbg support for them then the udbg console would
seem a bit pointless, no?
Paul.
On Wed, Jun 06, 2007 at 04:06:05PM +1000, Paul Mackerras wrote:
Dale Farnsworth writes:
quoted
Paul, this patch is unchanged from the one I posted 10 days ago.
At that time, I saw no discussion, other than Mark's ACK. I'd
argue that this is a bugfix, and hope that it could go into 2.6.22.
Um, it seems rather large, and in particular adds a fair bit of
completely new code. Is there a simpler way of getting to an
acceptable point - e.g. just not use the udbg console on these boards?
Yeah, that was the first approach I took. Unfortunately, currently the
udbg console is included unconditionally on arch/powerpc. I created the
patch below to conditionalize the use of udbg console. I thought it a
bit risky for 2.6.22, but I think it's the right approach long term.
If we don't have udbg support for them then the udbg console would
seem a bit pointless, no?
There is value in that with the udbg console we do see console output
much earlier. While there's some new code (I didn't think it was all
that much), the impact is limited to the single platform now using the
mv64x60 console port, the prpmc2800.
-Dale
---------------- begin patch ------------------------
[POWERPC] Make the use of the udbg console conditional
Create a new config variable: PPC_UDBG and make the inclusion
of the udbg console dependent on it.
Signed-off-by: Dale Farnsworth <redacted>
---
arch/powerpc/Kconfig | 4 ++++
arch/powerpc/Kconfig.debug | 1 +
arch/powerpc/kernel/Makefile | 3 ++-
arch/powerpc/platforms/Kconfig | 2 ++
arch/powerpc/platforms/iseries/Kconfig | 1 +
arch/powerpc/platforms/powermac/Kconfig | 1 +
include/asm-powerpc/udbg.h | 9 +++++++++
7 files changed, 20 insertions(+), 1 deletion(-)
Index: linux-2.6-powerpc-df/arch/powerpc/Kconfig
===================================================================
@@ -135,6 +135,7 @@ config BDI_SWITCHconfigBOOTX_TEXTbool"Support for early boot text console (BootX or OpenFirmware only)"dependsPPC_OF+selectPPC_UDBGhelpSayYheretoseeprogressmessagesfromthebootfirmwareintextmode.RequireseitherBootXorOpenFirmware.
From: Michael Ellerman <hidden> Date: 2007-06-08 02:15:15
On Wed, 2007-06-06 at 10:29 -0700, Dale Farnsworth wrote:
On Wed, Jun 06, 2007 at 04:06:05PM +1000, Paul Mackerras wrote:
quoted
Dale Farnsworth writes:
quoted
Paul, this patch is unchanged from the one I posted 10 days ago.
At that time, I saw no discussion, other than Mark's ACK. I'd
argue that this is a bugfix, and hope that it could go into 2.6.22.
Um, it seems rather large, and in particular adds a fair bit of
completely new code. Is there a simpler way of getting to an
acceptable point - e.g. just not use the udbg console on these boards?
Yeah, that was the first approach I took. Unfortunately, currently the
udbg console is included unconditionally on arch/powerpc. I created the
patch below to conditionalize the use of udbg console. I thought it a
bit risky for 2.6.22, but I think it's the right approach long term.
quoted
If we don't have udbg support for them then the udbg console would
seem a bit pointless, no?
There is value in that with the udbg console we do see console output
much earlier. While there's some new code (I didn't think it was all
that much), the impact is limited to the single platform now using the
mv64x60 console port, the prpmc2800.
You don't select PPC_UDBG for any of the cell platforms, which AFAICT
means you'll break early debugging on those.
I think you should be able to do this in terms of
CONFIG_PPC_EARLY_DEBUG, which already exists.
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
On Fri, Jun 08, 2007 at 12:15:15PM +1000, Michael Ellerman wrote:
On Wed, 2007-06-06 at 10:29 -0700, Dale Farnsworth wrote:
quoted
On Wed, Jun 06, 2007 at 04:06:05PM +1000, Paul Mackerras wrote:
quoted
Dale Farnsworth writes:
quoted
Paul, this patch is unchanged from the one I posted 10 days ago.
At that time, I saw no discussion, other than Mark's ACK. I'd
argue that this is a bugfix, and hope that it could go into 2.6.22.
Um, it seems rather large, and in particular adds a fair bit of
completely new code. Is there a simpler way of getting to an
acceptable point - e.g. just not use the udbg console on these boards?
Yeah, that was the first approach I took. Unfortunately, currently the
udbg console is included unconditionally on arch/powerpc. I created the
patch below to conditionalize the use of udbg console. I thought it a
bit risky for 2.6.22, but I think it's the right approach long term.
quoted
If we don't have udbg support for them then the udbg console would
seem a bit pointless, no?
There is value in that with the udbg console we do see console output
much earlier. While there's some new code (I didn't think it was all
that much), the impact is limited to the single platform now using the
mv64x60 console port, the prpmc2800.
You don't select PPC_UDBG for any of the cell platforms, which AFAICT
means you'll break early debugging on those.
Actually, I do select PPC_UDBG for PPC_IBM_CELL_BLADE (via
PPC_UDBG_16550) and for PPC_CELLEB (via PPC_UDBG_BEAT). I couldn't
figure out which console PPC_PS3 uses, but that support is noted as
incomplete, so I didn't spend much time researching it.
Still, it's difficult to be sure I caught them all; that's why I
decided to defer the patch until the next merge window.
I think you should be able to do this in terms of
CONFIG_PPC_EARLY_DEBUG, which already exists.
Nope. Many platforms use the udbg console early on without enabling
CONFIG_PPC_EARLY_DEBUG.
-Dale