From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30229C433EF for ; Wed, 22 Sep 2021 08:14:21 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E975F6124A for ; Wed, 22 Sep 2021 08:14:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E975F6124A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/WI3nJ2vGs2ST31+ybCDQczyM8hLT1a5n93Wmos+pRg=; b=kE2v4xZNigvE20 LB2YWvWmf+iqUjNmqSlEarW2iHYupxHSRcJzf1OKxwhmv4uOaBkyaWhIcnrD4SG1MqkqoIsdG/or1 mQQiuyFAGHQT8Sl8W5tXXY5OyLZCoj25vAl4b/GBPD4IhuSpsARtsb+Mc0mFZ4C1aLirICZ4KEZV4 7UsDmqevQ+DtzpGa7hiGXxR7qSFozgBsuczDd7f9cJLXWj6+ncYshO4JPITlZccPcHzzIJ0lsGar5 qxWJQi73Uc5enurRmrjcujW5O9spiWtNjRXxba0H/C7Um3NYBqnEWY8/b/VaMjKFyBj2Uee7rOzJ4 A4J0CQPAazU3Irp+rnsQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mSxMn-007Q2x-Bx; Wed, 22 Sep 2021 08:12:33 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mSxMk-007Q2G-5A for linux-arm-kernel@lists.infradead.org; Wed, 22 Sep 2021 08:12:31 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BF14E61184; Wed, 22 Sep 2021 08:12:29 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mSxMh-00CE35-RW; Wed, 22 Sep 2021 09:12:28 +0100 Date: Wed, 22 Sep 2021 09:12:27 +0100 Message-ID: <87ee9huiz8.wl-maz@kernel.org> From: Marc Zyngier To: Steffen Trumtrar Cc: Valentin Schneider , Andrew Lunn , Gregory Clement , Sebastion Hesselbarth , linux-arm-kernel@lists.infradead.org Subject: Re: [BUG] irqchip: armada-370-xp: workqueue lockup In-Reply-To: <87o88lxec8.fsf@pengutronix.de> References: <87tuiexq5f.fsf@pengutronix.de> <87h7eeufby.wl-maz@kernel.org> <87o88lxec8.fsf@pengutronix.de> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: s.trumtrar@pengutronix.de, valentin.schneider@arm.com, andrew@lunn.ch, gregory.clement@bootlin.com, sebastion.hesselbarth@gmail.com, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210922_011230_259423_B7A6FCE2 X-CRM114-Status: GOOD ( 28.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, 22 Sep 2021 07:49:05 +0100, Steffen Trumtrar wrote: > > > Hi, > > Marc Zyngier 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? M. -- Without deviation from the norm, progress is not possible. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel