summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/gvt/hypercall.h
diff options
context:
space:
mode:
authorZhi Wang <zhi.a.wang@intel.com>2016-07-05 19:40:49 +0300
committerZhenyu Wang <zhenyuw@linux.intel.com>2016-10-14 13:11:59 +0300
commit82d375d1b56820fd094da15c82562661b6a8f344 (patch)
tree922d21eab044d889b83c166b1310ab91c65bc9a4 /drivers/gpu/drm/i915/gvt/hypercall.h
parent579cea5f30f2c70215492e987bb439a3e50c6371 (diff)
downloadlinux-82d375d1b56820fd094da15c82562661b6a8f344.tar.xz
drm/i915/gvt: Introduce basic vGPU life cycle management
A vGPU represents a virtual Intel GEN hardware, which consists following virtual resources: - Configuration space (virtualized) - HW registers (virtualized) - GGTT memory space (partitioned) - GPU page table (shadowed) - Fence registers (partitioned) * virtualized: fully emulated by GVT-g. * partitioned: Only a part of the HW resource is allowed to be accessed by VM. * shadowed: Resource needs to be translated and shadowed before getting applied into HW. This patch introduces vGPU life cycle management framework, which is responsible for creating/destroying a vGPU and preparing/free resources related to a vGPU. Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/hypercall.h')
-rw-r--r--drivers/gpu/drm/i915/gvt/hypercall.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/hypercall.h b/drivers/gpu/drm/i915/gvt/hypercall.h
index 254df8bf1f35..eff8af56e012 100644
--- a/drivers/gpu/drm/i915/gvt/hypercall.h
+++ b/drivers/gpu/drm/i915/gvt/hypercall.h
@@ -19,6 +19,15 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
+ *
+ * Authors:
+ * Eddie Dong <eddie.dong@intel.com>
+ * Dexuan Cui
+ * Jike Song <jike.song@intel.com>
+ *
+ * Contributors:
+ * Zhi Wang <zhi.a.wang@intel.com>
+ *
*/
#ifndef _GVT_HYPERCALL_H_
@@ -30,6 +39,8 @@
*/
struct intel_gvt_mpt {
int (*detect_host)(void);
+ int (*attach_vgpu)(void *vgpu, unsigned long *handle);
+ void (*detach_vgpu)(unsigned long handle);
};
extern struct intel_gvt_mpt xengt_mpt;