• Srinivas Pandruvada's avatar
    thermal: int340x: Mode setting with new OS handshake · 7b145802
    Srinivas Pandruvada authored
    With the new OS handshake introduced by commit: "c7ff2976 ("thermal:
    int340x: Update OS policy capability handshake")", the "enabled" thermal
    zone mode doesn't work in the same way as previously.
    
    The "enabled" mode fails with -EINVAL when the new handshake is used.
    
    To address this issue, when the new OS UUID mask is set:
    
     - When the mode is "enabled", return 0 as the firmware already has the
       latest policy mask.
    
     - When the mode is "disabled", update the firmware with the UUID mask
       of zero.
    
    This way, the firmware can take over the thermal control.
    
    Also reset the OS UUID mask, which allows user space to update with new
    set of policies.
    
    Fixes: c7ff2976 ("thermal: int340x: Update OS policy capability handshake")
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    [ rjw: Changelog edits, removed unneeded parens ]
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    7b145802
int3400_thermal.c 15.9 KB