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

Dave Airlie airlied at gmail.com
Thu Jul 6 00:42:31 UTC 2017


> +/**
> + * 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.


More information about the dri-devel mailing list