[PATCH v2 0/8] drm/vmwgfx: Refactor the buffer object code

Thomas Zimmermann tzimmermann at suse.de
Tue Jan 31 19:28:02 UTC 2023


Hi,

I cannot comment much on the internal workings of the vmwgfx driver, but 
feel free to add

Acked-by: Thomas Zimmermann <tzimmermann at suse.de>

to the patches that don't already have my r-b.

Best regards
Thomas

Am 31.01.23 um 04:35 schrieb Zack Rusin:
> From: Zack Rusin <zackr at vmware.com>
> 
> v2: Fix all the issues which Thomas pointed out in the initial review
> and split the "simplify fb pinning" change into two commits with the
> second one being just the rename.
> 
> The series refactors the buffer object code to make more alike the
> other ttm drivers. The placement becomes a property of the bo which makes
> it a lot easier to correctly validate based on the current usage.
> vmwgfx tends to do more validation due to forced moves, because the
> buffer placement sometimes need to change due to userspace commands, i.e.
> some commands e.g. SURFACE_DMA implies GMR's which are really deprecated
> in favor of MOB's, but the x11 driver still uses GMR's so buffers tend
> to flip between GMR's and MOB's a bit when running on X11.
>                                                                             
> The functionality remains largely unchanged, but the LOC are reduced by
> about 400 and the groundwork is done for adding prime support with SG
> ttm buffers.
> 
> Zack Rusin (8):
>    drm/vmwgfx: Use the common gem mmap instead of the custom code
>    drm/vmwgfx: Remove the duplicate bo_free function
>    drm/vmwgfx: Rename vmw_buffer_object to vmw_bo
>    drm/vmwgfx: Simplify fb pinning
>    drm/vmwgfx: Cleanup the vmw bo usage in the cursor paths
>    drm/vmwgfx: Rename dummy to is_iomem
>    drm/vmwgfx: Abstract placement selection
>    drm/vmwgfx: Stop using raw ttm_buffer_object's
> 
>   drivers/gpu/drm/vmwgfx/Makefile               |   2 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_bo.c            | 392 +++++++++---------
>   drivers/gpu/drm/vmwgfx/vmwgfx_bo.h            | 203 +++++++++
>   drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c           |  14 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c        |  53 +--
>   drivers/gpu/drm/vmwgfx/vmwgfx_context.c       |  36 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c       |  65 +--
>   drivers/gpu/drm/vmwgfx/vmwgfx_drv.c           |  26 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_drv.h           | 245 +++--------
>   drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c       | 102 +++--
>   drivers/gpu/drm/vmwgfx/vmwgfx_fence.c         |   2 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_gem.c           |  89 ++--
>   drivers/gpu/drm/vmwgfx/vmwgfx_kms.c           | 230 ++++------
>   drivers/gpu/drm/vmwgfx/vmwgfx_kms.h           |  43 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c           |  57 ++-
>   drivers/gpu/drm/vmwgfx/vmwgfx_mob.c           |  45 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c       |  20 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c    |  68 ++-
>   drivers/gpu/drm/vmwgfx/vmwgfx_resource.c      | 243 +++++------
>   drivers/gpu/drm/vmwgfx/vmwgfx_resource_priv.h |  10 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c          |  53 +--
>   drivers/gpu/drm/vmwgfx/vmwgfx_shader.c        |  65 +--
>   drivers/gpu/drm/vmwgfx/vmwgfx_so.c            |   6 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c          | 323 ++-------------
>   drivers/gpu/drm/vmwgfx/vmwgfx_streamoutput.c  |  20 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_surface.c       | 111 ++---
>   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c    | 116 +-----
>   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c      | 110 -----
>   drivers/gpu/drm/vmwgfx/vmwgfx_va.c            |   6 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_validation.c    | 150 +++----
>   drivers/gpu/drm/vmwgfx/vmwgfx_validation.h    |  10 +-
>   31 files changed, 1248 insertions(+), 1667 deletions(-)
>   create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_bo.h
>   delete mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> 

-- 
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/20230131/58473b86/attachment.sig>


More information about the dri-devel mailing list