Skip to content

Commit c84b270

Browse files
committed
drm/i915: Extract intel_get_cagf
Code to be shared between debugfs and the PMU implementation. v2: Checkpatch cleanup. v3: Also consolidate i915_sysfs.c/gt_act_freq_mhz_show. v4: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171121181852.16128-1-tvrtko.ursulin@linux.intel.com
1 parent f9eb63b commit c84b270

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
lines changed

drivers/gpu/drm/i915/i915_debugfs.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,13 +1151,8 @@ static int i915_frequency_info(struct seq_file *m, void *unused)
11511151
rpdownei = I915_READ(GEN6_RP_CUR_DOWN_EI) & GEN6_CURIAVG_MASK;
11521152
rpcurdown = I915_READ(GEN6_RP_CUR_DOWN) & GEN6_CURBSYTAVG_MASK;
11531153
rpprevdown = I915_READ(GEN6_RP_PREV_DOWN) & GEN6_CURBSYTAVG_MASK;
1154-
if (INTEL_GEN(dev_priv) >= 9)
1155-
cagf = (rpstat & GEN9_CAGF_MASK) >> GEN9_CAGF_SHIFT;
1156-
else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
1157-
cagf = (rpstat & HSW_CAGF_MASK) >> HSW_CAGF_SHIFT;
1158-
else
1159-
cagf = (rpstat & GEN6_CAGF_MASK) >> GEN6_CAGF_SHIFT;
1160-
cagf = intel_gpu_freq(dev_priv, cagf);
1154+
cagf = intel_gpu_freq(dev_priv,
1155+
intel_get_cagf(dev_priv, rpstat));
11611156

11621157
intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
11631158

drivers/gpu/drm/i915/i915_drv.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4226,6 +4226,8 @@ int intel_freq_opcode(struct drm_i915_private *dev_priv, int val);
42264226
u64 intel_rc6_residency_us(struct drm_i915_private *dev_priv,
42274227
const i915_reg_t reg);
42284228

4229+
u32 intel_get_cagf(struct drm_i915_private *dev_priv, u32 rpstat1);
4230+
42294231
#define I915_READ8(reg) dev_priv->uncore.funcs.mmio_readb(dev_priv, (reg), true)
42304232
#define I915_WRITE8(reg, val) dev_priv->uncore.funcs.mmio_writeb(dev_priv, (reg), (val), true)
42314233

drivers/gpu/drm/i915/i915_sysfs.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -252,14 +252,9 @@ static ssize_t gt_act_freq_mhz_show(struct device *kdev,
252252
freq = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS);
253253
ret = intel_gpu_freq(dev_priv, (freq >> 8) & 0xff);
254254
} else {
255-
u32 rpstat = I915_READ(GEN6_RPSTAT1);
256-
if (INTEL_GEN(dev_priv) >= 9)
257-
ret = (rpstat & GEN9_CAGF_MASK) >> GEN9_CAGF_SHIFT;
258-
else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
259-
ret = (rpstat & HSW_CAGF_MASK) >> HSW_CAGF_SHIFT;
260-
else
261-
ret = (rpstat & GEN6_CAGF_MASK) >> GEN6_CAGF_SHIFT;
262-
ret = intel_gpu_freq(dev_priv, ret);
255+
ret = intel_gpu_freq(dev_priv,
256+
intel_get_cagf(dev_priv,
257+
I915_READ(GEN6_RPSTAT1)));
263258
}
264259
mutex_unlock(&dev_priv->pcu_lock);
265260

drivers/gpu/drm/i915/intel_pm.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9468,3 +9468,17 @@ u64 intel_rc6_residency_us(struct drm_i915_private *dev_priv,
94689468
intel_runtime_pm_put(dev_priv);
94699469
return DIV_ROUND_UP_ULL(time_hw * units, div);
94709470
}
9471+
9472+
u32 intel_get_cagf(struct drm_i915_private *dev_priv, u32 rpstat)
9473+
{
9474+
u32 cagf;
9475+
9476+
if (INTEL_GEN(dev_priv) >= 9)
9477+
cagf = (rpstat & GEN9_CAGF_MASK) >> GEN9_CAGF_SHIFT;
9478+
else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
9479+
cagf = (rpstat & HSW_CAGF_MASK) >> HSW_CAGF_SHIFT;
9480+
else
9481+
cagf = (rpstat & GEN6_CAGF_MASK) >> GEN6_CAGF_SHIFT;
9482+
9483+
return cagf;
9484+
}

0 commit comments

Comments
 (0)