linux/drivers/gpu/drm/i915
Zhi Wang 0ad35fed61 drm/i915: gvt: Introduce the basic architecture of GVT-g
This patch introduces the very basic framework of GVT-g device model,
includes basic prototypes, definitions, initialization.

v12:
- Call intel_gvt_init() in driver early initialization stage. (Chris)

v8:
- Remove the GVT idr and mutex in intel_gvt_host. (Joonas)

v7:
- Refine the URL link in Kconfig. (Joonas)
- Refine the introduction of GVT-g host support in Kconfig. (Joonas)
- Remove the macro GVT_ALIGN(), use round_down() instead. (Joonas)
- Make "struct intel_gvt" a data member in struct drm_i915_private.(Joonas)
	- Remove {alloc, free}_gvt_device()
	- Rename intel_gvt_{create, destroy}_gvt_device()
	- Expost intel_gvt_init_host()
- Remove the dummy "struct intel_gvt" declaration in intel_gvt.h (Joonas)

v6:
- Refine introduction in Kconfig. (Chris)
- The exposed API functions will take struct intel_gvt * instead of
void *. (Chris/Tvrtko)
- Remove most memebers of strct intel_gvt_device_info. Will add them
in the device model patches.(Chris)
- Remove gvt_info() and gvt_err() in debug.h. (Chris)
- Move GVT kernel parameter into i915_params. (Chris)
- Remove include/drm/i915_gvt.h, as GVT-g will be built within i915.
- Remove the redundant struct i915_gvt *, as the functions in i915
will directly take struct intel_gvt *.
- Add more comments for reviewer.

v5:
Take Tvrtko's comments:
- Fix the misspelled words in Kconfig
- Let functions take drm_i915_private * instead of struct drm_device *
- Remove redundant prints/local varible initialization

v3:
Take Joonas' comments:
- Change file name i915_gvt.* to intel_gvt.*
- Move GVT kernel parameter into intel_gvt.c
- Remove redundant debug macros
- Change error handling style
- Add introductions for some stub functions
- Introduce drm/i915_gvt.h.

Take Kevin's comments:
- Move GVT-g host/guest check into intel_vgt_balloon in i915_gem_gtt.c

v2:
- Introduce i915_gvt.c.
It's necessary to introduce the stubs between i915 driver and GVT-g host,
as GVT-g components is configurable in kernel config. When disabled, the
stubs here do nothing.

