[PATCH 06/11] efi: Support copy framebuffer
Heinrich Schuchardt
xypron.glpk at gmx.de
Tue Feb 14 21:09:55 CET 2023
Am 14. Februar 2023 20:48:58 MEZ schrieb Simon Glass <sjg at chromium.org>:
>Hi Heinrich,
>
>On Fri, 10 Feb 2023 at 05:11, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>>
>> On 2/5/23 20:46, Simon Glass wrote:
>> > Add support for this to EFI in case it becomes useful. At present it just
>> > slows things down. Enable CONFIG_VIDEO_COPY to turn it on.
>> >
>> > Signed-off-by: Simon Glass <sjg at chromium.org>
>> > ---
>> >
>> > arch/x86/dts/efi-x86_app.dts | 1 +
>> > drivers/video/efi.c | 11 +++++++++++
>> > 2 files changed, 12 insertions(+)
>> >
>> > diff --git a/arch/x86/dts/efi-x86_app.dts b/arch/x86/dts/efi-x86_app.dts
>> > index a5316e2a1a7..7afa3d72d57 100644
>> > --- a/arch/x86/dts/efi-x86_app.dts
>> > +++ b/arch/x86/dts/efi-x86_app.dts
>> > @@ -27,6 +27,7 @@
>> > };
>> > efi-fb {
>> > compatible = "efi-fb";
>> > + u-boot,dm-pre-reloc;
>> > };
>> >
>> > };
>> > diff --git a/drivers/video/efi.c b/drivers/video/efi.c
>> > index 169637c2882..9135a8e8187 100644
>> > --- a/drivers/video/efi.c
>> > +++ b/drivers/video/efi.c
>> > @@ -207,6 +207,16 @@ err:
>> > return ret;
>> > }
>> >
>> > +static int efi_video_bind(struct udevice *dev)
>> > +{
>> > + struct video_uc_plat *plat = dev_get_uclass_plat(dev);
>> > +
>> > + /* Use a 16MB frame buffer in case VIDEO_COPY is enabled */
>> > + plat->copy_size = 16 << 20;
>>
>> This does not work with today's display sizes:
>>
>> 3840 * 2160 * 4 = 33177600
>> 7680 * 4320 * 4 = 132710400
>>
>> You have to determine the buffer size from the mode information.
>
>I am trying to do this when the device is bound, i.e. before we know
>the mode information. How about I just increase it?
Why not access the graphics output protocol here?
You have to look for a graphics output protocol before binding a video device anyway.
Best regards
Heinrich
>
>BTW I notice that the EFI display is very slow on x86, e.g. with
>scrolling. Are the mtrrs supposed to be set up?
>
>Regards,
>Simon
More information about the U-Boot
mailing list