linux_dsm_epyc7002/drivers/gpu/drm/i915/gvt
Tina Zhang e546e281d3 drm/i915/gvt: Dmabuf support for GVT-g
This patch introduces a guest's framebuffer sharing mechanism based on
dma-buf subsystem. With this sharing mechanism, guest's framebuffer can
be shared between guest VM and host.

v17:
- modify VFIO_DEVICE_GET_GFX_DMABUF interface. (Alex)

v16:
- add x_hot and y_hot. (Gerd)
- add flag validation for VFIO_DEVICE_GET_GFX_DMABUF. (Alex)
- rebase 4.14.0-rc6.

v15:
- add VFIO_DEVICE_GET_GFX_DMABUF ABI. (Gerd)
- add intel_vgpu_dmabuf_cleanup() to clean up the vGPU's dmabuf. (Gerd)

v14:
- add PROBE, DMABUF and REGION flags. (Alex)

v12:
- refine the lifecycle of dmabuf.

v9:
- remove dma-buf management. (Alex)
- track the dma-buf create and release in kernel mode. (Gerd) (Daniel)

v8:
- refine the dma-buf ioctl definition.(Alex)
- add a lock to protect the dmabuf list. (Alex)

v7:
- release dma-buf related allocations in dma-buf's associated release
  function. (Alex)
- refine ioctl interface for querying plane info or create dma-buf.
  (Alex)

v6:
- align the dma-buf life cycle with the vfio device. (Alex)
- add the dma-buf related operations in a separate patch. (Gerd)
- i915 related changes. (Chris)

v5:
- fix bug while checking whether the gem obj is gvt's dma-buf when user
  change caching mode or domains. Add a helper function to do it.
  (Xiaoguang)
- add definition for the query plane and create dma-buf. (Xiaoguang)

v4:
- fix bug while checking whether the gem obj is gvt's dma-buf when set
  caching mode or doamins. (Xiaoguang)

v3:
- declare a new flag I915_GEM_OBJECT_IS_GVT_DMABUF in drm_i915_gem_object
  to represent the gem obj for gvt's dma-buf. The tiling mode, caching
  mode and domains can not be changed for this kind of gem object. (Alex)
- change dma-buf related information to be more generic. So other vendor
  can use the same interface. (Alex)

v2:
- create a management fd for dma-buf operations. (Alex)
- alloc gem object's backing storage in gem obj's get_pages() callback.
  (Chris)

Signed-off-by: Tina Zhang <tina.zhang@intel.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2017-12-04 11:24:33 +08:00
..
aperture_gm.c drm/i915: Add interface to reserve fence registers for vGPU 2017-09-04 16:34:59 +01:00
cfg_space.c drm/i915/gvt: Alloc and Init guest opregion at vgpu creation 2017-12-04 11:24:32 +08:00
cmd_parser.c drm/i915/gvt: Don't dump partial state in cmd parser 2017-11-16 11:48:33 +08:00
cmd_parser.h drm/i915/gvt: Factor out scan and shadow from workload dispatch 2017-08-10 10:26:06 +08:00
debug.h drm/i915/gvt: Make gvt_vgpu_err use pr_err 2017-11-16 11:48:34 +08:00
debugfs.c drm/i915/gvt: Add new debugfs tool mmio_diff 2017-11-16 11:48:32 +08:00
display.c drm/i915/gvt: Add framebuffer decoder support 2017-12-04 11:24:33 +08:00
display.h drm/i915/gvt: Add framebuffer decoder support 2017-12-04 11:24:33 +08:00
dmabuf.c drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
dmabuf.h drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
edid.c drm/i915/gvt: Fix guest fail to read EDID leading to black guest console issue. 2017-03-21 10:50:02 +08:00
edid.h drm/i915/gvt: Fix static checker warning on intel_gvt_i2c_handle_aux_ch_write() 2016-11-14 18:06:44 +08:00
execlist.c drm/i915/gvt: Cleanup unwanted public symbols 2017-11-21 10:43:12 +08:00
execlist.h drm/i915/gvt: Make elsp_dwords in the right order 2017-11-16 11:46:07 +08:00
fb_decoder.c drm/i915/gvt: Add framebuffer decoder support 2017-12-04 11:24:33 +08:00
fb_decoder.h drm/i915/gvt: Add framebuffer decoder support 2017-12-04 11:24:33 +08:00
firmware.c drm/i915/gvt: Add mmio iterator intel_gvt_for_each_tracked_mmio() 2017-11-16 11:48:32 +08:00
gtt.c Revert "drm/i915/gvt: Refine broken PPGTT scratch" 2017-11-16 11:48:35 +08:00
gtt.h Revert "drm/i915/gvt: Refine broken PPGTT scratch" 2017-11-16 11:48:35 +08:00
gvt.c drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
gvt.h drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
handlers.c drm/i915/gvt: Limit read hw reg to active vgpu 2017-11-16 11:48:35 +08:00
hypercall.h drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
interrupt.c drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
interrupt.h drm/i915/gvt: vGPU command scanner 2016-10-14 18:15:25 +08:00
kvmgt.c drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
Makefile drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
mmio.c drm/i915/gvt: Factor intel_vgpu_page_track 2017-11-16 11:48:22 +08:00
mmio.h drm/i915/gvt: Add mmio iterator intel_gvt_for_each_tracked_mmio() 2017-11-16 11:48:32 +08:00
mpt.h drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
opregion.c drm/i915/gvt: Add opregion support 2017-12-04 11:24:32 +08:00
reg.h drm/i915/gvt: Use I915_GTT_PAGE_SIZE 2017-11-16 11:48:22 +08:00
render.c drm/i915/gvt: Reduce rcs mocs switch latency 2017-11-16 11:48:33 +08:00
render.h drm/i915/gvt: implement per-vm mmio switching optimization 2017-06-08 13:59:15 +08:00
sched_policy.c drm/i915/gvt: Fix GPU hang after reusing vGPU instance across different guest OS 2017-10-17 00:44:10 +08:00
sched_policy.h drm/i915/gvt: use hrtimer replace delayed_work in scheduler 2017-03-30 13:32:24 +08:00
scheduler.c drm/i915/gvt: Cleanup unwanted public symbols 2017-11-21 10:43:12 +08:00
scheduler.h drm/i915/gvt: Refine shadow batch buffer 2017-11-16 11:48:21 +08:00
trace_points.c drm/i915/gvt: trace stub 2016-10-14 18:12:11 +08:00
trace.h drm/i915/gvt: Change flood gvt dmesg into trace 2017-06-08 13:59:16 +08:00
vgpu.c drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00