From: Rain Yang Date: Wed, 22 Oct 2025 09:26:04 +0000 (+0800) Subject: drm/panthor: attach the driver's multiple power domains X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=858a7e416b5157edba905abcbd90734069aa550f;p=thirdparty%2Fkernel%2Flinux.git drm/panthor: attach the driver's multiple power domains 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(). Suggested-by: Boris Brezillon Suggested-by: Steven Price Signed-off-by: Prabhu Sundararaj Signed-off-by: Rain Yang Reviewed-by: Liviu Dudau Link: https://patch.msgid.link/20251022092604.181752-1-jiyu.yang@oss.nxp.com Signed-off-by: Liviu Dudau --- diff --git a/drivers/gpu/drm/panthor/panthor_device.c b/drivers/gpu/drm/panthor/panthor_device.c index 83adacaa5760d..31fb8ed68199b 100644 --- a/drivers/gpu/drm/panthor/panthor_device.c +++ b/drivers/gpu/drm/panthor/panthor_device.c @@ -66,6 +66,16 @@ static int panthor_clk_init(struct panthor_device *ptdev) return 0; } +static int panthor_init_power(struct device *dev) +{ + struct dev_pm_domain_list *pd_list = NULL; + + if (dev->pm_domain) + return 0; + + return devm_pm_domain_attach_list(dev, NULL, &pd_list); +} + void panthor_device_unplug(struct panthor_device *ptdev) { /* This function can be called from two different path: the reset work @@ -222,6 +232,12 @@ int panthor_device_init(struct panthor_device *ptdev) if (ret) return ret; + ret = panthor_init_power(ptdev->base.dev); + if (ret < 0) { + drm_err(&ptdev->base, "init power domains failed, ret=%d", ret); + return ret; + } + ret = panthor_devfreq_init(ptdev); if (ret) return ret;