From: broonie@kernel.org (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints
Date: Mon, 22 Aug 2016 17:29:07 +0100 [thread overview]
Message-ID: <20160822162907.GO22076@sirena.org.uk> (raw)
In-Reply-To: <20160821021125.1521-4-wens@csie.org>
On Sun, Aug 21, 2016 at 10:11:19AM +0800, Chen-Yu Tsai wrote:
> Currently when we try to bring regulator in bounds of its constraints,
> we pick either the minimum or maximum voltage as the target. This fails
> if the regulator range is not continuous, and the target voltage is not
> an exact value the regulator can achieve, i.e. the target is not aligned
> to the step of the regulator.
This seems like you have buggy constraints, constraints which allow
voltages that can't physically be satisfied don't make obvious sense.
> - if (current_uV < rdev->constraints->min_uV) {
> + if (current_uV < rdev->constraints->min_uV ||
> + current_uV > rdev->constraints->max_uV) {
> target_min = rdev->constraints->min_uV;
> - target_max = rdev->constraints->min_uV;
> - }
> -
> - if (current_uV > rdev->constraints->max_uV) {
> - target_min = rdev->constraints->max_uV;
> target_max = rdev->constraints->max_uV;
> }
This is most likely going to cause disruption to systems where the
voltage is over the constraint voltage - it will result in the voltage
being lowered to the minimum allowed which will have a much higher
chance of upsetting things. This is why we don't just do a constraints
run.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160822/e35014e0/attachment.sig>
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
Cc: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints
Date: Mon, 22 Aug 2016 17:29:07 +0100 [thread overview]
Message-ID: <20160822162907.GO22076@sirena.org.uk> (raw)
In-Reply-To: <20160821021125.1521-4-wens-jdAy2FN1RRM@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1219 bytes --]
On Sun, Aug 21, 2016 at 10:11:19AM +0800, Chen-Yu Tsai wrote:
> Currently when we try to bring regulator in bounds of its constraints,
> we pick either the minimum or maximum voltage as the target. This fails
> if the regulator range is not continuous, and the target voltage is not
> an exact value the regulator can achieve, i.e. the target is not aligned
> to the step of the regulator.
This seems like you have buggy constraints, constraints which allow
voltages that can't physically be satisfied don't make obvious sense.
> - if (current_uV < rdev->constraints->min_uV) {
> + if (current_uV < rdev->constraints->min_uV ||
> + current_uV > rdev->constraints->max_uV) {
> target_min = rdev->constraints->min_uV;
> - target_max = rdev->constraints->min_uV;
> - }
> -
> - if (current_uV > rdev->constraints->max_uV) {
> - target_min = rdev->constraints->max_uV;
> target_max = rdev->constraints->max_uV;
> }
This is most likely going to cause disruption to systems where the
voltage is over the constraint voltage - it will result in the voltage
being lowered to the minimum allowed which will have a much higher
chance of upsetting things. This is why we don't just do a constraints
run.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@kernel.org>
To: Chen-Yu Tsai <wens@csie.org>
Cc: Lee Jones <lee.jones@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com
Subject: Re: [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints
Date: Mon, 22 Aug 2016 17:29:07 +0100 [thread overview]
Message-ID: <20160822162907.GO22076@sirena.org.uk> (raw)
In-Reply-To: <20160821021125.1521-4-wens@csie.org>
[-- Attachment #1: Type: text/plain, Size: 1220 bytes --]
On Sun, Aug 21, 2016 at 10:11:19AM +0800, Chen-Yu Tsai wrote:
> Currently when we try to bring regulator in bounds of its constraints,
> we pick either the minimum or maximum voltage as the target. This fails
> if the regulator range is not continuous, and the target voltage is not
> an exact value the regulator can achieve, i.e. the target is not aligned
> to the step of the regulator.
This seems like you have buggy constraints, constraints which allow
voltages that can't physically be satisfied don't make obvious sense.
> - if (current_uV < rdev->constraints->min_uV) {
> + if (current_uV < rdev->constraints->min_uV ||
> + current_uV > rdev->constraints->max_uV) {
> target_min = rdev->constraints->min_uV;
> - target_max = rdev->constraints->min_uV;
> - }
> -
> - if (current_uV > rdev->constraints->max_uV) {
> - target_min = rdev->constraints->max_uV;
> target_max = rdev->constraints->max_uV;
> }
This is most likely going to cause disruption to systems where the
voltage is over the constraint voltage - it will result in the voltage
being lowered to the minimum allowed which will have a much higher
chance of upsetting things. This is why we don't just do a constraints
run.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2016-08-22 16:29 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-21 2:11 [PATCH 0/9] mfd: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 1/9] mfd: axp20x: Add bindings for AXP806 PMIC Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-23 17:51 ` Rob Herring
2016-08-23 17:51 ` Rob Herring
2016-08-23 17:51 ` Rob Herring
2016-08-21 2:11 ` [PATCH 2/9] mfd: axp20x: Add support " Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 4:15 ` [linux-sunxi] " Julian Calaby
2016-08-21 4:15 ` Julian Calaby
2016-08-21 4:15 ` Julian Calaby
2016-08-21 2:11 ` [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-22 16:29 ` Mark Brown [this message]
2016-08-22 16:29 ` Mark Brown
2016-08-22 16:29 ` Mark Brown
2016-08-22 17:52 ` Rask Ingemann Lambertsen
2016-08-22 17:52 ` Rask Ingemann Lambertsen
2016-08-22 18:09 ` Mark Brown
2016-08-22 18:09 ` Mark Brown
2016-08-22 18:09 ` Mark Brown
2016-08-23 4:17 ` Chen-Yu Tsai
2016-08-23 4:17 ` Chen-Yu Tsai
2016-08-23 4:17 ` Chen-Yu Tsai
2016-08-23 10:40 ` Mark Brown
2016-08-23 10:40 ` Mark Brown
2016-08-23 10:40 ` Mark Brown
2016-08-22 16:29 ` Mark Brown
2016-08-22 16:29 ` Mark Brown
2016-08-22 16:29 ` Mark Brown
2016-08-21 2:11 ` [PATCH 4/9] regulator: axp20x: support AXP806 variant Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-22 16:52 ` Mark Brown
2016-08-22 16:52 ` Mark Brown
2016-08-22 16:52 ` Mark Brown
2016-08-21 2:11 ` [PATCH 5/9] ARM: dts: sun9i: a80-optimus: Declare AXP809 SW regulator as unused Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 6/9] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 7/9] ARM: dts: sun9i: a80-optimus: Add AXP806 PMIC device node and regulators Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 8/9] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 9/9] ARM: dts: sun9i: a80-optimus: Disable EHCI1 Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 2:11 ` Chen-Yu Tsai
2016-08-21 6:51 ` [linux-sunxi] [PATCH 0/9] mfd: axp20x: Add support for AXP809 PMIC Priit Laes
2016-08-21 6:51 ` Priit Laes
2016-08-21 6:51 ` Priit Laes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160822162907.GO22076@sirena.org.uk \
--to=broonie@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.