All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
@ 2024-01-27 11:07 ` Marc Zyngier
  0 siblings, 0 replies; 6+ messages in thread
From: Marc Zyngier @ 2024-01-27 11:07 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel
  Cc: Thomas Gleixner, Lorenzo Pieralisi, yuzenghui, stable

While refactoring the way the ITSs are probed, the handling of
quirks applicable to ACPI-based platforms was lost. As a result,
systems such as HIP07 lose their GICv4 functionnality, and some
other may even fail to boot, unless they are configured to boot
with DT.

Move the enabling of quirks into its_probe_one(), making it
common to all firmware implementations.

Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
---
 drivers/irqchip/irq-gic-v3-its.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index fec1b58470df..250b4562f308 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -5091,6 +5091,8 @@ static int __init its_probe_one(struct its_node *its)
 	u32 ctlr;
 	int err;
 
+	its_enable_quirks(its);
+
 	if (is_v4(its)) {
 		if (!(its->typer & GITS_TYPER_VMOVP)) {
 			err = its_compute_its_list_map(its);
@@ -5442,7 +5444,6 @@ static int __init its_of_probe(struct device_node *node)
 		if (!its)
 			return -ENOMEM;
 
-		its_enable_quirks(its);
 		err = its_probe_one(its);
 		if (err)  {
 			its_node_destroy(its);
-- 
2.39.2


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

* [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
@ 2024-01-27 11:07 ` Marc Zyngier
  0 siblings, 0 replies; 6+ messages in thread
From: Marc Zyngier @ 2024-01-27 11:07 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel
  Cc: Thomas Gleixner, Lorenzo Pieralisi, yuzenghui, stable

While refactoring the way the ITSs are probed, the handling of
quirks applicable to ACPI-based platforms was lost. As a result,
systems such as HIP07 lose their GICv4 functionnality, and some
other may even fail to boot, unless they are configured to boot
with DT.

Move the enabling of quirks into its_probe_one(), making it
common to all firmware implementations.

Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
---
 drivers/irqchip/irq-gic-v3-its.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index fec1b58470df..250b4562f308 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -5091,6 +5091,8 @@ static int __init its_probe_one(struct its_node *its)
 	u32 ctlr;
 	int err;
 
