linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc: Add interrupt mode information in /proc/cpuinfo
@ 2020-04-27 14:06 Cédric Le Goater
  2020-04-28 11:03 ` Michael Ellerman
  0 siblings, 1 reply; 3+ messages in thread
From: Cédric Le Goater @ 2020-04-27 14:06 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev, Cédric Le Goater

PowerNV and pSeries machines can run using the XIVE or XICS interrupt
mode. Report this information in /proc/cpuinfo :

    timebase    : 512000000
    platform    : PowerNV
    model       : 9006-22C
    machine     : PowerNV 9006-22C
    firmware    : OPAL
    MMU         : Radix
    IRQ         : XIVE

and use seq_puts() where we can.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 arch/powerpc/platforms/powernv/setup.c | 12 ++++++++----
 arch/powerpc/platforms/pseries/setup.c |  8 ++++++--
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c
index 3bc188da82ba..39ef3394038d 100644
--- a/arch/powerpc/platforms/powernv/setup.c
+++ b/arch/powerpc/platforms/powernv/setup.c
@@ -196,14 +196,18 @@ static void pnv_show_cpuinfo(struct seq_file *m)
 		model = of_get_property(root, "model", NULL);
 	seq_printf(m, "machine\t\t: PowerNV %s\n", model);
 	if (firmware_has_feature(FW_FEATURE_OPAL))
-		seq_printf(m, "firmware\t: OPAL\n");
+		seq_puts(m, "firmware\t: OPAL\n");
 	else
-		seq_printf(m, "firmware\t: BML\n");
+		seq_puts(m, "firmware\t: BML\n");
 	of_node_put(root);
 	if (radix_enabled())
-		seq_printf(m, "MMU\t\t: Radix\n");
+		seq_puts(m, "MMU\t\t: Radix\n");
 	else
-		seq_printf(m, "MMU\t\t: Hash\n");
+		seq_puts(m, "MMU\t\t: Hash\n");
+	if (xive_enabled())
+		seq_puts(m, "IRQ\t\t: XIVE\n");
+	else
+		seq_puts(m, "IRQ\t\t: XICS\n");
 }
 
 static void pnv_prepare_going_down(void)
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 0c8421dd01ab..d248fca67797 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -95,9 +95,13 @@ static void pSeries_show_cpuinfo(struct seq_file *m)
 	seq_printf(m, "machine\t\t: CHRP %s\n", model);
 	of_node_put(root);
 	if (radix_enabled())
-		seq_printf(m, "MMU\t\t: Radix\n");
+		seq_puts(m, "MMU\t\t: Radix\n");
 	else
-		seq_printf(m, "MMU\t\t: Hash\n");
+		seq_puts(m, "MMU\t\t: Hash\n");
+	if (xive_enabled())
+		seq_puts(m, "IRQ\t\t: XIVE\n");
+	else
+		seq_puts(m, "IRQ\t\t: XICS\n");
 }
 
 /* Initialize firmware assisted non-maskable interrupts if
-- 
2.25.3


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

* Re: [PATCH] powerpc: Add interrupt mode information in /proc/cpuinfo
  2020-04-27 14:06 [PATCH] powerpc: Add interrupt mode information in /proc/cpuinfo Cédric Le Goater
@ 2020-04-28 11:03 ` Michael Ellerman
  2020-04-28 11:36   ` Cédric Le Goater
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Ellerman @ 2020-04-28 11:03 UTC (permalink / raw)
  To: Cédric Le Goater; +Cc: linuxppc-dev, Cédric Le Goater

Cédric Le Goater <clg@kaod.org> writes:
> PowerNV and pSeries machines can run using the XIVE or XICS interrupt
> mode. Report this information in /proc/cpuinfo :
>
>     timebase    : 512000000
>     platform    : PowerNV
>     model       : 9006-22C
>     machine     : PowerNV 9006-22C
>     firmware    : OPAL
>     MMU         : Radix
>     IRQ         : XIVE

Hmmmm, I dunno. At what point do we stop putting random non CPU-related
things in cpuinfo? :)

The IRQ mode is (reasonably) easily discovered in sys, eg:

  $ cat /sys/kernel/irq/*/chip_name | grep -m 1 XIVE
  XIVE-IRQ

vs:

  $ cat /sys/kernel/irq/*/chip_name | grep -m 1 XICS
  XICS


cheers

> diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c
> index 3bc188da82ba..39ef3394038d 100644
> --- a/arch/powerpc/platforms/powernv/setup.c
> +++ b/arch/powerpc/platforms/powernv/setup.c
> @@ -196,14 +196,18 @@ static void pnv_show_cpuinfo(struct seq_file *m)
>  		model = of_get_property(root, "model", NULL);
>  	seq_printf(m, "machine\t\t: PowerNV %s\n", model);
>  	if (firmware_has_feature(FW_FEATURE_OPAL))
> -		seq_printf(m, "firmware\t: OPAL\n");
> +		seq_puts(m, "firmware\t: OPAL\n");
>  	else
> -		seq_printf(m, "firmware\t: BML\n");
> +		seq_puts(m, "firmware\t: BML\n");
>  	of_node_put(root);
>  	if (radix_enabled())
> -		seq_printf(m, "MMU\t\t: Radix\n");
> +		seq_puts(m, "MMU\t\t: Radix\n");
>  	else
> -		seq_printf(m, "MMU\t\t: Hash\n");
> +		seq_puts(m, "MMU\t\t: Hash\n");
> +	if (xive_enabled())
> +		seq_puts(m, "IRQ\t\t: XIVE\n");
> +	else
> +		seq_puts(m, "IRQ\t\t: XICS\n");
>  }
>  
>  static void pnv_prepare_going_down(void)
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index 0c8421dd01ab..d248fca67797 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -95,9 +95,13 @@ static void pSeries_show_cpuinfo(struct seq_file *m)
>  	seq_printf(m, "machine\t\t: CHRP %s\n", model);
>  	of_node_put(root);
>  	if (radix_enabled())
> -		seq_printf(m, "MMU\t\t: Radix\n");
> +		seq_puts(m, "MMU\t\t: Radix\n");
>  	else
> -		seq_printf(m, "MMU\t\t: Hash\n");
> +		seq_puts(m, "MMU\t\t: Hash\n");
> +	if (xive_enabled())
> +		seq_puts(m, "IRQ\t\t: XIVE\n");
> +	else
> +		seq_puts(m, "IRQ\t\t: XICS\n");
>  }
>  
>  /* Initialize firmware assisted non-maskable interrupts if
> -- 
> 2.25.3

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

* Re: [PATCH] powerpc: Add interrupt mode information in /proc/cpuinfo
  2020-04-28 11:03 ` Michael Ellerman
