drm/i915: Check for error before calling cmpxchg()

Only do the locked compare of the existing fence->error if we actually
need to set an error. As we tend to call i915_sw_fence_set_error_once()
unconditionally, it saves on typing to put the common has-error check
into the inline.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191206160428.1503343-1-chris@chris-wilson.co.uk
This commit is contained in:
Chris Wilson 2019-12-06 16:04:26 +00:00
Родитель b66ecd0438
Коммит 5e6a94713b
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -112,7 +112,8 @@ static inline void i915_sw_fence_wait(struct i915_sw_fence *fence)
static inline void
i915_sw_fence_set_error_once(struct i915_sw_fence *fence, int error)
{
cmpxchg(&fence->error, 0, error);
if (unlikely(error))
cmpxchg(&fence->error, 0, error);
}
#endif /* _I915_SW_FENCE_H_ */