• Zhang Rui's avatar
    powercap: intel_rapl: Cleanup Power Limits support · 9050a9cd
    Zhang Rui authored
    
    
    The same set of operations are shared by different Powert Limits,
    including Power Limit get/set, Power Limit enable/disable, clamping
    enable/disable, time window get/set, and max power get/set, etc.
    
    But the same operation for different Power Limit has different
    primitives because they use different registers/register bits.
    
    A lot of dirty/duplicate code was introduced to handle this difference.
    
    Introduce a universal way to issue Power Limit operations.
    Instead of using hardcoded primitive name directly, use Power Limit id
    + operation type, and hide all the Power Limit difference details in a
    central place, get_pl_prim(). Two helpers, rapl_read_pl_data() and
    rapl_write_pl_data(), are introduced at the same time to simplify the
    code for issuing Power Limit operations.
    Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
    Tested-by: default avatarWang Wendy <wendy.wang@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    9050a9cd
intel_rapl_common.c 42.9 KB