Message ID | 20230925073315.11627-1-tzimmermann@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | drm/i915: Convert fbdev to DRM client | expand |
This is version 3 of the patchset. Am 25.09.23 um 09:26 schrieb Thomas Zimmermann: > Convert i915's fbdev code to struct drm_client. Replaces the current > ad-hoc integration. The conversion includes a number of cleanups. The > patchset also enables unloading of driver modules with in-kernel DRM > clients; a feature required by i915. > > As with the other drivers' fbdev emulation, fbdev in i915 is now > an in-kernel DRM client that runs after the DRM device has been > registered. This allows to remove the asynchronous initialization. > > i915 is the last driver with an fbdev emulation that is not build > upon struct drm_client. Once reviewed, the patches would ideally go > into drm-misc-next, so that the old fbdev helper code can be removed. > We can also attempt to add additional in-kernel clients. A DRM-based > dmesg log or a bootsplash are commonly mentioned. DRM can then switch > easily among the existing clients if/when required. > > v3: > * support module unloading (Jani, CI bot) > * as before, silently ignore devices without displays (CI bot) > v2: > * fix error handling (Jani) > * fix non-fbdev builds > * various minor fixes and cleanups > > Thomas Zimmermann (7): > drm/i915: Unregister in-kernel clients > drm/client: Do not acquire module reference > drm/client: Export drm_client_dev_unregister() > drm/i915: Move fbdev functions > drm/i915: Initialize fbdev DRM client with callback functions > drm/i915: Implement fbdev client callbacks > drm/i915: Implement fbdev emulation as in-kernel client > > drivers/gpu/drm/drm_client.c | 25 +- > drivers/gpu/drm/i915/display/intel_display.c | 1 - > .../drm/i915/display/intel_display_driver.c | 19 -- > drivers/gpu/drm/i915/display/intel_fbdev.c | 250 ++++++++++-------- > drivers/gpu/drm/i915/display/intel_fbdev.h | 29 +- > drivers/gpu/drm/i915/i915_driver.c | 27 +- > 6 files changed, 156 insertions(+), 195 deletions(-) >