All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steffen Trumtrar <s.trumtrar@pengutronix.de>
To: Marc Zyngier <maz@kernel.org>
Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>,
	Valentin Schneider <valentin.schneider@arm.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@bootlin.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [BUG] irqchip: armada-370-xp: workqueue lockup
Date: Wed, 22 Sep 2021 10:24:50 +0200	[thread overview]
Message-ID: <87ilytxbgq.fsf@pengutronix.de> (raw)
In-Reply-To: <87ee9huiz8.wl-maz@kernel.org>


Marc Zyngier <maz@kernel.org> writes:

> On Wed, 22 Sep 2021 07:49:05 +0100,
> Steffen Trumtrar <s.trumtrar@pengutronix.de> wrote:
>>
>>
>> Hi,
>>
>> Marc Zyngier <maz@kernel.org> writes:
>> > It isn't obvious to me how reverting this patch fixes anything.  The
>> > fasteoi flow does the same thing as far as the IPI driver is concerned
>> >
>>
>> didn't the fasteoi flow just call the irq_eoi earlier? Same as the
>> irq_ack now?
>
> Yes, of course, you are correct. Another proof that the whole initial
> fasteoi flow that used EOI as an ACK was *a bad idea* (tm).
>
>>
>> >
>> > However, it appears that I have broken that part much earlier in
>> > f02147dd02eb ("irqchip/armada-370-xp: Configure IPIs as standard
>> > interrupts"), as the write to ARMADA_370_XP_IN_DRBEL_CAUSE_OFFS that
>> > used to occur before the handling (an ACK) has now been moved after as
>> > an EOI. That's a pretty good way to lose edge interrupts.
>> >
>> > Could you try the following patch on top of 5.12-rc2?
>> >
>> > Thanks,
>> >
>> > 	M.
>> >
>> > diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
>> > index 7557ab551295..53e0fb0562c1 100644
>> > --- a/drivers/irqchip/irq-armada-370-xp.c
>> > +++ b/drivers/irqchip/irq-armada-370-xp.c
>> > @@ -359,16 +359,16 @@ static void armada_370_xp_ipi_send_mask(struct irq_data *d,
>> >  		ARMADA_370_XP_SW_TRIG_INT_OFFS);
>> >  }
>> >
>> > -static void armada_370_xp_ipi_eoi(struct irq_data *d)
>> > +static void armada_370_xp_ipi_ack(struct irq_data *d)
>> >  {
>> >  	writel(~BIT(d->hwirq), per_cpu_int_base + ARMADA_370_XP_IN_DRBEL_CAUSE_OFFS);
>> >  }
>> >
>> >  static struct irq_chip ipi_irqchip = {
>> >  	.name		= "IPI",
>> > +	.irq_ack	= armada_370_xp_ipi_ack,
>> >  	.irq_mask	= armada_370_xp_ipi_mask,
>> >  	.irq_unmask	= armada_370_xp_ipi_unmask,
>> > -	.irq_eoi	= armada_370_xp_ipi_eoi,
>> >  	.ipi_send_mask	= armada_370_xp_ipi_send_mask,
>> >  };
>>
>> This fixes it, yes \o/
>
> Thanks. Can I use this as a Tested-by: tag in the official patch?
>

Yes, of course. Go ahead.


Thanks,
Steffen

--
Pengutronix e.K.                | Dipl.-Inform. Steffen Trumtrar |
Steuerwalder Str. 21            | https://www.pengutronix.de/    |
31137 Hildesheim, Germany       | Phone: +49-5121-206917-0       |
Amtsgericht Hildesheim, HRA 2686| Fax:   +49-5121-206917-5555    |

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

  reply	other threads:[~2021-09-22  8:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-21  8:40 [BUG] irqchip: armada-370-xp: workqueue lockup Steffen Trumtrar
2021-09-21 15:18 ` Marc Zyngier
2021-09-22  6:49   ` Steffen Trumtrar
2021-09-22  8:12     ` Marc Zyngier
2021-09-22  8:24       ` Steffen Trumtrar [this message]
2021-09-22 13:27 ` [irqchip: irq/irqchip-fixes] irqchip/armada-370-xp: Fix ack/eoi breakage irqchip-bot for Marc Zyngier

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=87ilytxbgq.fsf@pengutronix.de \
    --to=s.trumtrar@pengutronix.de \
    --cc=andrew@lunn.ch \
    --cc=gregory.clement@bootlin.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=maz@kernel.org \
    --cc=valentin.schneider@arm.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.