Lines Matching refs:lessee

19 #define drm_for_each_lessee(lessee, lessor) \  argument
20 list_for_each_entry((lessee), &(lessor)->lessees, lessee_list)
88 struct drm_master *lessee; in _drm_has_leased() local
91 drm_for_each_lessee(lessee, master) in _drm_has_leased()
92 if (_drm_lease_held_master(lessee, id)) in _drm_has_leased()
200 struct drm_master *lessee; in drm_lease_create() local
207 lessee = drm_master_create(lessor->dev); in drm_lease_create()
208 if (!lessee) { in drm_lease_create()
229 id = idr_alloc(&(drm_lease_owner(lessor)->lessee_idr), lessee, 1, 0, GFP_KERNEL); in drm_lease_create()
235 lessee->lessee_id = id; in drm_lease_create()
236 lessee->lessor = drm_master_get(lessor); in drm_lease_create()
237 list_add_tail(&lessee->lessee_list, &lessor->lessees); in drm_lease_create()
240 lessee->leases = *leases; in drm_lease_create()
241 …DRM_DEBUG_LEASE("new lessee %d %p, lessor %d %p\n", lessee->lessee_id, lessee, lessor->lessee_id, … in drm_lease_create()
244 return lessee; in drm_lease_create()
249 drm_master_put(&lessee); in drm_lease_create()
490 struct drm_master *lessee = NULL; in drm_mode_create_lease_ioctl() local
545 lessee = drm_lease_create(lessor, &leases); in drm_mode_create_lease_ioctl()
547 if (IS_ERR(lessee)) { in drm_mode_create_lease_ioctl()
548 ret = PTR_ERR(lessee); in drm_mode_create_lease_ioctl()
563 lessee_priv->master = lessee; in drm_mode_create_lease_ioctl()
568 DRM_DEBUG_LEASE("Returning fd %d id %d\n", fd, lessee->lessee_id); in drm_mode_create_lease_ioctl()
570 cl->lessee_id = lessee->lessee_id; in drm_mode_create_lease_ioctl()
579 drm_master_put(&lessee); in drm_mode_create_lease_ioctl()
607 struct drm_master *lessor = lessor_priv->master, *lessee; in drm_mode_list_lessees_ioctl() local
623 drm_for_each_lessee(lessee, lessor) { in drm_mode_list_lessees_ioctl()
625 if (!idr_is_empty(&lessee->leases)) { in drm_mode_list_lessees_ioctl()
627 DRM_DEBUG_LEASE("Add lessee %d\n", lessee->lessee_id); in drm_mode_list_lessees_ioctl()
628 ret = put_user(lessee->lessee_id, lessee_ids + count); in drm_mode_list_lessees_ioctl()
660 struct drm_master *lessee = lessee_priv->master; in drm_mode_get_lease_ioctl() local
674 DRM_DEBUG_LEASE("get lease for %d\n", lessee->lessee_id); in drm_mode_get_lease_ioctl()
678 if (lessee->lessor == NULL) in drm_mode_get_lease_ioctl()
680 object_idr = &lessee->dev->mode_config.object_idr; in drm_mode_get_lease_ioctl()
683 object_idr = &lessee->leases; in drm_mode_get_lease_ioctl()
720 struct drm_master *lessee; in drm_mode_revoke_lease_ioctl() local
731 lessee = _drm_find_lessee(lessor, arg->lessee_id); in drm_mode_revoke_lease_ioctl()
734 if (!lessee) { in drm_mode_revoke_lease_ioctl()
740 if (lessee->lessor != lessor) { in drm_mode_revoke_lease_ioctl()
745 _drm_lease_revoke(lessee); in drm_mode_revoke_lease_ioctl()