Linux-libre 5.4.49-gnu
[librecmc/linux-libre.git] / include / drm / drm_lease.h
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_ */