Take Joonas' comments:
- Replace boolean return value with int.
- Replace customized info/warn/debug macros with DRM macros.
- Document all non-static functions like i915.
- Remove empty and unused functions.
- Replace magic number with marcos.
- Set GVT-g in kernel config to "n" by default.

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1466078825-6662-5-git-send-email-zhi.a.wang@intel.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-17 20:35:06 +01:00
..
gvt drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Fix a buch of kerneldoc warnings 2016-06-06 13:04:26 +01:00
i915_debugfs.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-06-16 14:18:30 +02:00
i915_dma.c drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
i915_drv.c drm/i915/bxt: Add WaEnablePooledEuFor2x6 2016-06-14 10:42:35 +01:00
i915_drv.h drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
i915_gem_batch_pool.c drm/i915: Propagate error from drm_gem_object_init() 2016-04-28 12:28:58 +03:00
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Merge legacy+execlists context structs 2016-05-24 15:30:31 +01:00
i915_gem_debug.c drm/i915: replace for_each_engine() 2016-03-24 14:34:11 +00:00
i915_gem_dmabuf.c Linux 4.6-rc3 2016-04-11 19:25:13 +02:00
i915_gem_dmabuf.h drm/i915: Serialise presentation with imported dmabufs 2016-06-17 10:32:26 +01:00
i915_gem_evict.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_gem_execbuffer.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-06-02 09:54:12 +02:00
i915_gem_fence.c drm/i915: Introduce & use new lightweight SGL iterators 2016-05-20 13:43:00 +01:00
i915_gem_gtt.c drm/i915: Fold vGPU active check into inner functions 2016-06-17 19:44:29 +01:00
i915_gem_gtt.h drm/i915: Add support for mapping an object page by page 2016-06-13 10:03:54 +01:00
i915_gem_render_state.c drm/i915:bxt: Enable Pooled EU support 2016-06-14 10:42:35 +01:00
i915_gem_render_state.h drm/i915: Rename intel_engine_cs function parameters 2016-03-16 15:33:10 +00:00
i915_gem_shrinker.c drm/i915: Store a i915 backpointer from engine, and use it 2016-05-09 13:41:24 +01:00
i915_gem_stolen.c drm/i915/kbl: Add WaSkipStolenMemoryFirstPage for A0 2016-06-08 16:20:23 +03:00
i915_gem_tiling.c Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-06-02 07:58:36 +10:00
i915_gem_userptr.c drm/i915: Introduce & use new lightweight SGL iterators 2016-05-20 13:43:00 +01:00
i915_gem.c drm/i915: Support for pread/pwrite from/to non shmem backed objects 2016-06-13 10:04:38 +01:00
i915_gem.h drm/i915: Add GEM debugging Kconfig option 2016-04-14 10:45:40 +01:00
i915_gpu_error.c drm/i915: Replace "INTEL_INFO->gen == x" checks with IS_GENx 2016-05-11 12:27:27 +01:00
i915_guc_reg.h drm/i915/bxt: reserve space for RC6 in the the GuC WOPCM 2016-05-18 12:49:19 +01:00
i915_guc_submission.c drm/i915/guc: (re)initialise doorbell h/w when enabling GuC submission 2016-06-14 15:04:08 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Fix a buch of kerneldoc warnings 2016-06-06 13:04:26 +01:00
i915_params.c drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
i915_params.h drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
i915_pvinfo.h drm/i915: Use offsetof() to calculate the offset of members in PVINFO page 2016-06-17 19:44:25 +01:00
i915_reg.h Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-06-16 14:18:30 +02:00
i915_suspend.c
i915_sysfs.c drm/i915: Rename struct intel_context 2016-05-24 15:27:14 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Rename struct intel_context 2016-05-24 15:27:14 +01:00
i915_vgpu.c drm/i915: Fold vGPU active check into inner functions 2016-06-17 19:44:29 +01:00
i915_vgpu.h drm/i915: Fold vGPU active check into inner functions 2016-06-17 19:44:29 +01:00
intel_acpi.c
intel_atomic_plane.c drm/i915: Revert async unpin and nonblocking atomic commit 2016-06-01 09:46:46 +02:00
intel_atomic.c drm: Consolidate plane arrays in drm_atomic_state 2016-06-02 17:20:25 +02:00
intel_audio.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
intel_bios.c drm/i915: Check VBT for port presence in addition to the strap on VLV/CHV 2016-06-07 18:45:43 +03:00
intel_bios.h drm/i915: Parse LFP brightness control field in VBT 2016-05-02 16:17:38 +03:00
intel_color.c drm: drm_helper_crtc_enable_color_mgmt() => drm_crtc_enable_color_mgmt() 2016-06-07 17:10:49 +03:00
intel_crt.c drm: i915: Rely on the default ->best_encoder() behavior where appropriate 2016-06-10 18:41:18 +02:00
intel_csr.c drm/i915/kbl: Introduce the first official DMC for Kabylake. 2016-05-05 16:49:01 -07:00
intel_ddi.c drm/i915/bxt: Sanitiy check the PHY lane power down status 2016-06-13 18:46:10 +03:00
intel_display.c drm/i915: Serialise presentation with imported dmabufs 2016-06-17 10:32:26 +01:00
intel_dp_aux_backlight.c drm/i915: Add Backlight Control using DPCD for eDP connectors (v9) 2016-04-26 15:17:54 +03:00
intel_dp_link_training.c
intel_dp_mst.c drm/i915: Give encoders useful names 2016-05-30 17:02:26 +03:00
intel_dp.c drm: i915: Rely on the default ->best_encoder() behavior where appropriate 2016-06-10 18:41:18 +02:00
intel_dpio_phy.c drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c 2016-04-29 09:59:00 +03:00
intel_dpll_mgr.c drm/i915: Use crtc->name in debug messages 2016-05-30 17:01:16 +03:00
intel_dpll_mgr.h drm/i915: Use a crtc mask instead of a refcount for dpll functions, v2. 2016-03-17 09:27:28 +01:00
intel_drv.h Reapply "drm/i915: Pass atomic states to fbc update, functions." 2016-06-16 14:28:35 +02:00
intel_dsi_dcs_backlight.c drm/i915/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +03:00
intel_dsi_panel_vbt.c drm/i915/dsi: add support for gpio elements on CHV 2016-04-27 09:48:17 +03:00
intel_dsi_pll.c drm/i915: Eliminate {vlv,bxt}_configure_dsi_pll() 2016-04-15 16:25:27 +03:00
intel_dsi.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-06-16 14:18:30 +02:00
intel_dsi.h drm/i915/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +03:00
intel_dvo.c drm: i915: Rely on the default ->best_encoder() behavior where appropriate 2016-06-10 18:41:18 +02:00
intel_fbc.c Reapply "drm/i915: Pass atomic states to fbc update, functions." 2016-06-16 14:28:35 +02:00
intel_fbdev.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-06-16 14:18:30 +02:00
intel_fifo_underrun.c drm/i915: Do not use {HAS_*, IS_*, INTEL_INFO}(dev_priv->dev) 2016-04-07 14:50:26 +03:00
intel_frontbuffer.c
intel_guc_fwif.h drm/i915/guc: rework guc_add_workqueue_item() 2016-05-23 14:21:53 +01:00
intel_guc_loader.c drm/i915/guc: prefer 'dev_priv' to 'dev' for intra-module functions 2016-06-13 16:47:39 +01:00
intel_guc.h drm/i915/guc: prefer 'dev_priv' to 'dev' for intra-module functions 2016-06-13 16:47:39 +01:00
intel_gvt.c drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
intel_gvt.h drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
intel_hdmi.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-06-16 14:18:30 +02:00
intel_hotplug.c drm/i915: Small display interrupt handlers tidy 2016-05-09 13:38:16 +01:00
intel_i2c.c drm/i915: Make GMBUS timeout message DRM_DEBUG_KMS 2016-04-12 13:23:17 +03:00
intel_lrc.c drm/i915/kbl: Add WaClearSlmSpaceAtContextSwitch 2016-06-08 16:26:23 +03:00
intel_lrc.h drm/i915: Merge legacy+execlists context structs 2016-05-24 15:30:31 +01:00
intel_lvds.c drm: i915: Rely on the default ->best_encoder() behavior where appropriate 2016-06-10 18:41:18 +02:00
intel_mocs.c drm/i915/mocs: || vs | typo in get_mocs_settings() 2016-06-13 17:38:01 +03:00
intel_mocs.h drm/i915/mocs: Program MOCS for all engines on init 2016-04-14 10:45:40 +01:00
intel_modes.c
intel_opregion.c drm/i915/opregion: Rename init/fini functions to register/unregister 2016-05-23 16:35:50 +01:00
intel_overlay.c Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-06-02 07:58:36 +10:00
intel_panel.c Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-06-02 07:58:36 +10:00
intel_pm.c drm/i915/gen9: Add WaFbcHighMemBwCorruptionAvoidance 2016-06-08 16:27:07 +03:00
intel_psr.c drm/i915/psr: Try to program link training times correctly 2016-05-23 15:10:25 +03:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915/bxt: Add WaDisablePooledEuLoadBalancingFix 2016-06-14 10:44:07 +01:00
intel_ringbuffer.h drm/i915: Rename struct intel_context 2016-05-24 15:27:14 +01:00
intel_runtime_pm.c drm/i915/bxt: Rename broxton to bxt in PHY/CDCLK function prefixes 2016-06-13 18:46:09 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm: i915: Rely on the default ->best_encoder() behavior where appropriate 2016-06-10 18:41:18 +02:00
intel_sideband.c
intel_sprite.c drm/i915: Signal drm events for atomic 2016-06-16 14:28:34 +02:00
intel_tv.c drm: i915: Rely on the default ->best_encoder() behavior where appropriate 2016-06-10 18:41:18 +02:00
intel_uncore.c drm/i915/guc: distinguish HAS_GUC() from HAS_GUC_UCODE/HAS_GUC_SCHED 2016-05-23 14:21:52 +01:00
intel_vbt_defs.h drm/i915: Extract physical display dimensions from VBT 2016-06-02 14:33:09 +03:00
Kconfig drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
Kconfig.debug drm/i915: Add GEM debugging Kconfig option 2016-04-14 10:45:40 +01:00
Makefile drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00