Messages in this thread | | | Date | Thu, 08 Feb 2024 13:19:30 +0100 | From | Dragan Simic <> | Subject | Re: [PATCH v2 4/4] arm64: dts: rockchip: Add further granularity in RK3588 CPU OPPs |
| |
Hello Alexey,
On 2024-01-31 06:08, Dragan Simic wrote: > On 2024-01-30 19:21, Alexey Charkov wrote: >> This introduces additional OPPs that share the same voltage as >> another OPP already present in the .dtsi but with lower frequency. >> >> The idea is to try and limit system throughput more gradually upon >> reaching the throttling condition for workloads that are close to >> sustainable power already, thus avoiding needless performance loss. >> >> My limited synthetic benchmarking [1] showed around 3.8% performance >> benefit when these are in place, other things equal (not meant to >> be comprehensive though). > > I'm fine with this two-patch approach, so this important new feature > can be merged quicker, hopefully in the current merge window. We can > add more OPPs later, after the additional testing is performed, of > course if all checks out as expected.
Thanks to Radxa providing a sample Rock 5B to me, I'll be able to join the testing in the new few days, or maybe early next week. Looking forward to the test results. :)
>> [1] >> https://lore.kernel.org/linux-rockchip/CABjd4YxqarUCbZ-a2XLe3TWJ-qjphGkyq=wDnctnEhdoSdPPpw@mail.gmail.com/T/#me92aa0ee25e6eeb1d1501ce85f5af4e58b3b13c5 >> >> Signed-off-by: Alexey Charkov <alchark@gmail.com> >> --- >> arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 87 >> +++++++++++++++++++++++++++++++ >> 1 file changed, 87 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi >> b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi >> index af8b932a04c1..506676985a7e 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi >> +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi >> @@ -360,6 +360,21 @@ cluster0_opp_table: opp-table-cluster0 { >> compatible = "operating-points-v2"; >> opp-shared; >> >> + opp-408000000 { >> + opp-hz = /bits/ 64 <408000000>; >> + opp-microvolt = <675000 675000 950000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-600000000 { >> + opp-hz = /bits/ 64 <600000000>; >> + opp-microvolt = <675000 675000 950000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-816000000 { >> + opp-hz = /bits/ 64 <816000000>; >> + opp-microvolt = <675000 675000 950000>; >> + clock-latency-ns = <40000>; >> + }; >> opp-1008000000 { >> opp-hz = /bits/ 64 <1008000000>; >> opp-microvolt = <675000 675000 950000>; >> @@ -392,6 +407,27 @@ cluster1_opp_table: opp-table-cluster1 { >> compatible = "operating-points-v2"; >> opp-shared; >> >> + opp-408000000 { >> + opp-hz = /bits/ 64 <408000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + opp-suspend; >> + }; >> + opp-600000000 { >> + opp-hz = /bits/ 64 <600000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-816000000 { >> + opp-hz = /bits/ 64 <816000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-1008000000 { >> + opp-hz = /bits/ 64 <1008000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> opp-1200000000 { >> opp-hz = /bits/ 64 <1200000000>; >> opp-microvolt = <675000 675000 1000000>; >> @@ -422,6 +458,21 @@ opp-2208000000 { >> opp-microvolt = <987500 987500 1000000>; >> clock-latency-ns = <40000>; >> }; >> + opp-2256000000 { >> + opp-hz = /bits/ 64 <2256000000>; >> + opp-microvolt = <1000000 1000000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-2304000000 { >> + opp-hz = /bits/ 64 <2304000000>; >> + opp-microvolt = <1000000 1000000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-2352000000 { >> + opp-hz = /bits/ 64 <2352000000>; >> + opp-microvolt = <1000000 1000000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> opp-2400000000 { >> opp-hz = /bits/ 64 <2400000000>; >> opp-microvolt = <1000000 1000000 1000000>; >> @@ -433,6 +484,27 @@ cluster2_opp_table: opp-table-cluster2 { >> compatible = "operating-points-v2"; >> opp-shared; >> >> + opp-408000000 { >> + opp-hz = /bits/ 64 <408000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + opp-suspend; >> + }; >> + opp-600000000 { >> + opp-hz = /bits/ 64 <600000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-816000000 { >> + opp-hz = /bits/ 64 <816000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-1008000000 { >> + opp-hz = /bits/ 64 <1008000000>; >> + opp-microvolt = <675000 675000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> opp-1200000000 { >> opp-hz = /bits/ 64 <1200000000>; >> opp-microvolt = <675000 675000 1000000>; >> @@ -463,6 +535,21 @@ opp-2208000000 { >> opp-microvolt = <987500 987500 1000000>; >> clock-latency-ns = <40000>; >> }; >> + opp-2256000000 { >> + opp-hz = /bits/ 64 <2256000000>; >> + opp-microvolt = <1000000 1000000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-2304000000 { >> + opp-hz = /bits/ 64 <2304000000>; >> + opp-microvolt = <1000000 1000000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> + opp-2352000000 { >> + opp-hz = /bits/ 64 <2352000000>; >> + opp-microvolt = <1000000 1000000 1000000>; >> + clock-latency-ns = <40000>; >> + }; >> opp-2400000000 { >> opp-hz = /bits/ 64 <2400000000>; >> opp-microvolt = <1000000 1000000 1000000>; > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip
| |