lkml.org 
[lkml]   [2022]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC PATCH 2/2] PM / devfreq: rk3399_dmc: Block PMU during transitions
    From
    On 22. 5. 9. 00:07, Heiko Stuebner wrote:
    > 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 :-)

    OK. I'll take them with your reviewed-by tag. Thanks.


    --
    Best Regards,
    Samsung Electronics
    Chanwoo Choi

    \
     
     \ /
      Last update: 2022-05-08 21:05    [W:4.969 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site