[Intel-gfx] [PATCH] drm/i915: Remove CONFIG_PM dependency from RC6.

Paul Cercueil paul at crapouillou.net
Wed Dec 7 14:35:37 UTC 2022


Hi Rodrigo,

Le mercredi 30 novembre 2022 à 13:37 +0000, Vivi, Rodrigo a écrit :
> On Wed, 2022-11-30 at 11:47 +0000, Tvrtko Ursulin wrote:
> > 
> > On 30/11/2022 02:29, Rodrigo Vivi wrote:
> > > RC6 is a sleep state that doesn't depend on the cpu sleep,
> > > or any of the APM or ACPI or anything related to the
> > > CONFIG_PM.
> > > 
> > > A long time ago we have removed the module parameter
> > > that allows the RC6 disablement. We want that feature enabled
> > > everywhere. However, for some reason this CONFIG_PM was long
> > > forgotten behind.
> > > 
> > > If we end up needing knobs to disable RC6 we should create
> > > individual ones, rather than relying on this master one.
> > 
> > Digging in history shows 5ab3633d6907 ("drm/i915: make rc6 in sysfs
> > functions conditional") and then it appears the issue could still
> > be 
> > present, since we still use power_group_name which is NULL when
> > !CONFIG_PM.
> 
> oh, indeed!
> So, we should probably go with Paul's proposal:
> https://lists.freedesktop.org/archives/intel-gfx/2022-November/311569.html

Could you ack it then? Or is there something to change?

Cheers,
-Paul

> > 
> > $ ls -l /sys/class/drm/card0/power/
> > total 0
> > -rw-r--r-- 1 root root 4096 Nov 30 11:45 async
> > -rw-r--r-- 1 root root 4096 Nov 30 11:45 autosuspend_delay_ms
> > -rw-r--r-- 1 root root 4096 Nov 30 11:45 control
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 rc6_enable
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 rc6_residency_ms
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 runtime_active_kids
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 runtime_active_time
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 runtime_enabled
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 runtime_status
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 runtime_suspended_time
> > -r--r--r-- 1 root root 4096 Nov 30 11:45 runtime_usage
> > 
> > Other than rc6 entries I guess come from somewhere else but I
> > haven't
> > looked from where exactly.
> 
> 
> Ouch! Everything else here comes from the pci's pm_runtime.
> Probably our bad decision was to add rc6 to it.
> But we do need to stick to that.
> 
> 
> > 
> > Regards,
> > 
> > Tvrtko
> > 
> > > Cc: Paul Cercueil <paul at crapouillou.net>
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > ---
> > >   drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 6 ------
> > >   1 file changed, 6 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> > > b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> > > index cf71305ad586..77327ede18ad 100644
> > > --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> > > +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> > > @@ -164,7 +164,6 @@ sysfs_gt_attribute_r_func(struct kobject
> > > *kobj,
> > > struct attribute *attr,
> > >                                                                 
> > > NULL);                 \
> > >         INTEL_GT_ATTR_RO(_name)
> > >   
> > > -#ifdef CONFIG_PM
> > >   static u32 get_residency(struct intel_gt *gt, enum
> > > intel_rc6_res_type id)
> > >   {
> > >         intel_wakeref_t wakeref;
> > > @@ -329,11 +328,6 @@ static void intel_sysfs_rc6_init(struct
> > > intel_gt *gt, struct kobject *kobj)
> > >                                  gt->info.id, ERR_PTR(ret));
> > >         }
> > >   }
> > > -#else
> > > -static void intel_sysfs_rc6_init(struct intel_gt *gt, struct
> > > kobject *kobj)
> > > -{
> > > -}
> > > -#endif /* CONFIG_PM */
> > >   
> > >   static u32 __act_freq_mhz_show(struct intel_gt *gt)
> > >   {
> 
> 



More information about the Intel-gfx mailing list