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@xxxxxxxxxxxxxxxxxxxxx >>>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel >>>>> >>>> >> > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > 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)
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel