blob: 5c9ef6a2aeae55e7d06f5b79c5098bd489491f43 [file] [log] [blame]
Thomas Gleixnerc942fdd2019-05-27 08:55:06 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Keith Packard2ed077e2017-03-14 22:26:41 -07002/*
3 * Copyright © 2017 Keith Packard <keithp@keithp.com>
Keith Packard2ed077e2017-03-14 22:26:41 -07004 */
5
6#ifndef _DRM_LEASE_H_
7#define _DRM_LEASE_H_
8
9struct drm_file;
10struct drm_device;
11struct drm_master;
12
13struct drm_master *drm_lease_owner(struct drm_master *master);
14
15void drm_lease_destroy(struct drm_master *lessee);
16
17bool drm_lease_held(struct drm_file *file_priv, int id);
18
19bool _drm_lease_held(struct drm_file *file_priv, int id);
20
21void drm_lease_revoke(struct drm_master *master);
22
23uint32_t drm_lease_filter_crtcs(struct drm_file *file_priv, uint32_t crtcs);
24
Keith Packard62884cd2017-03-16 17:56:28 -070025int drm_mode_create_lease_ioctl(struct drm_device *dev,
26 void *data, struct drm_file *file_priv);
27
28int drm_mode_list_lessees_ioctl(struct drm_device *dev,
29 void *data, struct drm_file *file_priv);
30
31int drm_mode_get_lease_ioctl(struct drm_device *dev,
32 void *data, struct drm_file *file_priv);
33
34int drm_mode_revoke_lease_ioctl(struct drm_device *dev,
35 void *data, struct drm_file *file_priv);
36
Keith Packard2ed077e2017-03-14 22:26:41 -070037#endif /* _DRM_LEASE_H_ */