Lines Matching refs:drm_master

31  * - An 'owner' is a &struct drm_master that is not leasing objects from
32 * another &struct drm_master, and hence 'owns' the objects. The owner can be
33 * identified as the &struct drm_master for which &drm_master.lessor is NULL.
35 * - A 'lessor' is a &struct drm_master which is leasing objects to one or more
36 * other &struct drm_master. Currently, lessees are not allowed to
39 * - A 'lessee' is a &struct drm_master which is leasing objects from some
40 * other &struct drm_master. Each lessee only leases resources from a single
41 * lessor recorded in &drm_master.lessor, and holds the set of objects that
42 * it is leasing in &drm_master.leases.
49 * The set of objects any &struct drm_master 'controls' is limited to the set
52 * Objects not controlled by a &struct drm_master cannot be modified through
59 * leases form a tree of &struct drm_master. As lessees are currently not
63 * the owner at the top of the lease tree (i.e. the &struct drm_master for which
64 * &drm_master.lessor is NULL). The full list of lessees that are leasing
66 * &drm_master.lessee_idr.
74 struct drm_master *drm_lease_owner(struct drm_master *master)
81 static struct drm_master*
82 _drm_find_lessee(struct drm_master *master, int lessee_id)
88 static int _drm_lease_held_master(struct drm_master *master, int id)
96 /* Checks if the given object has been leased to some lessee of drm_master */
97 static bool _drm_has_leased(struct drm_master *master, int id)
99 struct drm_master *lessee;
112 struct drm_master *master;
128 struct drm_master *master;
156 struct drm_master *master;
197 * Uses drm_master_create to allocate a new drm_master, then checks to
207 static struct drm_master *drm_lease_create(struct drm_master *lessor, struct idr *leases)
211 struct drm_master *lessee;
266 void drm_lease_destroy(struct drm_master *master)
300 static void _drm_lease_revoke(struct drm_master *top)
304 struct drm_master *master = top;
324 master = list_first_entry(&master->lessees, struct drm_master, lessee_list);
327 while (master != top && master == list_last_entry(&master->lessor->lessees, struct drm_master, lessee_list))
339 void drm_lease_revoke(struct drm_master *top)
483 struct drm_master *lessor;
484 struct drm_master *lessee = NULL;
595 struct drm_master *lessor, *lessee;
643 struct drm_master *lessee;
699 struct drm_master *lessor;
700 struct drm_master *lessee;