[Intel-gfx] [PATCH 7/8] drm/i915: Count engine instances per uabi class
Umesh Nerlige Ramappa
umesh.nerlige.ramappa at intel.com
Tue Mar 1 19:34:09 UTC 2022
On Tue, Feb 22, 2022 at 02:04:21PM +0000, Tvrtko Ursulin wrote:
>From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
>This will be useful to have at hand in a following patch.
>
>Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>---
> drivers/gpu/drm/i915/gt/intel_engine_user.c | 11 ++++++-----
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> 2 files changed, 7 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c b/drivers/gpu/drm/i915/gt/intel_engine_user.c
>index 9ce85a845105..5dd559253078 100644
>--- a/drivers/gpu/drm/i915/gt/intel_engine_user.c
>+++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c
>@@ -190,7 +190,6 @@ static void add_legacy_ring(struct legacy_ring *ring,
> void intel_engines_driver_register(struct drm_i915_private *i915)
> {
> struct legacy_ring ring = {};
>- u8 uabi_instances[4] = {};
> struct list_head *it, *next;
> struct rb_node **p, *prev;
> LIST_HEAD(engines);
>@@ -211,8 +210,10 @@ void intel_engines_driver_register(struct drm_i915_private *i915)
> GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes));
> engine->uabi_class = uabi_classes[engine->class];
>
>- GEM_BUG_ON(engine->uabi_class >= ARRAY_SIZE(uabi_instances));
>- engine->uabi_instance = uabi_instances[engine->uabi_class]++;
>+ GEM_BUG_ON(engine->uabi_class >=
>+ ARRAY_SIZE(i915->engine_uabi_class_count));
>+ engine->uabi_instance =
>+ i915->engine_uabi_class_count[engine->uabi_class]++;
>
> /* Replace the internal name with the final user facing name */
> memcpy(old, engine->name, sizeof(engine->name));
>@@ -242,8 +243,8 @@ void intel_engines_driver_register(struct drm_i915_private *i915)
> int class, inst;
> int errors = 0;
>
>- for (class = 0; class < ARRAY_SIZE(uabi_instances); class++) {
>- for (inst = 0; inst < uabi_instances[class]; inst++) {
>+ for (class = 0; class < ARRAY_SIZE(i915->engine_uabi_class_count); class++) {
>+ for (inst = 0; inst < i915->engine_uabi_class_count[class]; inst++) {
> engine = intel_engine_lookup_user(i915,
> class, inst);
> if (!engine) {
>diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>index b9d38276801d..68d8a751008b 100644
>--- a/drivers/gpu/drm/i915/i915_drv.h
>+++ b/drivers/gpu/drm/i915/i915_drv.h
>@@ -533,6 +533,7 @@ struct drm_i915_private {
> struct pci_dev *bridge_dev;
>
> struct rb_root uabi_engines;
>+ unsigned int engine_uabi_class_count[I915_LAST_UABI_ENGINE_CLASS + 1];
lgtm,
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
Umesh
>
> struct resource mch_res;
>
>--
>2.32.0
>
More information about the Intel-gfx
mailing list