Message ID | 20200714064759.31772-1-m.szyprowski@samsung.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | ARM: dts: exynos: Disable frequency scaling for FSYS bus | expand |
On Tue, Jul 14, 2020 at 08:47:59AM +0200, Marek Szyprowski wrote: > Commit 1019fe2c7280 ("ARM: dts: exynos: Adjust bus related OPPs to the > values correct for Exynos5422 Odroids") changed the parameters of the > OPPs for the FSYS bus. Besides the frequency adjustments, it also removed > the 'shared-opp' property from the OPP table used for FSYS_APB and FSYS > busses. > > This revealed that in fact the FSYS bus frequency scaling never worked. > When one OPP table is marked as 'opp-shared', only the first bus which > selects the OPP sets the rate of its clock. Then OPP core assumes that > the other busses have been changed to that OPP and no change to their > clock rates are needed. Thus when FSYS_APB bus, which was registered > first, set the rate for its clock, the OPP core did not change the FSYS > bus clock later. > > The mentioned commit removed that behavior, what introduced a regression > on some OdroidXU3 boards. Frequency scaling of the FSYS bus causes > instability of the USB host operation, what can be observed as network > hangs. To restore old behavior, simply disable frequency scaling for the > FSYS bus. > > Reported-by: Willy Wolff <willy.mh.wolff.ml@gmail.com> > Fixes: 1019fe2c7280 ("ARM: dts: exynos: Adjust bus related OPPs to the values correct for Exynos5422 Odroids") > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > --- > arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 6 ------ > 1 file changed, 6 deletions(-) Thanks Willy and Marek for digging into this, applied. A follow up question would be if other boards (Exynos4412) require the same? Best regards, Krzysztof
diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi index ab27ff8bc3dc..afe090578e8f 100644 --- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi +++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi @@ -411,12 +411,6 @@ status = "okay"; }; -&bus_fsys { - operating-points-v2 = <&bus_fsys2_opp_table>; - devfreq = <&bus_wcore>; - status = "okay"; -}; - &bus_fsys2 { operating-points-v2 = <&bus_fsys2_opp_table>; devfreq = <&bus_wcore>;
Commit 1019fe2c7280 ("ARM: dts: exynos: Adjust bus related OPPs to the values correct for Exynos5422 Odroids") changed the parameters of the OPPs for the FSYS bus. Besides the frequency adjustments, it also removed the 'shared-opp' property from the OPP table used for FSYS_APB and FSYS busses. This revealed that in fact the FSYS bus frequency scaling never worked. When one OPP table is marked as 'opp-shared', only the first bus which selects the OPP sets the rate of its clock. Then OPP core assumes that the other busses have been changed to that OPP and no change to their clock rates are needed. Thus when FSYS_APB bus, which was registered first, set the rate for its clock, the OPP core did not change the FSYS bus clock later. The mentioned commit removed that behavior, what introduced a regression on some OdroidXU3 boards. Frequency scaling of the FSYS bus causes instability of the USB host operation, what can be observed as network hangs. To restore old behavior, simply disable frequency scaling for the FSYS bus. Reported-by: Willy Wolff <willy.mh.wolff.ml@gmail.com> Fixes: 1019fe2c7280 ("ARM: dts: exynos: Adjust bus related OPPs to the values correct for Exynos5422 Odroids") Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> --- arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 6 ------ 1 file changed, 6 deletions(-)