[PATCH 0/5] Unmappable DRM client buffers for fbdev emulation
Thomas Zimmermann
tzimmermann at suse.de
Fri Jul 5 07:09:41 UTC 2019
Hi
Am 04.07.19 um 16:15 schrieb Noralf Trønnes:
>>> Hm, why do you think that?
>>
>> Drivers may already come with their own shadow buffer. Cirrus is an
>> example of that. It uses shmem buffer objects as shadow fbs and
>> internally updates the device frame buffer in its dirty callback. Using
>> dirty() to select the shadow fbdev adds another buffer (and another
>> memcpy) for no reason.
>
> Cirruc uses shmem buffers and they won't work with fbdev defio (both use
> page->lru). shmem is the reason I added shadow buffering to generic
> fbdev in the first place. It will now work with whatever backing buffer
> the driver uses, as long as it can provide a virtual address on the dumb
> buffer (not the case with rockchip for instance, due to limited virtual
> address space).
OK, I see. Thanks or clarifying.
Best regards
Thomas
> Noralf.
>
>>
>> Best regards
>> Thomas
>>
>>> The thing with fbdev defio is that it only supports kmalloc and vmalloc
>>> allocated memory (page->lru is avail.). This means that only the CMA
>>> drivers can use defio without shadow memory. To keep things simple
>>> everyone with a dirty() callback gets a shadow buffer.
>>>
>>> Noralf.
>>>
>>>> Best regards
>>>> Thomas
>>>>
>>>>> Really nice diffstat by the way :-)
>>>>>
>>>>> Noralf.
>>>>>
>>>>>> [1] https://lists.freedesktop.org/archives/dri-devel/2019-June/224423.html
>>>>>>
>>>>>> Thomas Zimmermann (5):
>>>>>> drm/client: Support unmapping of DRM client buffers
>>>>>> drm/fb-helper: Unmap BO for shadow-buffered framebuffer console
>>>>>> drm/ast: Replace struct ast_fbdev with generic framebuffer emulation
>>>>>> drm/bochs: Use shadow buffer for bochs framebuffer console
>>>>>> drm/mgag200: Replace struct mga_fbdev with generic framebuffer
>>>>>> emulation
>>>>>>
>>>>>> drivers/gpu/drm/ast/Makefile | 2 +-
>>>>>> drivers/gpu/drm/ast/ast_drv.c | 22 +-
>>>>>> drivers/gpu/drm/ast/ast_drv.h | 17 --
>>>>>> drivers/gpu/drm/ast/ast_fb.c | 341 -------------------------
>>>>>> drivers/gpu/drm/ast/ast_main.c | 30 ++-
>>>>>> drivers/gpu/drm/ast/ast_mode.c | 21 --
>>>>>> drivers/gpu/drm/bochs/bochs_kms.c | 2 +-
>>>>>> drivers/gpu/drm/drm_client.c | 71 ++++-
>>>>>> drivers/gpu/drm/drm_fb_helper.c | 14 +-
>>>>>> drivers/gpu/drm/mgag200/Makefile | 2 +-
>>>>>> drivers/gpu/drm/mgag200/mgag200_drv.h | 19 --
>>>>>> drivers/gpu/drm/mgag200/mgag200_fb.c | 309 ----------------------
>>>>>> drivers/gpu/drm/mgag200/mgag200_main.c | 61 +++--
>>>>>> drivers/gpu/drm/mgag200/mgag200_mode.c | 27 --
>>>>>> include/drm/drm_client.h | 3 +
>>>>>> 15 files changed, 154 insertions(+), 787 deletions(-)
>>>>>> delete mode 100644 drivers/gpu/drm/ast/ast_fb.c
>>>>>> delete mode 100644 drivers/gpu/drm/mgag200/mgag200_fb.c
>>>>>>
>>>>>> --
>>>>>> 2.21.0
>>>>>>
>>>>> _______________________________________________
>>>>> dri-devel mailing list
>>>>> dri-devel at lists.freedesktop.org
>>>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>>>>>
>>>>
>>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190705/fabc84b4/attachment.sig>
More information about the dri-devel
mailing list