Re: [PATCH 4/8] net: pse-pd: pd692x0: Expand ethtool status message

From: Oleksij Rempel
Date: Thu May 30 2024 - 06:14:10 EST


Hi,

On Thu, May 30, 2024 at 11:33:41AM +0200, Kory Maincent wrote:
> Thanks for the review!
>
> On Thu, 30 May 2024 01:13:59 +0200
> Andrew Lunn <andrew@xxxxxxx> wrote:
>
> > > +static const struct pd692x0_status_msg pd692x0_status_msg_list[] = {
> > > + {.id = 0x06, .msg = "Port is off: Main supply voltage is high."},
> > > + {.id = 0x07, .msg = "Port is off: Main supply voltage is low."},
> > > + {.id = 0x08, .msg = "Port is off: Disable all ports pin is
> > > active."},
> > > + {.id = 0x0C, .msg = "Port is off: Non-existing port number."},
> > > + {.id = 0x11, .msg = "Port is yet undefined."},
> > > + {.id = 0x12, .msg = "Port is off: Internal hardware fault."},
> > > + {.id = 0x1A, .msg = "Port is off: User setting."},
> > > + {.id = 0x1B, .msg = "Port is off: Detection is in process."},
> > > + {.id = 0x1C, .msg = "Port is off: Non-802.3AF/AT powered device."},
> > > + {.id = 0x1E, .msg = "Port is off: Underload state."},
> > > + {.id = 0x1F, .msg = "Port is off: Overload state."},
> > > + {.id = 0x20, .msg = "Port is off: Power budget exceeded."},
> > > + {.id = 0x21, .msg = "Port is off: Internal hardware routing
> > > error."},
> > > + {.id = 0x22, .msg = "Port is off: Configuration change."},
> > > + {.id = 0x24, .msg = "Port is off: Voltage injection into the
> > > port."},
> > > + {.id = 0x25, .msg = "Port is off: Improper Capacitor Detection"},
> > > + {.id = 0x26, .msg = "Port is off: Discharged load."},
> >
> > I don't know of any other driver returning strings like this. Have you
> > seen any other PSE driver with anything similar?
>
> We would like to be able to return the failure reason but there is nothing
> generic in the IEEE 802.3 standard to be able to add it to the UAPI.
> The TI controller has SUPPLY and FAULT EVENT Register which could report few
> messages. I am not aware of other PoE controller and how they deal with it.
> We could add sysfs for reporting the status messages for all the ports but I
> don't think it is a better idea.

We have ETHTOOL_LINK_EXT_STATE* and THTOOL_LINK_EXT_SUBSTATE_ for
different kind of link fail diagnostic. I think it would be good to make
the same for PSE ports. Not all of them will overlap with other PSE
controllers, but we will have one unified diagnostic interface. It will
be easier for user space application to parse and react on it.

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |