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

From: ClÃment PÃron
Date: Sat May 09 2020 - 12:28:59 EST


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...


>
> > - 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