[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPM=9tw59ctS4VC_b8JUR-mJBWJ_1CQ3BiyWciDBCVj15_98yQ@mail.gmail.com>
Date: Thu, 5 Oct 2017 13:24:10 +1000
From: Dave Airlie <airlied@...il.com>
To: Keith Packard <keithp@...thp.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
Dave Airlie <airlied@...hat.com>,
Daniel Vetter <daniel@...ll.ch>,
dri-devel <dri-devel@...ts.freedesktop.org>
Subject: Re: [PATCH 6/6] drm: Add four ioctls for managing drm mode object
leases [v3]
On 5 October 2017 at 13:17, Dave Airlie <airlied@...il.com> wrote:
>> ---
>> drivers/gpu/drm/drm_ioctl.c | 4 +
>> drivers/gpu/drm/drm_lease.c | 270 ++++++++++++++++++++++++++++++++++++++++++++
>> include/drm/drm_lease.h | 12 ++
>> include/uapi/drm/drm.h | 5 +
>> include/uapi/drm/drm_mode.h | 64 +++++++++++
>> 5 files changed, 355 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
>> index a5a259964c7d..0a43e82d3f06 100644
>> --- a/drivers/gpu/drm/drm_ioctl.c
>> +++ b/drivers/gpu/drm/drm_ioctl.c
>> @@ -657,6 +657,10 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
>> DRM_UNLOCKED|DRM_RENDER_ALLOW),
>> DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, drm_syncobj_fd_to_handle_ioctl,
>> DRM_UNLOCKED|DRM_RENDER_ALLOW),
>> + DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATE_LEASE, drm_mode_create_lease_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
>> + DRM_IOCTL_DEF(DRM_IOCTL_MODE_LIST_LESSEES, drm_mode_list_lessees_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
>> + DRM_IOCTL_DEF(DRM_IOCTL_MODE_GET_LEASE, drm_mode_get_lease_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
>> + DRM_IOCTL_DEF(DRM_IOCTL_MODE_REVOKE_LEASE, drm_mode_revoke_lease_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
>> };
>>
>> #define DRM_CORE_IOCTL_COUNT ARRAY_SIZE( drm_ioctls )
>> diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c
>> index a8bd4bdd2977..f233d8b488f2 100644
>> --- a/drivers/gpu/drm/drm_lease.c
>> +++ b/drivers/gpu/drm/drm_lease.c
>> @@ -23,6 +23,8 @@
>> #define drm_for_each_lessee(lessee, lessor) \
>> list_for_each_entry((lessee), &(lessor)->lessees, lessee_list)
>>
>> +static uint64_t drm_lease_idr_object;
>
> What is this for? ^^
>
>> + ret = idr_alloc(&leases, &drm_lease_idr_object , object_id, object_id + 1, GFP_KERNEL);
>
> You can just pass NULL here.
>
Just read the comment, this smells a bit of black magic, I'll spend
some time staring at it :-)
Dave.
Powered by blists - more mailing lists