Hi, On 8/8/19 01:31, Saravana Kannan wrote: > Interconnects and interconnect paths quantify their performance levels in > terms of bandwidth and not in terms of frequency. So similar to how we have > frequency based OPP tables in DT and in the OPP framework, we need > bandwidth OPP table support in DT and in the OPP framework. > > So with the DT bindings added in this patch series, the DT for a GPU > that does bandwidth voting from GPU to Cache and GPU to DDR would look > something like this: > > gpu_cache_opp_table: gpu_cache_opp_table { > compatible = "operating-points-v2"; > > gpu_cache_3000: opp-3000 { > opp-peak-KBps = <3000000>; > opp-avg-KBps = <1000000>; > }; > gpu_cache_6000: opp-6000 { > opp-peak-KBps = <6000000>; > opp-avg-KBps = <2000000>; > }; > gpu_cache_9000: opp-9000 { > opp-peak-KBps = <9000000>; > opp-avg-KBps = <9000000>; > }; > }; > > gpu_ddr_opp_table: gpu_ddr_opp_table { > compatible = "operating-points-v2"; > > gpu_ddr_1525: opp-1525 { > opp-peak-KBps = <1525000>; > opp-avg-KBps = <452000>; > }; > gpu_ddr_3051: opp-3051 { > opp-peak-KBps = <3051000>; > opp-avg-KBps = <915000>; > }; > gpu_ddr_7500: opp-7500 { > opp-peak-KBps = <7500000>; > opp-avg-KBps = <3000000>; > }; > }; > > gpu_opp_table: gpu_opp_table { > compatible = "operating-points-v2"; > opp-shared; > > opp-200000000 { > opp-hz = /bits/ 64 <200000000>; > }; > opp-400000000 { > opp-hz = /bits/ 64 <400000000>; > }; > }; > > gpu@7864000 { > ... > operating-points-v2 = <&gpu_opp_table>, <&gpu_cache_opp_table>, <&gpu_ddr_opp_table>; > ... > }; > > v1 -> v3: > - Lots of patch additions that were later dropped > v3 -> v4: > - Fixed typo bugs pointed out by Sibi. > - Fixed bug that incorrectly reset rate to 0 all the time > - Added units documentation > - Dropped interconnect-opp-table property and related changes > v4->v5: > - Replaced KBps with kBps > - Minor documentation fix > > Cheers, > Saravana > > Saravana Kannan (3): > dt-bindings: opp: Introduce opp-peak-kBps and opp-avg-kBps bindings > OPP: Add support for bandwidth OPP tables > OPP: Add helper function for bandwidth OPP tables > > Documentation/devicetree/bindings/opp/opp.txt | 15 ++++-- > .../devicetree/bindings/property-units.txt | 4 ++ > drivers/opp/core.c | 51 +++++++++++++++++++ > drivers/opp/of.c | 41 +++++++++++---- > drivers/opp/opp.h | 4 +- > include/linux/pm_opp.h | 19 +++++++ > 6 files changed, 121 insertions(+), 13 deletions(-) > For the series: Acked-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Thanks, Georgi