Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
	Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	Andi Shyti <andi.shyti@linux.intel.com>,
	Krzysztof Karas <krzysztof.karas@intel.com>,
	Krzysztof Niemiec <krzysztof.niemiec@intel.com>,
	Sebastian Brzezinka <sebastian.brzezinka@intel.com>,
	Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Subject: [PATCH i-g-t 4/7] lib/igt_device_scan: List PCIe bridge ports after their children
Date: Wed, 21 Jan 2026 12:42:22 +0100	[thread overview]
Message-ID: <20260121114656.1970684-13-janusz.krzysztofik@linux.intel.com> (raw)
In-Reply-To: <20260121114656.1970684-9-janusz.krzysztofik@linux.intel.com>

Current device sorting algorithm positions PCIe bridge upstream ports
between DRM and PCI devices of their GPU children.  Listing those two not
interleaved with bridge ports, and the ports following their PCI GPU
devices, seems more clear.  Go for it.

Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
---
 lib/igt_device_scan.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c
index 34c7a8131b..61f507a06d 100644
--- a/lib/igt_device_scan.c
+++ b/lib/igt_device_scan.c
@@ -23,6 +23,7 @@
  */
 
 #include "drmtest.h"
+#include "igt_aux.h"
 #include "igt_core.h"
 #include "igt_device_scan.h"
 #include "igt_list.h"
@@ -1061,6 +1062,7 @@ static struct igt_device *duplicate_device(struct igt_device *dev) {
 static int devs_compare(const void *a, const void *b)
 {
 	struct igt_device *dev1, *dev2;
+	unsigned int len1, len2;
 	int ret;
 
 	dev1 = *(struct igt_device **) a;
@@ -1069,6 +1071,12 @@ static int devs_compare(const void *a, const void *b)
 	if (ret)
 		return ret;
 
+	len1 = strlen(dev1->syspath);
+	len2 = strlen(dev2->syspath);
+
+	if (len1 != len2 && !strncmp(dev1->syspath, dev2->syspath, min(len1, len2)))
+		return len2 - len1;
+
 	return strcmp(dev1->syspath, dev2->syspath);
 }
 
-- 
2.52.0


  parent reply	other threads:[~2026-01-21 11:48 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-21 11:42 [PATCH i-g-t 0/7] lsgpu: Report upstream port link bandwidth Janusz Krzysztofik
2026-01-21 11:42 ` [PATCH i-g-t 1/7] lib/igt_device_scan: Don't print fake link bandwidth attributes Janusz Krzysztofik
2026-01-23 11:01   ` Sebastian Brzezinka
2026-01-23 14:10     ` Janusz Krzysztofik
2026-01-23 14:20       ` Sebastian Brzezinka
2026-01-23 14:42         ` Janusz Krzysztofik
2026-01-23 14:59           ` Sebastian Brzezinka
2026-01-21 11:42 ` [PATCH i-g-t 2/7] lib/igt_device_scan: Split out reusable part of update_or_add_parent Janusz Krzysztofik
2026-01-23 11:02   ` Sebastian Brzezinka
2026-01-21 11:42 ` [PATCH i-g-t 3/7] lib/igt_device_scan: Include PCIe bridge upstream port if available Janusz Krzysztofik
2026-01-23 11:02   ` Sebastian Brzezinka
2026-01-23 14:22     ` Janusz Krzysztofik
2026-01-21 11:42 ` Janusz Krzysztofik [this message]
2026-01-23 11:02   ` [PATCH i-g-t 4/7] lib/igt_device_scan: List PCIe bridge ports after their children Sebastian Brzezinka
2026-01-21 11:42 ` [PATCH i-g-t 5/7] lib/igt_device_scan: Omit AER statistics data from attributes Janusz Krzysztofik
2026-01-21 11:42 ` [PATCH i-g-t 6/7] lib/igt_device_scan: Don't print bridge not applicable attributes Janusz Krzysztofik
2026-01-23 11:03   ` Sebastian Brzezinka
2026-01-23 14:29     ` Janusz Krzysztofik
2026-01-21 11:42 ` [PATCH i-g-t 7/7] lib/igt_device_scan: Print GPU upstream port parent/child relations Janusz Krzysztofik
2026-01-23 11:03   ` Sebastian Brzezinka
2026-01-23 14:34     ` Janusz Krzysztofik
2026-01-26 12:56       ` Janusz Krzysztofik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260121114656.1970684-13-janusz.krzysztofik@linux.intel.com \
    --to=janusz.krzysztofik@linux.intel.com \
    --cc=andi.shyti@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=krzysztof.karas@intel.com \
    --cc=krzysztof.niemiec@intel.com \
    --cc=sebastian.brzezinka@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox