[PATCH 00/10] drm/radeon: Convert fbdev to DRM client

Alex Deucher alexdeucher at gmail.com
Mon Mar 27 22:39:41 UTC 2023


Applied.  Thanks!

On Fri, Mar 24, 2023 at 5:44 PM Alex Deucher <alexdeucher at gmail.com> wrote:
>
> On Tue, Mar 21, 2023 at 5:33 AM Thomas Zimmermann <tzimmermann at suse.de> wrote:
> >
> > Hi
> >
> > Am 20.03.23 um 16:23 schrieb Alex Deucher:
> > > 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:
> >
> > I've tested the patches with an R5-based card.
> >
> > > Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> > > to the series.
> >
> > Thank you so much. Do you want to take the patches into the amd tree?
>
> I haven't forgotten these.  Will pick them up next week.
>
> Thanks,
>
> Alex
>
> >
> > Best regards
> > Thomas
> >
> > >
> > > 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
> >
> > --
> > 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