OpenCloudOS-Kernel/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
..
Makefile drm: prefix header search paths with $(srctree)/ 2019-04-26 17:03:23 +02: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 Merge tag 'drm-intel-next-2019-04-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2019-04-24 10:02:20 +10:00
display.h drm/i915/gvt: add functions to get default resolution 2019-01-31 11:26:48 +08:00
dmabuf.c drm/prime: Align gem_prime_export with obj_funcs.export 2019-06-21 17:30:49 +02:00
dmabuf.h
edid.c drm/i915/gvt: Refine port select logic for CFL platform 2019-01-10 11:38:04 +08:00
edid.h
execlist.c drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
execlist.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
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 drm/i915/gvt: Fix drm_format_mod value for vGPU plane 2018-08-30 12:56:33 +08:00
firmware.c drm/i915: Remove I915_READ_NOTRACE 2019-06-12 15:33:13 +01:00
gtt.c drm/i915/gvt: Warning for invalid ggtt access 2019-07-30 14:29:48 +08:00
gtt.h drm/i915: Drop extern qualifiers from header function prototypes 2019-07-12 13:04:54 +01:00
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 Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
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
mmio.c drm/i915/gvt: remove the unused sreg 2019-03-11 11:32:07 +08:00
mmio.h drm/i915/gvt: Add coffeelake platform definition 2019-01-10 11:35:02 +08:00
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 Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
opregion.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
page_track.c
page_track.h
reg.h drm/i915/gvt: save RING_HEAD into vreg when vgpu switched out 2019-06-03 13:18:36 +08:00
sched_policy.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
sched_policy.h
scheduler.c drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
scheduler.h drm/i915/gvt: save RING_HEAD into vreg when vgpu switched out 2019-06-03 13:18:36 +08:00
trace.h drm/i915/gvt: give the cmd parser cmd_info a const treatment 2019-01-10 11:29:02 +08:00
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