From: Jesper Nilsson <jesper.nilsson@axis.com> To: Alexandre Torgue <alexandre.torgue@foss.st.com>, Jose Abreu <joabreu@synopsys.com>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: <netdev@vger.kernel.org>, <linux-stm32@st-md-mailman.stormreply.com>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <kernel@axis.com>, Jesper Nilsson <jesper.nilsson@axis.com> Subject: [PATCH] net: stmmac: mmc_core: Assign, don't add interrupt registers Date: Fri, 16 Feb 2024 16:24:21 +0100 [thread overview] Message-ID: <20240216-stmmac_stats-v1-1-7065fa4613f8@axis.com> (raw) The MMC IPC interrupt status and interrupt mask registers are of little use as Ethernet statistics, but incrementing counters based on the current interrupt and interrupt mask registers makes them worse than useless. For example, if the interrupt mask is set to 0x08420842, the current code will increment by that amount each iteration, leading to the following sequence of nonsense: mmc_rx_ipc_intr_mask: 969816526 mmc_rx_ipc_intr_mask: 1108361744 Change the increment to a straight assignment to make the statistics at least nominally useful. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com> --- drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c index 6a7c1d325c46..6051a22b3cec 100644 --- a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c @@ -280,8 +280,8 @@ static void dwmac_mmc_read(void __iomem *mmcaddr, struct stmmac_counters *mmc) mmc->mmc_rx_vlan_frames_gb += readl(mmcaddr + MMC_RX_VLAN_FRAMES_GB); mmc->mmc_rx_watchdog_error += readl(mmcaddr + MMC_RX_WATCHDOG_ERROR); /* IPC */ - mmc->mmc_rx_ipc_intr_mask += readl(mmcaddr + MMC_RX_IPC_INTR_MASK); - mmc->mmc_rx_ipc_intr += readl(mmcaddr + MMC_RX_IPC_INTR); + mmc->mmc_rx_ipc_intr_mask = readl(mmcaddr + MMC_RX_IPC_INTR_MASK); + mmc->mmc_rx_ipc_intr = readl(mmcaddr + MMC_RX_IPC_INTR); /* IPv4 */ mmc->mmc_rx_ipv4_gd += readl(mmcaddr + MMC_RX_IPV4_GD); mmc->mmc_rx_ipv4_hderr += readl(mmcaddr + MMC_RX_IPV4_HDERR); --- base-commit: 0dd3ee31125508cd67f7e7172247f05b7fd1753a change-id: 20240216-stmmac_stats-e3561d460d0e Best regards, -- /^JN - Jesper Nilsson -- Jesper Nilsson -- jesper.nilsson@axis.com
WARNING: multiple messages have this Message-ID (diff)
From: Jesper Nilsson <jesper.nilsson@axis.com> To: Alexandre Torgue <alexandre.torgue@foss.st.com>, Jose Abreu <joabreu@synopsys.com>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: <netdev@vger.kernel.org>, <linux-stm32@st-md-mailman.stormreply.com>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <kernel@axis.com>, Jesper Nilsson <jesper.nilsson@axis.com> Subject: [PATCH] net: stmmac: mmc_core: Assign, don't add interrupt registers Date: Fri, 16 Feb 2024 16:24:21 +0100 [thread overview] Message-ID: <20240216-stmmac_stats-v1-1-7065fa4613f8@axis.com> (raw) The MMC IPC interrupt status and interrupt mask registers are of little use as Ethernet statistics, but incrementing counters based on the current interrupt and interrupt mask registers makes them worse than useless. For example, if the interrupt mask is set to 0x08420842, the current code will increment by that amount each iteration, leading to the following sequence of nonsense: mmc_rx_ipc_intr_mask: 969816526 mmc_rx_ipc_intr_mask: 1108361744 Change the increment to a straight assignment to make the statistics at least nominally useful. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com> --- drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c index 6a7c1d325c46..6051a22b3cec 100644 --- a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c @@ -280,8 +280,8 @@ static void dwmac_mmc_read(void __iomem *mmcaddr, struct stmmac_counters *mmc) mmc->mmc_rx_vlan_frames_gb += readl(mmcaddr + MMC_RX_VLAN_FRAMES_GB); mmc->mmc_rx_watchdog_error += readl(mmcaddr + MMC_RX_WATCHDOG_ERROR); /* IPC */ - mmc->mmc_rx_ipc_intr_mask += readl(mmcaddr + MMC_RX_IPC_INTR_MASK); - mmc->mmc_rx_ipc_intr += readl(mmcaddr + MMC_RX_IPC_INTR); + mmc->mmc_rx_ipc_intr_mask = readl(mmcaddr + MMC_RX_IPC_INTR_MASK); + mmc->mmc_rx_ipc_intr = readl(mmcaddr + MMC_RX_IPC_INTR); /* IPv4 */ mmc->mmc_rx_ipv4_gd += readl(mmcaddr + MMC_RX_IPV4_GD); mmc->mmc_rx_ipv4_hderr += readl(mmcaddr + MMC_RX_IPV4_HDERR); --- base-commit: 0dd3ee31125508cd67f7e7172247f05b7fd1753a change-id: 20240216-stmmac_stats-e3561d460d0e Best regards, -- /^JN - Jesper Nilsson -- Jesper Nilsson -- jesper.nilsson@axis.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2024-02-16 15:24 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-02-16 15:24 Jesper Nilsson [this message] 2024-02-16 15:24 ` [PATCH] net: stmmac: mmc_core: Assign, don't add interrupt registers Jesper Nilsson 2024-02-16 17:13 ` Florian Fainelli 2024-02-16 17:13 ` Florian Fainelli 2024-02-16 18:24 ` Serge Semin 2024-02-16 18:24 ` Serge Semin 2024-02-19 10:40 ` Jesper Nilsson 2024-02-19 10:40 ` Jesper Nilsson 2024-02-19 20:17 ` Florian Fainelli 2024-02-19 20:17 ` Florian Fainelli 2024-02-20 10:51 ` Paolo Abeni 2024-02-20 10:51 ` Paolo Abeni
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240216-stmmac_stats-v1-1-7065fa4613f8@axis.com \ --to=jesper.nilsson@axis.com \ --cc=alexandre.torgue@foss.st.com \ --cc=davem@davemloft.net \ --cc=edumazet@google.com \ --cc=joabreu@synopsys.com \ --cc=kernel@axis.com \ --cc=kuba@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-stm32@st-md-mailman.stormreply.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=netdev@vger.kernel.org \ --cc=pabeni@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.