On Mon, Mar 20, 2023 at 11:19 AM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: > > 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. Patches look good to me. I have a pretty limited set of HW I can test on since I don't have a functional AGP system anymore and most of my older PCIe radeons are packed up in the attic. Feel free to add my: Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> to the series. Alex > > Best regards > Thomas > > > > > Regards, > > Christian. > > > >> > >> Best regards > >> Thomas > >> > >>> > >>> Christian. > >>> > >>>> > >>>> 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