Messages in this thread | | | From | Heiko Stuebner <> | Subject | Re: [RFC PATCH 2/2] PM / devfreq: rk3399_dmc: Block PMU during transitions | Date | Sun, 08 May 2022 17:07:09 +0200 |
| |
Am Samstag, 7. Mai 2022, 16:21:59 CEST schrieb Chanwoo Choi: > On 22. 4. 14. 08:13, Chanwoo Choi wrote: > > On 22. 4. 14. 07:45, Heiko Stübner wrote: > >> Hi, > >> > >> Am Donnerstag, 14. April 2022, 00:14:40 CEST schrieb Chanwoo Choi: > >>> On 22. 4. 6. 10:48, Brian Norris wrote: > >>>> See the previous patch ("soc: rockchip: power-domain: Manage resource > >>>> conflicts with firmware") for a thorough explanation of the conflicts. > >>>> While ARM Trusted Firmware may be modifying memory controller and > >>>> power-domain states, we need to block the kernel's power-domain driver. > >>>> > >>>> If the power-domain driver is disabled, there is no resource conflict > >>>> and this becomes a no-op. > >>>> > >>>> Signed-off-by: Brian Norris <briannorris@chromium.org> > >>>> --- > >>>> > >>>> drivers/devfreq/rk3399_dmc.c | 13 +++++++++++++ > >>>> 1 file changed, 13 insertions(+) > >>>> > >>>> diff --git a/drivers/devfreq/rk3399_dmc.c > >>>> b/drivers/devfreq/rk3399_dmc.c > >>>> index e494d1497d60..daff40702615 100644 > >>>> --- a/drivers/devfreq/rk3399_dmc.c > >>>> +++ b/drivers/devfreq/rk3399_dmc.c > >>>> @@ -21,6 +21,7 @@ > >>>> #include <linux/rwsem.h> > >>>> #include <linux/suspend.h> > >>>> +#include <soc/rockchip/pm_domains.h> > >>>> #include <soc/rockchip/rk3399_grf.h> > >>>> #include <soc/rockchip/rockchip_sip.h> > >>>> @@ -93,6 +94,16 @@ static int rk3399_dmcfreq_target(struct device > >>>> *dev, unsigned long *freq, > >>>> mutex_lock(&dmcfreq->lock); > >>>> + /* > >>>> + * Ensure power-domain transitions don't interfere with ARM > >>>> Trusted > >>>> + * Firmware power-domain idling. > >>>> + */ > >>>> + err = rockchip_pmu_block(); > >>>> + if (err) { > >>>> + dev_err(dev, "Failed to block PMU: %d\n", err); > >>>> + goto out_unlock; > >>>> + } > >>>> + > >>>> /* > >>>> * Some idle parameters may be based on the DDR controller > >>>> clock, which > >>>> * is half of the DDR frequency. > >>>> @@ -198,6 +209,8 @@ static int rk3399_dmcfreq_target(struct device > >>>> *dev, unsigned long *freq, > >>>> dmcfreq->volt = target_volt; > >>>> out: > >>>> + rockchip_pmu_unblock(); > >>>> +out_unlock: > >>>> mutex_unlock(&dmcfreq->lock); > >>>> return err; > >>>> } > >>> > >>> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> > >> > >> so I guess you're ok with me picking up both patches, right? > >> [Just making sure :-) ] > > > > This patch have the dependency of latest devfreq-next branch. > > So that need to make the immutable branch between rockchip and devfreq. > > > > Hi Heiko and Brian, > > Is there any other progress? > > IMHO, if rockchip maintainer reply the acked-by from patch1 > and then agree these patches to be applied to devfreq.git, > I can take them.
sounds good to me. Patch1 looks good and correct to me, so I've added a Reviewed-by for it and it defintily makes sense for both to go through the devfreq tree then, so we don't need additional stable-branches :-)
Thanks Heiko
| |