1 /* 2 * Copyright © 2017 Keith Packard <keithp@keithp.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * General Public License for more details. 13 */ 14 15 #ifndef _DRM_LEASE_H_ 16 #define _DRM_LEASE_H_ 17 18 struct drm_file; 19 struct drm_device; 20 struct drm_master; 21 22 struct drm_master *drm_lease_owner(struct drm_master *master); 23 24 void drm_lease_destroy(struct drm_master *lessee); 25 26 bool drm_lease_held(struct drm_file *file_priv, int id); 27 28 bool _drm_lease_held(struct drm_file *file_priv, int id); 29 30 void drm_lease_revoke(struct drm_master *master); 31 32 uint32_t drm_lease_filter_crtcs(struct drm_file *file_priv, uint32_t crtcs); 33 34 int drm_mode_create_lease_ioctl(struct drm_device *dev, 35 void *data, struct drm_file *file_priv); 36 37 int drm_mode_list_lessees_ioctl(struct drm_device *dev, 38 void *data, struct drm_file *file_priv); 39 40 int drm_mode_get_lease_ioctl(struct drm_device *dev, 41 void *data, struct drm_file *file_priv); 42 43 int drm_mode_revoke_lease_ioctl(struct drm_device *dev, 44 void *data, struct drm_file *file_priv); 45 46 #endif /* _DRM_LEASE_H_ */ 47