[Intel-gfx] drm/i915/slpc: Update freq min/max softlimits

Chris Wilson chris at chris-wilson.co.uk
Sun Aug 21 08:39:54 UTC 2016


On Sun, Aug 21, 2016 at 11:39:22AM +0530, Kamble, Sagar A wrote:
> 
> 
> On 8/20/2016 1:32 PM, Chris Wilson wrote:
> >On Sat, Aug 20, 2016 at 10:39:25AM +0530, Sagar Arun Kamble wrote:
> >>+	obj = dev_priv->guc.slpc.vma->obj;
> >>+	if (obj) {
> >OOPS.
> Fixed in next series.
> >
> >>+		intel_slpc_query_task_state(dev_priv);
> >>+
> >>+		page = i915_gem_object_get_page(obj, 0);
> >>+		if (page)
> >>+			pv = kmap_atomic(page);
> >>+	}
> >>+
> >>+	if (pv) {
> >>+		data = *(struct slpc_shared_data *) pv;
> >>+		kunmap_atomic(pv);
> >Can kmap_atomic return zero?
> Fixed in next series.
> >
> >>+
> >>+		/*
> >>+		 * TODO: Define separate variables for slice and unslice
> >>+		 *	 frequencies for driver state variable.
> >>+		 */
> >>+		dev_priv->rps.max_freq_softlimit =
> >>+				data.task_state_data.freq_unslice_max;
> >>+		dev_priv->rps.min_freq_softlimit =
> >>+				data.task_state_data.freq_unslice_min;
> >These are user values, you do not get to arbitrarily rewrite them.
> >
> >You control dev_priv->rps.[min|max]_freq.
> With SLPC, GuC firmware SLPC S/W requested frequency be operated in
> the softlimits analogous to
> Host softlimits. Limits might be different with SLPC and can be
> controlled through regular interfaces.
> dev_priv->rps.[min|max]_freq are HW Min/Max.

Exactly. The soft limits are *only* set by the user. They are not to
modified by the driver. (The caveat would be a dynamic update of the hw
range, but that too should never be required.)
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list