Thread (11 messages) flat view 11 messages, 4 authors, 2020-02-26

Re: [PATCH v3 4/4] drm/panfrost: Register to the Energy Model with devfreq device

From: Rob Herring <robh@kernel.org>
Date: 2020-02-25 20:58:02
Also in: dri-devel, linux-mediatek

On Fri, Feb 21, 2020 at 1:48 PM Lukasz Luba [off-list ref] wrote:
Add device to the Energy Model framework. It will create a dedicated
and unified data structures used i.e. in the thermal framework.
The power model used in dev_pm_opp subsystem is simplified and created
based on DT 'dynamic-power-coefficient', volatage and frequency. It is
typo.
quoted hunk ↗ jump to hunk
similar to the CPU model used in Energy Aware Scheduler.

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
---
 drivers/gpu/drm/panfrost/panfrost_devfreq.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
index 413987038fbf..d527a5113950 100644
--- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c
+++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
@@ -105,6 +105,8 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev)
        }
        pfdev->devfreq.devfreq = devfreq;

+       dev_pm_opp_of_register_em(dev, NULL);
Can't fail?
quoted hunk ↗ jump to hunk
+
        cooling = of_devfreq_cooling_register(dev->of_node, devfreq);
        if (IS_ERR(cooling))
                DRM_DEV_INFO(dev, "Failed to register cooling device\n");
@@ -118,6 +120,7 @@ void panfrost_devfreq_fini(struct panfrost_device *pfdev)
 {
        if (pfdev->devfreq.cooling)
                devfreq_cooling_unregister(pfdev->devfreq.cooling);
+       dev_pm_opp_of_unregister_em(&pfdev->pdev->dev);
        dev_pm_opp_of_remove_table(&pfdev->pdev->dev);
Does it make sense to keep this (and the registration side) as
separate calls? Perhaps there's some ordering requirement with
everything between dev_pm_opp_of_add_table() and
dev_pm_opp_of_register_em()?

While you're just adding 2 lines, it seems there's a lot of complexity
exposed to the driver just to initialize devfreq/opp.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help