+	its_enable_quirks(its);
+
 	if (is_v4(its)) {
 		if (!(its->typer & GITS_TYPER_VMOVP)) {
 			err = its_compute_its_list_map(its);
@@ -5442,7 +5444,6 @@ static int __init its_of_probe(struct device_node *node)
 		if (!its)
 			return -ENOMEM;
 
-		its_enable_quirks(its);
 		err = its_probe_one(its);
 		if (err)  {
 			its_node_destroy(its);
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
  2024-01-27 11:07 ` Marc Zyngier
@ 2024-01-29  8:45   ` Lorenzo Pieralisi
  -1 siblings, 0 replies; 6+ messages in thread
From: Lorenzo Pieralisi @ 2024-01-29  8:45 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-kernel, linux-arm-kernel, Thomas Gleixner, yuzenghui,
	stable

On Sat, Jan 27, 2024 at 11:07:02AM +0000, Marc Zyngier wrote:
> While refactoring the way the ITSs are probed, the handling of
> quirks applicable to ACPI-based platforms was lost. As a result,
> systems such as HIP07 lose their GICv4 functionnality, and some

Just noticed: s/functionnality/functionality

> other may even fail to boot, unless they are configured to boot
> with DT.
> 
> Move the enabling of quirks into its_probe_one(), making it
> common to all firmware implementations.
> 
> Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Cc: stable@vger.kernel.org
> ---
>  drivers/irqchip/irq-gic-v3-its.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

I obviously tested it with ACPI with platforms not neededing
its quirks, apologies.

Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>

> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index fec1b58470df..250b4562f308 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -5091,6 +5091,8 @@ static int __init its_probe_one(struct its_node *its)
>  	u32 ctlr;
>  	int err;
>  
> +	its_enable_quirks(its);
> +
>  	if (is_v4(its)) {
>  		if (!(its->typer & GITS_TYPER_VMOVP)) {
>  			err = its_compute_its_list_map(its);
> @@ -5442,7 +5444,6 @@ static int __init its_of_probe(struct device_node *node)
>  		if (!its)
>  			return -ENOMEM;
>  
> -		its_enable_quirks(its);
>  		err = its_probe_one(its);
>  		if (err)  {
>  			its_node_destroy(its);
> -- 
> 2.39.2
> 

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

* Re: [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
@ 2024-01-29  8:45   ` Lorenzo Pieralisi
  0 siblings, 0 replies; 6+ messages in thread
From: Lorenzo Pieralisi @ 2024-01-29  8:45 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-kernel, linux-arm-kernel, Thomas Gleixner, yuzenghui,
	stable

On Sat, Jan 27, 2024 at 11:07:02AM +0000, Marc Zyngier wrote:
> While refactoring the way the ITSs are probed, the handling of
> quirks applicable to ACPI-based platforms was lost. As a result,
> systems such as HIP07 lose their GICv4 functionnality, and some

Just noticed: s/functionnality/functionality

> other may even fail to boot, unless they are configured to boot
> with DT.
> 
> Move the enabling of quirks into its_probe_one(), making it
> common to all firmware implementations.
> 
> Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Cc: stable@vger.kernel.org
> ---
>  drivers/irqchip/irq-gic-v3-its.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

I obviously tested it with ACPI with platforms not neededing
its quirks, apologies.

Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>

> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index fec1b58470df..250b4562f308 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -5091,6 +5091,8 @@ static int __init its_probe_one(struct its_node *its)
>  	u32 ctlr;
>  	int err;
>  
> +	its_enable_quirks(its);
> +
>  	if (is_v4(its)) {
>  		if (!(its->typer & GITS_TYPER_VMOVP)) {
>  			err = its_compute_its_list_map(its);
> @@ -5442,7 +5444,6 @@ static int __init its_of_probe(struct device_node *node)
>  		if (!its)
>  			return -ENOMEM;
>  
> -		its_enable_quirks(its);
>  		err = its_probe_one(its);
>  		if (err)  {
>  			its_node_destroy(its);
> -- 
> 2.39.2
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
  2024-01-27 11:07 ` Marc Zyngier
@ 2024-01-31  9:39   ` Zenghui Yu
  -1 siblings, 0 replies; 6+ messages in thread
From: Zenghui Yu @ 2024-01-31  9:39 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-kernel, linux-arm-kernel, Thomas Gleixner,
	Lorenzo Pieralisi, stable

On 2024/1/27 19:07, Marc Zyngier wrote:
> While refactoring the way the ITSs are probed, the handling of
> quirks applicable to ACPI-based platforms was lost. As a result,
> systems such as HIP07 lose their GICv4 functionnality, and some
> other may even fail to boot, unless they are configured to boot
> with DT.
> 
> Move the enabling of quirks into its_probe_one(), making it
> common to all firmware implementations.
> 
> Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Cc: stable@vger.kernel.org

Looks good,

Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>

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

* Re: [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
@ 2024-01-31  9:39   ` Zenghui Yu
  0 siblings, 0 replies; 6+ messages in thread
From: Zenghui Yu @ 2024-01-31  9:39 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-kernel, linux-arm-kernel, Thomas Gleixner,
	Lorenzo Pieralisi, stable

On 2024/1/27 19:07, Marc Zyngier wrote:
> While refactoring the way the ITSs are probed, the handling of
> quirks applicable to ACPI-based platforms was lost. As a result,
> systems such as HIP07 lose their GICv4 functionnality, and some
> other may even fail to boot, unless they are configured to boot
> with DT.
> 
> Move the enabling of quirks into its_probe_one(), making it
> common to all firmware implementations.
> 
> Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisation of its_node")
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Cc: stable@vger.kernel.org

Looks good,

Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2024-01-31 10:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-27 11:07 [PATCH] irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems Marc Zyngier
2024-01-27 11:07 ` Marc Zyngier
2024-01-29  8:45 ` Lorenzo Pieralisi
2024-01-29  8:45   ` Lorenzo Pieralisi
2024-01-31  9:39 ` Zenghui Yu
2024-01-31  9:39   ` Zenghui Yu

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.