drm/xe: Rework the preempt fence interface somewhat
Returning an embedded struct list_head when allocating a preempt fence leads to less code but will probably create confusion moving forward.
Fix that by returning a struct xe_preempt_fence instead and provide functions to conver to and from the list head.
No functional change. Prefixed with Draft pending more thorough testing.
Signed-off-by: Thomas Hellström thomas.hellstrom@linux.intel.com