On Thu, Oct 09, 2025 at 04:09:29PM +0200, Boris Brezillon wrote:
>On Thu, 9 Oct 2025 16:08:20 +0200
>Boris Brezillon <[email protected]> wrote:
>
>> On Thu, 9 Oct 2025 22:00:39 +0800
>> Rain Yang <[email protected]> wrote:
>>
>> > 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;
>>
>> Add a blank line here.
>>
>> > + /** @pm: Power management related data. */
>
>Also, the comment is wrong, and it would probably make sense to move
>that to the pm sub-struct since this is PM related.
thanks, will fix it next version.
>
>> > + struct dev_pm_domain_list *pd_list;
>> >
>>
>> Do we even need to keep the pd_list in panthor_device if we don't do
>> anything with it?
The second power domain is typically used for frequency scaling. The driver
works fine when there's only one single power domain. That said, I will update
the implementation to attach multiple power domains only when the domain count
is greater than one.
>>
>> > /** @profile_mask: User-set profiling flags for job accounting. */
>> > u32 profile_mask;
>>
>