mirror of
https://github.com/torvalds/linux.git
synced 2026-04-30 20:42:33 -04:00
drm/i915: Pack params to engine->schedule() into a struct
Today we only want to pass along the priority to engine->schedule(), but in the future we want to have much more control over the various aspects of the GPU during a context's execution, for example controlling the frequency allowed. As we need an ever growing number of parameters for scheduling, move those into a struct for convenience. v2: Move the anonymous struct into its own function for legibility and ye olde gcc. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180418184052.7129-3-chris@chris-wilson.co.uk
This commit is contained in:
@@ -12761,6 +12761,15 @@ static void intel_plane_unpin_fb(struct intel_plane_state *old_plane_state)
|
||||
intel_unpin_fb_vma(vma, old_plane_state->flags);
|
||||
}
|
||||
|
||||
static void fb_obj_bump_render_priority(struct drm_i915_gem_object *obj)
|
||||
{
|
||||
struct i915_sched_attr attr = {
|
||||
.priority = I915_PRIORITY_DISPLAY,
|
||||
};
|
||||
|
||||
i915_gem_object_wait_priority(obj, 0, &attr);
|
||||
}
|
||||
|
||||
/**
|
||||
* intel_prepare_plane_fb - Prepare fb for usage on plane
|
||||
* @plane: drm plane to prepare for
|
||||
@@ -12837,7 +12846,7 @@ intel_prepare_plane_fb(struct drm_plane *plane,
|
||||
|
||||
ret = intel_plane_pin_fb(to_intel_plane_state(new_state));
|
||||
|
||||
i915_gem_object_wait_priority(obj, 0, I915_PRIORITY_DISPLAY);
|
||||
fb_obj_bump_render_priority(obj);
|
||||
|
||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||
i915_gem_object_unpin_pages(obj);
|
||||
|
||||
Reference in New Issue
Block a user