Hi Am 20.03.23 um 16:11 schrieb Christian König:
Am 17.03.23 um 10:20 schrieb Thomas Zimmermann:Hi Christian Am 17.03.23 um 09:53 schrieb Christian König:Am 16.03.23 um 10:37 schrieb Thomas Zimmermann:Convert radeon's fbdev code to drm_client. Replaces the current ad-hoc integration. The conversion includes a number of cleanups. Only build fbdev support if the config option has been set.I'm torn apart on that. On the one hand it looks like a really nice cleanup on the other hand we don't really want to touch radeon any more.It's a driver in the upstream kernel. You have to expect at least some changes.Some changes is not the problem, but we need a justification to change something. Just that it's nice to have won't do it without extensive testing.Alex what do you think? Is that worth the risk of breaking stuff?Moving all fbdev emulation to struct drm_client is required for new in-kernel DRM clients, such as a DRM kernel logger or a boot splash.Well that's a rather good justification. I suggest to add that to the cover-letter.
Ok, will go into a possible v2. The mid-term plan is to convert the fbdev code in all remaining drivers to struct drm_client and remove the old ad-hoc callbacks.
With struct drm_client, we can select in-kernel clients at compile time or runtime just like userspace clients. I guess, we can have a bootup screen and then switch to the console or the DRM logger. Or go from any client to the logger on kernel panics (or something like that). There's been occasional talk about userspace consoles, which would use such functionality.
Best regards Thomas
Regards, Christian.Best regards ThomasChristian.Thomas Zimmermann (10): drm/radeon: Move radeon_align_pitch() next to dumb-buffer helpers drm/radeon: Improve fbdev object-test helper drm/radeon: Remove struct radeon_fbdev drm/radeon: Remove test for !screen_base in fbdev probing drm/radeon: Move fbdev object helpers before struct fb_ops et al drm/radeon: Fix coding style in fbdev emulation drm/radeon: Move fbdev cleanup code into fb_destroy callback drm/radeon: Correctly clean up failed display probing drm/radeon: Implement client-based fbdev emulation drm/radeon: Only build fbdev if DRM_FBDEV_EMULATION is set drivers/gpu/drm/radeon/Makefile | 3 +- drivers/gpu/drm/radeon/radeon.h | 2 + drivers/gpu/drm/radeon/radeon_display.c | 4 - drivers/gpu/drm/radeon/radeon_drv.c | 3 +- drivers/gpu/drm/radeon/radeon_drv.h | 1 - drivers/gpu/drm/radeon/radeon_fb.c | 400 ----------------------drivers/gpu/drm/radeon/radeon_fbdev.c | 422 ++++++++++++++++++++++++drivers/gpu/drm/radeon/radeon_gem.c | 24 ++ drivers/gpu/drm/radeon/radeon_kms.c | 18 - drivers/gpu/drm/radeon/radeon_mode.h | 20 +- 10 files changed, 464 insertions(+), 433 deletions(-) delete mode 100644 drivers/gpu/drm/radeon/radeon_fb.c create mode 100644 drivers/gpu/drm/radeon/radeon_fbdev.c base-commit: ec0708e846b819c8d5b642de42448a87d7526564
-- 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:
OpenPGP_signature
Description: OpenPGP digital signature