Hi Thomas, On Fri, Apr 19, 2024 at 10:34 AM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: > Implement fbdev emulation with fbdev-dma. Fbdev-dma now supports > damage handling, which is required by rcar-du. Avoids the overhead of > fbdev-generic's additional shadow buffering. No functional changes. > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Thanks for your patch, which is now commit b3fdbd60d35ce340 ("drm/renesas/rcar-du: Use fbdev-dma") in drm-misc/drm-misc-next. Probably this doesn't come as a surprise, but with CONFIG_DEBUG_VIRTUAL=y, this triggers the following warning on R-Car Gen3/Gen4 (arm64), e.g. on White-Hawk: virt_to_phys used for non-linear address: (____ptrval____) (0xffffffc088001000) WARNING: CPU: 0 PID: 44 at arch/arm64/mm/physaddr.c:12 __virt_to_phys+0x38/0x70 Modules linked in: CPU: 0 PID: 44 Comm: kworker/u17:2 Not tainted 6.9.0-rc6-white-hawk-01422-gb3fdbd60d35c-dirty #283 Hardware name: Renesas White Hawk CPU and Breakout boards based on r8a779g0 (DT) Workqueue: events_unbound deferred_probe_work_func pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __virt_to_phys+0x38/0x70 lr : __virt_to_phys+0x38/0x70 sp : ffffffc08297b930 x29: ffffffc08297b930 x28: ffffff844527c000 x27: ffffffc080cb6a47 x26: ffffffc0810c0000 x25: ffffff84452a7800 x24: ffffff8445370018 x23: ffffff8443d34480 x22: ffffff8443d32c00 x21: ffffffc08297ba30 x20: ffffff84452a5800 x19: ffffffc088001000 x18: 0000000000000000 x17: 666678302820295f x16: 5f5f5f6c61767274 x15: 0720072007200720 x14: 0720072007200720 x13: 0720072007200720 x12: 0720072007200720 x11: 0000000000000180 x10: ffffffc0810e9aa0 x9 : ffffffc0813a9c80 x8 : ffffffc08297b638 x7 : ffffffc08297b640 x6 : 00000000ffff7fff x5 : c0000000ffff7fff x4 : 0000000000000000 x3 : 0000000000000001 x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff8441ba2940 Call trace: __virt_to_phys+0x38/0x70 drm_fbdev_dma_helper_fb_probe+0x178/0x1e8 __drm_fb_helper_initial_config_and_unlock+0x26c/0x4b8 drm_fb_helper_initial_config+0x30/0x44 drm_fbdev_dma_client_hotplug+0x84/0xb4 drm_client_register+0x74/0xb8 drm_fbdev_dma_setup+0x118/0x11c rcar_du_probe+0x160/0x174 platform_probe+0x64/0xb0 really_probe+0x130/0x260 __driver_probe_device+0xec/0x104 driver_probe_device+0x4c/0xf8 __device_attach_driver+0xa8/0xc8 bus_for_each_drv+0xa4/0xc8 __device_attach+0xe4/0x144 device_initial_probe+0x10/0x18 bus_probe_device+0x38/0xa0 deferred_probe_work_func+0xb8/0xd0 process_scheduled_works+0x314/0x4d4 worker_thread+0x1b8/0x20c kthread+0xd8/0xe8 ret_from_fork+0x10/0x20 irq event stamp: 7568 hardirqs last enabled at (7567): [<ffffffc080928828>] _raw_spin_unlock_irq+0x2c/0x40 hardirqs last disabled at (7568): [<ffffffc080922b20>] __schedule+0x1cc/0x868 softirqs last enabled at (5004): [<ffffffc0800102fc>] __do_softirq+0x1ac/0x3a8 softirqs last disabled at (4999): [<ffffffc080015624>] ____do_softirq+0xc/0x14 Interestingly, the warning is not triggered on R-Car Gen2 (arm32), although arch/arm/mm/physaddr.c has a similar check. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds