Kick the scheduler to allow it to see the timeslice duration change, don't peek into execlists. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/gt/sysfs_engines.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/sysfs_engines.c b/drivers/gpu/drm/i915/gt/sysfs_engines.c index 57ef5383dd4e..526f8402cfb7 100644 --- a/drivers/gpu/drm/i915/gt/sysfs_engines.c +++ b/drivers/gpu/drm/i915/gt/sysfs_engines.c @@ -9,6 +9,7 @@ #include "i915_drv.h" #include "intel_engine.h" #include "intel_engine_heartbeat.h" +#include "intel_engine_pm.h" #include "sysfs_engines.h" struct kobj_engine { @@ -222,9 +223,8 @@ timeslice_store(struct kobject *kobj, struct kobj_attribute *attr, return -EINVAL; WRITE_ONCE(engine->props.timeslice_duration_ms, duration); - - if (execlists_active(&engine->execlists)) - set_timer_ms(&engine->execlists.timer, duration); + if (intel_engine_pm_is_awake(engine)) + intel_engine_kick_scheduler(engine); return count; } @@ -326,9 +326,8 @@ preempt_timeout_store(struct kobject *kobj, struct kobj_attribute *attr, return -EINVAL; WRITE_ONCE(engine->props.preempt_timeout_ms, timeout); - - if (READ_ONCE(engine->execlists.pending[0])) - set_timer_ms(&engine->execlists.preempt, timeout); + if (intel_engine_pm_is_awake(engine)) + intel_engine_kick_scheduler(engine); return count; } -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx