Lines Matching refs:lessor

19 #define drm_for_each_lessee(lessee, lessor) \
20 list_for_each_entry((lessee), &(lessor)->lessees, lessee_list)
30 * drm_master at the top of the tree (i.e, with lessor NULL
34 while (master->lessor != NULL)
35 master = master->lessor;
41 * @master: drm_master of lessor
70 if (master->lessor)
147 if (!master->lessor) {
182 if (!master->lessor) {
212 * @lessor: lease holder (or owner) of objects
225 static struct drm_master *drm_lease_create(struct drm_master *lessor, struct idr *leases)
227 struct drm_device *dev = lessor->dev;
234 DRM_DEBUG_LEASE("lessor %d\n", lessor->lessee_id);
236 lessee = drm_master_create(lessor->dev);
248 else if (_drm_has_leased(lessor, object))
258 id = idr_alloc(&(drm_lease_owner(lessor)->lessee_idr), lessee, 1, 0, GFP_KERNEL);
265 lessee->lessor = drm_master_get(lessor);
266 list_add_tail(&lessee->lessee_list, &lessor->lessees);
270 DRM_DEBUG_LEASE("new lessee %d %p, lessor %d %p\n", lessee->lessee_id, lessee, lessor->lessee_id, lessor);
288 * hold a reference on their lessor. Notify any
289 * lessor for this master so that it can check
316 if (master->lessor) {
319 drm_master_put(&master->lessor);
355 while (master != top && master == list_last_entry(&master->lessor->lessees, struct drm_master, lessee_list))
356 master = master->lessor;
520 struct drm_master *lessor;
543 lessor = drm_file_get_master(lessor_priv);
545 if (lessor->lessor) {
582 lessee = drm_lease_create(lessor, &leases);
590 /* Clone the lessor file to create a new file for us */
613 drm_master_put(&lessor);
624 drm_master_put(&lessor);
647 struct drm_master *lessor, *lessee;
658 lessor = drm_file_get_master(lessor_priv);
659 DRM_DEBUG_LEASE("List lessees for %d\n", lessor->lessee_id);
664 drm_for_each_lessee(lessee, lessor) {
682 drm_master_put(&lessor);
721 if (lessee->lessor == NULL)
763 struct drm_master *lessor;
773 lessor = drm_file_get_master(lessor_priv);
776 lessee = _drm_find_lessee(lessor, arg->lessee_id);
784 /* Lease is not held by lessor */
785 if (lessee->lessor != lessor) {
794 drm_master_put(&lessor);