Hi Sebastian,
[...]
> --- a/drivers/gpu/drm/i915/gt/intel_context.c
> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
> @@ -475,6 +475,11 @@ void intel_context_enter_engine(struct intel_context *ce)
>
> void intel_context_exit_engine(struct intel_context *ce)
> {
> + if (unlikely(atomic_read(&ce->engine->wakeref.count) <= 0)) {
> + intel_timeline_exit(ce->timeline);
Do you know if intel_timeline_exit() tampers with engine's
wakeref counter in any way? If not, you could rearrange the code
a bit to save a few lines:
{
intel_timeline_exit(ce->timeline);
if (likely(atomic_read(&ce->engine->wakeref.count) > 0)
intel_engine_pm_put(ce->engine);
}
Otherwise, the code looks sane:
Reviewed-by: Krzysztof Karas <[email protected]>
--
Best Regards,
Krzysztof