From: Thomas Gleixner <tglx@linutronix.de>
To: Florian Fainelli <florian.fainelli@broadcom.com>,
linux-kernel@vger.kernel.org
Cc: opendmb@gmail.com,
Florian Fainelli <florian.fainelli@broadcom.com>,
Tim Ross <tim.ross@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
"open list:BROADCOM BMIPS MIPS ARCHITECTURE"
<linux-mips@vger.kernel.org>,
"moderated list:BROADCOM BCM7XXX ARM ARCHITECTURE"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] irqchip/irq-brcmstb-l2: Avoid saving mask on shutdown
Date: Mon, 22 Apr 2024 23:29:14 +0200 [thread overview]
Message-ID: <87le55ulw5.ffs@tglx> (raw)
In-Reply-To: <20240416194343.469318-1-florian.fainelli@broadcom.com>
On Tue, Apr 16 2024 at 12:43, Florian Fainelli wrote:
> The interrupt controller shutdown path does not need to save the mask of
> enabled interrupts because the next state the system is going to be in
> is akin to a cold boot, or a kexec'd kernel.
Sure, but
> Reported-by: Tim Ross <tim.ross@broadcom.com>
> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
> ---
> drivers/irqchip/irq-brcmstb-l2.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
> index 2b0b3175cea0..c988886917f7 100644
> --- a/drivers/irqchip/irq-brcmstb-l2.c
> +++ b/drivers/irqchip/irq-brcmstb-l2.c
> @@ -118,7 +118,7 @@ static void brcmstb_l2_intc_irq_handle(struct irq_desc *desc)
> chained_irq_exit(chip, desc);
> }
>
> -static void brcmstb_l2_intc_suspend(struct irq_data *d)
> +static void __brcmstb_l2_intc_suspend(struct irq_data *d, bool save)
> {
> struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
> struct irq_chip_type *ct = irq_data_get_chip_type(d);
> @@ -127,7 +127,8 @@ static void brcmstb_l2_intc_suspend(struct irq_data *d)
>
> irq_gc_lock_irqsave(gc, flags);
> /* Save the current mask */
> - b->saved_mask = irq_reg_readl(gc, ct->regs.mask);
> + if (save)
> + b->saved_mask = irq_reg_readl(gc, ct->regs.mask);
what's the conditional actually buying you except more complex code?
Thanks,
tglx
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de>
To: Florian Fainelli <florian.fainelli@broadcom.com>,
linux-kernel@vger.kernel.org
Cc: opendmb@gmail.com,
Florian Fainelli <florian.fainelli@broadcom.com>,
Tim Ross <tim.ross@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
"open list:BROADCOM BMIPS MIPS ARCHITECTURE"
<linux-mips@vger.kernel.org>,
"moderated list:BROADCOM BCM7XXX ARM ARCHITECTURE"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] irqchip/irq-brcmstb-l2: Avoid saving mask on shutdown
Date: Mon, 22 Apr 2024 23:29:14 +0200 [thread overview]
Message-ID: <87le55ulw5.ffs@tglx> (raw)
In-Reply-To: <20240416194343.469318-1-florian.fainelli@broadcom.com>
On Tue, Apr 16 2024 at 12:43, Florian Fainelli wrote:
> The interrupt controller shutdown path does not need to save the mask of
> enabled interrupts because the next state the system is going to be in
> is akin to a cold boot, or a kexec'd kernel.
Sure, but
> Reported-by: Tim Ross <tim.ross@broadcom.com>
> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
> ---
> drivers/irqchip/irq-brcmstb-l2.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
> index 2b0b3175cea0..c988886917f7 100644
> --- a/drivers/irqchip/irq-brcmstb-l2.c
> +++ b/drivers/irqchip/irq-brcmstb-l2.c
> @@ -118,7 +118,7 @@ static void brcmstb_l2_intc_irq_handle(struct irq_desc *desc)
> chained_irq_exit(chip, desc);
> }
>
> -static void brcmstb_l2_intc_suspend(struct irq_data *d)
> +static void __brcmstb_l2_intc_suspend(struct irq_data *d, bool save)
> {
> struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
> struct irq_chip_type *ct = irq_data_get_chip_type(d);
> @@ -127,7 +127,8 @@ static void brcmstb_l2_intc_suspend(struct irq_data *d)
>
> irq_gc_lock_irqsave(gc, flags);
> /* Save the current mask */
> - b->saved_mask = irq_reg_readl(gc, ct->regs.mask);
> + if (save)
> + b->saved_mask = irq_reg_readl(gc, ct->regs.mask);
what's the conditional actually buying you except more complex code?
Thanks,
tglx
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-04-22 21:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 19:43 [PATCH] irqchip/irq-brcmstb-l2: Avoid saving mask on shutdown Florian Fainelli
2024-04-16 19:43 ` Florian Fainelli
2024-04-22 21:29 ` Thomas Gleixner [this message]
2024-04-22 21:29 ` Thomas Gleixner
2024-04-22 22:26 ` Florian Fainelli
2024-04-22 22:26 ` Florian Fainelli
2024-04-22 23:45 ` Thomas Gleixner
2024-04-22 23:45 ` Thomas Gleixner
2024-04-24 16:50 ` Florian Fainelli
2024-04-24 16:50 ` Florian Fainelli
2024-04-24 17:19 ` Thomas Gleixner
2024-04-24 17:19 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87le55ulw5.ffs@tglx \
--to=tglx@linutronix.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=florian.fainelli@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=opendmb@gmail.com \
--cc=tim.ross@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.