Thread (9 messages) flat view 9 messages, 2 authors, 2022-09-15

Re: [PATCH net-next v11 5/6] net: dsa: mv88e6xxx: rmon: Use RMU for reading RMON data

From: Mattias Forsblad <hidden>
Date: 2022-09-15 07:19:46

On 2022-09-14 16:42, Andrew Lunn wrote:
quoted
@@ -1234,16 +1234,30 @@ static int mv88e6xxx_stats_get_stats(struct mv88e6xxx_chip *chip, int port,
 				     u16 bank1_select, u16 histogram)
 {
 	struct mv88e6xxx_hw_stat *stat;
+	int offset = 0;
+	u64 high;
 	int i, j;
 
 	for (i = 0, j = 0; i < ARRAY_SIZE(mv88e6xxx_hw_stats); i++) {
 		stat = &mv88e6xxx_hw_stats[i];
 		if (stat->type & types) {
-			mv88e6xxx_reg_lock(chip);
-			data[j] = _mv88e6xxx_get_ethtool_stat(chip, stat, port,
-							      bank1_select,
-							      histogram);
-			mv88e6xxx_reg_unlock(chip);
+			if (mv88e6xxx_rmu_available(chip) &&
+			    !(stat->type & STATS_TYPE_PORT)) {
If i understand you comment to a previous version, the problem here is
STATS_TYPE_PORT. You are falling back to MDIO for those three
statistics. The data sheet for the 6352 shows these statistics are
available at offset 129 and above in the RMU reply.

I looked through the datasheets i have. I don't have a full set, but
all that i have which include the RMU have these statistics at offset
129.

So i think you can remove the fallback to MDIO. That should then allow
you to have a fully independent implementation, making it much
cleaner.

Or do you see other problems i currently don't?

    Andrew
I'll look into that, thanks.

/Mattias
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help