drm/i915: Add I915_GEM_PARAM_HAS_SEMAPHORES
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 8 Aug 2012 09:23:22 +0000 (10:23 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Aug 2012 12:29:12 +0000 (14:29 +0200)
commit2fedbff948cf5bc1e9977b7bc885aae45bd32f74
tree2fb434867abb4bff322fd8e34a7ce9039a9e820f
parent6c6cf5aa9c583478b19e23149feaa92d01fb8c2d
drm/i915: Add I915_GEM_PARAM_HAS_SEMAPHORES

Userspace tries to estimate the cost of ring switching based on whether
the GPU and GEM supports semaphores. (If we have multiple rings and no
semaphores, userspace assumes that the cost of switching rings between
batches is exorbitant and will endeavour to keep the next batch on the
active ring - as a coarse approximation to tracking both destination and
source surfaces.) Currently userspace has to guess whether semaphores
exist based on the chipset generation and the module parameter,
i915.semaphores. This is a crude and inaccurate guess as the defaults
internally depend upon other chipset features being enabled or disabled,
nor does it extend well into the future. By exporting a HAS_SEMAPHORES
parameter, we can easily query the driver and obtain an accurate answer.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
include/drm/i915_drm.h