WSL2-Linux-Kernel/drivers/gpu/drm/i915
Yu Zhang 5dda8fa356 drm/i915: Adds graphic address space ballooning logic
With Intel GVT-g, the global graphic memory space is partitioned by
multiple vGPU instances in different VMs. The ballooning code is called
in i915_gem_setup_global_gtt(), utilizing the drm mm allocator APIs to
mark the graphic address space which are partitioned out to other vGPUs
as reserved. With ballooning, host side does not need to translate a
grahpic address from guest view to host view. By now, current implementation
only support the static ballooning, but in the future, with more cooperation
from guest driver, the same interfaces can be extended to grow/shrink the
guest graphic memory dynamically.

v2:
take Chris and Daniel's comments:
	- no guard page between different VMs
	- use drm_mm_reserve_node() to do the reservation for ballooning,
	instead of the previous drm_mm_insert_node_in_range_generic()

v3:
take Daniel's comments:
	- move ballooning functions into i915_vgpu.c
	- add kerneldoc to ballooning functions

v4:
take Tvrtko's comments:
	- more accurate comments and commit message

Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com>
Signed-off-by: Jike Song <jike.song@intel.com>
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-02-13 23:28:23 +01:00
..
Kconfig drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
Makefile drm/i915: Introduce a PV INFO page structure for Intel GVT-g. 2015-02-13 23:28:22 +01:00
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915: Check pixel clock in ns2501 mode_valid hook 2014-09-03 11:05:21 +02:00
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: Add GPGPU_THREADS_DISPATCHED to the register whitelist 2014-12-16 10:39:10 +01:00
i915_debugfs.c drm/i915: Show frame buffer modifier in debug info 2015-02-13 23:28:17 +01:00
i915_dma.c drm/i915: Remove nested work in gpu error handling 2015-01-29 18:03:07 +01:00
i915_drv.c drm/i915/skl: Declare that GT3 has a second VCS 2015-02-13 23:28:02 +01:00
i915_drv.h drm/i915: Introduce a PV INFO page structure for Intel GVT-g. 2015-02-13 23:28:22 +01:00
i915_gem.c Revert "drm/i915: Fix mutex->owner inspection race under DEBUG_MUTEXES" 2015-01-28 17:22:28 +01:00
i915_gem_batch_pool.c drm/i915: Mark shadow batch buffers as purgeable 2014-12-16 10:39:09 +01:00
i915_gem_context.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c dma-buf: use reservation objects 2014-07-08 13:03:20 -07:00
i915_gem_evict.c drm/i915: Add some extra guards in evict_vm 2015-01-06 09:07:59 +01:00
i915_gem_execbuffer.c drm/i915: Specify bsd rings through exec flag 2015-01-27 09:51:05 +01:00
i915_gem_gtt.c drm/i915: Adds graphic address space ballooning logic 2015-02-13 23:28:23 +01:00
i915_gem_gtt.h drm/i915/gen8: Un-hardcode number of page directories 2015-02-13 23:28:12 +01:00
i915_gem_render_state.c drm/i915: Remove obsolete seqno parameter from 'i915_add_request' 2014-12-03 09:35:19 +01:00
i915_gem_render_state.h drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02:00
i915_gem_stolen.c drm/i915/fbc: fix the check for already reserved fbc size 2015-02-13 23:28:03 +01:00
i915_gem_tiling.c drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req 2014-12-03 09:35:14 +01:00
i915_gem_userptr.c drm/i915: Do not leak pages when freeing userptr objects 2014-09-29 15:31:01 +02:00
i915_gpu_error.c drm/i915: Removed duplicate members from submit_request 2015-01-27 09:50:52 +01:00
i915_ioc32.c drm/i915: remove redundant #ifdef CONFIG_COMPAT 2014-10-24 16:34:07 +02:00
i915_irq.c drm/i915: Introduce intel_set_rps() 2015-02-13 23:27:59 +01:00
i915_params.c drm/i915: Add i915.nuclear_pageflip command line param to force atomic (v4) 2015-01-27 09:57:34 +01:00
i915_reg.h drm/i915/bdw: Implement WaForceContextSaveRestoreNonCoherent 2015-02-13 23:28:16 +01:00
i915_suspend.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_sysfs.c drm/i915: Introduce intel_set_rps() 2015-02-13 23:27:59 +01:00
i915_trace.h drm/i915/trace: Fix offsets for 64b 2015-02-13 23:28:11 +01:00
i915_trace_points.c
i915_ums.c drm/i915: don't save/restore backlight hist ctl registers 2014-11-14 10:29:28 +01:00
i915_vgpu.c drm/i915: Adds graphic address space ballooning logic 2015-02-13 23:28:23 +01:00
i915_vgpu.h drm/i915: Adds graphic address space ballooning logic 2015-02-13 23:28:23 +01:00
intel_acpi.c
intel_atomic.c drm/i915: Add crtc state duplication/destruction functions 2015-01-27 09:57:18 +01:00
intel_atomic_plane.c drm/i915: Switch plane properties to full atomic helper. 2015-01-27 09:57:25 +01:00
intel_audio.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_bios.c Revert "drm/i915: Parsing LFP brightness control from VBT" 2015-01-07 09:45:38 +01:00
intel_bios.h Revert "drm/i915: Parsing LFP brightness control from VBT" 2015-01-07 09:45:38 +01:00
intel_crt.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_ddi.c drm/i915: Use pipe_config's cpu_transcoder for reading encoder hw state 2015-01-30 19:38:43 +01:00
intel_display.c drm/i915: Announce support for framebuffer modifiers 2015-02-13 23:28:21 +01:00
intel_dp.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_dp_mst.c drm/i915: Use pipe_config's cpu_transcoder for reading encoder hw state 2015-01-30 19:38:43 +01:00
intel_drv.h drm/i915: Switch intel_fb_align_height to fb format modifiers 2015-02-13 23:28:18 +01:00
intel_dsi.c drm/i915: Correct the variable holding the value for EOT to write 2015-02-13 23:28:00 +01:00
intel_dsi.h drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
intel_dsi_cmd.h drm/i915/dsi: move dpi_send_cmd() to intel_dsi.c and make it static 2015-01-29 16:56:47 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein 2015-01-29 16:57:14 +01:00
intel_dsi_pll.c drm/i915: Use DSI Pll1 for enabling MIPI DSI on Port C 2014-12-10 17:47:21 +01:00
intel_dvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_fbc.c drm/i915: change dev_priv->fbc.plane to dev_priv->fbc.crtc 2015-02-13 23:28:15 +01:00
intel_fbdev.c drm/i915: Switch intel_fb_align_height to fb format modifiers 2015-02-13 23:28:18 +01:00
intel_fifo_underrun.c drivers: gpu: drm: i915: intel_fifo_underrun.c: Fix a typo in comment 2015-01-27 10:30:01 +01:00
intel_frontbuffer.c drm/i915: DRRS calls based on frontbuffer 2015-01-27 09:51:15 +01:00
intel_hdmi.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_i2c.c drm/i915: Kill duplicated cdclk readout code from i2c 2014-07-07 11:27:52 +02:00
intel_lrc.c drm/i915: Introduce bit definitions of CTXT_SR_CTRL register. 2015-02-13 23:28:22 +01:00
intel_lrc.h drm/i915: Introduce bit definitions of CTXT_SR_CTRL register. 2015-02-13 23:28:22 +01:00
intel_lvds.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_modes.c
intel_opregion.c ACPI / i915: Update the condition to ignore firmware backlight change request 2014-09-30 01:11:18 +02:00
intel_overlay.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_panel.c drm/i915: Embedded struct drm_crtc_state in intel_crtc_state 2015-01-27 09:50:48 +01:00
intel_pm.c drm/i915: Support not having an init clock gating function defined 2015-02-13 23:28:15 +01:00
intel_psr.c drm/i915/skl: Enabling PSR on Skylake 2015-01-28 17:22:29 +01:00
intel_renderstate.h drm/i915 Add golden context support for Gen9 2014-11-04 14:04:55 +01:00
intel_renderstate_gen6.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen7.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen8.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen9.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_ringbuffer.c drm/i915/bdw: Implement WaForceContextSaveRestoreNonCoherent 2015-02-13 23:28:16 +01:00
intel_ringbuffer.h drm/i915: Remove FIXME_lrc_ctx backpointer 2015-01-27 09:50:53 +01:00
intel_runtime_pm.c drm/i915/skl: Implementation of SKL display power well support 2015-02-13 23:28:01 +01:00
intel_sdvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Increase the range of sideband address. 2015-01-27 09:50:43 +01:00
intel_sprite.c drm/i915/skl: Use fb modifiers for sprites 2015-02-13 23:28:20 +01:00
intel_tv.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_uncore.c drm/i915: Introduce a PV INFO page structure for Intel GVT-g. 2015-02-13 23:28:22 +01:00