Lines Matching refs:lessee

23 #define drm_for_each_lessee(lessee, lessor) \  argument
24 list_for_each_entry((lessee), &(lessor)->lessees, lessee_list)
93 struct drm_master *lessee; in _drm_has_leased() local
96 drm_for_each_lessee(lessee, master) in _drm_has_leased()
97 if (_drm_lease_held_master(lessee, id)) in _drm_has_leased()
208 struct drm_master *lessee; in drm_lease_create() local
215 lessee = drm_master_create(lessor->dev); in drm_lease_create()
216 if (!lessee) { in drm_lease_create()
239 id = idr_alloc(&(drm_lease_owner(lessor)->lessee_idr), lessee, 1, 0, GFP_KERNEL); in drm_lease_create()
245 lessee->lessee_id = id; in drm_lease_create()
246 lessee->lessor = drm_master_get(lessor); in drm_lease_create()
247 list_add_tail(&lessee->lessee_list, &lessor->lessees); in drm_lease_create()
250 lessee->leases = *leases; in drm_lease_create()
251 …DRM_DEBUG_LEASE("new lessee %d %p, lessor %d %p\n", lessee->lessee_id, lessee, lessor->lessee_id, … in drm_lease_create()
254 return lessee; in drm_lease_create()
259 drm_master_put(&lessee); in drm_lease_create()
500 struct drm_master *lessee = NULL; in drm_mode_create_lease_ioctl() local
547 lessee = drm_lease_create(lessor, &leases); in drm_mode_create_lease_ioctl()
549 if (IS_ERR(lessee)) { in drm_mode_create_lease_ioctl()
550 ret = PTR_ERR(lessee); in drm_mode_create_lease_ioctl()
565 lessee_priv->master = lessee; in drm_mode_create_lease_ioctl()
570 DRM_DEBUG_LEASE("Returning fd %d id %d\n", fd, lessee->lessee_id); in drm_mode_create_lease_ioctl()
572 cl->lessee_id = lessee->lessee_id; in drm_mode_create_lease_ioctl()
581 drm_master_put(&lessee); in drm_mode_create_lease_ioctl()
609 struct drm_master *lessor = lessor_priv->master, *lessee; in drm_mode_list_lessees_ioctl() local
625 drm_for_each_lessee(lessee, lessor) { in drm_mode_list_lessees_ioctl()
627 if (!idr_is_empty(&lessee->leases)) { in drm_mode_list_lessees_ioctl()
629 DRM_DEBUG_LEASE("Add lessee %d\n", lessee->lessee_id); in drm_mode_list_lessees_ioctl()
630 ret = put_user(lessee->lessee_id, lessee_ids + count); in drm_mode_list_lessees_ioctl()
662 struct drm_master *lessee = lessee_priv->master; in drm_mode_get_lease_ioctl() local
676 DRM_DEBUG_LEASE("get lease for %d\n", lessee->lessee_id); in drm_mode_get_lease_ioctl()
680 if (lessee->lessor == NULL) in drm_mode_get_lease_ioctl()
682 object_idr = &lessee->dev->mode_config.crtc_idr; in drm_mode_get_lease_ioctl()
685 object_idr = &lessee->leases; in drm_mode_get_lease_ioctl()
722 struct drm_master *lessee; in drm_mode_revoke_lease_ioctl() local
733 lessee = _drm_find_lessee(lessor, arg->lessee_id); in drm_mode_revoke_lease_ioctl()
736 if (!lessee) { in drm_mode_revoke_lease_ioctl()
742 if (lessee->lessor != lessor) { in drm_mode_revoke_lease_ioctl()
747 _drm_lease_revoke(lessee); in drm_mode_revoke_lease_ioctl()