From: Rain Yang <[email protected]>

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 <[email protected]>
Signed-off-by: Rain Yang <[email protected]>
---
 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

Reply via email to