lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170629205348.GB127431@google.com>
Date:   Thu, 29 Jun 2017 13:53:49 -0700
From:   Brian Norris <briannorris@...omium.org>
To:     Heiko Stuebner <heiko@...ech.de>
Cc:     linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org,
        Caesar Wang <wxt@...k-chips.com>,
        Doug Anderson <dianders@...omium.org>,
        linux-arm-kernel@...ts.infradead.org,
        Matthias Kaehlcke <mka@...omium.org>
Subject: Re: [PATCH 2/3] arm64: dts: rockchip: Use vctrl regulators for
 dynamic CPU voltages on Gru/Kevin

Hi Heiko,

On Wed, Jun 28, 2017 at 05:44:27PM +0200, Heiko Stuebner wrote:
> Am Freitag, 23. Juni 2017, 10:07:36 CEST schrieb Brian Norris:
> > From: Matthias Kaehlcke <mka@...omium.org>
> > 
> > The Gru device tree currently contains entries for the regulators
> > ppvar_bigcpu, ppvar_litcpu, ppvar_gpu and ppvar_centerlogic; however,
> > the regulators have not been made, due to the lack of binding and driver
> > support for keeping the over-voltage protection (OVP) at bay and
> > preventing unintended regulator shutdowns on voltage downshifts.
> > 
> > Now, the vctrl regulator driver has been merged, along with new bindings
> > for asymmetric settling time. The driver is OVP aware, it splits larger
> > voltage decreases in multiple steps when necessary and adds required
> > delays.
> > 
> > This change renames each of the aforementioned regulators to
> > <orig_name>_pwm and adds a new vctrl regulator named <orig_name>.
> > The vctrl regulators use the voltage of their corresponding PWM regulator
> > as control voltage. The OVP related values are empirical and stem from
> > the Chrome OS kernel tree.
> > 
> > Signed-off-by: Matthias Kaehlcke <mka@...omium.org>
> > Signed-off-by: Brian Norris <briannorris@...omium.org>
> 
> Running this on Kevin resulted in gpu+centerlogic being
> children of litcpu, so applied for 4.14 with the diff below.

Oops, don't know where that cropped up. Between the two of us (Matthias
and me) this got rebased and reworked a few times.

Wouldn't have much effect, since the DMC and GPU aren't hooked up yet
upstream yet.

> Please holler if something looks wrong
> Heiko
> 
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
> index 2f1ba5ba27c8..90259cf63bb6 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
> @@ -164,7 +164,7 @@
>  		vin-supply = <&ppvar_sys>;
>  	};
>  
> -	ppvar_bigcpu_pwm: ppvar-bigcpu_pwm {
> +	ppvar_bigcpu_pwm: ppvar-bigcpu-pwm {
>  		compatible = "pwm-regulator";
>  		regulator-name = "ppvar_bigcpu_pwm";
>  
> @@ -195,7 +195,7 @@
>  		ovp-threshold-percent = <16>;
>  	};
>  
> -	ppvar_litcpu_pwm: ppvar-litcpu_pwm {
> +	ppvar_litcpu_pwm: ppvar-litcpu-pwm {
>  		compatible = "pwm-regulator";
>  		regulator-name = "ppvar_litcpu_pwm";
>  
> @@ -249,7 +249,7 @@
>  		regulator-min-microvolt = <786384>;
>  		regulator-max-microvolt = <1217747>;
>  
> -		ctrl-supply = <&ppvar_litcpu_pwm>;
> +		ctrl-supply = <&ppvar_gpu_pwm>;
>  		ctrl-voltage-range = <786384 1217747>;
>  
>  		regulator-settling-time-up-us = <390>;
> @@ -280,7 +280,7 @@
>  		regulator-min-microvolt = <799434>;
>  		regulator-max-microvolt = <1049925>;
>  
> -		ctrl-supply = <&ppvar_litcpu_pwm>;
> +		ctrl-supply = <&ppvar_centerlogic_pwm>;
>  		ctrl-voltage-range = <799434 1049925>;
>  
>  		regulator-settling-time-up-us = <378>;
> 

Acked, LGTM, and tests fine. Thanks for fixing up all of this.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