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()
202 struct drm_master *lessee; in drm_lease_create() local
209 lessee = drm_master_create(lessor->dev); in drm_lease_create()
210 if (!lessee) { in drm_lease_create()
231 id = idr_alloc(&(drm_lease_owner(lessor)->lessee_idr), lessee, 1, 0, GFP_KERNEL); in drm_lease_create()
237 lessee->lessee_id = id; in drm_lease_create()
238 lessee->lessor = drm_master_get(lessor); in drm_lease_create()
239 list_add_tail(&lessee->lessee_list, &lessor->lessees); in drm_lease_create()
242 lessee->leases = *leases; in drm_lease_create()
243 …DRM_DEBUG_LEASE("new lessee %d %p, lessor %d %p\n", lessee->lessee_id, lessee, lessor->lessee_id, … in drm_lease_create()
246 return lessee; in drm_lease_create()
251 drm_master_put(&lessee); in drm_lease_create()
494 struct drm_master *lessee = NULL; in drm_mode_create_lease_ioctl() local
550 lessee = drm_lease_create(lessor, &leases); in drm_mode_create_lease_ioctl()
552 if (IS_ERR(lessee)) { in drm_mode_create_lease_ioctl()
553 ret = PTR_ERR(lessee); in drm_mode_create_lease_ioctl()
569 lessee_priv->master = lessee; in drm_mode_create_lease_ioctl()
574 DRM_DEBUG_LEASE("Returning fd %d id %d\n", fd, lessee->lessee_id); in drm_mode_create_lease_ioctl()
576 cl->lessee_id = lessee->lessee_id; in drm_mode_create_lease_ioctl()
585 drm_master_put(&lessee); in drm_mode_create_lease_ioctl()
612 struct drm_master *lessor = lessor_priv->master, *lessee; in drm_mode_list_lessees_ioctl() local
628 drm_for_each_lessee(lessee, lessor) { in drm_mode_list_lessees_ioctl()
630 if (!idr_is_empty(&lessee->leases)) { in drm_mode_list_lessees_ioctl()
632 DRM_DEBUG_LEASE("Add lessee %d\n", lessee->lessee_id); in drm_mode_list_lessees_ioctl()
633 ret = put_user(lessee->lessee_id, lessee_ids + count); in drm_mode_list_lessees_ioctl()
665 struct drm_master *lessee = lessee_priv->master; in drm_mode_get_lease_ioctl() local
679 DRM_DEBUG_LEASE("get lease for %d\n", lessee->lessee_id); in drm_mode_get_lease_ioctl()
683 if (lessee->lessor == NULL) in drm_mode_get_lease_ioctl()
685 object_idr = &lessee->dev->mode_config.object_idr; in drm_mode_get_lease_ioctl()
688 object_idr = &lessee->leases; in drm_mode_get_lease_ioctl()
725 struct drm_master *lessee; in drm_mode_revoke_lease_ioctl() local
736 lessee = _drm_find_lessee(lessor, arg->lessee_id); in drm_mode_revoke_lease_ioctl()
739 if (!lessee) { in drm_mode_revoke_lease_ioctl()
745 if (lessee->lessor != lessor) { in drm_mode_revoke_lease_ioctl()
750 _drm_lease_revoke(lessee); in drm_mode_revoke_lease_ioctl()