[PATCH 3/3] drm: Update documentation and TODO of gem_prime_mmap hook
Thomas Zimmermann
tzimmermann at suse.de
Wed Nov 10 12:56:00 UTC 2021
Hi
Am 10.11.21 um 11:46 schrieb Daniel Vetter:
> On Mon, Nov 08, 2021 at 11:28:46AM +0100, Thomas Zimmermann wrote:
>> The hook gem_prime_mmap in struct drm_driver is deprecated. Document
>> the new requirements.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Thanks a lot!
With the remaining patches merged, all drivers will implement
gem_prime_mmap via drm_gem_prime_mmap() and use the GEM object's mmap
callback for specific details.
The next step would be to move all custom implementations of
file_operations.mmap into the GEM object's mmap and implement the
file_operations callback with drm_mmap().
Best regards
Thomas
>
>> ---
>> Documentation/gpu/todo.rst | 11 -----------
>> include/drm/drm_drv.h | 11 +++++++----
>> 2 files changed, 7 insertions(+), 15 deletions(-)
>>
>> diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
>> index 60d1d7ee0719..6593c4c4006e 100644
>> --- a/Documentation/gpu/todo.rst
>> +++ b/Documentation/gpu/todo.rst
>> @@ -268,17 +268,6 @@ Contact: Daniel Vetter
>>
>> Level: Intermediate
>>
>> -Clean up mmap forwarding
>> -------------------------
>> -
>> -A lot of drivers forward gem mmap calls to dma-buf mmap for imported buffers.
>> -And also a lot of them forward dma-buf mmap to the gem mmap implementations.
>> -There's drm_gem_prime_mmap() for this now, but still needs to be rolled out.
>> -
>> -Contact: Daniel Vetter
>> -
>> -Level: Intermediate
>> -
>> Generic fbdev defio support
>> ---------------------------
>>
>> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
>> index 0cd95953cdf5..a84eb4028e5b 100644
>> --- a/include/drm/drm_drv.h
>> +++ b/include/drm/drm_drv.h
>> @@ -345,11 +345,14 @@ struct drm_driver {
>> * mmap hook for GEM drivers, used to implement dma-buf mmap in the
>> * PRIME helpers.
>> *
>> - * FIXME: There's way too much duplication going on here, and also moved
>> - * to &drm_gem_object_funcs.
>> + * This hook only exists for historical reasons. Drivers must use
>> + * drm_gem_prime_mmap() to implement it.
>> + *
>> + * FIXME: Convert all drivers to implement mmap in struct
>> + * &drm_gem_object_funcs and inline drm_gem_prime_mmap() into
>> + * its callers. This hook should be removed afterwards.
>
> I think at least i915 has different semantics between dma-buf mmap and gem
> mmap in some cases, so this might be tricky to achieve. But I think
> everywhere else this should be solid.
> -Daniel
>
>> */
>> - int (*gem_prime_mmap)(struct drm_gem_object *obj,
>> - struct vm_area_struct *vma);
>> + int (*gem_prime_mmap)(struct drm_gem_object *obj, struct vm_area_struct *vma);
>>
>> /**
>> * @dumb_create:
>> --
>> 2.33.1
>>
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20211110/d156fdb8/attachment-0001.sig>
More information about the dri-devel
mailing list