Hi,
thanks you for the time and effort for reviewing.
On 2023/4/4 19:03, Javier Martinez Canillas wrote:
Javier Martinez Canillas <javierm@xxxxxxxxxx> writes:Yes, certainly.
[...]
Sui,Graphic drivers or display drivers would indeed be more accurate here. But/*That sentences is not well phrased. Maybe say 'This is required for
* Remove the device from the device hierarchy. This is the right thing
- * to do for firmware-based DRM drivers, such as EFI, VESA or VGA. After
+ * to do for firmware-based fb drivers, such as EFI, VESA or VGA. After
firmware-provided graphics, such as EFI, VESA or VGA.'
I think that "fb drivers" is still well pharsed since the are other places
where either fbdev or DRM drivers for firmware-provided framebuffers are
named like that.
Maybe you could post a follow-up patch to improve the comment as suggested
by Thomas?
This is the right thing to do for conflicting drivers takes over the hardware resource required.
But the comments is actually nearly perfect in overall, it has some difficulty to improve
the perfection. Below is my personal understanding toward the above sentence.
efifb and simplefb belong to the class of firmware based framebuffer driver.
They are generic and platform agnostic, yet they have to relay on the firmware
to passing fb format, fb size, fb base address, fb resolution and fb stride etc to the kernel.
Linux kernel using those information to fill the global screen_info structure.
sysfb_init() then using the global screen_info to create a platform device,
the device will be claimed by efifb or simplefb driver finally. This is a hand over solution.
It relay on the firmware setup such a framebuffer and hand over the state(this is
actually a kind of modeset state) to kernel.
efifb only own the potential hardware resource for a very short time if a
conflicting drm driver probe successfully.
For the platform/graphics without a drm driver, developers may choose to
use efifb driver as a replacement. So, there are no conflicting happen on
such a case. The `nomodeset` kernel cmd options can also be used for
debugging and testing purpose if the more intelligent drm driver is broken
due to bugs.