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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

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

Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

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@xxxxxxxxxx>

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

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux