From: Nicolas Boichat <drinkcat@chromium.org> To: Rob Herring <robh@kernel.org>, Steven Price <steven.price@arm.com>, Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Cc: fshao@chromium.org, Tomeu Vizoso <tomeu.vizoso@collabora.com>, hoegsberg@chromium.org, boris.brezillon@collabora.com, hsinyi@chromium.org, Nicolas Boichat <drinkcat@chromium.org>, Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v11 3/4] drm/panfrost: devfreq: Disable devfreq when num_supplies > 1 Date: Tue, 26 Jan 2021 09:17:58 +0800 [thread overview] Message-ID: <20210126091747.v11.3.I3af068abe30c9c85cabc4486385c52e56527a509@changeid> (raw) In-Reply-To: <20210126011759.1605641-1-drinkcat@chromium.org> GPUs with more than a single regulator (e.g. G72 on MT8183) will require platform-specific handling for devfreq, for 2 reasons: 1. The opp core (drivers/opp/core.c:_generic_set_opp_regulator) does not support multiple regulators, so we'll need custom handlers. 2. Generally, platforms with 2 regulators have platform-specific constraints on how the voltages should be set (e.g. minimum/maximum voltage difference between them), so we should not just create generic handlers that simply change the voltages without taking care of those constraints. Disable devfreq for now on those GPUs. Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> --- Changes in v11: None Changes in v10: None Changes in v9: - Explain why devfreq needs to be disabled for GPUs with >1 regulators. Changes in v8: - Use DRM_DEV_INFO instead of ERROR Changes in v7: - Fix GPU ID in commit message Changes in v6: - devfreq: New change Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c index 7c5ffc81dce1..a544ae1e560a 100644 --- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c +++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c @@ -93,6 +93,15 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev) struct thermal_cooling_device *cooling; struct panfrost_devfreq *pfdevfreq = &pfdev->pfdevfreq; + if (pfdev->comp->num_supplies > 1) { + /* + * GPUs with more than 1 supply require platform-specific handling: + * continue without devfreq + */ + DRM_DEV_INFO(dev, "More than 1 supply is not supported yet\n"); + return 0; + } + opp_table = dev_pm_opp_set_regulators(dev, pfdev->comp->supply_names, pfdev->comp->num_supplies); if (IS_ERR(opp_table)) { -- 2.30.0.280.ga3ce27912f-goog
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Boichat <drinkcat@chromium.org> To: Rob Herring <robh@kernel.org>, Steven Price <steven.price@arm.com>, Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Cc: Nicolas Boichat <drinkcat@chromium.org>, Tomeu Vizoso <tomeu.vizoso@collabora.com>, fshao@chromium.org, David Airlie <airlied@linux.ie>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, boris.brezillon@collabora.com, hsinyi@chromium.org, hoegsberg@chromium.org Subject: [PATCH v11 3/4] drm/panfrost: devfreq: Disable devfreq when num_supplies > 1 Date: Tue, 26 Jan 2021 09:17:58 +0800 [thread overview] Message-ID: <20210126091747.v11.3.I3af068abe30c9c85cabc4486385c52e56527a509@changeid> (raw) In-Reply-To: <20210126011759.1605641-1-drinkcat@chromium.org> GPUs with more than a single regulator (e.g. G72 on MT8183) will require platform-specific handling for devfreq, for 2 reasons: 1. The opp core (drivers/opp/core.c:_generic_set_opp_regulator) does not support multiple regulators, so we'll need custom handlers. 2. Generally, platforms with 2 regulators have platform-specific constraints on how the voltages should be set (e.g. minimum/maximum voltage difference between them), so we should not just create generic handlers that simply change the voltages without taking care of those constraints. Disable devfreq for now on those GPUs. Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> --- Changes in v11: None Changes in v10: None Changes in v9: - Explain why devfreq needs to be disabled for GPUs with >1 regulators. Changes in v8: - Use DRM_DEV_INFO instead of ERROR Changes in v7: - Fix GPU ID in commit message Changes in v6: - devfreq: New change Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c index 7c5ffc81dce1..a544ae1e560a 100644 --- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c +++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c @@ -93,6 +93,15 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev) struct thermal_cooling_device *cooling; struct panfrost_devfreq *pfdevfreq = &pfdev->pfdevfreq; + if (pfdev->comp->num_supplies > 1) { + /* + * GPUs with more than 1 supply require platform-specific handling: + * continue without devfreq + */ + DRM_DEV_INFO(dev, "More than 1 supply is not supported yet\n"); + return 0; + } + opp_table = dev_pm_opp_set_regulators(dev, pfdev->comp->supply_names, pfdev->comp->num_supplies); if (IS_ERR(opp_table)) { -- 2.30.0.280.ga3ce27912f-goog _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2021-01-26 10:30 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-26 1:17 [PATCH v11 0/4] drm/panfrost: Add support for mt8183 GPU Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` [PATCH v11 1/4] dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183 Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-02-05 17:55 ` Rob Herring 2021-02-05 17:55 ` Rob Herring 2021-02-05 17:55 ` Rob Herring 2021-02-05 17:55 ` Rob Herring 2021-02-06 3:01 ` Nicolas Boichat 2021-02-06 3:01 ` Nicolas Boichat 2021-02-06 3:01 ` Nicolas Boichat 2021-02-06 3:01 ` Nicolas Boichat 2021-04-20 12:58 ` Rob Herring 2021-04-20 12:58 ` Rob Herring 2021-04-20 12:58 ` Rob Herring 2021-04-20 12:58 ` Rob Herring 2021-04-20 13:01 ` Rob Herring 2021-04-20 13:01 ` Rob Herring 2021-04-20 13:01 ` Rob Herring 2021-04-20 13:01 ` Rob Herring 2021-04-21 0:11 ` Nicolas Boichat 2021-04-21 0:11 ` Nicolas Boichat 2021-04-21 0:11 ` Nicolas Boichat 2021-04-21 0:11 ` Nicolas Boichat 2021-01-26 1:17 ` [PATCH v11 2/4] arm64: dts: mt8183: Add node for the Mali GPU Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-04-20 15:33 ` Neil Armstrong 2021-04-20 15:33 ` Neil Armstrong 2021-04-20 15:33 ` Neil Armstrong 2021-04-21 0:03 ` Nicolas Boichat 2021-04-21 0:03 ` Nicolas Boichat 2021-04-21 0:03 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat [this message] 2021-01-26 1:17 ` [PATCH v11 3/4] drm/panfrost: devfreq: Disable devfreq when num_supplies > 1 Nicolas Boichat 2021-01-26 1:17 ` [PATCH v11 4/4] drm/panfrost: Add mt8183-mali compatible string Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat 2021-01-26 1:17 ` Nicolas Boichat
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210126091747.v11.3.I3af068abe30c9c85cabc4486385c52e56527a509@changeid \ --to=drinkcat@chromium.org \ --cc=airlied@linux.ie \ --cc=alyssa.rosenzweig@collabora.com \ --cc=boris.brezillon@collabora.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=fshao@chromium.org \ --cc=hoegsberg@chromium.org \ --cc=hsinyi@chromium.org \ --cc=linux-kernel@vger.kernel.org \ --cc=robh@kernel.org \ --cc=steven.price@arm.com \ --cc=tomeu.vizoso@collabora.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.