Hi Kory, On Tue, Feb 18, 2025 at 05:19:11PM +0100, Kory Maincent wrote: > From: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx> > > This patch expands the status information provided by ethtool for PSE c33 > with current port priority and max port priority. It also adds a call to > pse_ethtool_set_prio() to configure the PSE port priority. Thank you! Here are some comments... > --- a/Documentation/networking/ethtool-netlink.rst > +++ b/Documentation/networking/ethtool-netlink.rst > @@ -1790,6 +1790,12 @@ Kernel response contents: > ``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit > configuration ranges. > ``ETHTOOL_A_PSE_PW_D_ID`` u32 Index of the PSE power domain > + ``ETHTOOL_A_C33_PSE_BUDGET_EVAL_STRAT`` u32 Budget evaluation strategy > + of the PSE > + ``ETHTOOL_A_C33_PSE_PRIO_MAX`` u32 Priority maximum configurable > + on the PoE PSE > + ``ETHTOOL_A_C33_PSE_PRIO`` u32 Priority of the PoE PSE > + currently configured Please remove _C33_ from these fields, as they are not specific to Clause 33. > ========================================== ====== ============================= > > When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` attribute identifies > @@ -1866,6 +1872,51 @@ equal. > The ``ETHTOOL_A_PSE_PW_D_ID`` attribute identifies the index of PSE power > domain. > > +When set, the optional ``ETHTOOL_A_C33_PSE_PRIO_SUPP_MODES`` attribute > +identifies the priority mode supported by the C33 PSE. > +When set, the optional ``ETHTOOL_A_C33_PSE_BUDGET_EVAL_STRAT`` attributes is used to > +identifies the currently configured C33 PSE budget evaluation strategy. > +The available strategies are: > + > +1. Disabled: > + > + In this mode, the port is excluded from active budget evaluation. It > + allows the port to violate the budget and is intended primarily for testing > + purposes. > + > +2. Static Method: > + > + This method involves distributing power based on PD classification. It’s > + straightforward and stable, with the PSE core keeping track of the budget > + and subtracting the power requested by each PD’s class. This is the > + safest option and should be used by default. > + > + Advantages: Every PD gets its promised power at any time, which guarantees > + reliability. > + > + Disadvantages: PD classification steps are large, meaning devices request > + much more power than they actually need. As a result, the power supply may > + only operate at, say, 50% capacity, which is inefficient and wastes money. > + > +3. Dynamic Method: > + > + This method monitors the current consumption per port and subtracts it from > + the available power budget. When the budget is exceeded, lower-priority > + ports are shut down. This method is managed by the PSE controller itself. > + > + Advantages: This method optimizes resource utilization, saving costs. > + > + Disadvantages: Low-priority devices may experience instability. > + > +.. kernel-doc:: include/uapi/linux/ethtool.h > + :identifiers: ethtool_pse_budget_eval_strategies > + > +When set, the optional ``ETHTOOL_A_C33_PSE_PRIO_MAX`` attribute identifies > +the C33 PSE maximum priority value. > +When set, the optional ``ETHTOOL_A_C33_PSE_PRIO`` attributes is used to > +identifies the currently configured C33 PSE priority. > +For a description of PSE priority attributes, see ``PSE_SET``. > + > PSE_SET > ======= > > @@ -1879,6 +1930,8 @@ Request contents: > ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state > ``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available > power limit > + ``ETHTOOL_A_C33_PSE_PRIO`` u32 Control priority of the > + PoE PSE Please remove _C33_ from these field, as they are not specific to Clause 33. -- 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 |