Re: [PATCH 6/6] drm: Add four ioctls for managing drm mode object leases [v3]

From: Dave Airlie
Date: Wed Jul 05 2017 - 20:42:42 EST


> +/**
> + * Lease mode resources, creating another drm_master.
> + */
> +struct drm_mode_create_lease {
> + /** Pointer to array of object ids (__u32) */
> + __u64 object_ids;
> + /** Number of object ids */
> + __u32 object_count;
> + /** flags for new FD (O_CLOEXEC, etc) */
> + __u32 flags;
> +
> + /** Return: unique identifier for lessee. */
> + __u32 lessee_id;
> + /** Return: file descriptor to new drm_master file */
> + __u32 fd;
> +};
> +
> +/**
> + * List lesses from a drm_master
> + */
> +struct drm_mode_list_lessees {
> + /** Number of lessees.
> + * On input, provides length of the array.
> + * On output, provides total number. No
> + * more than the input number will be written
> + * back, so two calls can be used to get
> + * the size and then the data.
> + */
> + __u32 count_lessees;
> +
> + /** Pointer to lessees.
> + * pointer to __u64 array of lessee ids
> + */
> + __u64 lessees_ptr;
> +};

I think this needs a pad ^.

> +
> +/**
> + * Get leased objects
> + */
> +struct drm_mode_get_lease {
> + /** Number of leased objects.
> + * On input, provides length of the array.
> + * On output, provides total number. No
> + * more than the input number will be written
> + * back, so two calls can be used to get
> + * the size and then the data.
> + */
> + __u32 count_objects;
> +
> + /** Pointer to objects.
> + * pointer to __u32 array of object ids
> + */
> + __u64 objects_ptr;

And this.

> +};
> +
> +/**
> + * Revoke lease
> + */
> +struct drm_mode_revoke_lease {
> + /** Unique ID of lessee
> + */
> + __u32 lessee_id;

And this.

Dave.