[Intel-gfx] [PATCH] drm/i915/bxt: fix RC6 residency time calculation

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Sep 29 06:17:56 PDT 2015


On Tue, Sep 29, 2015 at 03:07:59PM +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.
> 
> Testcase: igt/pm_rc6_residency
> Signed-off-by: Imre Deak <imre.deak at 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..7879255 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 {

missing IS_BROXTON()

> +		units = 1;
> +		div = 1200;		/* 833.33ns */

Yeah, so based on Bspec "Timestamp bases" section, this is
in fact 16 19.2MHz clocks.

With the bxt check added this is
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  	}
>  
>  	raw_time = I915_READ(reg) * units;
> -- 
> 2.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list