Re: next/master bisection: baseline.dmesg.emerg on meson-gxbb-p200

From: Marc Zyngier
Date: Thu Nov 19 2020 - 06:33:31 EST


On 2020-11-19 10:26, Neil Armstrong wrote:
On 19/11/2020 11:20, Marc Zyngier wrote:
On 2020-11-19 08:50, Guillaume Tucker wrote:
Please see the automated bisection report below about some kernel
errors on meson-gxbb-p200.

Reports aren't automatically sent to the public while we're
trialing new bisection features on kernelci.org, however this one
looks valid.

The bisection started with next-20201118 but the errors are still
present in next-20201119.  Details for this regression:

  https://kernelci.org/test/case/id/5fb6196bfd0127fd68d8d902/

The first error is:

  [   14.757489] Internal error: synchronous external abort: 96000210
[#1] PREEMPT SMP

Looks like yet another clock ordering setup. I guess different Amlogic
platforms have slightly different ordering requirements.

Neil, do you have any idea of which platform requires which ordering?
The variability in DT and platforms is pretty difficult to follow (and
I don't think I have such board around).

The requirements should be the same, here the init was done before calling
dw_hdmi_probe to be sure the clocks and internals resets were deasserted.
But since you boot from u-boot already enabling these, it's already active.

The crashing platform also boots with u-boot. What is the difference?
No HDMI support?

The solution would be to revert and do some check in meson_dw_hdmi_init() to
check if already enabled and do nothing.

It looks more subtle than that, as it also depends on which DT is provided
(an early meson_dw_hdmi_init() works with the kernel DT, and breaks with the
u-boot DT). So whatever difference is between the two DTs causes havoc.
u-boot obviously only uses its own DT, so we are looking at a kernel bug here.

Not having this patch also breaks module reinsertion (HDMI clocks are disabled
on unbind), so *something* has to be done late.

So here are my questions:
- What breaks in my config when I boot using u-boot's DT?
- How to detect early that the registers are clocked or not?

Thanks,

M.
--
Jazz is not dead. It just smells funny...