diff mbox

drm/i915: Fix setting of boost freq tunable

Message ID 1481643127-1508-1-git-send-email-mika.kuoppala@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mika Kuoppala Dec. 13, 2016, 3:32 p.m. UTC
For limiting the max frequency of gpu, the max freq tunable
is not enough to hard limit the max gap. We now have also per
client boost max freq. When this tunable was introduced,
it was mistakenly made read only. Allow user to gain control by
setting it writable.

Fixes: 29ecd78d3b79 ("drm/i915: Define a separate variable and control for RPS waitboost frequency")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/i915_sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jani Nikula Dec. 13, 2016, 3:37 p.m. UTC | #1
On Tue, 13 Dec 2016, Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:
> For limiting the max frequency of gpu, the max freq tunable
> is not enough to hard limit the max gap. We now have also per
> client boost max freq. When this tunable was introduced,
> it was mistakenly made read only. Allow user to gain control by
> setting it writable.
>
> Fixes: 29ecd78d3b79 ("drm/i915: Define a separate variable and control for RPS waitboost frequency")

Cc: <stable@vger.kernel.org> # v4.9+

> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
> index b99fd96..40c0ac7 100644
> --- a/drivers/gpu/drm/i915/i915_sysfs.c
> +++ b/drivers/gpu/drm/i915/i915_sysfs.c
> @@ -460,7 +460,7 @@ static ssize_t gt_min_freq_mhz_store(struct device *kdev,
>  
>  static DEVICE_ATTR(gt_act_freq_mhz, S_IRUGO, gt_act_freq_mhz_show, NULL);
>  static DEVICE_ATTR(gt_cur_freq_mhz, S_IRUGO, gt_cur_freq_mhz_show, NULL);
> -static DEVICE_ATTR(gt_boost_freq_mhz, S_IRUGO, gt_boost_freq_mhz_show, gt_boost_freq_mhz_store);
> +static DEVICE_ATTR(gt_boost_freq_mhz, S_IRUGO | S_IWUSR, gt_boost_freq_mhz_show, gt_boost_freq_mhz_store);
>  static DEVICE_ATTR(gt_max_freq_mhz, S_IRUGO | S_IWUSR, gt_max_freq_mhz_show, gt_max_freq_mhz_store);
>  static DEVICE_ATTR(gt_min_freq_mhz, S_IRUGO | S_IWUSR, gt_min_freq_mhz_show, gt_min_freq_mhz_store);
Chris Wilson Dec. 13, 2016, 3:42 p.m. UTC | #2
On Tue, Dec 13, 2016 at 05:37:42PM +0200, Jani Nikula wrote:
> On Tue, 13 Dec 2016, Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote:
> > For limiting the max frequency of gpu, the max freq tunable
> > is not enough to hard limit the max gap. We now have also per
> > client boost max freq. When this tunable was introduced,
> > it was mistakenly made read only. Allow user to gain control by
> > setting it writable.
> >
> > Fixes: 29ecd78d3b79 ("drm/i915: Define a separate variable and control for RPS waitboost frequency")
> 
> Cc: <stable@vger.kernel.org> # v4.9+
> 
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> > Cc: Daniel Vetter <daniel.vetter@intel.com>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>

Already r-bed an identical patch, so
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
Ville Syrjälä Dec. 13, 2016, 3:52 p.m. UTC | #3
On Tue, Dec 13, 2016 at 05:32:07PM +0200, Mika Kuoppala wrote:
> For limiting the max frequency of gpu, the max freq tunable
> is not enough to hard limit the max gap. We now have also per
> client boost max freq. When this tunable was introduced,
> it was mistakenly made read only. Allow user to gain control by
> setting it writable.
> 
> Fixes: 29ecd78d3b79 ("drm/i915: Define a separate variable and control for RPS waitboost frequency")
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
> index b99fd96..40c0ac7 100644
> --- a/drivers/gpu/drm/i915/i915_sysfs.c
> +++ b/drivers/gpu/drm/i915/i915_sysfs.c
> @@ -460,7 +460,7 @@ static ssize_t gt_min_freq_mhz_store(struct device *kdev,
>  
>  static DEVICE_ATTR(gt_act_freq_mhz, S_IRUGO, gt_act_freq_mhz_show, NULL);
>  static DEVICE_ATTR(gt_cur_freq_mhz, S_IRUGO, gt_cur_freq_mhz_show, NULL);
> -static DEVICE_ATTR(gt_boost_freq_mhz, S_IRUGO, gt_boost_freq_mhz_show, gt_boost_freq_mhz_store);
> +static DEVICE_ATTR(gt_boost_freq_mhz, S_IRUGO | S_IWUSR, gt_boost_freq_mhz_show, gt_boost_freq_mhz_store);
>  static DEVICE_ATTR(gt_max_freq_mhz, S_IRUGO | S_IWUSR, gt_max_freq_mhz_show, gt_max_freq_mhz_store);
>  static DEVICE_ATTR(gt_min_freq_mhz, S_IRUGO | S_IWUSR, gt_min_freq_mhz_show, gt_min_freq_mhz_store);

Maybe someone could switch these to octal to make them actually legible?
Saarinen, Jani Dec. 14, 2016, 4:20 p.m. UTC | #4
> == Series Details ==

> 

> Series: drm/i915: Fix setting of boost freq tunable (rev2)

> URL   : https://patchwork.freedesktop.org/series/16748/

> State : warning

> 

> == Summary ==

> 

> Series 16748v2 drm/i915: Fix setting of boost freq tunable

> https://patchwork.freedesktop.org/api/1.0/series/16748/revisions/2/mbox/

> 

> Test kms_flip:

>         Subgroup basic-flip-vs-wf_vblank:

>                 pass       -> DMESG-WARN (fi-snb-2520m)

Still: https://bugs.freedesktop.org/show_bug.cgi?id=98625
> 

> fi-bdw-5557u     total:247  pass:233  dwarn:0   dfail:0   fail:0   skip:14

> fi-bsw-n3050     total:247  pass:208  dwarn:0   dfail:0   fail:0   skip:39

> fi-bxt-t5700     total:247  pass:220  dwarn:0   dfail:0   fail:0   skip:27

> fi-byt-j1900     total:247  pass:220  dwarn:0   dfail:0   fail:0   skip:27

> fi-byt-n2820     total:247  pass:216  dwarn:0   dfail:0   fail:0   skip:31

> fi-hsw-4770      total:247  pass:228  dwarn:0   dfail:0   fail:0   skip:19

> fi-hsw-4770r     total:247  pass:228  dwarn:0   dfail:0   fail:0   skip:19

> fi-ilk-650       total:247  pass:195  dwarn:0   dfail:0   fail:0   skip:52

> fi-ivb-3520m     total:247  pass:226  dwarn:0   dfail:0   fail:0   skip:21

> fi-ivb-3770      total:247  pass:226  dwarn:0   dfail:0   fail:0   skip:21

> fi-kbl-7500u     total:247  pass:226  dwarn:0   dfail:0   fail:0   skip:21

> fi-skl-6260u     total:247  pass:234  dwarn:0   dfail:0   fail:0   skip:13

> fi-skl-6700hq    total:247  pass:227  dwarn:0   dfail:0   fail:0   skip:20

> fi-skl-6700k     total:247  pass:224  dwarn:3   dfail:0   fail:0   skip:20

> fi-skl-6770hq    total:247  pass:234  dwarn:0   dfail:0   fail:0   skip:13

> fi-snb-2520m     total:247  pass:215  dwarn:1   dfail:0   fail:0   skip:31

> fi-snb-2600      total:247  pass:215  dwarn:0   dfail:0   fail:0   skip:32

> 

> e75e28e88de6cf33423337a64ad377116ae2141c drm-tip: 2016y-12m-14d-05h-

> 04m-11s UTC integration manifest

> 21c9d27 drm/i915: Fix setting of boost freq tunable

> 

> == Logs ==

> 

> For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_3286/


Jani Saarinen
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
index b99fd96..40c0ac7 100644
--- a/drivers/gpu/drm/i915/i915_sysfs.c
+++ b/drivers/gpu/drm/i915/i915_sysfs.c
@@ -460,7 +460,7 @@  static ssize_t gt_min_freq_mhz_store(struct device *kdev,
 
 static DEVICE_ATTR(gt_act_freq_mhz, S_IRUGO, gt_act_freq_mhz_show, NULL);
 static DEVICE_ATTR(gt_cur_freq_mhz, S_IRUGO, gt_cur_freq_mhz_show, NULL);
-static DEVICE_ATTR(gt_boost_freq_mhz, S_IRUGO, gt_boost_freq_mhz_show, gt_boost_freq_mhz_store);
+static DEVICE_ATTR(gt_boost_freq_mhz, S_IRUGO | S_IWUSR, gt_boost_freq_mhz_show, gt_boost_freq_mhz_store);
 static DEVICE_ATTR(gt_max_freq_mhz, S_IRUGO | S_IWUSR, gt_max_freq_mhz_show, gt_max_freq_mhz_store);
 static DEVICE_ATTR(gt_min_freq_mhz, S_IRUGO | S_IWUSR, gt_min_freq_mhz_show, gt_min_freq_mhz_store);