1 // SPDX-License-Identifier: MIT
3 * Copyright © 2023 Intel Corporation
6 #include <drm/drm_modeset_lock.h>
8 #include "intel_display_types.h"
9 #include "intel_modeset_lock.h"
11 void _intel_modeset_lock_begin(struct drm_modeset_acquire_ctx *ctx,
12 struct intel_atomic_state *state,
13 unsigned int flags, int *ret)
15 drm_modeset_acquire_init(ctx, flags);
18 state->base.acquire_ctx = ctx;
23 bool _intel_modeset_lock_loop(int *ret)
25 if (*ret == -EDEADLK) {
33 void _intel_modeset_lock_end(struct drm_modeset_acquire_ctx *ctx,
34 struct intel_atomic_state *state,
37 if (*ret == -EDEADLK) {
39 drm_atomic_state_clear(&state->base);
41 *ret = drm_modeset_backoff(ctx);
48 drm_modeset_drop_locks(ctx);
49 drm_modeset_acquire_fini(ctx);