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 44AD6C46CD2 for ; Thu, 25 Jan 2024 02:57:06 +0000 (UTC) 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: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=COKW4HyMx/TGBcC8WjbqQQtim8GPCqlW2rfyuIMMUF4=; b=SoKZoyv+tkqZ2y Wm6b5FVDTYnZywjMaxCKauInsFHExLpB9S6ImBInGADje5eb+vfrYzzBUf/8hJKCXtz1uaCmD0YI+ uFoGiRDYCYr6rHYfy7xvKGFZrmge3DybIqOKZmSS30UsJxWSTuJfysYNkxdRYk9DVGdU0MPhESgAn 5H5Hr0UbGYslZrmt3ZoUQuj6YuM2Tu8PhXbCFFX+qf4pLgDRDfKBL3dn0Rp/Eg5Wdp1sLO57cT/Mf /YfuStMPOnMGzRdWdX8r9A26TkNENvzQTOQs/4UH09cFIn1mJgk5CrbLFU8y/5fjcxWQpv3Bg6X+H /IGp+Rb/siCcBpjeC15w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSpux-005wvQ-2H; Thu, 25 Jan 2024 02:56:39 +0000 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSput-005wtW-1J for linux-arm-kernel@lists.infradead.org; Thu, 25 Jan 2024 02:56:37 +0000 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-5ca29c131ebso4536728a12.0 for ; Wed, 24 Jan 2024 18:56:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706151392; x=1706756192; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=CAtjtX8uRHdeTdOQ8Q4YA1xyY3aCTVDq4V147zUqCqw=; b=YNYzgMKTjd/3dFSK21KzhT0tBAGma7AkFzwq0B1PoEm2eg+bjr0m9b/5TirhhzdAMf jVRNmLZRNLH27er7gMtf2Ja/K5xQnXZwxdnFs895dXhEsbBj/lXaH/Kx8vpzvY0mQ3h7 OJE69AlvzS6M2sMNFhJ4ztOlQFgqUJxV9cjMd/gDLU/zhJg5IG9LVwY61Og8MiCq1vjX w4HvKiz+sSobq/mODFUWB2C0YnESfacaSBTYmLuPIl7v0rB2zbVLQ2ZEO1PkZpYACt5o a+zYJTBgbWPT0FFajJLFNAHeK1LuPBcQMBsv/HTSnWO+gGhOlmubsfKVhd61mH+tUzxK au1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706151392; x=1706756192; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CAtjtX8uRHdeTdOQ8Q4YA1xyY3aCTVDq4V147zUqCqw=; b=F9uWzVIsNZXoomU24AVrgcAV+4FfIKgD2IkYPaGvLTO/LPUeFXdSPix6bhbnmn5a8a vLbBj0iw/gaqCsohfMWQojz1n4ea6cPnOrgw6ABriai12csT13LpbO2kZ9dda2miUNgP vCHxYhX8fJoxNCroWPjzQln5bZEHxIDMcWjPF92xd1qCx+U9nNKtKRZMUHlZ9uiIVWFw K6Z4f4Mz7oNJDrd+wIxBTO5oo1c/n3yfuxDq9DCJMebtGE3AsPTpwpG5ynCe3Hig1WVm 1mhOkeXJt3tI+UzxefM4bd2109Cc2HcxFr3Ao1UEkyGAcPAntfcBafr+AWCvEhBDLk2F syCg== X-Gm-Message-State: AOJu0Yy1NxKFZJgrT/bbbUlUs3mDN2lJjksrE4C6GOpcemrb0Wz1QX4J MfuhhQiRhmohcqBxSyMWJhskqlBaEeCqzlowUK4SGoeicXKQXkQn X-Google-Smtp-Source: AGHT+IHmOZl3WFAS3aX7eXdFgA5GZQc6ihdPemj+TBpuUr5gXwegwYuc5rfG68dVm8ND54WylOQJPg== X-Received: by 2002:a05:6a20:54a4:b0:19c:700b:a164 with SMTP id i36-20020a056a2054a400b0019c700ba164mr646602pzk.49.1706151392331; Wed, 24 Jan 2024 18:56:32 -0800 (PST) Received: from localhost ([129.146.253.192]) by smtp.gmail.com with ESMTPSA id m5-20020a62f205000000b006ddc5d8ecd7sm507224pfh.32.2024.01.24.18.56.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jan 2024 18:56:32 -0800 (PST) Date: Thu, 25 Jan 2024 10:56:20 +0800 From: Furong Xu <0x1207@gmail.com> To: Serge Semin Cc: "David S. Miller" , Alexandre Torgue , Jose Abreu , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Joao Pinto , Simon Horman , netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, xfr@outlook.com, rock.xu@nio.com Subject: Re: [PATCH net] net: stmmac: xgmac: fix handling of DPP safety error for DMA channels Message-ID: <20240125105620.000040b7@gmail.com> In-Reply-To: References: <20240123095006.979437-1-0x1207@gmail.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.34; x86_64-w64-mingw32) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240124_185635_512414_E384D008 X-CRM114-Status: GOOD ( 27.05 ) 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, 24 Jan 2024 17:36:10 +0300 Serge Semin wrote: > On Tue, Jan 23, 2024 at 05:50:06PM +0800, Furong Xu wrote: > > Commit 56e58d6c8a56 ("net: stmmac: Implement Safety Features in > > XGMAC core") checks and reports safety errors, but leaves the > > Data Path Parity Errors for each channel in DMA unhandled at all, lead to > > a storm of interrupt. > > Fix it by checking and clearing the DMA_DPP_Interrupt_Status register. > > > > Fixes: 56e58d6c8a56 ("net: stmmac: Implement Safety Features in XGMAC core") > > Signed-off-by: Furong Xu <0x1207@gmail.com> > > --- > > drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h | 1 + > > drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 6 ++++++ > > 2 files changed, 7 insertions(+) > > > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h > > index 207ff1799f2c..188e11683136 100644 > > --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h > > +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h > > @@ -385,6 +385,7 @@ > > #define XGMAC_DCEIE BIT(1) > > #define XGMAC_TCEIE BIT(0) > > #define XGMAC_DMA_ECC_INT_STATUS 0x0000306c > > +#define XGMAC_DMA_DPP_INT_STATUS 0x00003074 > > #define XGMAC_DMA_CH_CONTROL(x) (0x00003100 + (0x80 * (x))) > > #define XGMAC_SPH BIT(24) > > #define XGMAC_PBLx8 BIT(16) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > > index eb48211d9b0e..874e85b499e2 100644 > > --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > > +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c > > @@ -745,6 +745,12 @@ static void dwxgmac3_handle_mac_err(struct net_device *ndev, > > > > dwxgmac3_log_error(ndev, value, correctable, "MAC", > > dwxgmac3_mac_errors, STAT_OFF(mac_errors), stats); > > + > > + value = readl(ioaddr + XGMAC_DMA_DPP_INT_STATUS); > > + writel(value, ioaddr + XGMAC_DMA_DPP_INT_STATUS); > > + > > + if (value) > > + netdev_err(ndev, "Found DMA_DPP error, status: 0x%x\n", value); > > 1. Why not to implement this in the same way as the rest of the safety > errors handle code? (with the flags described by the > dwxgmac3_error_desc-based table and the respective counters being > incremented should the errors were detected) > XGMAC_DMA_DPP_INT_STATUS is just a bitmap of DMA RX and TX channels, bottom 16 bits for 16 DMA TX channels and top 16 bits for 16 DMA RX channels. No other descriptions. And the counters should be updated, I will send a new patch. > 2. I don't see this IRQ being enabled in the dwxgmac3_safety_feat_config() > method. How come the respective event has turned to be triggered > anyway? This error report is enabled by default, and cannot be disabled or marked(as Synopsys Databook says). What we can do is clearing it when it asserts. > > -Serge(y) > > > } > > > > static const struct dwxgmac3_error_desc dwxgmac3_mtl_errors[32]= { > > -- > > 2.34.1 > > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel