mirror of https://gitee.com/openkylin/linux.git
drm/i915: Skip idling an idle engine
During suspend (or module unload), if we have never accessed the engine (i.e. userspace never submitted a batch to it), the engine is idle. Then we attempt to idle the engine by forcing it to the default context, which actually means we submit a render batch to setup the golden context state and then wait for it to complete. We can skip this entirely as we know the engine is idle. v2: Drop incorrect comment. References: https://bugs.freedesktop.org/show_bug.cgi?id=95634 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1466776558-21516-1-git-send-email-chris@chris-wilson.co.uk
This commit is contained in:
parent
a09d0ba174
commit
62e6300768
|
@ -3677,8 +3677,10 @@ int i915_gpu_idle(struct drm_device *dev)
|
|||
struct intel_engine_cs *engine;
|
||||
int ret;
|
||||
|
||||
/* Flush everything onto the inactive list. */
|
||||
for_each_engine(engine, dev_priv) {
|
||||
if (engine->last_context == NULL)
|
||||
continue;
|
||||
|
||||
if (!i915.enable_execlists) {
|
||||
struct drm_i915_gem_request *req;
|
||||
|
||||
|
|
Loading…
Reference in New Issue