mirror-linux/drivers
Oleksij Rempel 18ff0bcda6 ethtool: add interface to interact with Ethernet Power Equipment
Add interface to support Power Sourcing Equipment. At current step it
provides generic way to address all variants of PSE devices as defined
in IEEE 802.3-2018 but support only objects specified for IEEE 802.3-2018 104.4
PoDL Power Sourcing Equipment (PSE).

Currently supported and mandatory objects are:
IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus
IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl

This is minimal interface needed to control PSE on each separate
ethernet port but it provides not all mandatory objects specified in
IEEE 802.3-2018.

Since "PoDL PSE" and "PSE" have similar names, but some different values
I decide to not merge them and keep separate naming schema. This should
allow as to be as close to IEEE 802.3 spec as possible and avoid name
conflicts in the future.

This implementation is connected to PHYs instead of MACs because PSE
auto classification can potentially interfere with PHY auto negotiation.
So, may be some extra PHY related initialization will be needed.

With WIP version of ethtools interaction with PSE capable link looks
as following:

$ ip l
...
5: t1l1@eth0: <BROADCAST,MULTICAST> ..
...

$ ethtool --show-pse t1l1
PSE attributs for t1l1:
PoDL PSE Admin State: disabled
PoDL PSE Power Detection Status: disabled

$ ethtool --set-pse t1l1 podl-pse-admin-control enable
$ ethtool --show-pse t1l1
PSE attributs for t1l1:
PoDL PSE Admin State: enabled
PoDL PSE Power Detection Status: delivering power

Signed-off-by: kernel test robot <lkp@intel.com>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-10-03 17:33:57 -07:00
..
accessibility
acpi * A performance fix for recent large AMD systems that avoids an ancient 2022-09-26 14:53:38 -07:00
amba
android Char/Misc driver fixes for 6.0-rc4 2022-09-02 10:50:08 -07:00
ata ata: libata-sata: Fix device queue depth control 2022-09-28 20:47:31 +09:00
atm
auxdisplay
base Revert "driver core: Set fw_devlink.strict=1 by default" 2022-09-15 12:44:56 +02:00
bcma bcma: Fix typo in comments 2022-09-07 11:00:30 +03:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-08 18:38:30 +02:00
bluetooth Bluetooth: hci_{ldisc,serdev}: check percpu_init_rwsem() failure 2022-09-19 10:33:39 -07:00
bus bus: mhi: host: pci_generic: Add a secondary AT port to Telit FN990 2022-09-20 16:07:12 -07:00
cdrom
char
clk Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops" 2022-08-31 12:06:46 -07:00
clocksource
comedi
connector
counter counter: 104-quad-8: Fix skipped IRQ lines during events configuration 2022-09-22 14:26:37 +02:00
cpufreq
cpuidle
crypto
cxl
dax devdax: Fix soft-reservation memory description 2022-09-24 18:05:53 -07:00
dca
devfreq
dio
dma dmaengine: zynqmp_dma: Typecast with enum to fix the coverity warning 2022-09-05 11:54:50 +05:30
dma-buf
edac
eisa
extcon
firewire
firmware Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
fpga fpga: m10bmc-sec: Fix possible memory leak of flash_buf 2022-09-19 12:58:19 +08:00
fsi
gnss
gpio gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully 2022-09-21 09:32:11 +02:00
gpu Short summary of fixes pull 2022-09-23 13:18:26 +10:00
greybus
hid for-linus-2022083101 2022-08-31 09:54:14 -07:00
hsi
hte
hv Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region 2022-09-05 17:02:15 +00:00
hwmon hwmon: (asus-ec-sensors) autoload module via DMI data 2022-09-09 10:45:08 -07:00
hwspinlock
hwtracing
i2c i2c: mux: harden i2c_mux_alloc() against integer overflows 2022-09-21 22:12:06 +02:00
i3c
idle
iio
infiniband Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux 2022-09-28 19:20:49 -07:00
input Input updates for v6.0-rc7 2022-09-29 08:22:53 -07:00
interconnect
iommu iommu/vt-d: Check correct capability for sagaw determination 2022-09-21 10:22:54 +02:00
ipack
irqchip irqchip/loongson-pch-lpc: Add dependence on LoongArch 2022-09-16 09:25:51 +01:00
isdn
leds
macintosh
mailbox
mcb
md
media media: flexcop-usb: fix endpoint type check 2022-09-22 10:40:57 +02:00
memory
memstick
message
mfd mfd: ocelot: Add support for the vsc7512 chip via spi 2022-09-09 07:54:47 +01:00
misc misc: fastrpc: increase maximum session count 2022-09-01 16:13:07 +02:00
mmc mmc: hsq: Fix data stomping during mmc recovery 2022-09-27 12:38:29 +02:00
most
mtd
mux
net ethtool: add interface to interact with Ethernet Power Equipment 2022-10-03 17:33:57 -07:00
nfc
ntb
nubus
nvdimm Merge branch 'for-6.0/dax' into libnvdimm-fixes 2022-09-24 18:14:12 -07:00
nvme block-6.0-2022-09-09 2022-09-09 15:03:08 -04:00
nvmem
of Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-22 13:02:10 -07:00
opp
parisc parisc: remove obsolete manual allocation aligning in iosapic 2022-09-15 07:33:26 +02:00
parport
pci
pcmcia
peci
perf arm64 fixes for -rc7 2022-09-23 15:28:51 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
pinctrl Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-22 13:02:10 -07:00
platform platform-drivers-x86 for v6.0-2 2022-09-02 10:35:51 -07:00
pnp
power
powercap
pps
ps3
ptp ptp: Remove usage of the deprecated ida_simple_xxx API 2022-09-27 17:33:11 -07:00
pwm
rapidio
ras
regulator regulator: Fixes for v6.0 2022-09-08 12:56:20 -04:00
remoteproc
reset reset: npcm: fix iprst2 and iprst4 setting 2022-09-22 17:48:35 +02:00
rpmsg
rtc
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
sbus
scsi ATA fixes for 6.0-rc7 2022-09-29 05:40:59 -07:00
sh
siox
slimbus
soc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
soundwire soundwire: qcom: fix device status array range 2022-09-01 14:26:44 +05:30
spi spi: Fixes for v6.0 2022-09-08 13:13:47 -04:00
spmi
ssb
staging net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
target
tc
tee
thermal Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-01 12:58:02 -07:00
thunderbolt Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
tty serial: sifive: enable clocks for UART when probed 2022-09-22 16:38:18 +02:00
ufs
uio
usb USB-serial fixes for 6.0-rc7 2022-09-22 15:43:18 +02:00
vdpa
vfio VFIO fix for v6.0-rc5 2022-09-09 07:44:33 -04:00
vhost vhost/net: use struct ubuf_info_msgzc 2022-09-28 18:51:24 -07:00
video hyperv-fixes for v6.0-rc6 2022-09-12 18:33:55 -04:00
virt kunit: fix Kconfig for build-in tests USB4 and Nitro Enclaves 2022-09-01 13:00:48 -06:00
virtio
vlynq
w1
watchdog
xen xen: branch for v6.0-rc7 2022-09-23 08:31:24 -07:00
zorro
Kconfig
Makefile