xref: /openbmc/linux/include/drm/drm_lease.h (revision c942fddf)
1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
22ed077e4SKeith Packard /*
32ed077e4SKeith Packard  * Copyright © 2017 Keith Packard <keithp@keithp.com>
42ed077e4SKeith Packard  */
52ed077e4SKeith Packard 
62ed077e4SKeith Packard #ifndef _DRM_LEASE_H_
72ed077e4SKeith Packard #define _DRM_LEASE_H_
82ed077e4SKeith Packard 
92ed077e4SKeith Packard struct drm_file;
102ed077e4SKeith Packard struct drm_device;
112ed077e4SKeith Packard struct drm_master;
122ed077e4SKeith Packard 
132ed077e4SKeith Packard struct drm_master *drm_lease_owner(struct drm_master *master);
142ed077e4SKeith Packard 
152ed077e4SKeith Packard void drm_lease_destroy(struct drm_master *lessee);
162ed077e4SKeith Packard 
172ed077e4SKeith Packard bool drm_lease_held(struct drm_file *file_priv, int id);
182ed077e4SKeith Packard 
192ed077e4SKeith Packard bool _drm_lease_held(struct drm_file *file_priv, int id);
202ed077e4SKeith Packard 
212ed077e4SKeith Packard void drm_lease_revoke(struct drm_master *master);
222ed077e4SKeith Packard 
232ed077e4SKeith Packard uint32_t drm_lease_filter_crtcs(struct drm_file *file_priv, uint32_t crtcs);
242ed077e4SKeith Packard 
2562884cd3SKeith Packard int drm_mode_create_lease_ioctl(struct drm_device *dev,
2662884cd3SKeith Packard 				void *data, struct drm_file *file_priv);
2762884cd3SKeith Packard 
2862884cd3SKeith Packard int drm_mode_list_lessees_ioctl(struct drm_device *dev,
2962884cd3SKeith Packard 				void *data, struct drm_file *file_priv);
3062884cd3SKeith Packard 
3162884cd3SKeith Packard int drm_mode_get_lease_ioctl(struct drm_device *dev,
3262884cd3SKeith Packard 			     void *data, struct drm_file *file_priv);
3362884cd3SKeith Packard 
3462884cd3SKeith Packard int drm_mode_revoke_lease_ioctl(struct drm_device *dev,
3562884cd3SKeith Packard 				void *data, struct drm_file *file_priv);
3662884cd3SKeith Packard 
372ed077e4SKeith Packard #endif /* _DRM_LEASE_H_ */
38