aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_engine_cs.c
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2017-09-22 15:43:07 +0300
committerMika Kuoppala <mika.kuoppala@intel.com>2017-09-25 11:33:53 +0300
commit76e70087d360fdbe97f24c205d585ada04126e5f (patch)
tree2ad0fd9d5614b6d79367055577528318ececda1d /drivers/gpu/drm/i915/intel_engine_cs.c
parentdrm/i915: Add execlist_port_complete (diff)
downloadlinux-dev-76e70087d360fdbe97f24c205d585ada04126e5f.tar.xz
linux-dev-76e70087d360fdbe97f24c205d585ada04126e5f.zip
drm/i915: Make execlist port count variable
As we emulate execlists on top of the GuC workqueue, it is not restricted to just 2 ports and we can increase that number arbitrarily to trade-off queue depth (i.e. scheduling latency) against pipeline bubbles. v2: rebase. better commit msg (Chris) v3: rebase Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170922124307.10914-5-mika.kuoppala@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_engine_cs.c')
-rw-r--r--drivers/gpu/drm/i915/intel_engine_cs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 30035e59a784..a28e2a864cf1 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -405,6 +405,10 @@ static void intel_engine_init_execlist(struct intel_engine_cs *engine)
execlists->csb_use_mmio = csb_force_mmio(engine->i915);
+ execlists->port_mask = 1;
+ BUILD_BUG_ON_NOT_POWER_OF_2(execlists_num_ports(execlists));
+ GEM_BUG_ON(execlists_num_ports(execlists) > EXECLIST_MAX_PORTS);
+
execlists->queue = RB_ROOT;
execlists->first = NULL;
}