Re: [PATCH 7/8] drm/i915: Count engine instances per uabi class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 02, 2022 at 09:03:18AM +0000, Tvrtko Ursulin wrote:

On 01/03/2022 19:34, Umesh Nerlige Ramappa wrote:
On Tue, Feb 22, 2022 at 02:04:21PM +0000, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

This will be useful to have at hand in a following patch.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
---
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@xxxxxxxxx>

Thanks Umesh - for the series or just this patch? I'd need to update your r-b's on patches 3, 6 and 8 to latest as well.

I checked out the diff between this series and the previous one. The changes look good.

For the series:
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@xxxxxxxxx>

Thanks,
Umesh

Regards,

Tvrtko



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux