[PATCH 00/10] drm/radeon: Convert fbdev to DRM client
Alex Deucher
alexdeucher at gmail.com
Mon Mar 20 15:23:51 UTC 2023
On Mon, Mar 20, 2023 at 11:19 AM Thomas Zimmermann <tzimmermann at suse.de> 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 at amd.com>
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
More information about the dri-devel
mailing list