* [U-Boot] [RFC] efi_loader: frame buffers in EFI GOP and DM_VIDEO
@ 2017-10-25 19:45 Heinrich Schuchardt
2017-11-07 1:36 ` Rob Clark
0 siblings, 1 reply; 4+ messages in thread
From: Heinrich Schuchardt @ 2017-10-25 19:45 UTC (permalink / raw)
To: u-boot
Hello Alex, hello Simon,
I have just been reading through efi_gop and video_uclass.c and there
seems to be something missing in the support of video modes.
U-Boot configuration knows the following color models:
16-color
256-color
32k (1:5:5:5)
64k (5:6:5)
16.8M (8:8:8)
In lib/efi_loader/efi_gop.c I only found
VIDEO_BPP32
VIDEO_BPP16
Patch a812241091ce efi_loader: Add DM_VIDEO support (Alexander Graf)
Shouldn't gop_blt differentiate between 32k and 64k color mode?
Unfortunately video_uclass.c cannot tell the difference!
What about 4 and 8 bit modes?
When I look at the coding in video_uclass.c, function video_clear it
seems that this only correctly supports 32bit and 8bit mode.
Patch 1acafc73bfc7 dm: video: Add a video uclass (Simon Glass)
Shouldn't 4, 15 and 16 bit modes be added here?
Best regards
Heinrich
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [RFC] efi_loader: frame buffers in EFI GOP and DM_VIDEO
2017-10-25 19:45 [U-Boot] [RFC] efi_loader: frame buffers in EFI GOP and DM_VIDEO Heinrich Schuchardt
@ 2017-11-07 1:36 ` Rob Clark
2017-11-07 13:28 ` Simon Glass
2017-11-08 13:41 ` Alexander Graf
0 siblings, 2 replies; 4+ messages in thread
From: Rob Clark @ 2017-11-07 1:36 UTC (permalink / raw)
To: u-boot
On Wed, Oct 25, 2017 at 3:45 PM, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> Hello Alex, hello Simon,
>
> I have just been reading through efi_gop and video_uclass.c and there seems
> to be something missing in the support of video modes.
>
> U-Boot configuration knows the following color models:
>
> 16-color
> 256-color
> 32k (1:5:5:5)
> 64k (5:6:5)
> 16.8M (8:8:8)
>
> In lib/efi_loader/efi_gop.c I only found
>
> VIDEO_BPP32
> VIDEO_BPP16
> Patch a812241091ce efi_loader: Add DM_VIDEO support (Alexander Graf)
>
> Shouldn't gop_blt differentiate between 32k and 64k color mode?
> Unfortunately video_uclass.c cannot tell the difference!
> What about 4 and 8 bit modes?
>
> When I look at the coding in video_uclass.c, function video_clear it seems
> that this only correctly supports 32bit and 8bit mode.
> Patch 1acafc73bfc7 dm: video: Add a video uclass (Simon Glass)
>
> Shouldn't 4, 15 and 16 bit modes be added here?
>
(apologies for being a bit behind on u-boot mails but been busy on
other upstreams)
iirc UEFI only supports a subset of what u-boot supports (and I think
it is worse because u-boot doesn't do a good job of differentiating
between different component orders of a given bpp).. but we could
support more hw by not with the path that doesn't expose the scanout
buffer address and only supports blitting to scanout buffer (and doing
conversion as part of the blit). I think it is mostly a matter of
someone who has this hw writing and testing the appropriate blit
paths..
BR,
-R
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [RFC] efi_loader: frame buffers in EFI GOP and DM_VIDEO
2017-11-07 1:36 ` Rob Clark
@ 2017-11-07 13:28 ` Simon Glass
2017-11-08 13:41 ` Alexander Graf
1 sibling, 0 replies; 4+ messages in thread
From: Simon Glass @ 2017-11-07 13:28 UTC (permalink / raw)
To: u-boot
Hi Heinrich,
On 6 November 2017 at 18:36, Rob Clark <robdclark@gmail.com> wrote:
> On Wed, Oct 25, 2017 at 3:45 PM, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>> Hello Alex, hello Simon,
>>
>> I have just been reading through efi_gop and video_uclass.c and there seems
>> to be something missing in the support of video modes.
>>
>> U-Boot configuration knows the following color models:
>>
>> 16-color
>> 256-color
>> 32k (1:5:5:5)
>> 64k (5:6:5)
>> 16.8M (8:8:8)
>>
>> In lib/efi_loader/efi_gop.c I only found
>>
>> VIDEO_BPP32
>> VIDEO_BPP16
>> Patch a812241091ce efi_loader: Add DM_VIDEO support (Alexander Graf)
>>
>> Shouldn't gop_blt differentiate between 32k and 64k color mode?
>> Unfortunately video_uclass.c cannot tell the difference!
>> What about 4 and 8 bit modes?
>>
>> When I look at the coding in video_uclass.c, function video_clear it seems
>> that this only correctly supports 32bit and 8bit mode.
>> Patch 1acafc73bfc7 dm: video: Add a video uclass (Simon Glass)
>>
>> Shouldn't 4, 15 and 16 bit modes be added here?
>>
>
> (apologies for being a bit behind on u-boot mails but been busy on
> other upstreams)
>
> iirc UEFI only supports a subset of what u-boot supports (and I think
> it is worse because u-boot doesn't do a good job of differentiating
> between different component orders of a given bpp).. but we could
> support more hw by not with the path that doesn't expose the scanout
> buffer address and only supports blitting to scanout buffer (and doing
> conversion as part of the blit). I think it is mostly a matter of
> someone who has this hw writing and testing the appropriate blit
> paths..
Yes that seems right to me. I focussed originally on things I could
try on hardware, but we can do this with tests.
Regards,
Simon
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [RFC] efi_loader: frame buffers in EFI GOP and DM_VIDEO
2017-11-07 1:36 ` Rob Clark
2017-11-07 13:28 ` Simon Glass
@ 2017-11-08 13:41 ` Alexander Graf
1 sibling, 0 replies; 4+ messages in thread
From: Alexander Graf @ 2017-11-08 13:41 UTC (permalink / raw)
To: u-boot
On 11/07/2017 02:36 AM, Rob Clark wrote:
> On Wed, Oct 25, 2017 at 3:45 PM, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>> Hello Alex, hello Simon,
>>
>> I have just been reading through efi_gop and video_uclass.c and there seems
>> to be something missing in the support of video modes.
>>
>> U-Boot configuration knows the following color models:
>>
>> 16-color
>> 256-color
>> 32k (1:5:5:5)
>> 64k (5:6:5)
>> 16.8M (8:8:8)
>>
>> In lib/efi_loader/efi_gop.c I only found
>>
>> VIDEO_BPP32
>> VIDEO_BPP16
>> Patch a812241091ce efi_loader: Add DM_VIDEO support (Alexander Graf)
>>
>> Shouldn't gop_blt differentiate between 32k and 64k color mode?
>> Unfortunately video_uclass.c cannot tell the difference!
>> What about 4 and 8 bit modes?
>>
>> When I look at the coding in video_uclass.c, function video_clear it seems
>> that this only correctly supports 32bit and 8bit mode.
>> Patch 1acafc73bfc7 dm: video: Add a video uclass (Simon Glass)
>>
>> Shouldn't 4, 15 and 16 bit modes be added here?
>>
> (apologies for being a bit behind on u-boot mails but been busy on
> other upstreams)
>
> iirc UEFI only supports a subset of what u-boot supports (and I think
> it is worse because u-boot doesn't do a good job of differentiating
> between different component orders of a given bpp).. but we could
> support more hw by not with the path that doesn't expose the scanout
> buffer address and only supports blitting to scanout buffer (and doing
> conversion as part of the blit). I think it is mostly a matter of
> someone who has this hw writing and testing the appropriate blit
> paths..
My thinking was that the most useful bit of GOP support is efifb in
Linux. Using that you can directly pass the frame buffer to Linux and
use it from there, removing the need for a graphics driver in simple use
cases and allowing early boot messages to appear on the screen.
This however only works well with 32bpp. Even 16bpp was essentially
unused in the wild - we had to fix bugs in Linux first to actually make
it work :). I don't think any other modes will realistically ever be
supported.
So my base take on this is: Let's treat devices that have <16bpp depth
as simply not having graphics@all, unless someone really needs it.
Then they can implement it :).
Alex
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-08 13:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-25 19:45 [U-Boot] [RFC] efi_loader: frame buffers in EFI GOP and DM_VIDEO Heinrich Schuchardt
2017-11-07 1:36 ` Rob Clark
2017-11-07 13:28 ` Simon Glass
2017-11-08 13:41 ` Alexander Graf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.