[PATCH 2/2] drm/panfrost: add devfreq regulator support
peron.clem at gmail.com
Sat May 9 19:40:07 UTC 2020
On Sat, 9 May 2020 at 18:28, Clément Péron <peron.clem at gmail.com> wrote:
> Hi Steven,
> On Thu, 7 May 2020 at 16:30, Steven Price <steven.price at arm.com> 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 at arm.com> wrote:
> > >>
> > >> Hi Clément,
> > >>
> > >> On 13/04/2020 18:28, Clément Péron wrote:
> > >>> Hi Steven,
> > >>>
> > >
> > 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.
> > > - 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.
> > Steve
More information about the dri-devel