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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 5221DF433DF for ; Thu, 16 Apr 2026 03:13:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=TxCeoHdWzESDHn8WGwcrtcx5Txqt/2sN3lNUQ8ms0l0=; b=piGSOXzOtFgyOhPVLAidLp/mK+ 8yCOUWhgXZnCPb/Tl4l5lcrCqDi5jqmtm6nqtWq//pfn4isA7yC0J1AlAd5Mk17++KslOsYWFmYAF QrBPjNfXGnlcFoc0QG7/6R396TRaGtmpxt3K/nOFaV62cnP4cDJ0BrmNGrMRz1yx4OJBk9UQYyu+S xNYP2u8TB+x/GlRW/8AxOTEVNqNLEbq7dZVBnld1fvDLBJPU08okw22pM8xcujOt0aRT7K+IuBxV+ DVkeDzvjAxdZVZrlMr6keW1NJsLfkvKkYtaE+ybCpmVpoLBfOeOnF0BA40BmBOnU3zORESCaLP8ik C5rMxnlw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wDDAI-00000001uM0-26sL; Thu, 16 Apr 2026 03:13:14 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wDDA9-00000001uGF-3IuT; Thu, 16 Apr 2026 03:13:09 +0000 X-UUID: 2c071274394211f19e7563141e833ce8-20260415 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=TxCeoHdWzESDHn8WGwcrtcx5Txqt/2sN3lNUQ8ms0l0=; b=iZDTkBwsZ8M1Pf3pM9Eb3kfNcLOLPHt0ijNa+to94J5hy7LpLcF/YcbBxuIwQ0i1uJPxxknVK6e/hgSe0rEWbsYJ7M4eE9Yf+fWRmWJFA+GQBNF1rKwlh5VVSPhTUQOh1wOKPfTU30RScPLdYMhY2bs9OhFw0tG60mBKNmxsBhE=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.12,REQID:0c79aeda-6666-4f1e-8e20-5d645f9bef40,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:e7bac3a,CLOUDID:0696eb24-cb5c-4236-a89a-9a7fb20c9bc4,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|836|865|888|898,TC:-5,Cont ent:0|15|50,EDM:-3,IP:nil,URL:0,File:130,RT:0,Bulk:nil,QS:nil,BEC:-1,COL:0 ,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 2c071274394211f19e7563141e833ce8-20260415 Received: from mtkmbs14n1.mediatek.inc [(172.21.101.75)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 569142554; Wed, 15 Apr 2026 20:12:59 -0700 Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 16 Apr 2026 11:12:55 +0800 Received: from mtksitap99.mediatek.inc (10.233.130.16) by mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Thu, 16 Apr 2026 11:12:55 +0800 From: Xiaoshun Xu To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Xiaoshun Xu CC: , , , , Sirius Wang , Vince-wl Liu , Subject: [PATCH v3 1/6] soc: mediatek: mtk-devapc: refine devapc interrupt handler Date: Thu, 16 Apr 2026 11:12:04 +0800 Message-ID: <20260416031231.2932493-2-xiaoshun.xu@mediatek.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20260416031231.2932493-1-xiaoshun.xu@mediatek.com> References: <20260416031231.2932493-1-xiaoshun.xu@mediatek.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260415_201305_833112_3BF91345 X-CRM114-Status: GOOD ( 12.28 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Because the violation IRQ uses a while loop, it might cause the system to remain in the interrupt handler indefinitely. We are currently optimizing this part of the process to handle only 20 violations for debug violation issues, and then exit the loop Signed-off-by: Xiaoshun Xu --- drivers/soc/mediatek/mtk-devapc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/soc/mediatek/mtk-devapc.c b/drivers/soc/mediatek/mtk-devapc.c index f54c966138b5..c9e1401315ad 100644 --- a/drivers/soc/mediatek/mtk-devapc.c +++ b/drivers/soc/mediatek/mtk-devapc.c @@ -12,6 +12,7 @@ #include #include +#define MAX_VIO_NUM 20 #define VIO_MOD_TO_REG_IND(m) ((m) / 32) #define VIO_MOD_TO_REG_OFF(m) ((m) % 32) @@ -188,13 +189,18 @@ static void devapc_extract_vio_dbg(struct mtk_devapc_context *ctx) */ static irqreturn_t devapc_violation_irq(int irq_number, void *data) { + u32 vio_num = 0; struct mtk_devapc_context *ctx = data; - while (devapc_sync_vio_dbg(ctx)) + mask_module_irq(ctx, true); + + for (vio_num = 0; (vio_num < MAX_VIO_NUM) && (devapc_sync_vio_dbg(ctx)); ++vio_num) devapc_extract_vio_dbg(ctx); clear_vio_status(ctx); + mask_module_irq(ctx, false); + return IRQ_HANDLED; } -- 2.45.2