From: Thomas Zimmermann <tzimmermann@suse.de>
To: Javier Martinez Canillas <javierm@redhat.com>,
linux-kernel@vger.kernel.org
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
dri-devel@lists.freedesktop.org, Daniel Vetter <daniel@ffwll.ch>,
Hans de Goede <hdegoede@redhat.com>, Helge Deller <deller@gmx.de>,
Jonathan Corbet <corbet@lwn.net>, Peter Jones <pjones@redhat.com>,
linux-doc@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH v5 0/7] Fix some races between sysfb device registration and drivers probe
Date: Fri, 13 May 2022 13:32:56 +0200 [thread overview]
Message-ID: <026b1c6d-c258-fa88-ed08-d1b5784c95b0@suse.de> (raw)
In-Reply-To: <cc0d6635-c739-490d-9c8d-7f53da48e61a@redhat.com>
[-- Attachment #1.1: Type: text/plain, Size: 2235 bytes --]
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., <linux/aperture.h>)
>> 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
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
prev parent reply other threads:[~2022-05-13 11:33 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-11 11:24 [PATCH v5 0/7] Fix some races between sysfb device registration and drivers probe Javier Martinez Canillas
2022-05-11 11:24 ` [PATCH v5 1/7] firmware: sysfb: Make sysfb_create_simplefb() return a pdev pointer Javier Martinez Canillas
2022-05-11 12:04 ` Javier Martinez Canillas
2022-05-11 11:24 ` [PATCH v5 2/7] firmware: sysfb: Add helpers to unregister a pdev and disable registration Javier Martinez Canillas
2022-05-11 11:54 ` Thomas Zimmermann
2022-05-11 12:01 ` Javier Martinez Canillas
2022-05-11 12:05 ` Thomas Zimmermann
2022-05-11 12:29 ` Javier Martinez Canillas
2022-05-11 12:02 ` Thomas Zimmermann
2022-05-11 12:24 ` Javier Martinez Canillas
2022-05-11 11:30 ` [PATCH v5 3/7] fbdev: Restart conflicting fb removal loop when unregistering devices Javier Martinez Canillas
2022-05-11 11:47 ` Thomas Zimmermann
2022-05-11 11:57 ` Javier Martinez Canillas
2022-05-13 12:28 ` Javier Martinez Canillas
2022-05-11 11:31 ` [PATCH v5 4/7] fbdev: Make sysfb to unregister its own registered devices Javier Martinez Canillas
2022-05-11 11:31 ` [PATCH v5 5/7] fbdev: Disable sysfb device registration when removing conflicting FBs Javier Martinez Canillas
2022-06-07 15:01 ` Daniel Vetter
2022-06-07 15:41 ` Javier Martinez Canillas
2022-05-11 11:32 ` [PATCH v5 6/7] Revert "fbdev: Prevent probing generic drivers if a FB is already registered" Javier Martinez Canillas
2022-05-11 11:32 ` [PATCH v5 7/7] fbdev: Make registered_fb[] private to fbmem.c Javier Martinez Canillas
2022-05-11 17:00 ` Sam Ravnborg
2022-05-11 17:17 ` Guenter Roeck
2022-05-11 17:34 ` Javier Martinez Canillas
2022-05-12 18:32 ` Sam Ravnborg
2022-05-13 10:48 ` [PATCH v5 0/7] Fix some races between sysfb device registration and drivers probe Thomas Zimmermann
2022-05-13 11:10 ` Javier Martinez Canillas
2022-05-13 11:32 ` Thomas Zimmermann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=026b1c6d-c258-fa88-ed08-d1b5784c95b0@suse.de \
--to=tzimmermann@suse.de \
--cc=corbet@lwn.net \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel@ffwll.ch \
--cc=deller@gmx.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=javierm@redhat.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pjones@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).