Thread (29 messages) 29 messages, 3 authors, 2024-02-07

Re: [v2,3/8] firmware/sysfb: Set firmware-framebuffer parent device

From: Sui Jingfeng <hidden>
Date: 2024-02-07 15:34:15
Also in: dri-devel

Hi,


On 2024/2/5 16:24, Thomas Zimmermann wrote:
Hi

Am 02.02.24 um 16:23 schrieb Sui Jingfeng:
quoted
Hi,


On 2024/2/2 19:58, Thomas Zimmermann wrote:
quoted
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.
Good ideas, try to be impressive.
I probably could help to test if I'm online.

Best regards
Thomas
quoted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help