Hi Am 02.02.24 um 16:23 schrieb Sui Jingfeng:
Hi, On 2024/2/2 19:58, Thomas Zimmermann wrote:Set the firmware framebuffer's parent device, which usually is the graphics hardware's physical device. Integrates the framebuffer in the Linux device hierarchy and lets Linux handle dependencies among devices. For example, the graphics hardware won't be suspended while the firmware device is still active.This is a very nice benefit, I can't agree more! Because the backing memory of the firmware framebuffer occupied belongs to the graphics hardware itself. For PCIe device, the backing memory is typically the dedicated VRAM of the PCIe GPU. But there are some exceptions, for example, the gma500. But I think this can be fixed in the future, as majority(>99.9%) PCIe GPU has the a dedicated VRAM. For ARM and ARM64 platform device, the backing memory of the firmware framebuffer may located at the system RAM. It's common that the display controller is a platform device in the embedded world. So I think the sysfb_parent_dev() function can be extended to be able to works for platform device in the future.
The current approach has been taken from efifb. It would already not work reliably with gma500 or ARM SoCs. So there's no immediate loss of functionality AFAICT. But with the patchset now have a correct device hierarchy and PM for simpledrm, vesafb et al.
In the long term, I want to employ some of the logic in vgaarb that detects the firmware default device. That needs additional work, though.
Best regards Thomas
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature