• Srinivas Pandruvada's avatar
    thermal: int340x: processor_thermal: Add workload type hint interface · 4b029a81
    Srinivas Pandruvada authored
    Prior to Meteor Lake processor generation, user space can pass workload
    type request to the firmware. Then firmware can optimize power based on
    the indicated workload type. User space also uses workload type requests
    to implement its own heuristics.
    
    The firmware in Meteor Lake processor generation is capable of predicting
    workload type without software help.
    
    To avoid duplicate processing, add a sysfs interface allowing user space
    to obtain the workload hint from the firmware instead of trying to
    predict the workload type by itself.
    
    This workload hint is passed from the firmware via MMIO offset 0x5B18 of
    the processor thermal PCI device. Before workload hints can be produced by
    the firmware, it needs to be configured via a mailbox command.  This
    mailbox command turns ON the workload hint and it allows to program a
    notification delay to control the rate of notifications.
    
    The notification delay can be changed from user space vis sysfs.
    
    Attribute group 'workload_hint' in sysfs is used for implementing the
    workload hints interface between user space and the kernel.
    
    It contains the following attributes:
    
    workload_type_enable:
    	Enables/disables workload type hints from the firmware.
    
    notification_delay_ms:
    	Notification delay in milliseconds.
    
    workload_type_index:
    	The current workload type index predicted by the firmware (see
    	the documentation changes below for supported index values and
    	their meaning).
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    [ rjw: Changelog edits, documentation edits, whitespace adjustments ]
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    4b029a81
processor_thermal_device.h 3.61 KB