From: Heiko Stuebner <heiko@sntech.de>
To: Douglas Anderson <dianders@chromium.org>
Cc: linux-rockchip@lists.infradead.org, zhangqing@rock-chips.com,
wxt@rock-chips.com, zhengxing@rock-chips.com,
dbasehore@chromium.org, shawn.lin@rock-chips.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] soc: rockchip: power-domain: Don't (incorrectly) set rk3399 up/down counts
Date: Mon, 26 Sep 2016 22:18:42 +0200 [thread overview]
Message-ID: <3409868.mFCNHRg95O@phil> (raw)
In-Reply-To: <1471546561-4459-1-git-send-email-dianders@chromium.org>
Am Donnerstag, 18. August 2016, 11:56:01 CEST schrieb Douglas Anderson:
> On rk3288 it was important that powerdown and powerup counts for the
> CPU/GPU in the kernel because:
> * The power on default was crazy long.
> * We couldn't rely on the firmware to set this up because really this
> wasn't the firmware's job--the kernel was the only one that really
> cared about bringing up / down CPUs and the GPU and doing suspend /
> resume (which involves bringing up / down CPUs).
>
> On newer ARM systems (like rk3399) ARM Trusted Firmware is in charge of
> bringing up and down the CPUs and it really should be in charge of
> setting all these counts right. After all ATF is in charge of suspend /
> resume and CPU up / down. Let's get out of the way and let ATF do its
> job.
>
> A few other motivations for doing this:
> * Depending on another configuration (PMU_24M_EN_CFG) these counts can
> be either in 24M or 32k cycles. Thus, though ATF isn't really so
> involved in bringing up the GPU, ATF should probably manage the counts
> for everything so it can also manage the 24M / 32k choice.
> * It turns out that (right now) 24M mode is broken on rk3399 and not
> being used. That means that the count the kernel was programming
> in (24) was not 1 us (which it seems was intended) but was actually
> .75 ms
> * On rk3399 there are actually 2 separate registers for setting CPU
> up/down time plus 1 register for GPU up/down time. The curent kernel
> code actually was putting the register for the "little" cores in the
> "CPU" slot and the register for the "big" cores in the "GPU" slot. It
> was never initting the GPU counts.
>
> Note: this change assumes that ATF will actually set these values at
> boot, as I'm proposing in <http://crosreview.com/372381>.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
applied to my drivers branch for 4.10
Thanks
Heiko
WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stuebner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] soc: rockchip: power-domain: Don't (incorrectly) set rk3399 up/down counts
Date: Mon, 26 Sep 2016 22:18:42 +0200 [thread overview]
Message-ID: <3409868.mFCNHRg95O@phil> (raw)
In-Reply-To: <1471546561-4459-1-git-send-email-dianders@chromium.org>
Am Donnerstag, 18. August 2016, 11:56:01 CEST schrieb Douglas Anderson:
> On rk3288 it was important that powerdown and powerup counts for the
> CPU/GPU in the kernel because:
> * The power on default was crazy long.
> * We couldn't rely on the firmware to set this up because really this
> wasn't the firmware's job--the kernel was the only one that really
> cared about bringing up / down CPUs and the GPU and doing suspend /
> resume (which involves bringing up / down CPUs).
>
> On newer ARM systems (like rk3399) ARM Trusted Firmware is in charge of
> bringing up and down the CPUs and it really should be in charge of
> setting all these counts right. After all ATF is in charge of suspend /
> resume and CPU up / down. Let's get out of the way and let ATF do its
> job.
>
> A few other motivations for doing this:
> * Depending on another configuration (PMU_24M_EN_CFG) these counts can
> be either in 24M or 32k cycles. Thus, though ATF isn't really so
> involved in bringing up the GPU, ATF should probably manage the counts
> for everything so it can also manage the 24M / 32k choice.
> * It turns out that (right now) 24M mode is broken on rk3399 and not
> being used. That means that the count the kernel was programming
> in (24) was not 1 us (which it seems was intended) but was actually
> .75 ms
> * On rk3399 there are actually 2 separate registers for setting CPU
> up/down time plus 1 register for GPU up/down time. The curent kernel
> code actually was putting the register for the "little" cores in the
> "CPU" slot and the register for the "big" cores in the "GPU" slot. It
> was never initting the GPU counts.
>
> Note: this change assumes that ATF will actually set these values at
> boot, as I'm proposing in <http://crosreview.com/372381>.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
applied to my drivers branch for 4.10
Thanks
Heiko
next prev parent reply other threads:[~2016-09-26 20:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-18 18:56 [PATCH] soc: rockchip: power-domain: Don't (incorrectly) set rk3399 up/down counts Douglas Anderson
2016-08-18 18:56 ` Douglas Anderson
2016-08-18 18:56 ` Douglas Anderson
[not found] ` <1471546561-4459-1-git-send-email-dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2016-08-18 22:03 ` Heiko Stuebner
2016-08-18 22:03 ` Heiko Stuebner
2016-08-18 22:03 ` Heiko Stuebner
2016-08-18 22:08 ` Doug Anderson
2016-08-18 22:08 ` Doug Anderson
2016-08-18 22:08 ` Doug Anderson
[not found] ` <CAD=FV=W++ONg4UjjPTmzXMp9wVWjJDNyOpQW33Oc_1Y8BfTYjQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-18 22:20 ` Heiko Stuebner
2016-08-18 22:20 ` Heiko Stuebner
2016-08-18 22:20 ` Heiko Stuebner
2016-09-26 20:18 ` Heiko Stuebner [this message]
2016-09-26 20:18 ` Heiko Stuebner
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=3409868.mFCNHRg95O@phil \
--to=heiko@sntech.de \
--cc=dbasehore@chromium.org \
--cc=dianders@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=shawn.lin@rock-chips.com \
--cc=wxt@rock-chips.com \
--cc=zhangqing@rock-chips.com \
--cc=zhengxing@rock-chips.com \
/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.