[Intel-gfx] [PATCH 2/2] drm/i915: load a ring frequency scaling table
Jesse Barnes
jbarnes at virtuousgeek.org
Tue Jun 28 19:40:49 CEST 2011
On Mon, 27 Jun 2011 10:54:48 -0700
Eric Anholt <eric at anholt.net> wrote:
> > + for (gpu_freq = dev_priv->max_delay; gpu_freq >= dev_priv->min_delay;
> > + gpu_freq--) {
> > + int diff = dev_priv->max_delay - gpu_freq;
> > +
> > + /*
> > + * For GPU frequencies less than 750MHz, just use the lowest
> > + * ring freq.
> > + */
> > + if (gpu_freq < min_freq)
> > + ia_freq = 800;
> > + else
> > + ia_freq = max_ia_freq - ((diff * scaling_factor) / 2);
> > + ia_freq = DIV_ROUND_CLOSEST(ia_freq, 100);
>
> If the GPU has a wide enough clock range (diff large) and the CPU is low
> enough clocked (max_ia_freq low now), could we end up with the ia_freq <
> 800, and would that be a bad thing? In other words, should
> scaling_factor be non-constant?
scaling_factor probably should be non-constant, but I don't know what
function it should follow.
ia_freq < 800 shouldn't break anything, but would probably result in
sub-optimal GPU performance. OTOH it would save power...
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list