Re: [igt-dev] [PATCH v19 3/6] lib: igt_gt: add eb flags to class helper

Tvrtko Ursulin
2019-04-08T16:24:43Z

On 08/04/2019 17:15, Andi Shyti wrote:
> we have a "class/instance to eb flags" helper but not the
> opposite, add it.
>
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Signed-off-by: Andi Shyti <andi.shyti@intel.com>
> ---
> lib/igt_gt.c | 18 ++++++++++++++++++
> lib/igt_gt.h | 2 ++
> 2 files changed, 20 insertions(+)
>
> diff --git a/lib/igt_gt.c b/lib/igt_gt.c
> index 5999524326d0..8cd58f7afbfd 100644
> --- a/lib/igt_gt.c
> +++ b/lib/igt_gt.c
> @@ -41,6 +41,7 @@
> #include "intel_reg.h"
> #include "intel_chipset.h"
> #include "igt_dummyload.h"
> +#include "i915/gem_engine_topology.h"
>
> /**
> * SECTION:igt_gt
> @@ -586,6 +587,23 @@ const struct intel_execution_engine2 intel_execution_engines2[] = {
> { }
> };
>
> +int gem_eb_to_class(unsigned int flags)
> +{
> + switch (flags & 0x3f) {
> + case I915_EXEC_DEFAULT:
> + case I915_EXEC_RENDER:
> + return I915_ENGINE_CLASS_RENDER;
> + case I915_EXEC_BLT:
> + return I915_ENGINE_CLASS_COPY;
> + case I915_EXEC_BSD:
> + return I915_ENGINE_CLASS_VIDEO;
> + case I915_EXEC_VEBOX:
> + return I915_ENGINE_CLASS_VIDEO_ENHANCE;
> + default:
> + igt_assert(0);
> + }
> +}
> +
> unsigned int
> gem_class_instance_to_eb_flags(int gem_fd,
> enum drm_i915_gem_engine_class class,
> diff --git a/lib/igt_gt.h b/lib/igt_gt.h
> index 52b2f1ea95a5..b13062ef7d33 100644
> --- a/lib/igt_gt.h
> +++ b/lib/igt_gt.h
> @@ -99,6 +99,8 @@ extern const struct intel_execution_engine2 {
> bool is_virtual;
> } intel_execution_engines2[];
>
> +int gem_eb_to_class(unsigned int flags);
> +
> unsigned int
> gem_class_instance_to_eb_flags(int gem_fd,
> enum drm_i915_gem_engine_class class,
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko