Skip to content

Commit 6fc2164

Browse files
Hariprasad KelamPaolo Abeni
authored andcommitted
octeontx2-af: RPM: fix stale FCFEC counters
The corrected words register(FCFECX_VL0_CCW_LO)/Uncorrected words register (FCFECX_VL0_NCCW_LO) of FCFEC counter has different LMAC offset which needs to be accessed differently. Fixes: 84ad364 ("octeontx2-af: Add FEC stats for RPM/RPM_USX block") Signed-off-by: Hariprasad Kelam <hkelam@marvell.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
1 parent 07cd1eb commit 6fc2164

File tree

2 files changed

+17
-17
lines changed
  • drivers/net/ethernet/marvell/octeontx2/af

2 files changed

+17
-17
lines changed

drivers/net/ethernet/marvell/octeontx2/af/rpm.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -704,27 +704,27 @@ int rpm_get_fec_stats(void *rpmd, int lmac_id, struct cgx_fec_stats_rsp *rsp)
704704
*/
705705
mutex_lock(&rpm->lock);
706706
if (rpm->lmac_idmap[lmac_id]->link_info.fec == OTX2_FEC_BASER) {
707-
val_lo = rpm_read(rpm, lmac_id, RPMX_MTI_FCFECX_VL0_CCW_LO);
708-
val_hi = rpm_read(rpm, lmac_id, RPMX_MTI_FCFECX_CW_HI);
707+
val_lo = rpm_read(rpm, 0, RPMX_MTI_FCFECX_VL0_CCW_LO(lmac_id));
708+
val_hi = rpm_read(rpm, 0, RPMX_MTI_FCFECX_CW_HI(lmac_id));
709709
rsp->fec_corr_blks = (val_hi << 16 | val_lo);
710710

711-
val_lo = rpm_read(rpm, lmac_id, RPMX_MTI_FCFECX_VL0_NCCW_LO);
712-
val_hi = rpm_read(rpm, lmac_id, RPMX_MTI_FCFECX_CW_HI);
711+
val_lo = rpm_read(rpm, 0, RPMX_MTI_FCFECX_VL0_NCCW_LO(lmac_id));
712+
val_hi = rpm_read(rpm, 0, RPMX_MTI_FCFECX_CW_HI(lmac_id));
713713
rsp->fec_uncorr_blks = (val_hi << 16 | val_lo);
714714

715715
/* 50G uses 2 Physical serdes lines */
716716
if (rpm->lmac_idmap[lmac_id]->link_info.lmac_type_id ==
717717
LMAC_MODE_50G_R) {
718-
val_lo = rpm_read(rpm, lmac_id,
719-
RPMX_MTI_FCFECX_VL1_CCW_LO);
720-
val_hi = rpm_read(rpm, lmac_id,
721-
RPMX_MTI_FCFECX_CW_HI);
718+
val_lo = rpm_read(rpm, 0,
719+
RPMX_MTI_FCFECX_VL1_CCW_LO(lmac_id));
720+
val_hi = rpm_read(rpm, 0,
721+
RPMX_MTI_FCFECX_CW_HI(lmac_id));
722722
rsp->fec_corr_blks += (val_hi << 16 | val_lo);
723723

724-
val_lo = rpm_read(rpm, lmac_id,
725-
RPMX_MTI_FCFECX_VL1_NCCW_LO);
726-
val_hi = rpm_read(rpm, lmac_id,
727-
RPMX_MTI_FCFECX_CW_HI);
724+
val_lo = rpm_read(rpm, 0,
725+
RPMX_MTI_FCFECX_VL1_NCCW_LO(lmac_id));
726+
val_hi = rpm_read(rpm, 0,
727+
RPMX_MTI_FCFECX_CW_HI(lmac_id));
728728
rsp->fec_uncorr_blks += (val_hi << 16 | val_lo);
729729
}
730730
} else {

drivers/net/ethernet/marvell/octeontx2/af/rpm.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@
9191
#define RPMX_MTI_RSFEC_STAT_FAST_DATA_HI_CDC 0x40000
9292
#define RPMX_MTI_RSFEC_STAT_COUNTER_CAPTURE_2 0x40050
9393
#define RPMX_MTI_RSFEC_STAT_COUNTER_CAPTURE_3 0x40058
94-
#define RPMX_MTI_FCFECX_VL0_CCW_LO 0x38618
95-
#define RPMX_MTI_FCFECX_VL0_NCCW_LO 0x38620
96-
#define RPMX_MTI_FCFECX_VL1_CCW_LO 0x38628
97-
#define RPMX_MTI_FCFECX_VL1_NCCW_LO 0x38630
98-
#define RPMX_MTI_FCFECX_CW_HI 0x38638
94+
#define RPMX_MTI_FCFECX_VL0_CCW_LO(a) (0x38618 + ((a) * 0x40))
95+
#define RPMX_MTI_FCFECX_VL0_NCCW_LO(a) (0x38620 + ((a) * 0x40))
96+
#define RPMX_MTI_FCFECX_VL1_CCW_LO(a) (0x38628 + ((a) * 0x40))
97+
#define RPMX_MTI_FCFECX_VL1_NCCW_LO(a) (0x38630 + ((a) * 0x40))
98+
#define RPMX_MTI_FCFECX_CW_HI(a) (0x38638 + ((a) * 0x40))
9999

100100
/* CN10KB CSR Declaration */
101101
#define RPM2_CMRX_SW_INT 0x1b0

0 commit comments

Comments
 (0)