summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/panfrost/panfrost_device.c
diff options
context:
space:
mode:
authorClément Péron <peron.clem@gmail.com>2020-07-10 11:54:05 +0200
committerRob Herring <robh@kernel.org>2020-08-07 10:11:26 -0600
commitfd587ff01d59554144e2fd20f4113638a45c7c4e (patch)
tree7ab708d65960edb19811dbdafdccdc9ce38c6fe8 /drivers/gpu/drm/panfrost/panfrost_device.c
parent512f21227fd3d2dbe7aad57a995b9732229c9b56 (diff)
downloadlinux-stable-fd587ff01d59554144e2fd20f4113638a45c7c4e.tar.gz
linux-stable-fd587ff01d59554144e2fd20f4113638a45c7c4e.tar.bz2
linux-stable-fd587ff01d59554144e2fd20f4113638a45c7c4e.zip
drm/panfrost: add regulators to devfreq
Some OPP tables specify voltage for each frequency. Devfreq can handle these regulators but they should be get only 1 time to avoid issue and know who is in charge. If OPP table is probe don't init regulator. Reviewed-by: Steven Price <steven.price@arm.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-11-peron.clem@gmail.com
Diffstat (limited to 'drivers/gpu/drm/panfrost/panfrost_device.c')
-rw-r--r--drivers/gpu/drm/panfrost/panfrost_device.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/panfrost/panfrost_device.c b/drivers/gpu/drm/panfrost/panfrost_device.c
index f1474b961def..e6896733838a 100644
--- a/drivers/gpu/drm/panfrost/panfrost_device.c
+++ b/drivers/gpu/drm/panfrost/panfrost_device.c
@@ -225,9 +225,12 @@ int panfrost_device_init(struct panfrost_device *pfdev)
goto out_clk;
}
- err = panfrost_regulator_init(pfdev);
- if (err)
- goto out_devfreq;
+ /* OPP will handle regulators */
+ if (!pfdev->pfdevfreq.opp_of_table_added) {
+ err = panfrost_regulator_init(pfdev);
+ if (err)
+ goto out_devfreq;
+ }
err = panfrost_reset_init(pfdev);
if (err) {