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