Re: [v3 PATCH 2/3] powernv-cpufreq: Fix pstate_to_idx() to handle non-continguous pstates

From: Balbir Singh
Date: Sat Dec 16 2017 - 22:16:02 EST


On Wed, Dec 13, 2017 at 5:57 PM, Gautham R. Shenoy
<ego@xxxxxxxxxxxxxxxxxx> wrote:
> From: "Gautham R. Shenoy" <ego@xxxxxxxxxxxxxxxxxx>
>
> The code in powernv-cpufreq, makes the following two assumptions which
> are not guaranteed by the device-tree bindings:
>
> 1) Pstate ids are continguous: This is used in pstate_to_idx() to
> obtain the reverse map from a pstate to it's corresponding
> entry into the cpufreq frequency table.
>
> 2) Every Pstate should always lie between the max and the min
> pstates that are explicitly reported in the device tree: This
> is used to determine whether a pstate reported by the PMSR is
> out of bounds.
>
> Both these assumptions are unwarranted and can change on future
> platforms.

While this is a good thing, I wonder if it is worth the complexity. Pstates
are contiguous because they define transitions in incremental value
of change in frequency and I can't see how this can be broken in the
future?

Balbir Singh.