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

Thomas Zimmermann tzimmermann at suse.de
Mon Mar 20 15:19:23 UTC 2023


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
>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230320/61a4bc57/attachment.sig>


More information about the dri-devel mailing list