[Intel-gfx] [PATCH igt] lib/i915: Query semaphore status using GETPARAM

Lionel Landwerlin lionel.g.landwerlin at intel.com
Mon Oct 30 10:34:16 UTC 2017


Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

On 28/10/17 12:13, Chris Wilson wrote:
> Wherever possible we want to use existing ioctls rather than poking the
> volatile modparams, in this case we already provide
> I915_PARAM_HAS_SEMAPHORES so we have no excuse to peek i915.semaphores.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>   lib/i915/gem_submission.c | 17 ++++++++++++++++-
>   1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c
> index 2a57e7ab..882d4f41 100644
> --- a/lib/i915/gem_submission.c
> +++ b/lib/i915/gem_submission.c
> @@ -22,6 +22,9 @@
>    */
>   
>   #include <stdbool.h>
> +#include <sys/ioctl.h>
> +
> +#include <i915_drm.h>
>   
>   #include "igt_core.h"
>   #include "igt_sysfs.h"
> @@ -41,6 +44,18 @@
>    * semaphores for synchronization between engines.
>    */
>   
> +static bool has_semaphores(int fd, int dir)
> +{
> +	int val = 0;
> +	struct drm_i915_getparam gp = {
> +		gp.param = I915_PARAM_HAS_SEMAPHORES,
> +		gp.value = &val,
> +	};
> +	if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp) < 0)
> +		val = igt_sysfs_get_boolean(dir, "semaphores");
> +	return val;
> +}
> +
>   /**
>    * gem_submission_method:
>    * @fd: open i915 drm file descriptor
> @@ -69,7 +84,7 @@ unsigned gem_submission_method(int fd)
>   		goto out;
>   	}
>   
> -	active = igt_sysfs_get_boolean(dir, "semaphores");
> +	active = has_semaphores(fd, dir);
>   	if (active) {
>   		flags |= GEM_SUBMISSION_SEMAPHORES;
>   	}




More information about the Intel-gfx mailing list