[Letux-kernel] jz4780 CI20 v5.8 (was jz4730)

H. Nikolaus Schaller hns at goldelico.com
Mon Jul 6 16:28:28 CEST 2020


Hi Paul,

> Am 06.07.2020 um 15:05 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi Paul,
> 
>> Am 05.07.2020 um 22:41 schrieb Paul Boddie <paul at boddie.org.uk>:
>> 
>> On Sunday, 5 July 2020 21:44:34 CEST H. Nikolaus Schaller wrote:
>>> 
>>> Ah, it takes a while until the key is synchronized with .ssh/authorized_keys
>>> on the Indefero Server.
>>> 
>>> I have triggered it manually so that it should work now.
>> 
>> I thought it might be something as simple as that. So, I have now pushed the 
>> following branches:
>> 
>> paulb-jz4730-letux400
> 
> ^^^ I have converted this into a new letux/jz4730-v4 and fixed a minor
> merge issue when baking everything together to letux-5.8-rc4.
> 
> It compiles but we still have no means to test it :)
> 
>> paulb-jz4780-ci20-hdmi
> 
> I have cherry-picked and rebased on top of letux-5.8-rc4 (with SMP fixes).
> Boots fine, has SMP, creates /dev/fb0, makes the display backlight go on.
> 
> But as you observed, there is no signal recognised by the monitor.
> 
> And I can confirm the HPD unplug kernel panic. Even the same bad virtual
> address.
> 
> This should be quite easy to identify by adding some printk to
> ingenic_drm_crtc_atomic_flush().
> 
> BR and thanks,
> Nikolaus
> 
> 
> [  235.199040] CPU 0 Unable to handle kernel paging request at virtual address 00000030, epc == c0261e60, ra == c02eed5c

Ok, it happens here:

	https://elixir.bootlin.com/linux/v5.8-rc3/source/drivers/gpu/drm/ingenic/ingenic-drm.c#L355

	finfo = drm_format_info(drm_fb->format->format);

The if(drm_atomic_crtc_needs_modeset(state)) and this line of code is
run once during boot where it succeeds.

And attempted once on HPD unplug.

There, drm_fb == NULL and the dereferencing fails...

0x30 seems to be the offset of the struct member "format".

The if(event) path happens quite often during operation.

BR,
Nikolaus



More information about the Letux-kernel mailing list