[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251009140039.101189-1-jiyu.yang@oss.nxp.com>
Date: Thu, 9 Oct 2025 22:00:39 +0800
From: Rain Yang <jiyu.yang@....nxp.com>
To: imx@...ts.linux.dev,
dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Cc: boris.brezillon@...labora.com,
steven.price@....com,
liviu.dudau@....com,
maarten.lankhorst@...ux.intel.com,
mripard@...nel.org,
tzimmermann@...e.de,
airlied@...il.com,
simona@...ll.ch,
Rain Yang <jiyu.yang@....com>,
Prabhu Sundararaj <prabhu.sundararaj@....com>
Subject: [PATCH] drm/panthor: attach the driver's multiple power domains
From: Rain Yang <jiyu.yang@....com>
Some platforms, such as i.MX95, utilize multiple power domains that need
to be attached explicitly. This patch ensures that the driver properly
attaches all available power domains using devm_pm_domain_attach_list().
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@....com>
Signed-off-by: Rain Yang <jiyu.yang@....com>
---
drivers/gpu/drm/panthor/panthor_device.c | 6 ++++++
drivers/gpu/drm/panthor/panthor_device.h | 2 ++
2 files changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/panthor/panthor_device.c b/drivers/gpu/drm/panthor/panthor_device.c
index f0b2da5b2b96..6f40d053b16c 100644
--- a/drivers/gpu/drm/panthor/panthor_device.c
+++ b/drivers/gpu/drm/panthor/panthor_device.c
@@ -218,6 +218,12 @@ int panthor_device_init(struct panthor_device *ptdev)
if (ret)
return ret;
+ ret = devm_pm_domain_attach_list(ptdev->base.dev, NULL, &ptdev->pd_list);
+ if (ret < 0) {
+ drm_err(&ptdev->base, "attach power domains failed, ret=%d", ret);
+ return ret;
+ }
+
ret = panthor_devfreq_init(ptdev);
if (ret)
return ret;
diff --git a/drivers/gpu/drm/panthor/panthor_device.h b/drivers/gpu/drm/panthor/panthor_device.h
index 4fc7cf2aeed5..5ecb541ec67b 100644
--- a/drivers/gpu/drm/panthor/panthor_device.h
+++ b/drivers/gpu/drm/panthor/panthor_device.h
@@ -196,6 +196,8 @@ struct panthor_device {
/** @recovery_needed: True when a resume attempt failed. */
atomic_t recovery_needed;
} pm;
+ /** @pm: Power management related data. */
+ struct dev_pm_domain_list *pd_list;
/** @profile_mask: User-set profiling flags for job accounting. */
u32 profile_mask;
--
2.39.5
Powered by blists - more mailing lists