mbox series

[0/3] Fix uncompress debug prints on Qualcomm

Message ID 20200821123936.153793-1-linus.walleij@linaro.org (mailing list archive)
Headers show
Series Fix uncompress debug prints on Qualcomm | expand

Message

Linus Walleij Aug. 21, 2020, 12:39 p.m. UTC
This fixes the earlies debug prints on the Qualcomm platform
and possibly others. The root cause that the "Uncompressing Linux..."
and other super-early debug prints were not working was that
the Qualcomm UART has some elaborate TX ready code in waituart
(after this waituarttxrdy) that was not called.

waituart would sometimes check for CTS (clear to send) which
would make the kernel unstable on these platforms if we
introduce more users of that macro without thinking twice.

To fix this properly I first split the CTS check into its own
function and make it clear when we do or do not check for CTS.

I then convert the flow control option for 8250 to a generic flow
control option so that other debug UART drivers can look for
CTS to be asserted if they support it.

Linus Walleij (3):
  ARM: debug: Split waituart to CTS and TXRDY
  ARM: debug: Select flow control for all debug UARTs
  ARM: uncompress: Wait for ready and busy in debug prints

 arch/arm/Kconfig.debug                | 16 +++++++++++-----
 arch/arm/boot/compressed/debug.S      |  5 ++++-
 arch/arm/boot/compressed/head.S       | 15 ++++++++++-----
 arch/arm/include/debug/8250.S         |  7 ++++---
 arch/arm/include/debug/asm9260.S      |  5 ++++-
 arch/arm/include/debug/at91.S         |  5 ++++-
 arch/arm/include/debug/bcm63xx.S      |  5 ++++-
 arch/arm/include/debug/brcmstb.S      |  5 ++++-
 arch/arm/include/debug/clps711x.S     |  5 ++++-
 arch/arm/include/debug/dc21285.S      |  5 ++++-
 arch/arm/include/debug/digicolor.S    |  5 ++++-
 arch/arm/include/debug/efm32.S        |  5 ++++-
 arch/arm/include/debug/icedcc.S       | 15 ++++++++++++---
 arch/arm/include/debug/imx.S          |  5 ++++-
 arch/arm/include/debug/meson.S        |  5 ++++-
 arch/arm/include/debug/msm.S          |  5 ++++-
 arch/arm/include/debug/omap2plus.S    |  5 ++++-
 arch/arm/include/debug/pl01x.S        |  5 ++++-
 arch/arm/include/debug/renesas-scif.S |  5 ++++-
 arch/arm/include/debug/sa1100.S       |  5 ++++-
 arch/arm/include/debug/samsung.S      |  5 ++++-
 arch/arm/include/debug/sirf.S         |  5 ++++-
 arch/arm/include/debug/sti.S          |  5 ++++-
 arch/arm/include/debug/stm32.S        |  5 ++++-
 arch/arm/include/debug/tegra.S        |  7 ++++---
 arch/arm/include/debug/vf.S           |  5 ++++-
 arch/arm/include/debug/vt8500.S       |  5 ++++-
 arch/arm/include/debug/zynq.S         |  5 ++++-
 arch/arm/kernel/debug.S               | 11 +++++++++--
 29 files changed, 142 insertions(+), 44 deletions(-)