• Rafael J. Wysocki's avatar
    ACPI / LPSS: Add support for exposing LTR registers to user space · 2e0f8822
    Rafael J. Wysocki authored
    Devices on the Intel Lynxpoint Low Power Subsystem (LPSS) have
    registers providing access to LTR (Latency Tolerance Reporting)
    functionality that allows software to monitor and possibly influence
    the aggressiveness of the platform's active-state power management.
    
    For each LPSS device, there are two modes of operation related to LTR,
    the auto mode and the software mode.  In the auto mode the LTR is
    set up by the platform firmware and managed by hardware.  Software
    can only read the LTR register values to monitor the platform's
    behavior.  In the software mode it is possible to use LTR to control
    the extent to which the platform will use its built-in power
    management features.
    
    This changeset adds support for reading the LPSS devices' LTR
    registers and exposing their values to user space for monitoring and
    diagnostics purposes.  It re-uses the MMIO mappings created to access
    the LPSS devices' clock registers for reading the values of the LTR
    registers and exposes them to user space through sysfs device
    attributes.  Namely, a new atrribute group, lpss_ltr, is created for
    each LPSS device.  It contains three new attributes: ltr_mode,
    auto_ltr, sw_ltr.  The value of the ltr_mode attribute reflects the
    LTR mode being used at the moment (software vs auto) and the other
    two contain the actual register values (raw) whose meaning depends
    on the LTR mode.  All of these attributes are read-only.
    Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    2e0f8822
sysfs-devices-lpss_ltr 1.7 KB