Hi all,

I am looking into a couple shortcomings in the current OPP bindings and
how to address them. Feel free to add to the list if you think of any more
issues that needs to be addressed or if and how any problem mentioned below
can be handled with the existing bindings.

1. indexing: currently there are no indices in the operating-points.
        It's assumed that the list is either in ascending or descending
        order of frequency but not explicit in the binding document.
        There are arch/arm/boot/dts/* files with opps in both styles.
        Few other bindings like thermal defines bindings like
        cooling-{min,max}-state assuming some order which is broken IMO.

        One such use-case that came up recently[0] is the c-state latencies
        which could be different for each OPP. It would be good if the
        latencies are specified with the indices to OPP table to avoid
        inconsistency between the bindings.

        It's mainly to avoid issues due to inconsistency and duplication
        on data(frequency) in multiple bindings requiring it.

        Once we have indices to each on the OPP entries, then other binding
        using it can refer to OPP with phandle and OPP index/specifier pairs
        very similar to clock provider and consumer.

2. sharing opps: I have tried to address this issue previously[1] but unable
        to conclude yet on this.

3. latencies(*): currently the latency that the CPU/memory access is unavailable
        during an OPP transition is generic i.e. same from any OPP to any
        other OPP. Does it make sense to have this per-OPP entry ?

4. power(*): A measure of maximum power dissipation in an OPP state.
        This might be useful measure for power aware scheduling ?

(*) these are already part of P-state in ACPI(refer struct acpi_processor_px
in include/acpi/processor.h)

Apart from these I have seen on-going discussion for Samsung Exynos CPUFreq[2]
which might have some feedback for OPP bindings.

It would be good to consolidate the shortcomings found so far, that could
help in extending the current OPP bindings.

Regards,
Sudeep

[0] http://www.spinics.net/lists/arm-kernel/msg301971.html
[1] http://www.spinics.net/lists/cpufreq/msg07911.html
[2] http://www.spinics.net/lists/cpufreq/msg09169.html


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to