linux/Documentation/DocBook
Yu Zhang cf9d2890da drm/i915: Introduce a PV INFO page structure for Intel GVT-g.
Introduce a PV INFO structure, to facilitate the Intel GVT-g
technology, which is a GPU virtualization solution with mediated
pass-through. This page contains the shared information between
i915 driver and the host emulator. For now, this structure utilizes
an area of 4K bytes on HSW GPU's unused MMIO space. Future hardware
will have the reserved window architecturally defined, and layout
of the page will be added in future BSpec.

The i915 driver load routine detects if it is running in a VM by
reading the contents of this PV INFO page. Thereafter a flag,
vgpu.active is set, and intel_vgpu_active() is used by checking
this flag to conclude if GPU is virtualized with Intel GVT-g. By
now, intel_vgpu_active() will return true, only when the driver
is running as a guest in the Intel GVT-g enhanced environment on
HSW platform.

v2:
take Chris' comments:
        - call the i915_check_vgpu() in intel_uncore_init()
        - sanitize i915_check_vgpu() by adding BUILD_BUG_ON() and debug info
take Daniel's comments:
        - put the definition of PV INFO into a new header - i915_vgt_if.h
other changes:
        - access mmio regs by readq/readw in i915_check_vgpu()

v3:
take Daniel's comments:
        - move the i915/vgt interfaces into a new i915_vgpu.c
        - update makefile
        - add kerneldoc to functions which are non-static
        - add a DOC: section describing some of the high-level design
        - update drm docbook
other changes:
        - rename i915_vgt_if.h to i915_vgpu.h

v4:
take Tvrtko's comments:
        - fix a typo in commit message
        - add debug message when vgt version mismatches
        - rename low_gmadr/high_gmadr to mappable/non-mappable in PV INFO
          structure

Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com>
Signed-off-by: Jike Song <jike.song@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:22 +01:00
..
media [media] DocBook media: update version number and document changes 2014-12-16 23:21:38 -02:00
.gitignore doc: Add "*.svg" to DocBook/.gitignore 2013-12-02 14:49:19 +01:00
80211.tmpl cfg80211: refactor cfg80211_can_use_iftype_chan() 2014-04-09 10:55:39 +02:00
Makefile crypto: doc - compile crypto API spec 2014-11-13 22:31:37 +08:00
alsa-driver-api.tmpl ALSA: doc: Fix missing "I" for kerneldoc inclusion 2014-10-30 15:42:33 +01:00
crypto-API.tmpl crypto: doc - crypto API high level spec 2014-11-13 22:31:36 +08:00
debugobjects.tmpl debugobjects: Extend to assert that an object is initialized 2011-11-23 18:49:22 +01:00
device-drivers.tmpl Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-05 17:46:42 -07:00
deviceiobook.tmpl docbook: change iomap source filename in deviceiobook 2012-01-23 08:44:54 -08:00
drm.tmpl drm/i915: Introduce a PV INFO page structure for Intel GVT-g. 2015-02-13 23:28:22 +01:00
filesystems.tmpl htmldocs: fix bio.c location 2014-05-20 08:17:35 -06:00
gadget.tmpl usb: patches for v3.17 merge window 2014-07-21 11:33:41 -07:00
genericirq.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
kernel-api.tmpl DocBook: include !Emm/util.c in kernel-api to include, kzfree and more 2013-12-02 14:42:57 +01:00
kernel-hacking.tmpl Merge branch 'akpm' (incoming from Andrew) 2014-04-07 16:38:06 -07:00
kernel-locking.tmpl locking/Documentation: Move locking related docs into Documentation/locking/ 2014-08-13 10:32:03 +02:00
kgdb.tmpl Documentation: remove depends on CONFIG_EXPERIMENTAL 2013-01-11 11:38:03 -08:00
libata.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
librs.tmpl
lsm.tmpl
media_api.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
mtdnand.tmpl DocBook: fix mtdnand typos 2014-07-12 11:30:36 -07:00
networking.tmpl docbook: networking: fix file paths for uapi headers 2012-10-15 08:04:41 -07:00
rapidio.tmpl docbook: fix rapidio warning 2011-03-27 19:30:19 -07:00
regulator.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
s390-drivers.tmpl
scsi.tmpl Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
sh.tmpl sh: clkfwk: Kill off unused clk_set_rate_ex(). 2010-11-15 18:25:12 +09:00
stylesheet.xsl docbook: use IDs as filenames to support multiple books 2010-08-05 13:21:24 -07:00
tracepoint.tmpl workqueue: Add a workqueue chapter to the tracepoint docbook 2010-08-27 12:27:36 +02:00
uio-howto.tmpl uio: support memory sizes larger than 32 bits 2014-11-07 10:09:07 -08:00
usb.tmpl usb: hub: rename khubd to hub_wq in documentation and comments 2014-09-23 22:33:19 -07:00
w1.tmpl w1: format for DocBook and fixes 2014-02-07 15:40:18 -08:00
writing-an-alsa-driver.tmpl ALSA: doc: Recommend the use of snd_ctl_elem_info() 2014-10-20 18:06:04 +02:00
writing_musb_glue_layer.tmpl documentation: docbook: document process of writing an musb glue layer 2014-05-12 12:34:47 -05:00
writing_usb_driver.tmpl doc: fix misspellings with 'codespell' tool 2013-05-28 12:02:12 +02:00
z8530book.tmpl