(Cc'ing David)
On Wed, 27 May, at 04:45:48PM, Ethan Zhao wrote:
> As descriped in https://bugzilla.kernel.org/show_bug.cgi?id=98721
> When kernel 4.0.4 was tested on Oracle and HP system with UEFI mode, no output and
> login on console.
>
> Simplefb was broken on these systems when orig_video_isVGA is VIDEO_TYPE_EFI, so
> skip it.
>
> This patch was tested on Oracle Sun server X5-2 series and HP ProLiant DL380 Gen9
> with kernel 4.0.4
>
> Signed-off-by: Ethan Zhao <[email protected]>
> Tested-by: Kunlun Lao <[email protected]>
> ---
> arch/x86/kernel/sysfb_simplefb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c
> index 764a29f..f833502 100644
> --- a/arch/x86/kernel/sysfb_simplefb.c
> +++ b/arch/x86/kernel/sysfb_simplefb.c
> @@ -36,7 +36,7 @@ __init bool parse_mode(const struct screen_info *si,
> unsigned int i;
>
> type = si->orig_video_isVGA;
> - if (type != VIDEO_TYPE_VLFB && type != VIDEO_TYPE_EFI)
> + if (type != VIDEO_TYPE_VLFB)
> return false;
>
> for (i = 0; i < ARRAY_SIZE(formats); ++i) {
This patch makes sense to me, but I'd really like David to fill us in on
the rationale for including VIDEO_TYPE_EFI in the simplefb list in first
place, and whether he's aware of any platforms that require simplefb for
UEFI.
David?
--
Matt Fleming, Intel Open Source Technology Center
Hi
On Fri, Jun 5, 2015 at 11:17 AM, Matt Fleming <[email protected]> wrote:
> (Cc'ing David)
>
> On Wed, 27 May, at 04:45:48PM, Ethan Zhao wrote:
>> As descriped in https://bugzilla.kernel.org/show_bug.cgi?id=98721
>> When kernel 4.0.4 was tested on Oracle and HP system with UEFI mode, no output and
>> login on console.
>>
>> Simplefb was broken on these systems when orig_video_isVGA is VIDEO_TYPE_EFI, so
>> skip it.
>>
>> This patch was tested on Oracle Sun server X5-2 series and HP ProLiant DL380 Gen9
>> with kernel 4.0.4
>>
>> Signed-off-by: Ethan Zhao <[email protected]>
>> Tested-by: Kunlun Lao <[email protected]>
>> ---
>> arch/x86/kernel/sysfb_simplefb.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c
>> index 764a29f..f833502 100644
>> --- a/arch/x86/kernel/sysfb_simplefb.c
>> +++ b/arch/x86/kernel/sysfb_simplefb.c
>> @@ -36,7 +36,7 @@ __init bool parse_mode(const struct screen_info *si,
>> unsigned int i;
>>
>> type = si->orig_video_isVGA;
>> - if (type != VIDEO_TYPE_VLFB && type != VIDEO_TYPE_EFI)
>> + if (type != VIDEO_TYPE_VLFB)
>> return false;
>>
>> for (i = 0; i < ARRAY_SIZE(formats); ++i) {
>
> This patch makes sense to me, but I'd really like David to fill us in on
> the rationale for including VIDEO_TYPE_EFI in the simplefb list in first
> place, and whether he's aware of any platforms that require simplefb for
> UEFI.
simplefb works perfectly fine on EFI systems. There is no need to use
vesafb nor efifb anymore. If simplefb does not work on a platform, we
should fix it. Hence, I object to this patch. Can you elaborate what
exactly the problem is? Are you sure you have CONFIG_FB_SIMPLE=y?
If you really want to use efifb instead, please set
CONFIG_X86_SYSFB=n. This config option controls whether you want
firmware framebuffers to be converted to the generic
simple-framebuffer interface, or whether you want to use the old
vesa/efi-framebuffer interfaces.
Thanks
David
On 2015/6/5 17:31, David Herrmann wrote:
> Hi
>
> On Fri, Jun 5, 2015 at 11:17 AM, Matt Fleming <[email protected]> wrote:
>> (Cc'ing David)
>>
>> On Wed, 27 May, at 04:45:48PM, Ethan Zhao wrote:
>>> As descriped in https://bugzilla.kernel.org/show_bug.cgi?id=98721
>>> When kernel 4.0.4 was tested on Oracle and HP system with UEFI mode, no output and
>>> login on console.
>>>
>>> Simplefb was broken on these systems when orig_video_isVGA is VIDEO_TYPE_EFI, so
>>> skip it.
>>>
>>> This patch was tested on Oracle Sun server X5-2 series and HP ProLiant DL380 Gen9
>>> with kernel 4.0.4
>>>
>>> Signed-off-by: Ethan Zhao <[email protected]>
>>> Tested-by: Kunlun Lao <[email protected]>
>>> ---
>>> arch/x86/kernel/sysfb_simplefb.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c
>>> index 764a29f..f833502 100644
>>> --- a/arch/x86/kernel/sysfb_simplefb.c
>>> +++ b/arch/x86/kernel/sysfb_simplefb.c
>>> @@ -36,7 +36,7 @@ __init bool parse_mode(const struct screen_info *si,
>>> unsigned int i;
>>>
>>> type = si->orig_video_isVGA;
>>> - if (type != VIDEO_TYPE_VLFB && type != VIDEO_TYPE_EFI)
>>> + if (type != VIDEO_TYPE_VLFB)
>>> return false;
>>>
>>> for (i = 0; i < ARRAY_SIZE(formats); ++i) {
>> This patch makes sense to me, but I'd really like David to fill us in on
>> the rationale for including VIDEO_TYPE_EFI in the simplefb list in first
>> place, and whether he's aware of any platforms that require simplefb for
>> UEFI.
> simplefb works perfectly fine on EFI systems. There is no need to use
> vesafb nor efifb anymore. If simplefb does not work on a platform, we
> should fix it. Hence, I object to this patch. Can you elaborate what
> exactly the problem is? Are you sure you have CONFIG_FB_SIMPLE=y?
Yes, no CONFIG_FB_SIMPLE set.
>
> If you really want to use efifb instead, please set
> CONFIG_X86_SYSFB=n.
CONFIG_X86_SYSFB=n.
Works.
> This config option controls whether you want
> firmware framebuffers to be converted to the generic
> simple-framebuffer interface, or whether you want to use the old
> vesa/efi-framebuffer interfaces.
>
> Thanks
> David
Thanks,
Ethan