On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <[email protected]> wrote:
>
> If sram-supply is missing, Panthor falls back to a
> dummy regulator with a warning. This implicit behavior
> hides missing DT wiring behind regulator core fallback.
>
> Make SRAM handling explicit: require sram-supply for all
> Panthor compatibles except mt8196-mali where GPU supplies
> are intentionally managed outside Panthor and DT does not
> model sram-supply for that compatible.
>
> This keeps DT power modeling explicit and avoids relying on
> dummy-regulator fallback.
>
> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> Signed-off-by: Onur Özkan <[email protected]>
> ---
> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c
> b/drivers/gpu/drm/panthor/panthor_devfreq.c
> index 2249b41ca4af..5f6075f18fe3 100644
> --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
> +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
> @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
> * But without knowing if it's beneficial or not (in term of power
> * consumption), or how much it slows down the suspend/resume steps,
> * let's just keep regulators enabled for the device lifetime.
> + *
> + * Treat sram-supply as mandatory except for mt8196-mali. It manages
> + * SRAM outside Panthor so this driver must not require direct control
> + * over it.
> */
> - ret = devm_regulator_get_enable_optional(dev, "sram");
> - if (ret && ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
I wonder if a more generic device tree flag would be better here.
What happens if others do the same as Mediatek or Mediatek decides to
do this with more processors and this list grows? It seems like a
panthor binding might be useful to prevent future bloat. As of right
now, the 8196 isn't uptream,so it seems like adding this flag would be
harmless to everything else, and it woudl likely be required on mt8196
adam
> + ret = devm_regulator_get_enable_optional(dev, "sram");
> + if (ret) {
> DRM_DEV_ERROR(dev, "Couldn't retrieve/enable sram
> supply\n");
> - return ret;
> + return ret;
> + }
> }
>
> opp = devfreq_recommended_opp(dev, &cur_freq, 0);
> --
> 2.51.2
>
>