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