drm/i915: Refactor work that can sleep out of commit (v7)