[PATCH v1 1/8] Revert "UBUNTU: SAUCE: mlxbf-pmc: Bug fix for BlueField-3 counter offsets"
Shravan Kumar Ramani
shravankr at nvidia.com
Tue Oct 17 11:29:38 UTC 2023
BugLink: https://bugs.launchpad.net/bugs/2039561
This reverts commit cc424aaef5c946272a3bf06638f5c0f786af7b74.
Signed-off-by: Shravan Kumar Ramani <shravankr at nvidia.com>
---
drivers/platform/mellanox/mlxbf-pmc.c | 12 +++++-------
drivers/platform/mellanox/mlxbf-pmc.h | 4 ++--
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c
index 3ef9aa0c4c1e..fe27aea7cf9e 100644
--- a/drivers/platform/mellanox/mlxbf-pmc.c
+++ b/drivers/platform/mellanox/mlxbf-pmc.c
@@ -427,8 +427,7 @@ int mlxbf_clear_crspace_counter(int blk_num, uint32_t cnt_num)
{
void *addr;
- addr = pmc->block[blk_num].mmio_base +
- MLXBF_CRSPACE_PERFMON_VAL0(pmc->block[blk_num].counters) +
+ addr = pmc->block[blk_num].mmio_base + MLXBF_CRSPACE_PERFMON_VAL0 +
(cnt_num * 4);
return mlxbf_pmc_writel(0x0, addr);
@@ -533,8 +532,7 @@ int mlxbf_read_crspace_counter(int blk_num, uint32_t cnt_num, uint64_t *result)
int status = 0;
status = mlxbf_pmc_readl(&value, pmc->block[blk_num].mmio_base +
- MLXBF_CRSPACE_PERFMON_VAL0(pmc->block[blk_num].counters) +
- (cnt_num * 4));
+ MLXBF_CRSPACE_PERFMON_VAL0 + (cnt_num * 4));
if (status)
return status;
@@ -937,7 +935,7 @@ static ssize_t mlxbf_show_counter_state(struct kobject *ko,
if (pmc->block[blk_num].type == MLXBF_PERFTYPE_CRSPACE) {
err = mlxbf_pmc_readl(&word, pmc->block[blk_num].mmio_base +
- MLXBF_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters));
+ MLXBF_CRSPACE_PERFMON_CTL);
if (err)
return -EINVAL;
value = FIELD_GET(MLXBF_CRSPACE_PERFMON_EN, word);
@@ -969,7 +967,7 @@ static ssize_t mlxbf_enable_counters(struct kobject *ko,
return err;
if (pmc->block[blk_num].type == MLXBF_PERFTYPE_CRSPACE) {
err = mlxbf_pmc_readl(&word, pmc->block[blk_num].mmio_base +
- MLXBF_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters));
+ MLXBF_CRSPACE_PERFMON_CTL);
if (err)
return -EINVAL;
word &= ~MLXBF_CRSPACE_PERFMON_EN;
@@ -977,7 +975,7 @@ static ssize_t mlxbf_enable_counters(struct kobject *ko,
if (en)
word |= FIELD_PREP(MLXBF_CRSPACE_PERFMON_CLR, 1);
mlxbf_pmc_writel(word, pmc->block[blk_num].mmio_base +
- MLXBF_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters));
+ MLXBF_CRSPACE_PERFMON_CTL);
} else {
if (en == 0) {
err = mlxbf_config_l3_counters(blk_num, false, false);
diff --git a/drivers/platform/mellanox/mlxbf-pmc.h b/drivers/platform/mellanox/mlxbf-pmc.h
index 2ee7efc3b4ea..fe251661619d 100644
--- a/drivers/platform/mellanox/mlxbf-pmc.h
+++ b/drivers/platform/mellanox/mlxbf-pmc.h
@@ -152,10 +152,10 @@ struct mlxbf_pmc_context {
#define MLXBF_CRSPACE_PERFMON_REG0 0x0
#define MLXBF_CRSPACE_PERFSEL0 GENMASK(23, 16)
#define MLXBF_CRSPACE_PERFSEL1 GENMASK(7, 0)
-#define MLXBF_CRSPACE_PERFMON_CTL(n) (n * 2)
+#define MLXBF_CRSPACE_PERFMON_CTL 0x40
#define MLXBF_CRSPACE_PERFMON_EN BIT(30)
#define MLXBF_CRSPACE_PERFMON_CLR BIT(28)
-#define MLXBF_CRSPACE_PERFMON_VAL0(n) (MLXBF_CRSPACE_PERFMON_CTL(n) + 0xc)
+#define MLXBF_CRSPACE_PERFMON_VAL0 0x4c
struct mlxbf_pmc_events {
uint32_t evt_num;
--
2.30.1
More information about the kernel-team
mailing list