netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] net: dsa: mv88e6xxx: Add serdes read/write dynamic debug
@ 2020-07-09 18:43 Chris Healy
  2020-07-09 19:46 ` David Miller
  2020-07-09 20:09 ` Andrew Lunn
  0 siblings, 2 replies; 3+ messages in thread
From: Chris Healy @ 2020-07-09 18:43 UTC (permalink / raw)
  To: andrew, vivien.didelot, f.fainelli, davem, kuba, netdev, linux-kernel
  Cc: Chris Healy

Add deb_dbg print statements in both serdes_read and serdes_write
functions.

Signed-off-by: Chris Healy <cphealy@gmail.com>
---
 drivers/net/dsa/mv88e6xxx/serdes.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dsa/mv88e6xxx/serdes.c b/drivers/net/dsa/mv88e6xxx/serdes.c
index 9c07b4f3d345..756b34343547 100644
--- a/drivers/net/dsa/mv88e6xxx/serdes.c
+++ b/drivers/net/dsa/mv88e6xxx/serdes.c
@@ -20,14 +20,25 @@
 static int mv88e6352_serdes_read(struct mv88e6xxx_chip *chip, int reg,
 				 u16 *val)
 {
-	return mv88e6xxx_phy_page_read(chip, MV88E6352_ADDR_SERDES,
+	int err;
+
+	err =  mv88e6xxx_phy_page_read(chip, MV88E6352_ADDR_SERDES,
 				       MV88E6352_SERDES_PAGE_FIBER,
 				       reg, val);
+
+	if (err)
+		return err;
+
+	dev_dbg(chip->dev, "serdes <- reg: 0x%.2x val: 0x%.2x\n", reg, *val);
+
+	return 0;
 }
 
 static int mv88e6352_serdes_write(struct mv88e6xxx_chip *chip, int reg,
 				  u16 val)
 {
+	dev_dbg(chip->dev, "serdes -> reg: 0x%.2x val: 0x%.2x\n", reg, val);
+
 	return mv88e6xxx_phy_page_write(chip, MV88E6352_ADDR_SERDES,
 					MV88E6352_SERDES_PAGE_FIBER,
 					reg, val);
@@ -37,8 +48,17 @@ static int mv88e6390_serdes_read(struct mv88e6xxx_chip *chip,
 				 int lane, int device, int reg, u16 *val)
 {
 	int reg_c45 = MII_ADDR_C45 | device << 16 | reg;
+	int err;
+
+	err = mv88e6xxx_phy_read(chip, lane, reg_c45, val);
+	if (err)
+		return err;
+
+	dev_dbg(chip->dev, "serdes <- lane: %.2d device: 0x%.2x reg_c45: 0x%.4x val: 0x%.4x\n",
+		lane, device, reg_c45, *val);
+
+	return 0;
 
-	return mv88e6xxx_phy_read(chip, lane, reg_c45, val);
 }
 
 static int mv88e6390_serdes_write(struct mv88e6xxx_chip *chip,
@@ -46,6 +66,9 @@ static int mv88e6390_serdes_write(struct mv88e6xxx_chip *chip,
 {
 	int reg_c45 = MII_ADDR_C45 | device << 16 | reg;
 
+	dev_dbg(chip->dev, "serdes -> lane: %.2d device: 0x%.2x reg_c45: 0x%.4x val: 0x%.4x\n",
+		lane, device, reg_c45, val);
+
 	return mv88e6xxx_phy_write(chip, lane, reg_c45, val);
 }
 
-- 
2.21.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] net: dsa: mv88e6xxx: Add serdes read/write dynamic debug
  2020-07-09 18:43 [PATCH net-next] net: dsa: mv88e6xxx: Add serdes read/write dynamic debug Chris Healy
@ 2020-07-09 19:46 ` David Miller
  2020-07-09 20:09 ` Andrew Lunn
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2020-07-09 19:46 UTC (permalink / raw)
  To: cphealy; +Cc: andrew, vivien.didelot, f.fainelli, kuba, netdev, linux-kernel

From: Chris Healy <cphealy@gmail.com>
Date: Thu,  9 Jul 2020 11:43:18 -0700

> Add deb_dbg print statements in both serdes_read and serdes_write
> functions.
> 
> Signed-off-by: Chris Healy <cphealy@gmail.com>

Please just use tracepoints or similar for this.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] net: dsa: mv88e6xxx: Add serdes read/write dynamic debug
  2020-07-09 18:43 [PATCH net-next] net: dsa: mv88e6xxx: Add serdes read/write dynamic debug Chris Healy
  2020-07-09 19:46 ` David Miller
@ 2020-07-09 20:09 ` Andrew Lunn
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Lunn @ 2020-07-09 20:09 UTC (permalink / raw)
  To: Chris Healy; +Cc: vivien.didelot, f.fainelli, davem, kuba, netdev, linux-kernel

On Thu, Jul 09, 2020 at 11:43:18AM -0700, Chris Healy wrote:
> Add deb_dbg print statements in both serdes_read and serdes_write
> functions.

Hi Chris

Why is SERDES access special? Why not all accesses? global1, global2,
global3, port, etc.

As David said, tracepoints are better for this. Take a look at
include/trace/events/mdio.h and drivers/net/phy/mdio_bus.c as an
example which traces all mdio accesses.

	Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-07-09 20:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-09 18:43 [PATCH net-next] net: dsa: mv88e6xxx: Add serdes read/write dynamic debug Chris Healy
2020-07-09 19:46 ` David Miller
2020-07-09 20:09 ` Andrew Lunn

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).