Hi Javier Am 13.05.22 um 13:10 schrieb Javier Martinez Canillas: ... >> We already track the memory ranges in drm aperture helpers. We'd need to >> move the code to a more prominent location (e.g., ) >> and change fbdev to use it. Sysfb and DT code needs to insert platform >> devices upon creation. We can then implement the more fancy stuff, such >> as tracking native-device memory. (And if we ever get to fix all usage >> of Linux' request-mem-region, we can even move all the functionality there). >> > > Agreed. And as mentioned, the race that these patches attempt to fix are for > the less common case when a native driver probes but either no generic driver > registered a framebuffer yet or the platform device wasn't registered yet. > > But this can only happen if for example a native driver is built-in but the > generic driver is build as a module, which is not the common configuration. > > What most distros do is the opposite, to have {simple,of,efi,vesa}fb or > simpledrm built-in and the native drivers built as modules. > > So there's no rush to fix this by piling more hacks on top of the ones we > already have and instead try to fix it more properly as you suggested. > A first step would be to use DRM's aperture helpers in fbdev. That would be a good idea anyway, as it would simplify both. You already mentioned some API changes to make aperture helpers DRM-independent. The affected fbdev drivers use platform devices, so this should be easy. Aperture helpers have something like the registration_lock. [1] I don't know if we need to recreate patch 3 for this as well. If we absolutely need some special detachment handling for fbdev, we can make devm_aperture_aquire() a public interface. The detach helper is provided by the caller. Best regards Thomas [1] https://elixir.bootlin.com/linux/v5.17.6/source/drivers/gpu/drm/drm_aperture.c#L254 [2] https://elixir.bootlin.com/linux/v5.17.6/source/drivers/gpu/drm/drm_aperture.c#L159 -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev