Message ID | 1443533326-19633-1-git-send-email-imre.deak@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Sep 29, 2015 at 04:28:46PM +0300, Imre Deak wrote: > The RC6 residency time unit is 833.33ns on BXT according to the > specification, so update the calculation accordingly. Use the same way > as CHV/VLV to divide by the corresponding frequency, as I think this is > the more natural unit for what the HW does internally. > > v2: > - add missing IS_BROXTON check (Ville) > > Testcase: igt/pm_rc6_residency > Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_sysfs.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c > index 74086eb..50ce9ce 100644 > --- a/drivers/gpu/drm/i915/i915_sysfs.c > +++ b/drivers/gpu/drm/i915/i915_sysfs.c > @@ -54,6 +54,9 @@ static u32 calc_residency(struct drm_device *dev, const u32 reg) > > if (I915_READ(VLV_COUNTER_CONTROL) & VLV_COUNT_RANGE_HIGH) > units <<= 8; > + } else if (IS_BROXTON(dev)) { > + units = 1; > + div = 1200; /* 833.33ns */ > } > > raw_time = I915_READ(reg) * units; > -- > 2.1.4
On Tue, Sep 29, 2015 at 10:03:43PM +0300, Ville Syrjälä wrote: > On Tue, Sep 29, 2015 at 04:28:46PM +0300, Imre Deak wrote: > > The RC6 residency time unit is 833.33ns on BXT according to the > > specification, so update the calculation accordingly. Use the same way > > as CHV/VLV to divide by the corresponding frequency, as I think this is > > the more natural unit for what the HW does internally. > > > > v2: > > - add missing IS_BROXTON check (Ville) > > > > Testcase: igt/pm_rc6_residency > > Signed-off-by: Imre Deak <imre.deak@intel.com> > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Queued for -next, thanks for the patch. -Daniel > > > --- > > drivers/gpu/drm/i915/i915_sysfs.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c > > index 74086eb..50ce9ce 100644 > > --- a/drivers/gpu/drm/i915/i915_sysfs.c > > +++ b/drivers/gpu/drm/i915/i915_sysfs.c > > @@ -54,6 +54,9 @@ static u32 calc_residency(struct drm_device *dev, const u32 reg) > > > > if (I915_READ(VLV_COUNTER_CONTROL) & VLV_COUNT_RANGE_HIGH) > > units <<= 8; > > + } else if (IS_BROXTON(dev)) { > > + units = 1; > > + div = 1200; /* 833.33ns */ > > } > > > > raw_time = I915_READ(reg) * units; > > -- > > 2.1.4 > > -- > Ville Syrjälä > Intel OTC > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c index 74086eb..50ce9ce 100644 --- a/drivers/gpu/drm/i915/i915_sysfs.c +++ b/drivers/gpu/drm/i915/i915_sysfs.c @@ -54,6 +54,9 @@ static u32 calc_residency(struct drm_device *dev, const u32 reg) if (I915_READ(VLV_COUNTER_CONTROL) & VLV_COUNT_RANGE_HIGH) units <<= 8; + } else if (IS_BROXTON(dev)) { + units = 1; + div = 1200; /* 833.33ns */ } raw_time = I915_READ(reg) * units;
The RC6 residency time unit is 833.33ns on BXT according to the specification, so update the calculation accordingly. Use the same way as CHV/VLV to divide by the corresponding frequency, as I think this is the more natural unit for what the HW does internally. v2: - add missing IS_BROXTON check (Ville) Testcase: igt/pm_rc6_residency Signed-off-by: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/i915/i915_sysfs.c | 3 +++ 1 file changed, 3 insertions(+)