[PULL] vmwgfx-next request 2

Thomas Hellstrom thellstrom at vmware.com
Fri Jan 17 00:56:30 PST 2014


Dave,

Pull request for 3.14. One not so urgent fix, One huge device update.

The pull request corresponds to the patches sent out on dri-devel, except:
[PATCH 02/33], review tag typo pointed out by Matt Turner.
[PATCH 04/33], dropped. The new surface formats are never used.

The upcoming vmware svga2 hardware version 11 will introduce the concept
of "guest backed objects" or -resources. The device will in principle
get all
of its memory from the guest, which has big advantages from the device
point of view.

This means that vmwgfx contexts, shaders and surfaces need to be backed
by guest memory in the form of buffer objects called MOBs, presumably
short for MemoryOBjects, which are bound to the device in a special way.

This patch series introduces guest backed object support. Some new IOCTLs
are added to allocate these new guest backed object, and to optionally
provide
them with a backing MOB.

There is an update to the gallium driver that comes with this update, and
it will be pushed in the near timeframe presumably to a separate mesa branch
before merged to master.

The following changes since commit c5416d661daa9ccef4f42259ad0d48e28b5f950f:

  gpu: fix qxl missing crc32_le (2014-01-14 13:08:37 +1000)

are available in the git repository at:

  git://people.freedesktop.org/~thomash/linux tags/vmwgfx-next-2014-01-17

for you to fetch changes up to 1985f99987ff04e1bb0405101dd8e25cf1b6b037:

  drm/vmwgfx: Invalidate surface on non-readback unbind (2014-01-17
09:12:26 +0100)

----------------------------------------------------------------
Pull request of 2014-01-17

----------------------------------------------------------------
Jakob Bornecrantz (1):
      drm/vmwgfx: Invalidate surface on non-readback unbind

Thomas Hellstrom (31):
      drm/vmwgfx: Fix the driver for large dma addresses
      drm/vmwgfx: Update the svga3d register header file for new device
version
      drm/vmwgfx: Update the driver user-space interface for
guest-backed objects
      drm/vmwgfx: Replace vram_size with prim_bb_mem for calculation of
max resolution
      drm/vmwgfx: Update the svga register definition
      drm/vmwgfx: Adapt capability reporting to new hardware version
      drm/vmwgfx: Add MOB management
      drm/vmwgfx: Hook up MOBs to TTM as a separate memory type
      drm/vmwgfx: Read bounding box memory from the appropriate register
      drm/vmwgfx: Add the possibility to validate a buffer as a MOB
      drm/vmwgfx: Hook up guest-backed queries
      drm/vmwgfx: Detach backing store from its resources when it is evicted
      drm/vmwgfx: Hook up guest-backed contexts
      drm/vmwgfx: Hook up guest-backed surfaces
      drm/vmwgfx: Add guest-backed shaders
      drm/vmwgfx: Validate guest-backed shader const commands
      drm/vmwgfx: Add new unused (by user-space) commands to the verifier
      drm/vmwgfx: Enable 3D for new hardware version
      drm/vmwgfx: Fix up the vmwgfx_drv.h header for new files
      drm/vmwgfx: Extend the command verifier to handle guest-backed on
/ off
      drm/vmwgfx: Implement a buffer object synccpu ioctl.
      drm/vmwgfx: Add a parameter to get max MOB memory size
      drm/vmwgfx: Block the BIND_SHADERCONSTS command
      drm/vmwgfx: Track context bindings and scrub them upon exiting execbuf
      drm/vmwgfx: Persistent tracking of context bindings
      drm/vmwgfx: Ditch the vmw_dummy_query_bo_prepare function
      drm/vmwgfx: Use the linux DMA api also for MOBs
      drm/vmwgfx: Update otable definitions
      drm/vmwgfx: Fix surface framebuffer check for guest-backed surfaces
      drm/vmwgfx: Implement 64-bit Otable- and MOB binding v2
      drm/vmwgfx: Silence the device command verifier

Zack Rusin (1):
      drm/vmwgfx: Make sure that the multisampling is off

 drivers/gpu/drm/vmwgfx/Makefile               |   2 +-
 drivers/gpu/drm/vmwgfx/svga3d_reg.h           | 718 ++++++++++++++++++++-
 drivers/gpu/drm/vmwgfx/svga_reg.h             |  10 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c        | 174 ++++-
 drivers/gpu/drm/vmwgfx/vmwgfx_context.c       | 531 ++++++++++++++++
 drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c        |   8 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c           | 209 ++++--
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h           | 211 ++++++-
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c       | 872
+++++++++++++++++++++++---
 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c          | 107 +++-
 drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c           | 160 +----
 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c |  15 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c         |  42 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c           |   8 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_mob.c           | 659 +++++++++++++++++++
 drivers/gpu/drm/vmwgfx/vmwgfx_resource.c      | 195 +++++-
 drivers/gpu/drm/vmwgfx/vmwgfx_shader.c        | 440 +++++++++++++
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c       | 467 +++++++++++++-
 include/uapi/drm/vmwgfx_drm.h                 | 261 ++++++++
 19 files changed, 4716 insertions(+), 373 deletions(-)
 create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
 create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_shader.c


More information about the dri-devel mailing list