Star64_linux/drivers/gpu/drm/i915/gvt
Chris Wilson 2935ed5339 drm/i915: Remove logical HW ID
With the introduction of ctx->engines[] we allow multiple logical
contexts to be used on the same engine (e.g. with virtual engines).
According to bspec, aach logical context requires a unique tag in order
for context-switching to occur correctly between them. [Simple
experiments show that it is not so easy to trick the HW into performing
a lite-restore with matching logical IDs, though my memory from early
Broadwell experiments do suggest that it should be generating
lite-restores.]

We only need to keep a unique tag for the active lifetime of the
context, and for as long as we need to identify that context. The HW
uses the tag to determine if it should use a lite-restore (why not the
LRCA?) and passes the tag back for various status identifies. The only
status we need to track is for OA, so when using perf, we assign the
specific context a unique tag.

v2: Calculate required number of tags to fill ELSP.

Fixes: 976b55f0e1 ("drm/i915: Allow a context to define its set of engines")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111895
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191004134015.13204-14-chris@chris-wilson.co.uk
2019-10-04 15:39:30 +01:00
..
aperture_gm.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
cfg_space.c
cmd_parser.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
cmd_parser.h
debug.h
debugfs.c drm/i915/gvt: no need to check return value of debugfs_create functions 2019-08-13 17:55:06 +08:00
display.c
display.h
dmabuf.c
dmabuf.h
edid.c
edid.h
execlist.c
execlist.h
fb_decoder.c drm/i915/gvt: Don't use ggtt_validdate_range() with size=0 2019-07-30 14:29:48 +08:00
fb_decoder.h
firmware.c
gtt.c drm/i915/gvt: Warning for invalid ggtt access 2019-07-30 14:29:48 +08:00
gtt.h
gvt.c drm/i915/gvt: no need to check return value of debugfs_create functions 2019-08-13 17:55:06 +08:00
gvt.h drm/i915/gvt: factor out tlb and mocs register offset table 2019-08-13 17:55:06 +08:00
handlers.c drm/i915/psr: Make PSR registers relative to transcoders 2019-08-22 13:09:06 -07:00
hypercall.h
interrupt.c drm/i915/gvt: Fix typo of VBLANK_TIMER_PERIOD 2019-08-13 17:54:41 +08:00
interrupt.h
kvmgt.c drm/i915: Remove logical HW ID 2019-10-04 15:39:30 +01:00
Makefile
mmio.c
mmio.h
mmio_context.c drm/i915/gvt: factor out tlb and mocs register offset table 2019-08-13 17:55:06 +08:00
mmio_context.h
mpt.h
opregion.c
page_track.c
page_track.h
reg.h
sched_policy.c
sched_policy.h
scheduler.c drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
scheduler.h
trace.h
trace_points.c drm/i915/gvt: remove duplicate include of trace.h 2019-07-30 14:26:30 +08:00
vgpu.c drm/i915/gvt: no need to check return value of debugfs_create functions 2019-08-13 17:55:06 +08:00