linux-stable/Documentation/driver-api
Srinivas Pandruvada b473d6a9d6 thermal: int340x: processor_thermal: Support power floor notifications
When the hardware reduces the power to the minimum possible, the power
floor is notified via an interrupt.

This can happen when user space requests a power limit via powercap RAPL
interface, which forces the system to enter to the lowest power. This
power floor indication can be used as a hint to resort to other methods
of reducing power than via RAPL power limit.

Before power floor status can be read or the firmware can trigger
notifications regarding it, it needs to be configured via a mailbox
command. The actual power floor status is read via bit 39 of MMIO
offset 0x5B18 of the processor thermal PCI device.

To show the current power floor status and get notification
on a sysfs attribute, add 2 new attributes to
/sys/bus/pci/devices/0000\:00\:04.0/power_limits/

power_floor_enable : This attribute is present when power floor
 notifications are supported. This attribute allows to enable/disable
 power floor notifications.

power_floor_status : This attribute is present when power floor
 notifications are supported. When enabled via power_floor_enable, this
 attribute shows the current power floor status.

The power floor implementation provides interfaces which are called
from the sysfs callbacks to enable/disable and read power floor
status. It also provides two additional interfaces to check if the
current processor thermal device interrupt is for power floor status
and to send notifications to user space.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
[ rjw: Changelog and documentation changes edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-10-12 21:09:48 +02:00
..
80211
acpi
backlight
cxl Documentation: cxl: remove dangling kernel-doc reference 2022-08-05 08:41:02 -07:00
dmaengine Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
driver-model devres: Provide krealloc_array 2023-05-30 21:07:15 +01:00
early-userspace
firmware Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
fpga docs: fpga: mgr: document parse_header() callback 2022-06-24 12:12:24 +08:00
gpio gpiolib: remove unused gpio_cansleep() 2023-06-13 16:49:23 +02:00
hte hte: Re-phrase tegra API document 2023-04-26 15:43:19 -07:00
i3c
iio
md Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
media media updates for v6.6-rc1 2023-09-01 12:21:32 -07:00
mei Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
memory-devices
mmc
mtd mtd: spi-nor: Stop exporting spi_nor_restore() 2023-04-04 09:43:50 +03:00
nfc Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
nvdimm Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
pci
phy phy: Add devm_of_phy_optional_get() helper 2023-02-03 10:52:49 +05:30
pldmfw Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
pm
rapidio
serial Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
soundwire
surface_aggregator It has been a moderately calm cycle for documentation; the significant 2023-02-22 12:00:20 -08:00
thermal thermal: int340x: processor_thermal: Support power floor notifications 2023-10-12 21:09:48 +02:00
tty tty: tty_buffer: use __tty_insert_flip_string_flags() in tty_insert_flip_char() 2023-08-22 14:58:15 +02:00
usb USB: Remove Wireless USB and UWB documentation 2023-08-09 14:17:32 +02:00
virtio docs: driver-api: virtio: commentize spec version checking 2023-02-20 19:26:57 -05:00
xilinx
aperture.rst drm: Implement DRM aperture helpers under video/ 2022-06-27 11:07:55 +02:00
auxiliary_bus.rst
basics.rst docs: time: make separate section for time and timers 2023-07-14 13:47:07 -06:00
clk.rst docs: clk: add documentation to log which clocks have been disabled 2023-04-20 17:53:38 -06:00
component.rst
connector.rst
console.rst
dcdbas.rst
devfreq.rst
device-io.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
device_link.rst
dma-buf.rst dma-buf/sync_file: Surface sync-file uABI 2023-03-28 13:39:02 -07:00
edac.rst EDAC/amd64: Document heterogeneous system enumeration 2023-06-05 12:27:15 +02:00
eisa.rst Documentation: eisa: Fix typo 2022-11-15 14:52:38 -07:00
firewire.rst
frame-buffer.rst
generic-counter.rst
hsi.rst Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
i2c.rst
index.rst platform/x86: wmi: Add documentation 2023-05-09 11:54:42 +02:00
infiniband.rst
infrastructure.rst docs: add more driver-model infrastructure interfaces 2023-07-14 13:18:50 -06:00
input.rst
interconnect.rst interconnect: Add debugfs test client 2023-08-22 21:04:50 +03:00
io-mapping.rst Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
io_ordering.rst
ioctl.rst
ipmb.rst
ipmi.rst
isa.rst Remove duplicate words inside documentation 2022-09-27 13:21:43 -06:00
isapnp.rst
libata.rst ata: libata: remove deprecated EH callbacks 2023-08-02 17:45:42 +09:00
mailbox.rst
men-chameleon-bus.rst
message-based.rst
misc_devices.rst
miscellaneous.rst docs/driver-api/miscellaneous: Remove kernel-doc of serial_core.c 2022-11-09 14:56:05 +01:00
mtdnand.rst
ntb.rst ntb.rst: Fix copy and paste error 2023-07-08 11:05:05 -04:00
nvmem.rst nvmem: core: introduce NVMEM layouts 2023-04-05 19:41:11 +02:00
parport-lowlevel.rst
pin-control.rst It has been a moderately calm cycle for documentation; the significant 2023-02-22 12:00:20 -08:00
pps.rst
ptp.rst docs: ptp.rst: Add information about NVIDIA Mellanox devices 2023-06-20 09:02:32 +01:00
pwm.rst pwm: Delete deprecated functions pwm_request() and pwm_free() 2023-04-13 14:27:53 +02:00
regulator.rst
reset.rst
rfkill.rst
s390-drivers.rst docs: move s390 under arch 2023-07-24 12:12:24 +02:00
scsi.rst
slimbus.rst
sm501.rst
spi.rst spi: Update reference to struct spi_controller 2022-11-01 18:30:09 +00:00
switchtec.rst
sync_file.rst
target.rst
uio-howto.rst
vfio-mediated-device.rst vfio-mdev: remove an non-existing driver from vfio-mediated-device 2023-01-23 11:26:29 -07:00
vfio-pci-device-specific-driver-acceptance.rst
vfio.rst docs: vfio: Add vfio device cdev description 2023-07-25 10:20:54 -06:00
vme.rst vme: move back to staging 2022-06-10 15:38:14 +02:00
w1.rst
wmi.rst platform/x86: wmi: Add documentation 2023-05-09 11:54:42 +02:00
xillybus.rst
zorro.rst