• Srinivas Pandruvada's avatar
    cpufreq: intel_pstate: increase precision of performance limits · d5dd33d9
    Srinivas Pandruvada authored
    Even with round up of limits->min_perf and limits->max_perf, in some
    cases resultant performance is 100 MHz less than the desired.
    
    For example when the maximum frequency is 3.50 GHz, setting
    scaling_min_frequency to 2.3 GHz always results in 2.2 GHz minimum.
    
    Currently the fixed floating point operation uses 8 bit precision for
    calculating limits->min_perf and limits->max_perf. For some operations
    in this driver the 14 bit precision is used. Using the 14 bit precision
    also for calculating limits->min_perf and limits->max_perf, addresses
    this issue.
    
    Introduced fp_ext_toint() equivalent to fp_toint() and int_ext_tofp()
    equivalent to int_tofp() with 14 bit precision.
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    d5dd33d9
intel_pstate.c 55.5 KB