[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d6465e7e-8e05-8b7d-16bd-f40877969089@arm.com>
Date: Mon, 13 Apr 2020 16:55:06 +0100
From: Steven Price <steven.price@....com>
To: Clément Péron <peron.clem@...il.com>
Cc: Rob Herring <robh@...nel.org>,
Tomeu Vizoso <tomeu.vizoso@...labora.com>,
Alyssa Rosenzweig <alyssa.rosenzweig@...labora.com>,
Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
Stephen Boyd <sboyd@...nel.org>,
dri-devel <dri-devel@...ts.freedesktop.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] drm/panfrost: add devfreq regulator support
On 13/04/2020 15:31, Clément Péron wrote:
> Hi,
>
> On Mon, 13 Apr 2020 at 16:18, Clément Péron <peron.clem@...il.com> wrote:
>>
>> Hi Steven,
>>
>> On Mon, 13 Apr 2020 at 15:18, Steven Price <steven.price@....com> wrote:
>>>
>>> On 11/04/2020 21:06, Clément Péron wrote:
>>>> OPP table can defined both frequency and voltage.
>>>>
>>>> Register the mali regulator if it exist.
>>>>
>>>> Signed-off-by: Clément Péron <peron.clem@...il.com>
>>>> ---
>>>> drivers/gpu/drm/panfrost/panfrost_devfreq.c | 34 ++++++++++++++++++---
>>>> drivers/gpu/drm/panfrost/panfrost_device.h | 1 +
>>>> 2 files changed, 31 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
>>>> index 62541f4edd81..2dc8e2355358 100644
>>>> --- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c
>>>> +++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
>>>> @@ -78,12 +78,26 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev)
>>>> struct device *dev = &pfdev->pdev->dev;
>>>> struct devfreq *devfreq;
>>>> struct thermal_cooling_device *cooling;
>>>> + const char *mali = "mali";
>>>> + struct opp_table *opp_table = NULL;
>>>> +
>>>> + /* Regulator is optional */
>>>> + opp_table = dev_pm_opp_set_regulators(dev, &mali, 1);
>>>
>>> This looks like it applies before 3e1399bccf51 ("drm/panfrost: Add
>>> support for multiple regulators") which is currently in drm-misc-next
>>> (and linux-next). You want something more like:
>>
>> Thanks for you review, indeed I didn't see that multiple regulators
>> support has been added.
>> Will update in v2.
>>
>>>
>>> opp_table = dev_pm_opp_set_regulators(dev,
>>> pfdev->comp->supply_names,
>>> pfdev->comp->num_supplies);
>>>
>>> Otherwise a platform with multiple regulators won't work correctly.
>>>
>>> Also running on my firefly (RK3288) board I get the following warning:
>>>
>>> debugfs: Directory 'ffa30000.gpu-mali' with parent 'vdd_gpu' already
>>> present!
>>>
>>> This is due to the regulator debugfs entries getting created twice (once
>>> in panfrost_regulator_init() and once here).
>>
>> Is it a warning that should be consider as an error? Look's more an info no?
>> What should be the correct behavior if a device want to register two
>> times the same regulator?
>
> Or we can change the name from vdd_XXX to opp_vdd_XXX ?
> https://elixir.bootlin.com/linux/latest/source/drivers/opp/debugfs.c#L45
Yes, I'm not sure that it's actually a problem in practice. And it may
well be correct to change this in the generic code rather than try to
work around it in Panfrost. But we shouldn't spam the user with warnings
as that makes real issues harder to see.
Your suggestion to change the name seems reasonable to me, but I don't
fully understand the opp code, so we'd need some review from the OPP
maintainers. Hopefully Viresh, Nishanth or Stephen can provide some insight.
Steve
Powered by blists - more mailing lists