OpenCloudOS-Kernel/drivers/gpu/drm/i915/gvt
Chris Wilson 5e2a0419ef drm/i915: Switch back to an array of logical per-engine HW contexts
We switched to a tree of per-engine HW context to accommodate the
introduction of virtual engines. However, we plan to also support
multiple instances of the same engine within the GEM context, defeating
our use of the engine as a key to looking up the HW context. Just
allocate a logical per-engine instance and always use an index into the
ctx->engines[]. Later on, this ctx->engines[] may be replaced by a user
specified map.

v2: Add for_each_gem_engine() helper to iterator within the engines lock
v3: intel_context_create_request() helper
v4: s/unsigned long/unsigned int/ 4 billion engines is quite enough.
v5: Push iterator locking to caller

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190426163336.15906-7-chris@chris-wilson.co.uk
2019-04-26 18:32:11 +01:00
..
Makefile drm/i915/gvt: Change KVMGT as self load module 2019-01-02 15:51:26 +08:00
aperture_gm.c drm/i915: Markup paired operations on wakerefs 2019-01-14 16:17:53 +00:00
cfg_space.c drm/i915/gvt: Fix function comment doc errors 2018-08-07 10:39:53 +08:00
cmd_parser.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
cmd_parser.h drm/i915/gvt: Factor out scan and shadow from workload dispatch 2017-08-10 10:26:06 +08:00
debug.h drm/i915/gvt: Make gvt_vgpu_err use pr_err 2017-11-16 11:48:34 +08:00
debugfs.c drm/i915/gvt: scan non-privileged batch buffer for debug purpose 2018-04-23 13:09:34 +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 Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
dmabuf.h drm/i915/gvt: Dmabuf support for GVT-g 2017-12-04 11:24:33 +08:00
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 Merge tag 'gvt-next-2019-01-24' of https://github.com/intel/gvt-linux into drm-intel-next-queued 2019-01-24 14:50:04 -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/gvt: Use offsetofend() rather than offsetof + sizeof 2018-05-17 22:05:10 +08:00
gtt.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
gtt.h 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
gvt.c drm/i915/gvt: add hotplug emulation 2019-01-31 11:26:55 +08:00
gvt.h drm/i915/gvt: Pin the per-engine GVT shadow contexts 2019-04-26 18:31:57 +01:00
handlers.c Merge tag 'drm-intel-next-2019-04-04' into gvt-next 2019-04-16 16:50:34 +08:00
hypercall.h Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
interrupt.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
interrupt.h
kvmgt.c drm/i915/gvt: Pin the per-engine GVT shadow contexts 2019-04-26 18:31:57 +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: Pin the per-engine GVT shadow contexts 2019-04-26 18:31:57 +01:00
mmio_context.h drm/i915/gvt: only copy the first page for restore inhibit context 2018-08-02 13:27:54 +08:00
mpt.h Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
opregion.c This is the 4.19-rc5 stable release 2018-09-27 11:06:46 +10:00
page_track.c drm/i915/gvt: Fix function comment doc errors 2018-08-07 10:39:53 +08:00
page_track.h drm/i915/gvt: Provide generic page_track infrastructure for write-protected page 2018-03-06 13:19:20 +08:00
reg.h drm/i915/gvt: Add macro define for mmio 0x50080 and gvt flip event 2019-03-29 11:09:34 +08:00
sched_policy.c Merge tag 'gvt-next-2019-01-24' of https://github.com/intel/gvt-linux into drm-intel-next-queued 2019-01-24 14:50:04 -08:00
sched_policy.h drm/i915/gvt: Kick scheduler when new workload queued 2017-12-04 11:24:35 +08:00
scheduler.c drm/i915: Switch back to an array of logical per-engine HW contexts 2019-04-26 18:32:11 +01:00
scheduler.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01: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
vgpu.c drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00