linux-hardened/drivers/gpu/drm/i915/gvt
Zhi Wang c8fe6a6811 drm/i915/gvt: vGPU interrupt virtualization.
This patch introduces vGPU interrupt emulation framework.

The vGPU intrerrupt emulation framework is an event-based interrupt
emulation framework. It's responsible for emulating GEN hardware interrupts
during emulating other HW behaviour.

It consists several components:

- Descriptions of interrupt register bit
- Upper level <-> lower level interrupt mapping
- GEN HW IER/IMR/IIR register emulation routines
- Event-based interrupt propagation interface

When a GVT-g component wants to inject an interrupt to a VM during a
emulation, first it should specify the event needs to be emulated and the
framework will deal with the rest of emulation:

- Generating related virtual IIR bit according to virtual IER and IMRs,
- Generate related virtual upper level virtual IIR bit accodring to the
per-platform interrupt mapping
- Injecting a MSI to VM

Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2016-10-14 18:12:22 +08:00
..
aperture_gm.c
debug.h drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
firmware.c drm/i915/gvt: golden virtual HW state management 2016-10-14 18:11:46 +08:00
gvt.c drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
gvt.h drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
handlers.c drm/i915/gvt: Introduce a framework for tracking HW registers. 2016-10-14 18:11:33 +08:00
hypercall.h drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
interrupt.c drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
interrupt.h drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
Makefile drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
mmio.h drm/i915/gvt: Introduce a framework for tracking HW registers. 2016-10-14 18:11:33 +08:00
mpt.h drm/i915/gvt: vGPU interrupt virtualization. 2016-10-14 18:12:22 +08:00
reg.h drm/i915/gvt: Introduce basic vGPU life cycle management 2016-10-14 18:11:59 +08:00
trace.h drm/i915/gvt: trace stub 2016-10-14 18:12:11 +08:00
trace_points.c drm/i915/gvt: trace stub 2016-10-14 18:12:11 +08:00
vgpu.c drm/i915/gvt: Introduce basic vGPU life cycle management 2016-10-14 18:11:59 +08:00