From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com, stable@dpdk.org,
Nipun Gupta <nipun.gupta@nxp.com>
Subject: [dpdk-stable] [PATCH v3 02/23] bus/dpaa: fix statistics reading
Date: Wed, 24 Feb 2021 18:12:50 +0530 [thread overview]
Message-ID: <20210224124311.29799-3-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <20210224124311.29799-1-hemant.agrawal@nxp.com>
From: Nipun Gupta <nipun.gupta@nxp.com>
Reading of word un-aligned values after reading word aligned
values lead to corrution of memory, such that older value.
This patch make changes such that word alignedaccess is made,
before making an un-aligned access
Fixes: 6d6b4f49a155 ("bus/dpaa: add FMAN hardware operations")
Cc: stable@dpdk.org
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/fman/fman_hw.c | 33 ++++++++++++++--------------
1 file changed, 16 insertions(+), 17 deletions(-)
diff --git a/drivers/bus/dpaa/base/fman/fman_hw.c b/drivers/bus/dpaa/base/fman/fman_hw.c
index 4ab49f7853..af9bac76c2 100644
--- a/drivers/bus/dpaa/base/fman/fman_hw.c
+++ b/drivers/bus/dpaa/base/fman/fman_hw.c
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
*
- * Copyright 2017 NXP
+ * Copyright 2017,2020 NXP
*
*/
@@ -219,20 +219,20 @@ fman_if_stats_get(struct fman_if *p, struct rte_eth_stats *stats)
struct memac_regs *regs = m->ccsr_map;
/* read recved packet count */
- stats->ipackets = ((u64)in_be32(®s->rfrm_u)) << 32 |
- in_be32(®s->rfrm_l);
- stats->ibytes = ((u64)in_be32(®s->roct_u)) << 32 |
- in_be32(®s->roct_l);
- stats->ierrors = ((u64)in_be32(®s->rerr_u)) << 32 |
- in_be32(®s->rerr_l);
+ stats->ipackets = (u64)in_be32(®s->rfrm_l) |
+ ((u64)in_be32(®s->rfrm_u)) << 32;
+ stats->ibytes = (u64)in_be32(®s->roct_l) |
+ ((u64)in_be32(®s->roct_u)) << 32;
+ stats->ierrors = (u64)in_be32(®s->rerr_l) |
+ ((u64)in_be32(®s->rerr_u)) << 32;
/* read xmited packet count */
- stats->opackets = ((u64)in_be32(®s->tfrm_u)) << 32 |
- in_be32(®s->tfrm_l);
- stats->obytes = ((u64)in_be32(®s->toct_u)) << 32 |
- in_be32(®s->toct_l);
- stats->oerrors = ((u64)in_be32(®s->terr_u)) << 32 |
- in_be32(®s->terr_l);
+ stats->opackets = (u64)in_be32(®s->tfrm_l) |
+ ((u64)in_be32(®s->tfrm_u)) << 32;
+ stats->obytes = (u64)in_be32(®s->toct_l) |
+ ((u64)in_be32(®s->toct_u)) << 32;
+ stats->oerrors = (u64)in_be32(®s->terr_l) |
+ ((u64)in_be32(®s->terr_u)) << 32;
}
void
@@ -244,10 +244,9 @@ fman_if_stats_get_all(struct fman_if *p, uint64_t *value, int n)
uint64_t base_offset = offsetof(struct memac_regs, reoct_l);
for (i = 0; i < n; i++)
- value[i] = ((u64)in_be32((char *)regs
- + base_offset + 8 * i + 4)) << 32 |
- ((u64)in_be32((char *)regs
- + base_offset + 8 * i));
+ value[i] = (((u64)in_be32((char *)regs + base_offset + 8 * i) |
+ (u64)in_be32((char *)regs + base_offset +
+ 8 * i + 4)) << 32);
}
void
--
2.17.1
next prev parent reply other threads:[~2021-02-24 12:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210211141620.12482-1-hemant.agrawal@nxp.com>
[not found] ` <20210224124311.29799-1-hemant.agrawal@nxp.com>
2021-02-24 12:42 ` [dpdk-stable] [PATCH v3 01/23] bus/fslmc: fix to use ci value for qbman 5.0 Hemant Agrawal
2021-02-24 12:42 ` Hemant Agrawal [this message]
2021-02-24 12:42 ` [dpdk-stable] [PATCH v3 03/23] net/dpaa2: fix link get API implementation Hemant Agrawal
2021-02-24 12:42 ` [dpdk-stable] [PATCH v3 04/23] net/dpaa: " Hemant Agrawal
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=20210224124311.29799-3-hemant.agrawal@nxp.com \
--to=hemant.agrawal@nxp.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=nipun.gupta@nxp.com \
--cc=stable@dpdk.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).