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

From: Kory Maincent
Date: Thu May 30 2024 - 05:34:01 EST


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.

> > + {.id = 0x34, .msg = "Port is off: Short condition."},
> > + {.id = 0x35, .msg = "Port is off: Over temperature at the port."},
> > + {.id = 0x36, .msg = "Port is off: Device is too hot."},
> > + {.id = 0x37, .msg = "Unknown device port status."},
> > + {.id = 0x3C, .msg = "Power Management-Static."},
> > + {.id = 0x3D, .msg = "Power Management-Static\u2014OVL."},
>
> Is there something going on with UTF here? the \u2014 ?

Some copy paste of the messages bring a non utf-8 character :/
Will fix it, thanks for spotting it.

Regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com