@ 2020-04-28 11:36   ` Cédric Le Goater
  0 siblings, 0 replies; 3+ messages in thread
From: Cédric Le Goater @ 2020-04-28 11:36 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev

On 4/28/20 1:03 PM, Michael Ellerman wrote:
> Cédric Le Goater <clg@kaod.org> writes:
>> PowerNV and pSeries machines can run using the XIVE or XICS interrupt
>> mode. Report this information in /proc/cpuinfo :
>>
>>     timebase    : 512000000
>>     platform    : PowerNV
>>     model       : 9006-22C
>>     machine     : PowerNV 9006-22C
>>     firmware    : OPAL
>>     MMU         : Radix
>>     IRQ         : XIVE
> 
> Hmmmm, I dunno. At what point do we stop putting random non CPU-related
> things in cpuinfo? :)

True. 

> The IRQ mode is (reasonably) easily discovered in sys, eg:
> 
>   $ cat /sys/kernel/irq/*/chip_name | grep -m 1 XIVE
>   XIVE-IRQ
> 
> vs:
> 
>   $ cat /sys/kernel/irq/*/chip_name | grep -m 1 XICS
>   XICS


That's good enough for error reporting

Thanks.

C.

> 
> cheers
> 
>> diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c
>> index 3bc188da82ba..39ef3394038d 100644
>> --- a/arch/powerpc/platforms/powernv/setup.c
>> +++ b/arch/powerpc/platforms/powernv/setup.c
>> @@ -196,14 +196,18 @@ static void pnv_show_cpuinfo(struct seq_file *m)
>>  		model = of_get_property(root, "model", NULL);
>>  	seq_printf(m, "machine\t\t: PowerNV %s\n", model);
>>  	if (firmware_has_feature(FW_FEATURE_OPAL))
>> -		seq_printf(m, "firmware\t: OPAL\n");
>> +		seq_puts(m, "firmware\t: OPAL\n");
>>  	else
>> -		seq_printf(m, "firmware\t: BML\n");
>> +		seq_puts(m, "firmware\t: BML\n");
>>  	of_node_put(root);
>>  	if (radix_enabled())
>> -		seq_printf(m, "MMU\t\t: Radix\n");
>> +		seq_puts(m, "MMU\t\t: Radix\n");
>>  	else
>> -		seq_printf(m, "MMU\t\t: Hash\n");
>> +		seq_puts(m, "MMU\t\t: Hash\n");
>> +	if (xive_enabled())
>> +		seq_puts(m, "IRQ\t\t: XIVE\n");
>> +	else
>> +		seq_puts(m, "IRQ\t\t: XICS\n");
>>  }
>>  
>>  static void pnv_prepare_going_down(void)
>> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
>> index 0c8421dd01ab..d248fca67797 100644
>> --- a/arch/powerpc/platforms/pseries/setup.c
>> +++ b/arch/powerpc/platforms/pseries/setup.c
>> @@ -95,9 +95,13 @@ static void pSeries_show_cpuinfo(struct seq_file *m)
>>  	seq_printf(m, "machine\t\t: CHRP %s\n", model);
>>  	of_node_put(root);
>>  	if (radix_enabled())
>> -		seq_printf(m, "MMU\t\t: Radix\n");
>> +		seq_puts(m, "MMU\t\t: Radix\n");
>>  	else
>> -		seq_printf(m, "MMU\t\t: Hash\n");
>> +		seq_puts(m, "MMU\t\t: Hash\n");
>> +	if (xive_enabled())
>> +		seq_puts(m, "IRQ\t\t: XIVE\n");
>> +	else
>> +		seq_puts(m, "IRQ\t\t: XICS\n");
>>  }
>>  
>>  /* Initialize firmware assisted non-maskable interrupts if
>> -- 
>> 2.25.3


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

end of thread, other threads:[~2020-04-28 11:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-27 14:06 [PATCH] powerpc: Add interrupt mode information in /proc/cpuinfo Cédric Le Goater
2020-04-28 11:03 ` Michael Ellerman
2020-04-28 11:36   ` Cédric Le Goater

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).