[PATCH v2 4/8] powerpc/xive: Simplify xive_core_debug_show()

Cédric Le Goater clg at kaod.org
Tue Mar 9 05:11:11 AEDT 2021


On 3/8/21 7:07 PM, Greg Kurz wrote:
> On Wed, 3 Mar 2021 18:48:53 +0100
> Cédric Le Goater <clg at kaod.org> wrote:
> 
>> Now that the IPI interrupt has its own domain, the checks on the HW
>> interrupt number XIVE_IPI_HW_IRQ and on the chip can be replaced by a
>> check on the domain.
>>
>> Signed-off-by: Cédric Le Goater <clg at kaod.org>
>> ---
> 
> Shouldn't this have the following tags ?
> 
> Reported-by: kernel test robot <lkp at intel.com>
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
> Fixes: 930914b7d528 ("powerpc/xive: Add a debugfs file to dump internal XIVE state")

The next patch has because it removes the useless check on irq_data.
 
C.

> 
> Anyway,
> 
> Reviewed-by: Greg Kurz <groug at kaod.org>
> 
>>  arch/powerpc/sysdev/xive/common.c | 18 ++++--------------
>>  1 file changed, 4 insertions(+), 14 deletions(-)
>>
>> diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
>> index 678680531d26..7581cb12bb53 100644
>> --- a/arch/powerpc/sysdev/xive/common.c
>> +++ b/arch/powerpc/sysdev/xive/common.c
>> @@ -1579,17 +1579,14 @@ static void xive_debug_show_cpu(struct seq_file *m, int cpu)
>>  	seq_puts(m, "\n");
>>  }
>>  
>> -static void xive_debug_show_irq(struct seq_file *m, u32 hw_irq, struct irq_data *d)
>> +static void xive_debug_show_irq(struct seq_file *m, struct irq_data *d)
>>  {
>> -	struct irq_chip *chip = irq_data_get_irq_chip(d);
>> +	unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d);
>>  	int rc;
>>  	u32 target;
>>  	u8 prio;
>>  	u32 lirq;
>>  
>> -	if (!is_xive_irq(chip))
>> -		return;
>> -
>>  	rc = xive_ops->get_irq_config(hw_irq, &target, &prio, &lirq);
>>  	if (rc) {
>>  		seq_printf(m, "IRQ 0x%08x : no config rc=%d\n", hw_irq, rc);
>> @@ -1627,16 +1624,9 @@ static int xive_core_debug_show(struct seq_file *m, void *private)
>>  
>>  	for_each_irq_desc(i, desc) {
>>  		struct irq_data *d = irq_desc_get_irq_data(desc);
>> -		unsigned int hw_irq;
>> -
>> -		if (!d)
>> -			continue;
>> -
>> -		hw_irq = (unsigned int)irqd_to_hwirq(d);
>>  
>> -		/* IPIs are special (HW number 0) */
>> -		if (hw_irq != XIVE_IPI_HW_IRQ)
>> -			xive_debug_show_irq(m, hw_irq, d);
>> +		if (d->domain == xive_irq_domain)
>> +			xive_debug_show_irq(m, d);
>>  	}
>>  	return 0;
>>  }
> 



More information about the Linuxppc-dev mailing list