drm/i915: Check for a second VCS engine more carefully
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Aug 2019 12:31:53 +0000 (13:31 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Aug 2019 13:06:51 +0000 (14:06 +0100)
commitd5b2a3a4f85ad135123db8fc97ccdbf893546330
tree8bbb47d8916e9396575ffa4e4743a64c4a6b956f
parent6cd34b10cd642c15a8e4b2ed5fc4815c12c41d52
drm/i915: Check for a second VCS engine more carefully

To use the legacy BSD selector, you must have a second VCS engine, or
else the ABI simply maps the request for another engine onto VCS0.
However, we only checked a single VCS1 location and overlooking the
possibility of a sparse VCS set being mapped to the dense ABI.

v2: num_vcs_engines() turns out to be reusable and futureproof it so we
never have to worry about this silly bit of ABI again!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190809123153.20574-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c