Linux-ACPI Archive on lore.kernel.org
 help / color / Atom feed
* [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	[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, back to index

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

Linux-ACPI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-acpi/0 linux-acpi/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-acpi linux-acpi/ https://lore.kernel.org/linux-acpi \
		linux-acpi@vger.kernel.org
	public-inbox-index linux-acpi

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-acpi


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git