Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > Move the overclocking max frequency detection alongside the regular > frequency detection, before we expose the undefined value to userspace. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_pm.c | 24 +++++++++++++++--------- > 1 file changed, 15 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 54f739fbd133..24b23a51c56b 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -5343,7 +5343,7 @@ static void gen8_enable_rps(struct drm_i915_private *dev_priv) > static void gen6_enable_rps(struct drm_i915_private *dev_priv) > { > struct intel_engine_cs *engine; > - u32 rc6vids, pcu_mbox = 0, rc6_mask = 0; > + u32 rc6vids, rc6_mask = 0; > u32 gtfifodbg; > int rc6_mode; > int ret; > @@ -5417,14 +5417,6 @@ static void gen6_enable_rps(struct drm_i915_private *dev_priv) > if (ret) > DRM_DEBUG_DRIVER("Failed to set the min frequency\n"); > > - ret = sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, &pcu_mbox); > - if (!ret && (pcu_mbox & (1<<31))) { /* OC supported */ > - DRM_DEBUG_DRIVER("Overclocking supported. Max: %dMHz, Overclock max: %dMHz\n", > - (dev_priv->rps.max_freq_softlimit & 0xff) * 50, > - (pcu_mbox & 0xff) * 50); > - dev_priv->rps.max_freq = pcu_mbox & 0xff; > - } > - > reset_rps(dev_priv, gen6_set_rps); > > rc6vids = 0; > @@ -6526,6 +6518,20 @@ void intel_init_gt_powersave(struct drm_i915_private *dev_priv) > dev_priv->rps.efficient_freq, > intel_freq_opcode(dev_priv, 450)); > > + /* After setting max-softlimit, find the overclock max freq */ > + if (IS_GEN6(dev_priv) || > + IS_IVYBRIDGE(dev_priv) || IS_HASWELL(dev_priv)) { > + u32 params = 0; > + > + sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, ¶ms); > + if (params & BIT(31)) { /* OC supported */ > + DRM_DEBUG_DRIVER("Overclocking supported, max: %dMHz, overclock: %dMHz\n", > + (dev_priv->rps.max_freq & 0xff) * 50, > + (params & 0xff) * 50); Yeah max_freq makes more sense. Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> > + dev_priv->rps.max_freq = params & 0xff; > + } > + } > + > mutex_unlock(&dev_priv->rps.hw_lock); > } > > -- > 2.8.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx