Hi Geert,
On Monday, 6 August 2018 17:07:51 EEST Geert Uytterhoeven wrote:
> Hi all,
>
> This RFC patch series was sparked by noticing that commit 2d4dd0da45401c7a
Where can that commit be found ?
> ("serial: sh-sci: Allow for compressed SCIF address") broke earlycon
> support on most Renesas ARM SoCs using SCIF ports, and by the fragility of
> deriving regshift from the register block size (which may be rounded up):
Why should it be rounded up ?
> 1. The first patch is an old patch from Sato-san, which I never really
> understood. But it turned out to be a dependency for patch 2.
> 2. Patch 2 makes sure regshift is initialized when using earlycon,
> unbreaking the serial console on e.g. R-Car Gen2 and Gen3.
> 3. Patch 3 reverts the patch that started deriving regshift from the
> register block size, and that removed the plat_sci_port.regshift
> field. Which is a field I needed again in patch 4.
> 4. Patch 4 removes the remaining regshift derivations on DT platforms.
> (5. I didn't bother writing patch 5, which involves adding .regshift
> initializations to all SH board files that need it.)
>
> However, I'm not happy with the end result, so please DO NOT apply this!
> As I spent almost a full day on this, and would still like to know the
> story about "sh-sci: Use a separate sci_port for earlycon", I decided to
> post it anyway.
>
> As earlycon will be broken in v4.19-rc1 on RZ/A1, RZ/G, and R-Car, assuming
> no other actions are taken, an alternative solution would be to:
> 1. Revert commit 7acece71a517cad8 ("serial: sh-sci: Remove
> SCIx_RZ_SCIFA_REGTYPE"),
> 2. Revert commit 2d4dd0da45401c7a ("serial: sh-sci: Allow for compressed
> SCIF address") alternative,
> 3. Add an OF_EARLYCON_DECLARE() for RZ/A2, to fix earlycon on RZ/A2.
>
> What do you think?
> Thanks for your comments!
>
> P.S. Apparently SCIx_SH4_SCIF_REGTYPE and SCIx_SH2_SCIF_FIFODATA_REGTYPE
> are identical?
>
> Geert Uytterhoeven (3):
> [RFC] sh-sci: Take into account regshift to fix earlycon breakage
> [RFC] Revert "serial: sh-sci: Compute the regshift value for SCI
> ports"
> [RFC] sh-sci: Derive regshift value from DT compatible value
>
> Yoshinori Sato (1):
> [RFC] sh-sci: Use a separate sci_port for earlycon
>
> arch/sh/kernel/cpu/sh3/setup-sh770x.c | 1 +
> arch/sh/kernel/cpu/sh4/setup-sh7750.c | 3 +-
> arch/sh/kernel/cpu/sh4/setup-sh7760.c | 10 +---
> drivers/tty/serial/sh-sci.c | 68 +++++++++++++++++----------
> include/linux/serial_sci.h | 1 +
> 5 files changed, 49 insertions(+), 34 deletions(-)
--
Regards,
Laurent Pinchart