2021-03-04 16:30:43

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/1] pinctrl: intel: No need to disable IRQs in the handler

In IRQ handler interrupts are already disabled, hence no need
to repeat it. Even in the threaded case, which is disabled here,
it is not a problem because IRQ framework serializes descriptor
handling. Remove disabling IRQ part in the handler.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/pinctrl/intel/pinctrl-intel.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 93237d6e4316..268aaad3bb08 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1173,16 +1173,15 @@ static int intel_gpio_community_irq_handler(struct intel_pinctrl *pctrl,
for (gpp = 0; gpp < community->ngpps; gpp++) {
const struct intel_padgroup *padgrp = &community->gpps[gpp];
unsigned long pending, enabled, gpp_offset;
- unsigned long flags;

- raw_spin_lock_irqsave(&pctrl->lock, flags);
+ raw_spin_lock(&pctrl->lock);

pending = readl(community->regs + community->is_offset +
padgrp->reg_num * 4);
enabled = readl(community->regs + community->ie_offset +
padgrp->reg_num * 4);

- raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ raw_spin_unlock(&pctrl->lock);

/* Only interrupts that are enabled */
pending &= enabled;
--
2.30.1


2021-03-04 16:36:43

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] pinctrl: intel: No need to disable IRQs in the handler

On Thu, Mar 04, 2021 at 12:54:32PM +0200, Andy Shevchenko wrote:
> In IRQ handler interrupts are already disabled, hence no need
> to repeat it. Even in the threaded case, which is disabled here,
> it is not a problem because IRQ framework serializes descriptor
> handling. Remove disabling IRQ part in the handler.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Acked-by: Mika Westerberg <[email protected]>

2021-03-05 00:16:30

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] pinctrl: intel: No need to disable IRQs in the handler

On Thu, Mar 04, 2021 at 01:18:09PM +0200, Mika Westerberg wrote:
> On Thu, Mar 04, 2021 at 12:54:32PM +0200, Andy Shevchenko wrote:
> > In IRQ handler interrupts are already disabled, hence no need
> > to repeat it. Even in the threaded case, which is disabled here,
> > it is not a problem because IRQ framework serializes descriptor
> > handling. Remove disabling IRQ part in the handler.
> >
> > Signed-off-by: Andy Shevchenko <[email protected]>
>
> Acked-by: Mika Westerberg <[email protected]>

Pushed to my review and testing queue, thanks!

--
With Best Regards,
Andy Shevchenko