Re: [PATCH 2/2] drm/panfrost: add devfreq regulator support

From: ClÃment PÃron
Date: Sat May 09 2020 - 15:40:24 EST


On Sat, 9 May 2020 at 18:28, ClÃment PÃron <peron.clem@xxxxxxxxx> wrote:
>
> Hi Steven,
>
> On Thu, 7 May 2020 at 16:30, Steven Price <steven.price@xxxxxxx> wrote:
> >
> > On 02/05/2020 23:07, ClÃment PÃron wrote:
> > > Hi Steven,
> > >
> > > On Tue, 14 Apr 2020 at 15:10, Steven Price <steven.price@xxxxxxx> wrote:
> > >>
> > >> Hi ClÃment,
> > >>
> > >> On 13/04/2020 18:28, ClÃment PÃron wrote:
> > >>> Hi Steven,
> > >>>
> > >
> <snip>
> >
> > Since you've got a reproduction - can you get a backtrace where the
> > regulator is getting disabled?
>
> Regulator is disabled from regulator_late_cleanup()
>
> [ 33.757650] vdd-gpu: disabling
> [ 33.760718] CPU: 2 PID: 31 Comm: kworker/2:1 Not tainted
> 5.7.0-rc2-next-20200424 #8
> [ 33.768362] Hardware name: Beelink GS1 (DT)
> [ 33.772553] Workqueue: events regulator_init_complete_work_function
> [ 33.778813] Call trace:
> [ 33.781261] dump_backtrace+0x0/0x1a0
> [ 33.784922] show_stack+0x18/0x30
> [ 33.788238] dump_stack+0xc0/0x114
> [ 33.791638] regulator_late_cleanup+0x164/0x1f0
> [ 33.796165] class_for_each_device+0x64/0xe0
> [ 33.800431] regulator_init_complete_work_function+0x4c/0x60
> [ 33.806084] process_one_work+0x19c/0x330
> [ 33.810090] worker_thread+0x4c/0x430
> [ 33.813748] kthread+0x138/0x160
> [ 33.816973] ret_from_fork+0x10/0x24
>
> the use_count is at 0...
>
> I have check and the regulator_get is called and regulator_put is
> never called for vdd-gpu.
> Not sure what is happening here...

Looks like the OPP framework only get the regulator but never enable it...

I will send a question to OPP Maintainer about this.

Regards,
CLement

>
>
> >
> > > - The Cooling map is not probe correctly :
> > > [ 2.545756] panfrost 1800000.gpu: [drm:panfrost_devfreq_init
> > > [panfrost]] Failed to register cooling device
> > > Introduce in this commit :
> > > https://github.com/clementperon/linux/commit/0252c38fd55ad78366ac4b1714e285c88db34557
> > >
> > > Do you have an hint about what I'm missing ?
> >
> > Sorry, my knowledge of the cooling framework is very limited. What
> > you've got looks plausible, but I'm afraid I can't really help beyond
> > that! As before - can you try adding some printk()s in e.g.
> > of_devfreq_cooling_register_power() and find out where it is bailing out?
>
> Dumb issue, I was missing the CONFIG_DEVFREQ_THERMAL -_-, I will make
> a patch to enable it in arm64 defconfig.
>
> Regards,
> Clement
>
> >
> > Steve