* [PATCH][RESEND] acpi/x86: add a kernel parameter to disable ACPI BGRT
@ 2020-03-04 22:55 Alex Hung
2020-03-14 9:38 ` Rafael J. Wysocki
0 siblings, 1 reply; 2+ messages in thread
From: Alex Hung @ 2020-03-04 22:55 UTC (permalink / raw)
To: corbet, rjw, len.brown, pavel, tglx, mingo, bp, hpa, x86,
mchehab+samsung, jpoimboe, akpm, pawan.kumar.gupta, jgross,
linux-doc, linux-pm, linux-acpi, alex.hung
BGRT is for displaying seamless OEM logo from booting to login screen;
however, this mechanism does not always work well on all configurations
and the OEM logo can be displayed multiple times. This looks worse than
without BGRT enabled.
This patch adds a kernel parameter to disable BGRT in boot time. This is
easier than re-compiling a kernel with CONFIG_ACPI_BGRT disabled.
Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
* Resend to include linux-acpi emailing list
Documentation/admin-guide/kernel-parameters.txt | 3 +++
arch/x86/kernel/acpi/boot.c | 10 +++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index ffff776..55c5b2f 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -442,6 +442,9 @@
bert_disable [ACPI]
Disable BERT OS support on buggy BIOSes.
+ bgrt_disable [ACPI][X86]
+ Disable BGRT to avoid flickering OEM logo.
+
bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
bttv.radio= Most important insmod options are available as
kernel args too.
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 04205ce..d1757ce 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -45,6 +45,7 @@ EXPORT_SYMBOL(acpi_disabled);
#define PREFIX "ACPI: "
int acpi_noirq; /* skip ACPI IRQ initialization */
+int acpi_nobgrt; /* skip ACPI BGRT */
int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */
EXPORT_SYMBOL(acpi_pci_disabled);
@@ -1619,7 +1620,7 @@ int __init acpi_boot_init(void)
acpi_process_madt();
acpi_table_parse(ACPI_SIG_HPET, acpi_parse_hpet);
- if (IS_ENABLED(CONFIG_ACPI_BGRT))
+ if (IS_ENABLED(CONFIG_ACPI_BGRT) && !acpi_nobgrt)
acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
if (!acpi_noirq)
@@ -1671,6 +1672,13 @@ static int __init parse_acpi(char *arg)
}
early_param("acpi", parse_acpi);
+static int __init parse_acpi_bgrt(char *arg)
+{
+ acpi_nobgrt = true;
+ return 0;
+}
+early_param("bgrt_disable", parse_acpi_bgrt);
+
/* FIXME: Using pci= for an ACPI parameter is a travesty. */
static int __init parse_pci(char *arg)
{
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH][RESEND] acpi/x86: add a kernel parameter to disable ACPI BGRT
2020-03-04 22:55 [PATCH][RESEND] acpi/x86: add a kernel parameter to disable ACPI BGRT Alex Hung
@ 2020-03-14 9:38 ` Rafael J. Wysocki
0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2020-03-14 9:38 UTC (permalink / raw)
To: Alex Hung
Cc: corbet, len.brown, pavel, tglx, mingo, bp, hpa, x86,
mchehab+samsung, jpoimboe, akpm, pawan.kumar.gupta, jgross,
linux-doc, linux-pm, linux-acpi
On Wednesday, March 4, 2020 11:55:29 PM CET Alex Hung wrote:
> BGRT is for displaying seamless OEM logo from booting to login screen;
> however, this mechanism does not always work well on all configurations
> and the OEM logo can be displayed multiple times. This looks worse than
> without BGRT enabled.
>
> This patch adds a kernel parameter to disable BGRT in boot time. This is
> easier than re-compiling a kernel with CONFIG_ACPI_BGRT disabled.
>
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>
> * Resend to include linux-acpi emailing list
>
> Documentation/admin-guide/kernel-parameters.txt | 3 +++
> arch/x86/kernel/acpi/boot.c | 10 +++++++++-
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index ffff776..55c5b2f 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -442,6 +442,9 @@
> bert_disable [ACPI]
> Disable BERT OS support on buggy BIOSes.
>
> + bgrt_disable [ACPI][X86]
> + Disable BGRT to avoid flickering OEM logo.
> +
> bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
> bttv.radio= Most important insmod options are available as
> kernel args too.
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index 04205ce..d1757ce 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -45,6 +45,7 @@ EXPORT_SYMBOL(acpi_disabled);
> #define PREFIX "ACPI: "
>
> int acpi_noirq; /* skip ACPI IRQ initialization */
> +int acpi_nobgrt; /* skip ACPI BGRT */
> int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */
> EXPORT_SYMBOL(acpi_pci_disabled);
>
> @@ -1619,7 +1620,7 @@ int __init acpi_boot_init(void)
> acpi_process_madt();
>
> acpi_table_parse(ACPI_SIG_HPET, acpi_parse_hpet);
> - if (IS_ENABLED(CONFIG_ACPI_BGRT))
> + if (IS_ENABLED(CONFIG_ACPI_BGRT) && !acpi_nobgrt)
> acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
>
> if (!acpi_noirq)
> @@ -1671,6 +1672,13 @@ static int __init parse_acpi(char *arg)
> }
> early_param("acpi", parse_acpi);
>
> +static int __init parse_acpi_bgrt(char *arg)
> +{
> + acpi_nobgrt = true;
> + return 0;
> +}
> +early_param("bgrt_disable", parse_acpi_bgrt);
> +
> /* FIXME: Using pci= for an ACPI parameter is a travesty. */
> static int __init parse_pci(char *arg)
> {
>
Applied as 5.7 material, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-03-15 1:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-04 22:55 [PATCH][RESEND] acpi/x86: add a kernel parameter to disable ACPI BGRT Alex Hung
2020-03-14 9:38 ` Rafael J. Wysocki
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).