linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* lower log level of efi-bgrt / handle status 0
@ 2015-06-28 17:10 Tom Yan
       [not found] ` <CAGnHSEnBNr-HVaUMjRqPK104mV1r16uDsktob+9WADr84fBh0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Yan @ 2015-06-28 17:10 UTC (permalink / raw)
  To: linux-efi-u79uwXL29TY76Z2rM5mHXA; +Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA

My motherboard is ASUS H87-PRO which has UEFI BIOS. The kernel gives
the following error on every boot:

Ignoring BGRT: invalid status 0 (expected 1)

This happens when the "Boot Logo" BIOS option is set to "Auto" (AND
using a PCI-E display card, IIRC). According to the mobo's manual,
"Auto" means:

"Automatically adjust the boot logo size according to Windows requirements."

while the error will be gone if I set it to "Full Screen" (which makes
the boot logo look huge and ugly) or "Disabled" instead.

The thing is nothing really goes wrong when I choose "Auto" except
from keep seeing that error. So could you make it accept/handle status
0, or at least lower the log level of messages in efi-bgrt? I can see
that all of them make use of pr_err() and I wonder how important is
this BGRT thing.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: lower log level of efi-bgrt / handle status 0
       [not found] ` <CAGnHSEnBNr-HVaUMjRqPK104mV1r16uDsktob+9WADr84fBh0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-06-29  9:17   ` Matt Fleming
  2015-06-29 10:15     ` Josh Triplett
  0 siblings, 1 reply; 3+ messages in thread
From: Matt Fleming @ 2015-06-29  9:17 UTC (permalink / raw)
  To: Tom Yan
  Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA,
	linux-acpi-u79uwXL29TY76Z2rM5mHXA, Josh Triplett, Matthew Garrett

On Mon, 29 Jun, at 01:10:52AM, Tom Yan wrote:
> My motherboard is ASUS H87-PRO which has UEFI BIOS. The kernel gives
> the following error on every boot:
> 
> Ignoring BGRT: invalid status 0 (expected 1)
> 
> This happens when the "Boot Logo" BIOS option is set to "Auto" (AND
> using a PCI-E display card, IIRC). According to the mobo's manual,
> "Auto" means:
> 
> "Automatically adjust the boot logo size according to Windows requirements."
> 
> while the error will be gone if I set it to "Full Screen" (which makes
> the boot logo look huge and ugly) or "Disabled" instead.
> 
> The thing is nothing really goes wrong when I choose "Auto" except
> from keep seeing that error. So could you make it accept/handle status
> 0, or at least lower the log level of messages in efi-bgrt? I can see
> that all of them make use of pr_err() and I wonder how important is
> this BGRT thing.

The rest of the error messages are quite important because they signal
that the BGRT is somehow invalid, even though the firmware thinks it
*is* valid. They are intended to catch buggy firmware and aid kernel
developers in debugging.

However, it probably does make sense to drop the pr_err() for ->status
being zero though, because the firmware is explicitly telling us "The
BGRT image is not being displayed".

Josh, Matthew? Can you think of a reason that something like this
wouldn't make sense?

---

diff --git a/arch/x86/platform/efi/efi-bgrt.c b/arch/x86/platform/efi/efi-bgrt.c
index d7f997f7c26d..480f3911228e 100644
--- a/arch/x86/platform/efi/efi-bgrt.c
+++ b/arch/x86/platform/efi/efi-bgrt.c
@@ -51,8 +51,8 @@ void __init efi_bgrt_init(void)
 		return;
 	}
 	if (bgrt_tab->status != 1) {
-		pr_err("Ignoring BGRT: invalid status %u (expected 1)\n",
-		       bgrt_tab->status);
+		pr_debug("Ignoring BGRT: invalid status %u (expected 1)\n",
+			 bgrt_tab->status);
 		return;
 	}
 	if (bgrt_tab->image_type != 0) {

-- 
Matt Fleming, Intel Open Source Technology Center

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: lower log level of efi-bgrt / handle status 0
  2015-06-29  9:17   ` Matt Fleming
@ 2015-06-29 10:15     ` Josh Triplett
  0 siblings, 0 replies; 3+ messages in thread
From: Josh Triplett @ 2015-06-29 10:15 UTC (permalink / raw)
  To: Matt Fleming; +Cc: Tom Yan, linux-efi, linux-acpi, Matthew Garrett

On Mon, Jun 29, 2015 at 10:17:40AM +0100, Matt Fleming wrote:
> On Mon, 29 Jun, at 01:10:52AM, Tom Yan wrote:
> > My motherboard is ASUS H87-PRO which has UEFI BIOS. The kernel gives
> > the following error on every boot:
> > 
> > Ignoring BGRT: invalid status 0 (expected 1)
> > 
> > This happens when the "Boot Logo" BIOS option is set to "Auto" (AND
> > using a PCI-E display card, IIRC). According to the mobo's manual,
> > "Auto" means:
> > 
> > "Automatically adjust the boot logo size according to Windows requirements."
> > 
> > while the error will be gone if I set it to "Full Screen" (which makes
> > the boot logo look huge and ugly) or "Disabled" instead.

Odd that the firmware makes the image invalid if you set it to "auto".

> > The thing is nothing really goes wrong when I choose "Auto" except
> > from keep seeing that error. So could you make it accept/handle status
> > 0, or at least lower the log level of messages in efi-bgrt? I can see
> > that all of them make use of pr_err() and I wonder how important is
> > this BGRT thing.
> 
> The rest of the error messages are quite important because they signal
> that the BGRT is somehow invalid, even though the firmware thinks it
> *is* valid. They are intended to catch buggy firmware and aid kernel
> developers in debugging.
> 
> However, it probably does make sense to drop the pr_err() for ->status
> being zero though, because the firmware is explicitly telling us "The
> BGRT image is not being displayed".
> 
> Josh, Matthew? Can you think of a reason that something like this
> wouldn't make sense?

Only the low bit of the status field indicates validity; the remaining 7
bits are reserved and must be zero.  So, please keep a message at pr_err
or at least pr_warn if (bgrt_tab->status & 0xfe).  However, I agree that
a value of 0 shouldn't be an error or warning; info or debug seems fine
for that.

- Josh Triplett

> ---
> 
> diff --git a/arch/x86/platform/efi/efi-bgrt.c b/arch/x86/platform/efi/efi-bgrt.c
> index d7f997f7c26d..480f3911228e 100644
> --- a/arch/x86/platform/efi/efi-bgrt.c
> +++ b/arch/x86/platform/efi/efi-bgrt.c
> @@ -51,8 +51,8 @@ void __init efi_bgrt_init(void)
>  		return;
>  	}
>  	if (bgrt_tab->status != 1) {
> -		pr_err("Ignoring BGRT: invalid status %u (expected 1)\n",
> -		       bgrt_tab->status);
> +		pr_debug("Ignoring BGRT: invalid status %u (expected 1)\n",
> +			 bgrt_tab->status);
>  		return;
>  	}
>  	if (bgrt_tab->image_type != 0) {
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-29 10:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-28 17:10 lower log level of efi-bgrt / handle status 0 Tom Yan
     [not found] ` <CAGnHSEnBNr-HVaUMjRqPK104mV1r16uDsktob+9WADr84fBh0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-29  9:17   ` Matt Fleming
2015-06-29 10:15     ` Josh Triplett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).