From nobody Tue Feb 10 10:18:40 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 202BE38F25A for ; Tue, 13 Jan 2026 12:53:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768308801; cv=none; b=UrJ08pLbx0gqRHxr6/lUgPi52MnL28fE+tX4bqqXVXb9wjapNUJx9aH2PZ7w0WSTkpwvNnnrqK7oeOJiY2mQdrA2uEWmakdEl/P5h2vjzgGHe65+A9/sKVHKI+pHMvRMEq/ml2kiv6flMzc6kvpjX33PWmkObSB1h7tWuvtqvRo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768308801; c=relaxed/simple; bh=RBjrxpw6rBeWzaUv22y6Mivq542Mk1uYfTYzGXgu+V0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CREu0dRJAqjTP3REZlxgjmKf+nAiqlwYGVkKbws/4V1Y/qb0a7McBN2f7786eDp3dd2XGLUZMNL6Ff+LIshLakTTlH11VXkChOxVtEBDrUGH9nwAN7KTUmNzWVaUpXWBf/lSQvVJfoxa08+dPiiRnkIGl1uJvDoMzlbcbNX0lbY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BMnVnuJb; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BMnVnuJb" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-47eddddcdcfso1961895e9.1 for ; Tue, 13 Jan 2026 04:53:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768308798; x=1768913598; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hzJnVanZSGuF0ZOAEYYBK7FYXPM3QHU28MIcm0ORk/I=; b=BMnVnuJbqZf8EvGmjmOFDni/h0x7trXPdhK3K8eqDhntAc/+SzbLJgdg6xPum6uIqq wp3n7rHLrHHzS8/d2tgkVsq6kDSsf3LwVaF8gDiZcL1VDtSSLKqe2TCUktpGfhE9+y4n 9BeR9CY4QO3VkD/tzOO0tsNezjTLm4OL0EpDxmWhKhqDfxEmXchQxi8ILNaQX8DvuGA7 PlxeHxXtd6eeu6+lRFI/4CfYWTvMyzdvWNUG3LT9+Lu5TVUif2YLtnAgGmHt4FKWL+29 Qm5Edtk2MDAi4FaIZLAf2TrGSWjiJ8jCU5HMw65cgEnVXAvaAxgBq3upM45xRLAntiyo CAiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768308798; x=1768913598; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hzJnVanZSGuF0ZOAEYYBK7FYXPM3QHU28MIcm0ORk/I=; b=P5WJ/mRz13XRg/+YdJT90hnlq8gM6Nf4uZX5k7SqQwGxfInuZsygyFiW60zPMOzXkd +LZiR45rFflCoOVAeX4fzGj4t4PQiKZdhPNk+IsTLaBEoyTboSCr7OnrMA1sv9+qp4BB pP12qlcBLlfZHp9oNDYfUyBIhNOHG/tV2MmGchEzXwmy5hEt55O5UoOUALsMA86BH9Y2 KGS51zMYoz7Fy7RThTHmiguZu8l2J/pzzDijhtZ7aLr9RTSJYzmVuLhqP/+IsezHK1l3 zjRMMhadyl6ec8wIq/Zp6/OP18hxBMGp5n0ebv4WzMzvMO6JH8PlV1DwjP9FG601Ias7 iNbw== X-Forwarded-Encrypted: i=1; AJvYcCUmJDIIwH/BOe4S1c3mfF3pO3Ee1SPGIHKdOzmFArFP/VAo3PTV068w8eGQxv/m6ta9FbYB+fsQb6LAYe8=@vger.kernel.org X-Gm-Message-State: AOJu0YxuSQn54Ap7Gxy+nBJSNDZxiEPN553Yt70uy+1mD88lrJB7Widl XA8Xuvm7endXtLDu3/myQDeogS2JK3BM6fMNfmHAYHN3u35gw7QnCv3Q X-Gm-Gg: AY/fxX7qkk9qb9foDVlDGAWFa6xvLrhMYfH9kAXTX8K+6OoXAPtz7mHTD+ricYk6hYC KDgRLlnq/nVgKLIpIlRlIfY5I4drCUPcSUxBFzAa9/b4vcBy4/Pi9chlxd1NGhIggpKHP3mfMPJ P8Dqzq390Nu4tG0E72/oo2CVpPNiE9UV+Hemn783yh4egs1jLMDfVGbwyHnGsFkp4+pM+DfHQyt g4V2Mlh7XNRCdSq/7xn7w7nRgN1Ewp8hdzVDpbNqYb3WXJy0N5pO1Uw3TvrQDoLOJ4u05KN/sRZ L55aXFHMz5dcgkQeHvP72UDGOMGhVKJ00OiJQBwVKAarnkWL71qyu4zTBvikXuApeiU+8C/+zo7 PF8Rxba58QgcnPSA2SaIHU3zujF4ySOH+EJmVyA+ZslJ+9xjhW81SWKoOaoJgU03uBN1ydP0TQm C/ShnAWF6r6WXaHIliSzI9JXnyxGGT X-Google-Smtp-Source: AGHT+IGOirOAYn2tzO17vJ9z9ef1/cjsrZEx6LmVqf11RdruY5oxxpOp9DNJ6gh/cAuMalGuZiZpnQ== X-Received: by 2002:a05:600c:3555:b0:46e:4b79:551 with SMTP id 5b1f17b1804b1-47d84b3b692mr291376505e9.31.1768308798268; Tue, 13 Jan 2026 04:53:18 -0800 (PST) Received: from biju.lan ([2a00:23c4:a758:8a01:6e35:f12b:dc2b:8e25]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d7f4184cbsm423744265e9.6.2026.01.13.04.53.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 04:53:18 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Thomas Gleixner Cc: Biju Das , Fabrizio Castro , linux-kernel@vger.kernel.org, Geert Uytterhoeven , Prabhakar Mahadev Lad , Biju Das , linux-renesas-soc@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH 1/2] irqchip/renesas-rzv2h: Prevent TINT spurious interrupt during resume Date: Tue, 13 Jan 2026 12:53:11 +0000 Message-ID: <20260113125315.359967-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260113125315.359967-1-biju.das.jz@bp.renesas.com> References: <20260113125315.359967-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das A glitch in the edge detection circuit can cause a spurious interrupt. The hardware manual recommends clearing the status flag after setting the ICU_TSSRk register as a countermeasure. Currently, a spurious IRQ is generated on the resume path of s2idle for the PMIC RTC TINT interrupt due to a glitch related to unnecessary enabling/disabling of the TINT enable bit. Fix this issue by not setting TSSR(TINT Source) and TITSR(TINT Detection Method Selection) registers if the values are the same as those set in these registers. Fixes: 0d7605e75ac2 ("irqchip: Add RZ/V2H(P) Interrupt Control Unit (ICU) d= river") Cc: stable@vger.kernel.org Signed-off-by: Biju Das --- drivers/irqchip/irq-renesas-rzv2h.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-renesas-rzv2h.c b/drivers/irqchip/irq-rene= sas-rzv2h.c index 0c44b6109842..9b4565375e83 100644 --- a/drivers/irqchip/irq-renesas-rzv2h.c +++ b/drivers/irqchip/irq-renesas-rzv2h.c @@ -328,6 +328,7 @@ static int rzv2h_tint_set_type(struct irq_data *d, unsi= gned int type) u32 titsr, titsr_k, titsel_n, tien; struct rzv2h_icu_priv *priv; u32 tssr, tssr_k, tssel_n; + u32 titsr_cur, tssr_cur; unsigned int hwirq; u32 tint, sense; int tint_nr; @@ -376,12 +377,18 @@ static int rzv2h_tint_set_type(struct irq_data *d, un= signed int type) guard(raw_spinlock)(&priv->lock); =20 tssr =3D readl_relaxed(priv->base + priv->info->t_offs + ICU_TSSR(tssr_k)= ); + titsr =3D readl_relaxed(priv->base + priv->info->t_offs + ICU_TITSR(titsr= _k)); + + tssr_cur =3D field_get(ICU_TSSR_TSSEL_MASK(tssel_n, priv->info->field_wid= th), tssr); + titsr_cur =3D field_get(ICU_TITSR_TITSEL_MASK(titsel_n), titsr); + if (tssr_cur =3D=3D tint && titsr_cur =3D=3D sense) + return 0; + tssr &=3D ~(ICU_TSSR_TSSEL_MASK(tssel_n, priv->info->field_width) | tien); tssr |=3D ICU_TSSR_TSSEL_PREP(tint, tssel_n, priv->info->field_width); =20 writel_relaxed(tssr, priv->base + priv->info->t_offs + ICU_TSSR(tssr_k)); =20 - titsr =3D readl_relaxed(priv->base + priv->info->t_offs + ICU_TITSR(titsr= _k)); titsr &=3D ~ICU_TITSR_TITSEL_MASK(titsel_n); titsr |=3D ICU_TITSR_TITSEL_PREP(sense, titsel_n); =20 --=20 2.43.0