[PATCH v3 28/43] drm/renesas/rcar-du: Use fbdev-dma
Geert Uytterhoeven
geert at linux-m68k.org
Mon Jun 17 17:33:04 UTC 2024
Hi Thomas,
On Fri, Apr 19, 2024 at 10:34 AM Thomas Zimmermann <tzimmermann at suse.de> 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 at suse.de>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Cc: Kieran Bingham <kieran.bingham+renesas at ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
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 at linux-m68k.org
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
More information about the dri-devel
mailing list