From patchwork Mon Sep 18 12:24:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 141403 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp2623008vqi; Mon, 18 Sep 2023 05:36:44 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE/7QDubi7aO7yjFPG7H/PtyTmNgoKRh1dcE4arvMflmNPLPa8SyiNS+MTRZ4MaKdmXM3ud X-Received: by 2002:a17:90a:17cb:b0:274:8041:94c with SMTP id q69-20020a17090a17cb00b002748041094cmr5999113pja.13.1695040603687; Mon, 18 Sep 2023 05:36:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695040603; cv=none; d=google.com; s=arc-20160816; b=P3KmUSVRKzcCqOe/eSWbYkpc6NwmSlR6tpSOKip0RWjQmmKpBWQA3sSt6t+YY4D7jr aYbR+VdhQUizjc2ao5tS5fCSiBpdskgtwaeJRHfgIFrbK93MVDNzvUnzCbprrCLawZPW WNbujmrSBYMbfBBmp8V7cB9kCS1vVq2xV4kDGkm/+i9gKl76Au4V1Kcwtw6wOqYjyyz7 IAz10V/LZ+cwbIpse43g8lf7b56Tf/RRKugg9gqCQx0zEVAj9+prWW3mkrdr0Gv97kzk mbuE4ohmwQT1DmK3qRBiyjEEoyD1As64pUzKr4sfk8n/R3KsKEA8PE6Uxj///FPKrUWd rqLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=A8oW/LuF1hUY3LGSfcPptaQqpzk2mJwUOL6iBz7fW1s=; fh=sWH11FnHMfCkHSU9kXlYjtdyZVAjuuR7mMUGHavtm3Q=; b=eQzEo6tLzUQx7uPQ8laQavsj7086spvQ+5M2qqKtkh4IFqVSSfNI+BEyarWiG2eUcI RrEGCT/Ci+fNBwWB+B9Af2Zd6Cmcd/HbgE+U4uPxJH2RrLmb/nNwdvFCUV8IkAnx8iGL sBz/QJbdTRin6/+SWB0KI/pMcRYqWgmU3QzctuHhrcgMlDxQ7uy25bqICmSh4So2iql5 Vmu95sYRQKgvZgWiQVQpZwS8nifRhM92hsQcW+8ssiIaoA7sWSUfWGlDiBqhO+jMsKgp ZcSR+s/63FtKaFuVzL8SDQvrmPctXmC2FhZvZgSFIMMG5GBsJn+TTePN90qXRfaSjlYQ VEYg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id mq9-20020a17090b380900b00274df27f882si3167801pjb.35.2023.09.18.05.36.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Sep 2023 05:36:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id C0AB98227929; Mon, 18 Sep 2023 05:25:22 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241950AbjIRMYt (ORCPT + 27 others); Mon, 18 Sep 2023 08:24:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241986AbjIRMYc (ORCPT ); Mon, 18 Sep 2023 08:24:32 -0400 Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 063239F; Mon, 18 Sep 2023 05:24:21 -0700 (PDT) X-IronPort-AV: E=Sophos;i="6.02,156,1688396400"; d="scan'208";a="176397777" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 18 Sep 2023 21:24:21 +0900 Received: from localhost.localdomain (unknown [10.226.92.107]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 96B8141F6ACF; Mon, 18 Sep 2023 21:24:18 +0900 (JST) From: Biju Das To: Thomas Gleixner , Marc Zyngier Cc: Biju Das , Lad Prabhakar , Claudiu Beznea , Geert Uytterhoeven , Biju Das , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Subject: [PATCH 1/3] irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source Date: Mon, 18 Sep 2023 13:24:09 +0100 Message-Id: <20230918122411.237635-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230918122411.237635-1-biju.das.jz@bp.renesas.com> References: <20230918122411.237635-1-biju.das.jz@bp.renesas.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 18 Sep 2023 05:25:22 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777378896118107068 X-GMAIL-MSGID: 1777378896118107068 The logic to clear the TINT interrupt source in rzg2l_irqc_irq_disable() is wrong as the mask is correct only for LSB on the TSSR register. This issue is found when testing with two TINT interrupt sources. So fix the logic for all TINTs by using the macro TSSEL_SHIFT() to multiply tssr_offset with 8. Fixes: 3fed09559cd8 ("irqchip: Add RZ/G2L IA55 Interrupt Controller driver") Signed-off-by: Biju Das Tested-by: Claudiu Beznea Reviewed-by: Geert Uytterhoeven Reviewed-by: Claudiu Beznea --- drivers/irqchip/irq-renesas-rzg2l.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c index 4bbfa2b0a4df..2cee5477be6b 100644 --- a/drivers/irqchip/irq-renesas-rzg2l.c +++ b/drivers/irqchip/irq-renesas-rzg2l.c @@ -118,7 +118,7 @@ static void rzg2l_irqc_irq_disable(struct irq_data *d) raw_spin_lock(&priv->lock); reg = readl_relaxed(priv->base + TSSR(tssr_index)); - reg &= ~(TSSEL_MASK << tssr_offset); + reg &= ~(TSSEL_MASK << TSSEL_SHIFT(tssr_offset)); writel_relaxed(reg, priv->base + TSSR(tssr_index)); raw_spin_unlock(&priv->lock); } From patchwork Mon Sep 18 12:24:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 141404 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp2625311vqi; Mon, 18 Sep 2023 05:40:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGVSA4bgXYTY2br5JSzUIemk5Kzwm6TFAgui6vte2zb7TKFjNMdawg9HbBsTSmNTunGC350 X-Received: by 2002:a17:902:e744:b0:1bb:30c5:835a with SMTP id p4-20020a170902e74400b001bb30c5835amr9041520plf.7.1695040830911; Mon, 18 Sep 2023 05:40:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695040830; cv=none; d=google.com; s=arc-20160816; b=mZOUG2ruRnCtjUlbPhDBJ6FcdxZWwkOLE71GxqjEz3YIng9lQ50nj0tZEZPS8WFX9Q 3cP7E7lJdICFhT9AjeOEEnrjB+ZzM1pcSZwU55UxguX7mla5jwiunKn2rbbqgSh6V1cG gXzzmaK7VBgCMEcfoVetFz6GZDXQTxF9CIZFP/paz8TLnCUlGjkvnoA7nmQWCbqN1CJ5 6opdARoh+L9uiK+L//EF/rQBeBQIFQ9II6SZnwVEgohjbQkt35svOVoI1Dmhm9SmFTuc DnFtCZl1FG0yMjoXJIwkrDGD6PjxC4pGihOqcJDwUD0kBhyKd4wEhvxEBBtFdfPOnYbK 79hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=kWAYsRcLVJHP56QGfOuoyxt3WMyTP8X5tyuHao+rugo=; fh=sWH11FnHMfCkHSU9kXlYjtdyZVAjuuR7mMUGHavtm3Q=; b=0c30csJMOk1j6ltzr0hlOypM1OkKjTfZDV+QLPrIXMAqAA/7TJDNyQorNRnI0LEQDz xUAPUVYUQymgPWYRp62eeWYSnL+1hQVAoWcJ5Cqne1MacNWjObRvgEQrmoT0wUa9Hgva 2idcPrMsFRI8bEBLLdWbwbnlNznfuMHcmbOo/+cZndxnsOfmajfFbX/wdLQSvMXNhPqY c0NRdi3Yr8rQAOTxpjAUmzlFEVM/dgBTC41OUN2OUWH8JlS/GxFjQjRd5p477E/ES3ip kXOze4zvDhL25W8Ea25vae6qMrggATyDZ8Lhx43IzINYvJGt1LZAB2mQ8TbM7yT6SN7i TszA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id l15-20020a170903244f00b001b178baf356si8359997pls.95.2023.09.18.05.40.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Sep 2023 05:40:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0DCEB81A7ADC; Mon, 18 Sep 2023 05:25:16 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241956AbjIRMYu (ORCPT + 27 others); Mon, 18 Sep 2023 08:24:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242000AbjIRMYf (ORCPT ); Mon, 18 Sep 2023 08:24:35 -0400 Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9B88B106; Mon, 18 Sep 2023 05:24:25 -0700 (PDT) X-IronPort-AV: E=Sophos;i="6.02,156,1688396400"; d="scan'208";a="176397781" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 18 Sep 2023 21:24:25 +0900 Received: from localhost.localdomain (unknown [10.226.92.107]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 3569641F6AEF; Mon, 18 Sep 2023 21:24:21 +0900 (JST) From: Biju Das To: Thomas Gleixner , Marc Zyngier Cc: Biju Das , Lad Prabhakar , Claudiu Beznea , Geert Uytterhoeven , Biju Das , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Subject: [PATCH 2/3] irqchip: renesas-rzg2l: Mask interrupts for changing interrupt settings Date: Mon, 18 Sep 2023 13:24:10 +0100 Message-Id: <20230918122411.237635-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230918122411.237635-1-biju.das.jz@bp.renesas.com> References: <20230918122411.237635-1-biju.das.jz@bp.renesas.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 18 Sep 2023 05:25:16 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777379134183572826 X-GMAIL-MSGID: 1777379134183572826 As per RZ/G2L hardware manual Rev.1.30 section 8.8.3 Precaution when changing interrupt settings, we need to mask the interrupts for any changes in below settings: * When changing the noise filter settings. * When switching the GPIO pins to IRQ or GPIOINT. * When changing the source of TINT. * When changing the interrupt detection method. This patch masks the interrupts when there is a change in the interrupt detection method and changing the source of TINT. Fixes: 3fed09559cd8 ("irqchip: Add RZ/G2L IA55 Interrupt Controller driver") Signed-off-by: Biju Das Tested-by: Claudiu Beznea --- drivers/irqchip/irq-renesas-rzg2l.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c index 2cee5477be6b..33a22bafedcd 100644 --- a/drivers/irqchip/irq-renesas-rzg2l.c +++ b/drivers/irqchip/irq-renesas-rzg2l.c @@ -116,11 +116,13 @@ static void rzg2l_irqc_irq_disable(struct irq_data *d) u8 tssr_index = TSSR_INDEX(offset); u32 reg; + irq_chip_mask_parent(d); raw_spin_lock(&priv->lock); reg = readl_relaxed(priv->base + TSSR(tssr_index)); reg &= ~(TSSEL_MASK << TSSEL_SHIFT(tssr_offset)); writel_relaxed(reg, priv->base + TSSR(tssr_index)); raw_spin_unlock(&priv->lock); + irq_chip_unmask_parent(d); } irq_chip_disable_parent(d); } @@ -137,11 +139,13 @@ static void rzg2l_irqc_irq_enable(struct irq_data *d) u8 tssr_index = TSSR_INDEX(offset); u32 reg; + irq_chip_mask_parent(d); raw_spin_lock(&priv->lock); reg = readl_relaxed(priv->base + TSSR(tssr_index)); reg |= (TIEN | tint) << TSSEL_SHIFT(tssr_offset); writel_relaxed(reg, priv->base + TSSR(tssr_index)); raw_spin_unlock(&priv->lock); + irq_chip_unmask_parent(d); } irq_chip_enable_parent(d); } @@ -226,10 +230,12 @@ static int rzg2l_irqc_set_type(struct irq_data *d, unsigned int type) unsigned int hw_irq = irqd_to_hwirq(d); int ret = -EINVAL; + irq_chip_mask_parent(d); if (hw_irq >= IRQC_IRQ_START && hw_irq <= IRQC_IRQ_COUNT) ret = rzg2l_irq_set_type(d, type); else if (hw_irq >= IRQC_TINT_START && hw_irq < IRQC_NUM_IRQ) ret = rzg2l_tint_set_edge(d, type); + irq_chip_unmask_parent(d); if (ret) return ret; From patchwork Mon Sep 18 12:24:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 141402 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp2622854vqi; Mon, 18 Sep 2023 05:36:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGPQlPZUct6pthcCyDIQixpsIbAFt+KLvVBqo1YNjjwWVsCFsPVAMVSpMW+K323LDuYWuaC X-Received: by 2002:a05:6808:641:b0:3a7:4987:d44 with SMTP id z1-20020a056808064100b003a749870d44mr9085966oih.20.1695040588870; Mon, 18 Sep 2023 05:36:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695040588; cv=none; d=google.com; s=arc-20160816; b=sSqd8DKmGYe0jFLioq9nO9SMUGr9139LyyEme4+lmY01eeOdd9Sl07kC1DCQIucied Dhyn6qvYDyV1iSnt3flnKKZ/JIYAwJt4P5e/aC+VfRs789kDp9kTSsfnd5nhpkrAGi5A HJkl84UKaVzbcCkS7hzjZ9WmW/bqW+VM91kWPgnOnHcqx1yHDq1vXj2J5PRfWeNLlRXF cYa33WkvMdMeaUe54ZbimEDcoqTuPJZM8tDK8z0poynm3VB5NaO1kJuLlLVsTon3OQGT ihiWswp+JgHGcTK92eKC551bKlhUbyO9cxBXlR+pU2FvY1ZN2Ur7eV3uWxNosRjA59r1 SBAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=gxNYRPFBnG7Nax8nI6ldnmakAVjJBO0VuhXl8arQcfw=; fh=sWH11FnHMfCkHSU9kXlYjtdyZVAjuuR7mMUGHavtm3Q=; b=Nw9WHa1lPzkzgvtm82HfPQKRkUYsDfFs+bCg2vD+fOVas7cfWZ2nC+JNLB/nIAW6ZD pMbRnDWMc7N5d0/newKNuCGBR4qwJcsO05x/V8p0P0nqMemF3IoSZGm9a2QVdpBr6lVd GSLHakGiu2gCeg6DQicHT1DyszPNQj2YFbjkxGiMW6CSFXwHKDqcZlIqzqAmNzldLRk3 hQuyv/qLEdOnCwRur+b4YligjOfIHJB6EWF2ehsaerWVM0Kxx8mJB1D6/XE3bwKNejAF VdsD4GEG8jyCf9XsnMxTkKoqNbVHuyKt1N9lcyGXTDwCMFcuiO4NS7jnnEnbIedyL4BD kSHw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id t17-20020a63d251000000b00573f8a5337esi7922220pgi.461.2023.09.18.05.36.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Sep 2023 05:36:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id AB18A81BC499; Mon, 18 Sep 2023 05:25:37 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241965AbjIRMYv (ORCPT + 27 others); Mon, 18 Sep 2023 08:24:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242017AbjIRMYi (ORCPT ); Mon, 18 Sep 2023 08:24:38 -0400 Received: from relmlie6.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 1DB869F; Mon, 18 Sep 2023 05:24:28 -0700 (PDT) X-IronPort-AV: E=Sophos;i="6.02,156,1688396400"; d="scan'208";a="180128606" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie6.idc.renesas.com with ESMTP; 18 Sep 2023 21:24:28 +0900 Received: from localhost.localdomain (unknown [10.226.92.107]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 9B45C41F6AEF; Mon, 18 Sep 2023 21:24:25 +0900 (JST) From: Biju Das To: Thomas Gleixner , Marc Zyngier Cc: Biju Das , Lad Prabhakar , Claudiu Beznea , Geert Uytterhoeven , Biju Das , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Subject: [PATCH 3/3] irqchip: renesas-rzg2l: Fix irq storm with edge trigger detection for TINT Date: Mon, 18 Sep 2023 13:24:11 +0100 Message-Id: <20230918122411.237635-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230918122411.237635-1-biju.das.jz@bp.renesas.com> References: <20230918122411.237635-1-biju.das.jz@bp.renesas.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 18 Sep 2023 05:25:37 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777378880942260617 X-GMAIL-MSGID: 1777378880942260617 In case of edge trigger detection, enabling the TINT source causes a phantum interrupt that leads to irq storm. So clear the phantum interrupt in rzg2l_irqc_irq_enable(). This issue is observed when the irq handler disables the interrupts using disable_irq_nosync() and scheduling a work queue and in the work queue, re-enabling the interrupt with enable_irq(). Fixes: 3fed09559cd8 ("irqchip: Add RZ/G2L IA55 Interrupt Controller driver") Signed-off-by: Biju Das Tested-by: Claudiu Beznea --- drivers/irqchip/irq-renesas-rzg2l.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c index 33a22bafedcd..78a9e90512a6 100644 --- a/drivers/irqchip/irq-renesas-rzg2l.c +++ b/drivers/irqchip/irq-renesas-rzg2l.c @@ -144,6 +144,12 @@ static void rzg2l_irqc_irq_enable(struct irq_data *d) reg = readl_relaxed(priv->base + TSSR(tssr_index)); reg |= (TIEN | tint) << TSSEL_SHIFT(tssr_offset); writel_relaxed(reg, priv->base + TSSR(tssr_index)); + /* + * In case of edge trigger detection, enabling the TINT source + * cause a phantum interrupt that leads to irq storm. So clear + * the phantum interrupt. + */ + rzg2l_tint_eoi(d); raw_spin_unlock(&priv->lock); irq_chip_unmask_parent(d); }