1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright © 2017 Keith Packard <keithp@keithp.com>
4  */
5 
6 #ifndef _DRM_LEASE_H_
7 #define _DRM_LEASE_H_
8 
9 struct drm_file;
10 struct drm_device;
11 struct drm_master;
12 
13 struct drm_master *drm_lease_owner(struct drm_master *master);
14 
15 void drm_lease_destroy(struct drm_master *lessee);
16 
17 bool drm_lease_held(struct drm_file *file_priv, int id);
18 
19 bool _drm_lease_held(struct drm_file *file_priv, int id);
20 
21 void drm_lease_revoke(struct drm_master *master);
22 
23 uint32_t drm_lease_filter_crtcs(struct drm_file *file_priv, uint32_t crtcs);
24 
25 int drm_mode_create_lease_ioctl(struct drm_device *dev,
26 				void *data, struct drm_file *file_priv);
27 
28 int drm_mode_list_lessees_ioctl(struct drm_device *dev,
29 				void *data, struct drm_file *file_priv);
30 
31 int drm_mode_get_lease_ioctl(struct drm_device *dev,
32 			     void *data, struct drm_file *file_priv);
33 
34 int drm_mode_revoke_lease_ioctl(struct drm_device *dev,
35 				void *data, struct drm_file *file_priv);
36 
37 #endif /* _DRM_LEASE_H_ */
38