* [Intel-gfx] [PATCH i-g-t 1/4] intel_gpu_top: User friendly device listing @ 2020-11-13 14:53 ` Tvrtko Ursulin 0 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Adding a new device selection print type suitable for user-facing use cases like intel_gpu_top -L and later lsgpu. Instead of: sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 subsystem : drm drm card : /dev/dri/card0 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 subsystem : drm drm render : /dev/dri/renderD128 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0 subsystem : pci drm card : /dev/dri/card0 drm render : /dev/dri/renderD128 vendor : 8086 device : 193B New format looks like: card0 8086:193B drm:/dev/dri/card0 └─renderD128 drm:/dev/dri/renderD128 Advantages are more compact, more readable, one entry per GPU, shorter string to copy and paste to intel_gpu_top -d, or respective usage. v2: * Increase stack filter size. (Zbigniew) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- lib/igt_device_scan.c | 109 +++++++++++++++++++++++++++++++++++++----- lib/igt_device_scan.h | 1 + tools/intel_gpu_top.c | 3 +- 3 files changed, 100 insertions(+), 13 deletions(-) diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c index c581a31ae55e..c0cd6757fc27 100644 --- a/lib/igt_device_scan.c +++ b/lib/igt_device_scan.c @@ -735,18 +735,26 @@ static inline void _pr_simple2(const char *k, const char *v1, const char *v2) printf(" %-16s: %s:%s\n", k, v1, v2); } -static void igt_devs_print_simple(struct igt_list_head *view) +static bool __check_empty(struct igt_list_head *view) { - struct igt_device *dev; - if (!view) - return; + return true; if (igt_list_empty(view)) { printf("No GPU devices found\n"); - return; + return true; } + return false; +} + +static void igt_devs_print_simple(struct igt_list_head *view) +{ + struct igt_device *dev; + + if (__check_empty(view)) + return; + igt_list_for_each_entry(dev, view, link) { printf("sys:%s\n", dev->syspath); if (dev->subsystem) @@ -768,6 +776,89 @@ static void igt_devs_print_simple(struct igt_list_head *view) } } +static struct igt_device * +__find_pci(struct igt_list_head *view, const char *drm) +{ + struct igt_device *dev; + + igt_list_for_each_entry(dev, view, link) { + if (!is_pci_subsystem(dev) || !dev->drm_card) + continue; + + if (!strcmp(dev->drm_card, drm)) + return dev; + } + + return NULL; +} + +static void igt_devs_print_user(struct igt_list_head *view) +{ + struct igt_device *dev; + + if (__check_empty(view)) + return; + + igt_list_for_each_entry(dev, view, link) { + unsigned int i, num_children; + struct igt_device *pci_dev; + struct igt_device *dev2; + char filter[256]; + char *drm_name; + int ret; + + if (!is_drm_subsystem(dev)) + continue; + if (!dev->drm_card || dev->drm_render) + continue; + + drm_name = rindex(dev->drm_card, '/'); + if (!drm_name || !*++drm_name) + continue; + + ret = snprintf(filter, sizeof(filter), "drm:%s", dev->drm_card); + igt_assert(ret < sizeof(filter)); + + pci_dev = __find_pci(view, dev->drm_card); + if (pci_dev) + printf("%-24s%4s:%4s %s\n", + drm_name, pci_dev->vendor, pci_dev->device, + filter); + else + printf("%-24s %s\n", drm_name, filter); + + num_children = 0; + igt_list_for_each_entry(dev2, view, link) { + if (!is_drm_subsystem(dev2) || !dev2->drm_render) + continue; + if (strcmp(dev2->parent->syspath, dev->parent->syspath)) + continue; + + num_children++; + } + + i = 0; + igt_list_for_each_entry(dev2, view, link) { + if (!is_drm_subsystem(dev2) || !dev2->drm_render) + continue; + if (strcmp(dev2->parent->syspath, dev->parent->syspath)) + continue; + + drm_name = rindex(dev2->drm_render, '/'); + if (!drm_name || !*++drm_name) + continue; + + ret = snprintf(filter, sizeof(filter), "drm:%s", + dev2->drm_render); + igt_assert(ret < sizeof(filter)); + + printf("%s%-22s %s\n", + (++i == num_children) ? "└─" : "├─", + drm_name, filter); + } + } +} + static inline void _print_key_value(const char* k, const char *v) { printf("%-32s: %s\n", k, v); @@ -792,14 +883,9 @@ static void igt_devs_print_detail(struct igt_list_head *view) { struct igt_device *dev; - if (!view) + if (__check_empty(view)) return; - if (igt_list_empty(view)) { - printf("No GPU devices found\n"); - return; - } - igt_list_for_each_entry(dev, view, link) { printf("========== %s:%s ==========\n", dev->subsystem, dev->syspath); @@ -821,6 +907,7 @@ static struct print_func { } print_functions[] = { [IGT_PRINT_SIMPLE] = { .prn = igt_devs_print_simple }, [IGT_PRINT_DETAIL] = { .prn = igt_devs_print_detail }, + [IGT_PRINT_USER] = { .prn = igt_devs_print_user }, }; /** diff --git a/lib/igt_device_scan.h b/lib/igt_device_scan.h index 99daee0c52d6..9822c22cb69c 100644 --- a/lib/igt_device_scan.h +++ b/lib/igt_device_scan.h @@ -37,6 +37,7 @@ enum igt_devices_print_type { IGT_PRINT_SIMPLE, IGT_PRINT_DETAIL, + IGT_PRINT_USER, /* End user friendly. */ }; #define INTEGRATED_I915_GPU_PCI_ID "0000:00:02.0" diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 298defa4e6ed..5230472d2af4 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -1313,7 +1313,6 @@ int main(int argc, char **argv) unsigned int i; int ret = 0, ch; bool list_device = false; - enum igt_devices_print_type printtype = IGT_PRINT_SIMPLE; char *pmu_device, *opt_device = NULL; struct igt_device_card card; @@ -1388,7 +1387,7 @@ int main(int argc, char **argv) igt_devices_scan(false); if (list_device) { - igt_devices_print(printtype); + igt_devices_print(IGT_PRINT_USER); goto exit; } -- 2.25.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t 1/4] intel_gpu_top: User friendly device listing @ 2020-11-13 14:53 ` Tvrtko Ursulin 0 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx, Petri Latvala, Tvrtko Ursulin From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Adding a new device selection print type suitable for user-facing use cases like intel_gpu_top -L and later lsgpu. Instead of: sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 subsystem : drm drm card : /dev/dri/card0 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 subsystem : drm drm render : /dev/dri/renderD128 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0 subsystem : pci drm card : /dev/dri/card0 drm render : /dev/dri/renderD128 vendor : 8086 device : 193B New format looks like: card0 8086:193B drm:/dev/dri/card0 └─renderD128 drm:/dev/dri/renderD128 Advantages are more compact, more readable, one entry per GPU, shorter string to copy and paste to intel_gpu_top -d, or respective usage. v2: * Increase stack filter size. (Zbigniew) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- lib/igt_device_scan.c | 109 +++++++++++++++++++++++++++++++++++++----- lib/igt_device_scan.h | 1 + tools/intel_gpu_top.c | 3 +- 3 files changed, 100 insertions(+), 13 deletions(-) diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c index c581a31ae55e..c0cd6757fc27 100644 --- a/lib/igt_device_scan.c +++ b/lib/igt_device_scan.c @@ -735,18 +735,26 @@ static inline void _pr_simple2(const char *k, const char *v1, const char *v2) printf(" %-16s: %s:%s\n", k, v1, v2); } -static void igt_devs_print_simple(struct igt_list_head *view) +static bool __check_empty(struct igt_list_head *view) { - struct igt_device *dev; - if (!view) - return; + return true; if (igt_list_empty(view)) { printf("No GPU devices found\n"); - return; + return true; } + return false; +} + +static void igt_devs_print_simple(struct igt_list_head *view) +{ + struct igt_device *dev; + + if (__check_empty(view)) + return; + igt_list_for_each_entry(dev, view, link) { printf("sys:%s\n", dev->syspath); if (dev->subsystem) @@ -768,6 +776,89 @@ static void igt_devs_print_simple(struct igt_list_head *view) } } +static struct igt_device * +__find_pci(struct igt_list_head *view, const char *drm) +{ + struct igt_device *dev; + + igt_list_for_each_entry(dev, view, link) { + if (!is_pci_subsystem(dev) || !dev->drm_card) + continue; + + if (!strcmp(dev->drm_card, drm)) + return dev; + } + + return NULL; +} + +static void igt_devs_print_user(struct igt_list_head *view) +{ + struct igt_device *dev; + + if (__check_empty(view)) + return; + + igt_list_for_each_entry(dev, view, link) { + unsigned int i, num_children; + struct igt_device *pci_dev; + struct igt_device *dev2; + char filter[256]; + char *drm_name; + int ret; + + if (!is_drm_subsystem(dev)) + continue; + if (!dev->drm_card || dev->drm_render) + continue; + + drm_name = rindex(dev->drm_card, '/'); + if (!drm_name || !*++drm_name) + continue; + + ret = snprintf(filter, sizeof(filter), "drm:%s", dev->drm_card); + igt_assert(ret < sizeof(filter)); + + pci_dev = __find_pci(view, dev->drm_card); + if (pci_dev) + printf("%-24s%4s:%4s %s\n", + drm_name, pci_dev->vendor, pci_dev->device, + filter); + else + printf("%-24s %s\n", drm_name, filter); + + num_children = 0; + igt_list_for_each_entry(dev2, view, link) { + if (!is_drm_subsystem(dev2) || !dev2->drm_render) + continue; + if (strcmp(dev2->parent->syspath, dev->parent->syspath)) + continue; + + num_children++; + } + + i = 0; + igt_list_for_each_entry(dev2, view, link) { + if (!is_drm_subsystem(dev2) || !dev2->drm_render) + continue; + if (strcmp(dev2->parent->syspath, dev->parent->syspath)) + continue; + + drm_name = rindex(dev2->drm_render, '/'); + if (!drm_name || !*++drm_name) + continue; + + ret = snprintf(filter, sizeof(filter), "drm:%s", + dev2->drm_render); + igt_assert(ret < sizeof(filter)); + + printf("%s%-22s %s\n", + (++i == num_children) ? "└─" : "├─", + drm_name, filter); + } + } +} + static inline void _print_key_value(const char* k, const char *v) { printf("%-32s: %s\n", k, v); @@ -792,14 +883,9 @@ static void igt_devs_print_detail(struct igt_list_head *view) { struct igt_device *dev; - if (!view) + if (__check_empty(view)) return; - if (igt_list_empty(view)) { - printf("No GPU devices found\n"); - return; - } - igt_list_for_each_entry(dev, view, link) { printf("========== %s:%s ==========\n", dev->subsystem, dev->syspath); @@ -821,6 +907,7 @@ static struct print_func { } print_functions[] = { [IGT_PRINT_SIMPLE] = { .prn = igt_devs_print_simple }, [IGT_PRINT_DETAIL] = { .prn = igt_devs_print_detail }, + [IGT_PRINT_USER] = { .prn = igt_devs_print_user }, }; /** diff --git a/lib/igt_device_scan.h b/lib/igt_device_scan.h index 99daee0c52d6..9822c22cb69c 100644 --- a/lib/igt_device_scan.h +++ b/lib/igt_device_scan.h @@ -37,6 +37,7 @@ enum igt_devices_print_type { IGT_PRINT_SIMPLE, IGT_PRINT_DETAIL, + IGT_PRINT_USER, /* End user friendly. */ }; #define INTEGRATED_I915_GPU_PCI_ID "0000:00:02.0" diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 298defa4e6ed..5230472d2af4 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -1313,7 +1313,6 @@ int main(int argc, char **argv) unsigned int i; int ret = 0, ch; bool list_device = false; - enum igt_devices_print_type printtype = IGT_PRINT_SIMPLE; char *pmu_device, *opt_device = NULL; struct igt_device_card card; @@ -1388,7 +1387,7 @@ int main(int argc, char **argv) igt_devices_scan(false); if (list_device) { - igt_devices_print(printtype); + igt_devices_print(IGT_PRINT_USER); goto exit; } -- 2.25.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH i-g-t 2/4] lsgpu: User friendly device listing 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin @ 2020-11-13 14:53 ` Tvrtko Ursulin -1 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> New default user frindly device listing mode which replaces: sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 subsystem : drm drm card : /dev/dri/card0 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 subsystem : drm drm render : /dev/dri/renderD128 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0 subsystem : pci drm card : /dev/dri/card0 drm render : /dev/dri/renderD128 vendor : 8086 device : 193B With: card0 8086:193B drm:/dev/dri/card0 └─renderD128 drm:/dev/dri/renderD128 Advantages are more compact, more readable, one entry per GPU. Legacy format can be chose using the -s / --print-simple command line switches. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- tools/lsgpu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/lsgpu.c b/tools/lsgpu.c index 2541d1c24e66..3b234b73361a 100644 --- a/tools/lsgpu.c +++ b/tools/lsgpu.c @@ -70,6 +70,7 @@ */ enum { + OPT_PRINT_SIMPLE = 's', OPT_PRINT_DETAIL = 'p', OPT_LIST_VENDORS = 'v', OPT_LIST_FILTERS = 'l', @@ -85,6 +86,7 @@ static char *igt_device; static const char *usage_str = "usage: lsgpu [options]\n\n" "Options:\n" + " -s, --print-simple Print simple (legacy) device details\n" " -p, --print-details Print devices with details\n" " -v, --list-vendors List recognized vendors\n" " -l, --list-filter-types List registered device filters types\n" @@ -151,6 +153,7 @@ static char *get_device_from_rc(void) int main(int argc, char *argv[]) { static struct option long_options[] = { + {"print-simple", no_argument, NULL, OPT_PRINT_SIMPLE}, {"print-detail", no_argument, NULL, OPT_PRINT_DETAIL}, {"list-vendors", no_argument, NULL, OPT_LIST_VENDORS}, {"list-filter-types", no_argument, NULL, OPT_LIST_FILTERS}, @@ -160,12 +163,15 @@ int main(int argc, char *argv[]) }; int c, index = 0; char *env_device = NULL, *opt_device = NULL, *rc_device = NULL; - enum igt_devices_print_type printtype = IGT_PRINT_SIMPLE; + enum igt_devices_print_type printtype = IGT_PRINT_USER; - while ((c = getopt_long(argc, argv, "pvld:h", + while ((c = getopt_long(argc, argv, "spvld:h", long_options, &index)) != -1) { switch(c) { + case OPT_PRINT_SIMPLE: + printtype = IGT_PRINT_SIMPLE; + break; case OPT_PRINT_DETAIL: printtype = IGT_PRINT_DETAIL; break; -- 2.25.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t 2/4] lsgpu: User friendly device listing @ 2020-11-13 14:53 ` Tvrtko Ursulin 0 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx, Petri Latvala, Tvrtko Ursulin From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> New default user frindly device listing mode which replaces: sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 subsystem : drm drm card : /dev/dri/card0 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 subsystem : drm drm render : /dev/dri/renderD128 parent : sys:/sys/devices/pci0000:00/0000:00:02.0 sys:/sys/devices/pci0000:00/0000:00:02.0 subsystem : pci drm card : /dev/dri/card0 drm render : /dev/dri/renderD128 vendor : 8086 device : 193B With: card0 8086:193B drm:/dev/dri/card0 └─renderD128 drm:/dev/dri/renderD128 Advantages are more compact, more readable, one entry per GPU. Legacy format can be chose using the -s / --print-simple command line switches. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- tools/lsgpu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/lsgpu.c b/tools/lsgpu.c index 2541d1c24e66..3b234b73361a 100644 --- a/tools/lsgpu.c +++ b/tools/lsgpu.c @@ -70,6 +70,7 @@ */ enum { + OPT_PRINT_SIMPLE = 's', OPT_PRINT_DETAIL = 'p', OPT_LIST_VENDORS = 'v', OPT_LIST_FILTERS = 'l', @@ -85,6 +86,7 @@ static char *igt_device; static const char *usage_str = "usage: lsgpu [options]\n\n" "Options:\n" + " -s, --print-simple Print simple (legacy) device details\n" " -p, --print-details Print devices with details\n" " -v, --list-vendors List recognized vendors\n" " -l, --list-filter-types List registered device filters types\n" @@ -151,6 +153,7 @@ static char *get_device_from_rc(void) int main(int argc, char *argv[]) { static struct option long_options[] = { + {"print-simple", no_argument, NULL, OPT_PRINT_SIMPLE}, {"print-detail", no_argument, NULL, OPT_PRINT_DETAIL}, {"list-vendors", no_argument, NULL, OPT_LIST_VENDORS}, {"list-filter-types", no_argument, NULL, OPT_LIST_FILTERS}, @@ -160,12 +163,15 @@ int main(int argc, char *argv[]) }; int c, index = 0; char *env_device = NULL, *opt_device = NULL, *rc_device = NULL; - enum igt_devices_print_type printtype = IGT_PRINT_SIMPLE; + enum igt_devices_print_type printtype = IGT_PRINT_USER; - while ((c = getopt_long(argc, argv, "pvld:h", + while ((c = getopt_long(argc, argv, "spvld:h", long_options, &index)) != -1) { switch(c) { + case OPT_PRINT_SIMPLE: + printtype = IGT_PRINT_SIMPLE; + break; case OPT_PRINT_DETAIL: printtype = IGT_PRINT_DETAIL; break; -- 2.25.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH i-g-t 3/4] lsgpu: Add filter type print-out selection 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin @ 2020-11-13 14:53 ` Tvrtko Ursulin -1 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> In the previous patch we switched the lsgpu output to a short and user friendly format but some users will need a shorthand for getting other types of device selection filters than the defaut drm. Add some command line switches to enable this: $ lsgpu card0 8086:193B drm:/dev/dri/card0 └─renderD128 drm:/dev/dri/renderD128 $ lsgpu --sysfs card0 8086:193B sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 └─renderD128 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 $ lsgpu --pci card0 8086:193B pci:/sys/devices/pci0000:00/0000:00:02.0 └─renderD128 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Suggested-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> --- lib/igt_device_scan.c | 69 ++++++++++++++++++++++++++++++++----------- lib/igt_device_scan.h | 15 ++++++++-- tools/intel_gpu_top.c | 6 +++- tools/lsgpu.c | 32 +++++++++++++++----- 4 files changed, 95 insertions(+), 27 deletions(-) diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c index c0cd6757fc27..d5163efbca71 100644 --- a/lib/igt_device_scan.c +++ b/lib/igt_device_scan.c @@ -748,7 +748,9 @@ static bool __check_empty(struct igt_list_head *view) return false; } -static void igt_devs_print_simple(struct igt_list_head *view) +static void +igt_devs_print_simple(struct igt_list_head *view, + const struct igt_devices_print_format *fmt) { struct igt_device *dev; @@ -792,7 +794,36 @@ __find_pci(struct igt_list_head *view, const char *drm) return NULL; } -static void igt_devs_print_user(struct igt_list_head *view) +static void __print_filter(char *buf, int len, + const struct igt_devices_print_format *fmt, + struct igt_device *dev, + bool render) +{ + int ret; + + switch (fmt->option) { + case IGT_PRINT_DRM: + ret = snprintf(buf, len, "drm:%s", + render ? dev->drm_render : dev->drm_card); + igt_assert(ret < len); + break; + case IGT_PRINT_SYSFS: + ret = snprintf(buf, len, "sys:%s", dev->syspath); + igt_assert(ret < len); + break; + case IGT_PRINT_PCI: + if (!render) { + ret = snprintf(buf, len, "pci:%s", + dev->parent->syspath); + igt_assert(ret < len); + } + break; + }; +} + +static void +igt_devs_print_user(struct igt_list_head *view, + const struct igt_devices_print_format *fmt) { struct igt_device *dev; @@ -805,7 +836,6 @@ static void igt_devs_print_user(struct igt_list_head *view) struct igt_device *dev2; char filter[256]; char *drm_name; - int ret; if (!is_drm_subsystem(dev)) continue; @@ -816,8 +846,7 @@ static void igt_devs_print_user(struct igt_list_head *view) if (!drm_name || !*++drm_name) continue; - ret = snprintf(filter, sizeof(filter), "drm:%s", dev->drm_card); - igt_assert(ret < sizeof(filter)); + __print_filter(filter, sizeof(filter), fmt, dev, false); pci_dev = __find_pci(view, dev->drm_card); if (pci_dev) @@ -848,13 +877,15 @@ static void igt_devs_print_user(struct igt_list_head *view) if (!drm_name || !*++drm_name) continue; - ret = snprintf(filter, sizeof(filter), "drm:%s", - dev2->drm_render); - igt_assert(ret < sizeof(filter)); - - printf("%s%-22s %s\n", - (++i == num_children) ? "└─" : "├─", - drm_name, filter); + printf("%s%-22s", + (++i == num_children) ? "└─" : "├─", drm_name); + if (fmt->option != IGT_PRINT_PCI) { + __print_filter(filter, sizeof(filter), fmt, + dev2, true); + printf(" %s\n", filter); + } else { + printf("\n"); + } } } } @@ -879,7 +910,10 @@ static void print_ht(GHashTable *ht) g_list_free(keys); } -static void igt_devs_print_detail(struct igt_list_head *view) +static void +igt_devs_print_detail(struct igt_list_head *view, + const struct igt_devices_print_format *fmt) + { struct igt_device *dev; @@ -903,7 +937,8 @@ static void igt_devs_print_detail(struct igt_list_head *view) } static struct print_func { - void (*prn)(struct igt_list_head *view); + void (*prn)(struct igt_list_head *view, + const struct igt_devices_print_format *); } print_functions[] = { [IGT_PRINT_SIMPLE] = { .prn = igt_devs_print_simple }, [IGT_PRINT_DETAIL] = { .prn = igt_devs_print_detail }, @@ -912,15 +947,15 @@ static struct print_func { /** * igt_devices_print - * @printtype: IGT_PRINT_SIMPLE or IGT_PRINT_DETAIL + * @fmt: Print format as specified by struct igt_devices_print_format * * Function can be used by external tool to print device array in simple * or detailed form. This function is added here to avoid exposing * internal implementation data structures. */ -void igt_devices_print(enum igt_devices_print_type printtype) +void igt_devices_print(const struct igt_devices_print_format *fmt) { - print_functions[printtype].prn(&igt_devs.filtered); + print_functions[fmt->type].prn(&igt_devs.filtered, fmt); } /** diff --git a/lib/igt_device_scan.h b/lib/igt_device_scan.h index 9822c22cb69c..bb4be72345fb 100644 --- a/lib/igt_device_scan.h +++ b/lib/igt_device_scan.h @@ -35,11 +35,22 @@ #include <unistd.h> enum igt_devices_print_type { - IGT_PRINT_SIMPLE, + IGT_PRINT_SIMPLE = 0, IGT_PRINT_DETAIL, IGT_PRINT_USER, /* End user friendly. */ }; +enum igt_devices_print_option { + IGT_PRINT_DRM = 0, + IGT_PRINT_SYSFS, + IGT_PRINT_PCI, +}; + +struct igt_devices_print_format { + enum igt_devices_print_type type; + enum igt_devices_print_option option; +}; + #define INTEGRATED_I915_GPU_PCI_ID "0000:00:02.0" #define PCI_SLOT_NAME_SIZE 12 struct igt_device_card { @@ -51,7 +62,7 @@ struct igt_device_card { void igt_devices_scan(bool force); -void igt_devices_print(enum igt_devices_print_type printtype); +void igt_devices_print(const struct igt_devices_print_format *fmt); void igt_devices_print_vendors(void); void igt_device_print_filter_types(void); diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 5230472d2af4..07f88d555dc8 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -1387,7 +1387,11 @@ int main(int argc, char **argv) igt_devices_scan(false); if (list_device) { - igt_devices_print(IGT_PRINT_USER); + struct igt_devices_print_format fmt = { + .type = IGT_PRINT_USER + }; + + igt_devices_print(&fmt); goto exit; } diff --git a/tools/lsgpu.c b/tools/lsgpu.c index 3b234b73361a..169ab0c29e50 100644 --- a/tools/lsgpu.c +++ b/tools/lsgpu.c @@ -91,7 +91,11 @@ static const char *usage_str = " -v, --list-vendors List recognized vendors\n" " -l, --list-filter-types List registered device filters types\n" " -d, --device filter Device filter, can be given multiple times\n" - " -h, --help Show this help message and exit\n"; + " -h, --help Show this help message and exit\n" + "\nOptions valid for default print out mode only:\n" + " --drm Show DRM filters (default) for each device\n" + " --sysfs Show sysfs filters for each device\n" + " --pci Show PCI filters for each device\n"; static void test_device_open(struct igt_device_card *card) { @@ -153,6 +157,9 @@ static char *get_device_from_rc(void) int main(int argc, char *argv[]) { static struct option long_options[] = { + {"drm", no_argument, NULL, 0}, + {"sysfs", no_argument, NULL, 1}, + {"pci", no_argument, NULL, 2}, {"print-simple", no_argument, NULL, OPT_PRINT_SIMPLE}, {"print-detail", no_argument, NULL, OPT_PRINT_DETAIL}, {"list-vendors", no_argument, NULL, OPT_LIST_VENDORS}, @@ -163,17 +170,19 @@ int main(int argc, char *argv[]) }; int c, index = 0; char *env_device = NULL, *opt_device = NULL, *rc_device = NULL; - enum igt_devices_print_type printtype = IGT_PRINT_USER; + struct igt_devices_print_format fmt = { + .type = IGT_PRINT_USER, + }; while ((c = getopt_long(argc, argv, "spvld:h", long_options, &index)) != -1) { switch(c) { case OPT_PRINT_SIMPLE: - printtype = IGT_PRINT_SIMPLE; + fmt.type = IGT_PRINT_SIMPLE; break; case OPT_PRINT_DETAIL: - printtype = IGT_PRINT_DETAIL; + fmt.type = IGT_PRINT_DETAIL; break; case OPT_LIST_VENDORS: g_show_vendors = true; @@ -187,6 +196,15 @@ int main(int argc, char *argv[]) case OPT_HELP: g_help = true; break; + case 0: + fmt.option = IGT_PRINT_DRM; + break; + case 1: + fmt.option = IGT_PRINT_SYSFS; + break; + case 2: + fmt.option = IGT_PRINT_PCI; + break; } } @@ -239,14 +257,14 @@ int main(int argc, char *argv[]) printf("Device detail:\n"); print_card(&card); test_device_open(&card); - if (printtype == IGT_PRINT_DETAIL) { + if (fmt.type == IGT_PRINT_DETAIL) { printf("\n"); - igt_devices_print(printtype); + igt_devices_print(&fmt); } printf("-------------------------------------------\n"); } else { - igt_devices_print(printtype); + igt_devices_print(&fmt); } free(rc_device); -- 2.25.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t 3/4] lsgpu: Add filter type print-out selection @ 2020-11-13 14:53 ` Tvrtko Ursulin 0 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx, Petri Latvala, Tvrtko Ursulin From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> In the previous patch we switched the lsgpu output to a short and user friendly format but some users will need a shorthand for getting other types of device selection filters than the defaut drm. Add some command line switches to enable this: $ lsgpu card0 8086:193B drm:/dev/dri/card0 └─renderD128 drm:/dev/dri/renderD128 $ lsgpu --sysfs card0 8086:193B sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 └─renderD128 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 $ lsgpu --pci card0 8086:193B pci:/sys/devices/pci0000:00/0000:00:02.0 └─renderD128 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Suggested-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> --- lib/igt_device_scan.c | 69 ++++++++++++++++++++++++++++++++----------- lib/igt_device_scan.h | 15 ++++++++-- tools/intel_gpu_top.c | 6 +++- tools/lsgpu.c | 32 +++++++++++++++----- 4 files changed, 95 insertions(+), 27 deletions(-) diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c index c0cd6757fc27..d5163efbca71 100644 --- a/lib/igt_device_scan.c +++ b/lib/igt_device_scan.c @@ -748,7 +748,9 @@ static bool __check_empty(struct igt_list_head *view) return false; } -static void igt_devs_print_simple(struct igt_list_head *view) +static void +igt_devs_print_simple(struct igt_list_head *view, + const struct igt_devices_print_format *fmt) { struct igt_device *dev; @@ -792,7 +794,36 @@ __find_pci(struct igt_list_head *view, const char *drm) return NULL; } -static void igt_devs_print_user(struct igt_list_head *view) +static void __print_filter(char *buf, int len, + const struct igt_devices_print_format *fmt, + struct igt_device *dev, + bool render) +{ + int ret; + + switch (fmt->option) { + case IGT_PRINT_DRM: + ret = snprintf(buf, len, "drm:%s", + render ? dev->drm_render : dev->drm_card); + igt_assert(ret < len); + break; + case IGT_PRINT_SYSFS: + ret = snprintf(buf, len, "sys:%s", dev->syspath); + igt_assert(ret < len); + break; + case IGT_PRINT_PCI: + if (!render) { + ret = snprintf(buf, len, "pci:%s", + dev->parent->syspath); + igt_assert(ret < len); + } + break; + }; +} + +static void +igt_devs_print_user(struct igt_list_head *view, + const struct igt_devices_print_format *fmt) { struct igt_device *dev; @@ -805,7 +836,6 @@ static void igt_devs_print_user(struct igt_list_head *view) struct igt_device *dev2; char filter[256]; char *drm_name; - int ret; if (!is_drm_subsystem(dev)) continue; @@ -816,8 +846,7 @@ static void igt_devs_print_user(struct igt_list_head *view) if (!drm_name || !*++drm_name) continue; - ret = snprintf(filter, sizeof(filter), "drm:%s", dev->drm_card); - igt_assert(ret < sizeof(filter)); + __print_filter(filter, sizeof(filter), fmt, dev, false); pci_dev = __find_pci(view, dev->drm_card); if (pci_dev) @@ -848,13 +877,15 @@ static void igt_devs_print_user(struct igt_list_head *view) if (!drm_name || !*++drm_name) continue; - ret = snprintf(filter, sizeof(filter), "drm:%s", - dev2->drm_render); - igt_assert(ret < sizeof(filter)); - - printf("%s%-22s %s\n", - (++i == num_children) ? "└─" : "├─", - drm_name, filter); + printf("%s%-22s", + (++i == num_children) ? "└─" : "├─", drm_name); + if (fmt->option != IGT_PRINT_PCI) { + __print_filter(filter, sizeof(filter), fmt, + dev2, true); + printf(" %s\n", filter); + } else { + printf("\n"); + } } } } @@ -879,7 +910,10 @@ static void print_ht(GHashTable *ht) g_list_free(keys); } -static void igt_devs_print_detail(struct igt_list_head *view) +static void +igt_devs_print_detail(struct igt_list_head *view, + const struct igt_devices_print_format *fmt) + { struct igt_device *dev; @@ -903,7 +937,8 @@ static void igt_devs_print_detail(struct igt_list_head *view) } static struct print_func { - void (*prn)(struct igt_list_head *view); + void (*prn)(struct igt_list_head *view, + const struct igt_devices_print_format *); } print_functions[] = { [IGT_PRINT_SIMPLE] = { .prn = igt_devs_print_simple }, [IGT_PRINT_DETAIL] = { .prn = igt_devs_print_detail }, @@ -912,15 +947,15 @@ static struct print_func { /** * igt_devices_print - * @printtype: IGT_PRINT_SIMPLE or IGT_PRINT_DETAIL + * @fmt: Print format as specified by struct igt_devices_print_format * * Function can be used by external tool to print device array in simple * or detailed form. This function is added here to avoid exposing * internal implementation data structures. */ -void igt_devices_print(enum igt_devices_print_type printtype) +void igt_devices_print(const struct igt_devices_print_format *fmt) { - print_functions[printtype].prn(&igt_devs.filtered); + print_functions[fmt->type].prn(&igt_devs.filtered, fmt); } /** diff --git a/lib/igt_device_scan.h b/lib/igt_device_scan.h index 9822c22cb69c..bb4be72345fb 100644 --- a/lib/igt_device_scan.h +++ b/lib/igt_device_scan.h @@ -35,11 +35,22 @@ #include <unistd.h> enum igt_devices_print_type { - IGT_PRINT_SIMPLE, + IGT_PRINT_SIMPLE = 0, IGT_PRINT_DETAIL, IGT_PRINT_USER, /* End user friendly. */ }; +enum igt_devices_print_option { + IGT_PRINT_DRM = 0, + IGT_PRINT_SYSFS, + IGT_PRINT_PCI, +}; + +struct igt_devices_print_format { + enum igt_devices_print_type type; + enum igt_devices_print_option option; +}; + #define INTEGRATED_I915_GPU_PCI_ID "0000:00:02.0" #define PCI_SLOT_NAME_SIZE 12 struct igt_device_card { @@ -51,7 +62,7 @@ struct igt_device_card { void igt_devices_scan(bool force); -void igt_devices_print(enum igt_devices_print_type printtype); +void igt_devices_print(const struct igt_devices_print_format *fmt); void igt_devices_print_vendors(void); void igt_device_print_filter_types(void); diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 5230472d2af4..07f88d555dc8 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -1387,7 +1387,11 @@ int main(int argc, char **argv) igt_devices_scan(false); if (list_device) { - igt_devices_print(IGT_PRINT_USER); + struct igt_devices_print_format fmt = { + .type = IGT_PRINT_USER + }; + + igt_devices_print(&fmt); goto exit; } diff --git a/tools/lsgpu.c b/tools/lsgpu.c index 3b234b73361a..169ab0c29e50 100644 --- a/tools/lsgpu.c +++ b/tools/lsgpu.c @@ -91,7 +91,11 @@ static const char *usage_str = " -v, --list-vendors List recognized vendors\n" " -l, --list-filter-types List registered device filters types\n" " -d, --device filter Device filter, can be given multiple times\n" - " -h, --help Show this help message and exit\n"; + " -h, --help Show this help message and exit\n" + "\nOptions valid for default print out mode only:\n" + " --drm Show DRM filters (default) for each device\n" + " --sysfs Show sysfs filters for each device\n" + " --pci Show PCI filters for each device\n"; static void test_device_open(struct igt_device_card *card) { @@ -153,6 +157,9 @@ static char *get_device_from_rc(void) int main(int argc, char *argv[]) { static struct option long_options[] = { + {"drm", no_argument, NULL, 0}, + {"sysfs", no_argument, NULL, 1}, + {"pci", no_argument, NULL, 2}, {"print-simple", no_argument, NULL, OPT_PRINT_SIMPLE}, {"print-detail", no_argument, NULL, OPT_PRINT_DETAIL}, {"list-vendors", no_argument, NULL, OPT_LIST_VENDORS}, @@ -163,17 +170,19 @@ int main(int argc, char *argv[]) }; int c, index = 0; char *env_device = NULL, *opt_device = NULL, *rc_device = NULL; - enum igt_devices_print_type printtype = IGT_PRINT_USER; + struct igt_devices_print_format fmt = { + .type = IGT_PRINT_USER, + }; while ((c = getopt_long(argc, argv, "spvld:h", long_options, &index)) != -1) { switch(c) { case OPT_PRINT_SIMPLE: - printtype = IGT_PRINT_SIMPLE; + fmt.type = IGT_PRINT_SIMPLE; break; case OPT_PRINT_DETAIL: - printtype = IGT_PRINT_DETAIL; + fmt.type = IGT_PRINT_DETAIL; break; case OPT_LIST_VENDORS: g_show_vendors = true; @@ -187,6 +196,15 @@ int main(int argc, char *argv[]) case OPT_HELP: g_help = true; break; + case 0: + fmt.option = IGT_PRINT_DRM; + break; + case 1: + fmt.option = IGT_PRINT_SYSFS; + break; + case 2: + fmt.option = IGT_PRINT_PCI; + break; } } @@ -239,14 +257,14 @@ int main(int argc, char *argv[]) printf("Device detail:\n"); print_card(&card); test_device_open(&card); - if (printtype == IGT_PRINT_DETAIL) { + if (fmt.type == IGT_PRINT_DETAIL) { printf("\n"); - igt_devices_print(printtype); + igt_devices_print(&fmt); } printf("-------------------------------------------\n"); } else { - igt_devices_print(printtype); + igt_devices_print(&fmt); } free(rc_device); -- 2.25.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t 3/4] lsgpu: Add filter type print-out selection 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin (?) @ 2020-11-13 15:18 ` Tvrtko Ursulin -1 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 15:18 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx On 13/11/2020 14:53, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > In the previous patch we switched the lsgpu output to a short and user > friendly format but some users will need a shorthand for getting other > types of device selection filters than the defaut drm. > > Add some command line switches to enable this: > > $ lsgpu > card0 8086:193B drm:/dev/dri/card0 > └─renderD128 drm:/dev/dri/renderD128 > > $ lsgpu --sysfs > card0 8086:193B sys:/sys/devices/pci0000:00/0000:00:02.0/drm/card0 > └─renderD128 sys:/sys/devices/pci0000:00/0000:00:02.0/drm/renderD128 > > $ lsgpu --pci > card0 8086:193B pci:/sys/devices/pci0000:00/0000:00:02.0 > └─renderD128 > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Suggested-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> > Cc: Petri Latvala <petri.latvala@intel.com> > --- > lib/igt_device_scan.c | 69 ++++++++++++++++++++++++++++++++----------- > lib/igt_device_scan.h | 15 ++++++++-- > tools/intel_gpu_top.c | 6 +++- > tools/lsgpu.c | 32 +++++++++++++++----- > 4 files changed, 95 insertions(+), 27 deletions(-) > > diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c > index c0cd6757fc27..d5163efbca71 100644 > --- a/lib/igt_device_scan.c > +++ b/lib/igt_device_scan.c > @@ -748,7 +748,9 @@ static bool __check_empty(struct igt_list_head *view) > return false; > } > > -static void igt_devs_print_simple(struct igt_list_head *view) > +static void > +igt_devs_print_simple(struct igt_list_head *view, > + const struct igt_devices_print_format *fmt) > { > struct igt_device *dev; > > @@ -792,7 +794,36 @@ __find_pci(struct igt_list_head *view, const char *drm) > return NULL; > } > > -static void igt_devs_print_user(struct igt_list_head *view) > +static void __print_filter(char *buf, int len, > + const struct igt_devices_print_format *fmt, > + struct igt_device *dev, > + bool render) > +{ > + int ret; > + > + switch (fmt->option) { > + case IGT_PRINT_DRM: > + ret = snprintf(buf, len, "drm:%s", > + render ? dev->drm_render : dev->drm_card); > + igt_assert(ret < len); > + break; > + case IGT_PRINT_SYSFS: > + ret = snprintf(buf, len, "sys:%s", dev->syspath); > + igt_assert(ret < len); > + break; > + case IGT_PRINT_PCI: > + if (!render) { > + ret = snprintf(buf, len, "pci:%s", > + dev->parent->syspath); This is wrong, prefix needs to be sys: or string not syspath but something which pci filter understands. Regards, Tvrtko > + igt_assert(ret < len); > + } > + break; > + }; > +} > + > +static void > +igt_devs_print_user(struct igt_list_head *view, > + const struct igt_devices_print_format *fmt) > { > struct igt_device *dev; > > @@ -805,7 +836,6 @@ static void igt_devs_print_user(struct igt_list_head *view) > struct igt_device *dev2; > char filter[256]; > char *drm_name; > - int ret; > > if (!is_drm_subsystem(dev)) > continue; > @@ -816,8 +846,7 @@ static void igt_devs_print_user(struct igt_list_head *view) > if (!drm_name || !*++drm_name) > continue; > > - ret = snprintf(filter, sizeof(filter), "drm:%s", dev->drm_card); > - igt_assert(ret < sizeof(filter)); > + __print_filter(filter, sizeof(filter), fmt, dev, false); > > pci_dev = __find_pci(view, dev->drm_card); > if (pci_dev) > @@ -848,13 +877,15 @@ static void igt_devs_print_user(struct igt_list_head *view) > if (!drm_name || !*++drm_name) > continue; > > - ret = snprintf(filter, sizeof(filter), "drm:%s", > - dev2->drm_render); > - igt_assert(ret < sizeof(filter)); > - > - printf("%s%-22s %s\n", > - (++i == num_children) ? "└─" : "├─", > - drm_name, filter); > + printf("%s%-22s", > + (++i == num_children) ? "└─" : "├─", drm_name); > + if (fmt->option != IGT_PRINT_PCI) { > + __print_filter(filter, sizeof(filter), fmt, > + dev2, true); > + printf(" %s\n", filter); > + } else { > + printf("\n"); > + } > } > } > } > @@ -879,7 +910,10 @@ static void print_ht(GHashTable *ht) > g_list_free(keys); > } > > -static void igt_devs_print_detail(struct igt_list_head *view) > +static void > +igt_devs_print_detail(struct igt_list_head *view, > + const struct igt_devices_print_format *fmt) > + > { > struct igt_device *dev; > > @@ -903,7 +937,8 @@ static void igt_devs_print_detail(struct igt_list_head *view) > } > > static struct print_func { > - void (*prn)(struct igt_list_head *view); > + void (*prn)(struct igt_list_head *view, > + const struct igt_devices_print_format *); > } print_functions[] = { > [IGT_PRINT_SIMPLE] = { .prn = igt_devs_print_simple }, > [IGT_PRINT_DETAIL] = { .prn = igt_devs_print_detail }, > @@ -912,15 +947,15 @@ static struct print_func { > > /** > * igt_devices_print > - * @printtype: IGT_PRINT_SIMPLE or IGT_PRINT_DETAIL > + * @fmt: Print format as specified by struct igt_devices_print_format > * > * Function can be used by external tool to print device array in simple > * or detailed form. This function is added here to avoid exposing > * internal implementation data structures. > */ > -void igt_devices_print(enum igt_devices_print_type printtype) > +void igt_devices_print(const struct igt_devices_print_format *fmt) > { > - print_functions[printtype].prn(&igt_devs.filtered); > + print_functions[fmt->type].prn(&igt_devs.filtered, fmt); > } > > /** > diff --git a/lib/igt_device_scan.h b/lib/igt_device_scan.h > index 9822c22cb69c..bb4be72345fb 100644 > --- a/lib/igt_device_scan.h > +++ b/lib/igt_device_scan.h > @@ -35,11 +35,22 @@ > #include <unistd.h> > > enum igt_devices_print_type { > - IGT_PRINT_SIMPLE, > + IGT_PRINT_SIMPLE = 0, > IGT_PRINT_DETAIL, > IGT_PRINT_USER, /* End user friendly. */ > }; > > +enum igt_devices_print_option { > + IGT_PRINT_DRM = 0, > + IGT_PRINT_SYSFS, > + IGT_PRINT_PCI, > +}; > + > +struct igt_devices_print_format { > + enum igt_devices_print_type type; > + enum igt_devices_print_option option; > +}; > + > #define INTEGRATED_I915_GPU_PCI_ID "0000:00:02.0" > #define PCI_SLOT_NAME_SIZE 12 > struct igt_device_card { > @@ -51,7 +62,7 @@ struct igt_device_card { > > void igt_devices_scan(bool force); > > -void igt_devices_print(enum igt_devices_print_type printtype); > +void igt_devices_print(const struct igt_devices_print_format *fmt); > void igt_devices_print_vendors(void); > void igt_device_print_filter_types(void); > > diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c > index 5230472d2af4..07f88d555dc8 100644 > --- a/tools/intel_gpu_top.c > +++ b/tools/intel_gpu_top.c > @@ -1387,7 +1387,11 @@ int main(int argc, char **argv) > igt_devices_scan(false); > > if (list_device) { > - igt_devices_print(IGT_PRINT_USER); > + struct igt_devices_print_format fmt = { > + .type = IGT_PRINT_USER > + }; > + > + igt_devices_print(&fmt); > goto exit; > } > > diff --git a/tools/lsgpu.c b/tools/lsgpu.c > index 3b234b73361a..169ab0c29e50 100644 > --- a/tools/lsgpu.c > +++ b/tools/lsgpu.c > @@ -91,7 +91,11 @@ static const char *usage_str = > " -v, --list-vendors List recognized vendors\n" > " -l, --list-filter-types List registered device filters types\n" > " -d, --device filter Device filter, can be given multiple times\n" > - " -h, --help Show this help message and exit\n"; > + " -h, --help Show this help message and exit\n" > + "\nOptions valid for default print out mode only:\n" > + " --drm Show DRM filters (default) for each device\n" > + " --sysfs Show sysfs filters for each device\n" > + " --pci Show PCI filters for each device\n"; > > static void test_device_open(struct igt_device_card *card) > { > @@ -153,6 +157,9 @@ static char *get_device_from_rc(void) > int main(int argc, char *argv[]) > { > static struct option long_options[] = { > + {"drm", no_argument, NULL, 0}, > + {"sysfs", no_argument, NULL, 1}, > + {"pci", no_argument, NULL, 2}, > {"print-simple", no_argument, NULL, OPT_PRINT_SIMPLE}, > {"print-detail", no_argument, NULL, OPT_PRINT_DETAIL}, > {"list-vendors", no_argument, NULL, OPT_LIST_VENDORS}, > @@ -163,17 +170,19 @@ int main(int argc, char *argv[]) > }; > int c, index = 0; > char *env_device = NULL, *opt_device = NULL, *rc_device = NULL; > - enum igt_devices_print_type printtype = IGT_PRINT_USER; > + struct igt_devices_print_format fmt = { > + .type = IGT_PRINT_USER, > + }; > > while ((c = getopt_long(argc, argv, "spvld:h", > long_options, &index)) != -1) { > switch(c) { > > case OPT_PRINT_SIMPLE: > - printtype = IGT_PRINT_SIMPLE; > + fmt.type = IGT_PRINT_SIMPLE; > break; > case OPT_PRINT_DETAIL: > - printtype = IGT_PRINT_DETAIL; > + fmt.type = IGT_PRINT_DETAIL; > break; > case OPT_LIST_VENDORS: > g_show_vendors = true; > @@ -187,6 +196,15 @@ int main(int argc, char *argv[]) > case OPT_HELP: > g_help = true; > break; > + case 0: > + fmt.option = IGT_PRINT_DRM; > + break; > + case 1: > + fmt.option = IGT_PRINT_SYSFS; > + break; > + case 2: > + fmt.option = IGT_PRINT_PCI; > + break; > } > } > > @@ -239,14 +257,14 @@ int main(int argc, char *argv[]) > printf("Device detail:\n"); > print_card(&card); > test_device_open(&card); > - if (printtype == IGT_PRINT_DETAIL) { > + if (fmt.type == IGT_PRINT_DETAIL) { > printf("\n"); > - igt_devices_print(printtype); > + igt_devices_print(&fmt); > } > printf("-------------------------------------------\n"); > > } else { > - igt_devices_print(printtype); > + igt_devices_print(&fmt); > } > > free(rc_device); > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH i-g-t 4/4] intel_gpu_top: Default GPU list to PCI mode 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin @ 2020-11-13 14:53 ` Tvrtko Ursulin -1 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> It is more obvious for the user to only shows filters for DRM master nodes since those are the ones that intel_gpu_top monitors. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tools/intel_gpu_top.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 07f88d555dc8..37b2141e784d 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -1388,7 +1388,8 @@ int main(int argc, char **argv) if (list_device) { struct igt_devices_print_format fmt = { - .type = IGT_PRINT_USER + .type = IGT_PRINT_USER, + .option = IGT_PRINT_PCI, }; igt_devices_print(&fmt); -- 2.25.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] intel_gpu_top: Default GPU list to PCI mode @ 2020-11-13 14:53 ` Tvrtko Ursulin 0 siblings, 0 replies; 11+ messages in thread From: Tvrtko Ursulin @ 2020-11-13 14:53 UTC (permalink / raw) To: igt-dev; +Cc: Intel-gfx, Tvrtko Ursulin From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> It is more obvious for the user to only shows filters for DRM master nodes since those are the ones that intel_gpu_top monitors. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tools/intel_gpu_top.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 07f88d555dc8..37b2141e784d 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -1388,7 +1388,8 @@ int main(int argc, char **argv) if (list_device) { struct igt_devices_print_format fmt = { - .type = IGT_PRINT_USER + .type = IGT_PRINT_USER, + .option = IGT_PRINT_PCI, }; igt_devices_print(&fmt); -- 2.25.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] intel_gpu_top: User friendly device listing 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin ` (3 preceding siblings ...) (?) @ 2020-11-13 18:26 ` Patchwork -1 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2020-11-13 18:26 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: igt-dev [-- Attachment #1.1: Type: text/plain, Size: 5195 bytes --] == Series Details == Series: series starting with [i-g-t,1/4] intel_gpu_top: User friendly device listing URL : https://patchwork.freedesktop.org/series/83814/ State : success == Summary == CI Bug Log - changes from CI_DRM_9326 -> IGTPW_5166 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/index.html Known issues ------------ Here are the changes found in IGTPW_5166 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_module_load@reload: - fi-skl-lmem: [PASS][1] -> [DMESG-WARN][2] ([i915#2605]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-skl-lmem/igt@i915_module_load@reload.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-skl-lmem/igt@i915_module_load@reload.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-bsw-kefka: [PASS][3] -> [DMESG-WARN][4] ([i915#1982]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_pm_rpm@module-reload: - fi-skl-6600u: [PASS][5] -> [DMESG-WARN][6] ([i915#1982]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic: - fi-icl-u2: [PASS][7] -> [DMESG-WARN][8] ([i915#1982]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html * igt@prime_vgem@basic-gtt: - fi-tgl-y: [PASS][9] -> [DMESG-WARN][10] ([i915#402]) +2 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-tgl-y/igt@prime_vgem@basic-gtt.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-tgl-y/igt@prime_vgem@basic-gtt.html #### Possible fixes #### * igt@kms_chamelium@dp-crc-fast: - fi-cml-u2: [FAIL][11] ([i915#1161] / [i915#262]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-apl-guc: [DMESG-WARN][13] ([i915#1635] / [i915#1982]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-icl-u2: [DMESG-WARN][15] ([i915#1982]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_pipe_crc_basic@read-crc-pipe-c: - fi-tgl-y: [DMESG-WARN][17] ([i915#1982]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-tgl-y/igt@kms_pipe_crc_basic@read-crc-pipe-c.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-tgl-y/igt@kms_pipe_crc_basic@read-crc-pipe-c.html * igt@prime_vgem@basic-read: - fi-tgl-y: [DMESG-WARN][19] ([i915#402]) -> [PASS][20] +2 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/fi-tgl-y/igt@prime_vgem@basic-read.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/fi-tgl-y/igt@prime_vgem@basic-read.html [i915#1161]: https://gitlab.freedesktop.org/drm/intel/issues/1161 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2605]: https://gitlab.freedesktop.org/drm/intel/issues/2605 [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (46 -> 40) ------------------------------ Missing (6): fi-ilk-m540 fi-tgl-dsi fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5850 -> IGTPW_5166 CI-20190529: 20190529 CI_DRM_9326: 3048c2a1dcf02422e89930148ffad9e91d690499 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_5166: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/index.html IGT_5850: 9748a4a0f93d108955d374a866e60cb962da9b5d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/index.html [-- Attachment #1.2: Type: text/html, Size: 6436 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/4] intel_gpu_top: User friendly device listing 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin ` (4 preceding siblings ...) (?) @ 2020-11-13 21:37 ` Patchwork -1 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2020-11-13 21:37 UTC (permalink / raw) To: Tvrtko Ursulin; +Cc: igt-dev [-- Attachment #1.1: Type: text/plain, Size: 29642 bytes --] == Series Details == Series: series starting with [i-g-t,1/4] intel_gpu_top: User friendly device listing URL : https://patchwork.freedesktop.org/series/83814/ State : failure == Summary == CI Bug Log - changes from CI_DRM_9326_full -> IGTPW_5166_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_5166_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_5166_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_5166_full: ### IGT changes ### #### Possible regressions #### * igt@gem_exec_endless@dispatch@bcs0: - shard-iclb: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb6/igt@gem_exec_endless@dispatch@bcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb1/igt@gem_exec_endless@dispatch@bcs0.html #### Warnings #### * igt@i915_pm_rc6_residency@rc6-fence: - shard-iclb: [WARN][3] ([i915#1515]) -> [WARN][4] +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb4/igt@i915_pm_rc6_residency@rc6-fence.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb4/igt@i915_pm_rc6_residency@rc6-fence.html Known issues ------------ Here are the changes found in IGTPW_5166_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_reloc@basic-many-active@rcs0: - shard-glk: [PASS][5] -> [FAIL][6] ([i915#2389]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk7/igt@gem_exec_reloc@basic-many-active@rcs0.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk9/igt@gem_exec_reloc@basic-many-active@rcs0.html - shard-hsw: [PASS][7] -> [FAIL][8] ([i915#2389]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw8/igt@gem_exec_reloc@basic-many-active@rcs0.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw4/igt@gem_exec_reloc@basic-many-active@rcs0.html * igt@gem_exec_whisper@basic-contexts: - shard-glk: [PASS][9] -> [DMESG-WARN][10] ([i915#118] / [i915#95]) +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk3/igt@gem_exec_whisper@basic-contexts.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk9/igt@gem_exec_whisper@basic-contexts.html * igt@gem_huc_copy@huc-copy: - shard-tglb: [PASS][11] -> [SKIP][12] ([i915#2190]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb8/igt@gem_huc_copy@huc-copy.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb6/igt@gem_huc_copy@huc-copy.html * igt@i915_pm_rpm@system-suspend: - shard-kbl: [PASS][13] -> [SKIP][14] ([fdo#109271]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl1/igt@i915_pm_rpm@system-suspend.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl1/igt@i915_pm_rpm@system-suspend.html - shard-iclb: [PASS][15] -> [SKIP][16] ([i915#579]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb5/igt@i915_pm_rpm@system-suspend.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb1/igt@i915_pm_rpm@system-suspend.html - shard-glk: [PASS][17] -> [SKIP][18] ([fdo#109271]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk6/igt@i915_pm_rpm@system-suspend.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk6/igt@i915_pm_rpm@system-suspend.html * igt@kms_color@pipe-a-degamma: - shard-apl: [PASS][19] -> [FAIL][20] ([fdo#108145] / [i915#1635] / [i915#71]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl6/igt@kms_color@pipe-a-degamma.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl3/igt@kms_color@pipe-a-degamma.html - shard-kbl: [PASS][21] -> [FAIL][22] ([fdo#108145] / [i915#71]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl4/igt@kms_color@pipe-a-degamma.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl3/igt@kms_color@pipe-a-degamma.html * igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding: - shard-apl: [PASS][23] -> [FAIL][24] ([i915#1635] / [i915#54]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl2/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl3/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html - shard-kbl: [PASS][25] -> [FAIL][26] ([i915#54]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html * igt@kms_cursor_edge_walk@pipe-a-128x128-top-edge: - shard-glk: [PASS][27] -> [DMESG-WARN][28] ([i915#1982]) +4 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk7/igt@kms_cursor_edge_walk@pipe-a-128x128-top-edge.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk4/igt@kms_cursor_edge_walk@pipe-a-128x128-top-edge.html * igt@kms_cursor_edge_walk@pipe-b-128x128-left-edge: - shard-apl: [PASS][29] -> [DMESG-WARN][30] ([i915#1635] / [i915#1982]) +3 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl3/igt@kms_cursor_edge_walk@pipe-b-128x128-left-edge.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl1/igt@kms_cursor_edge_walk@pipe-b-128x128-left-edge.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1: - shard-tglb: [PASS][31] -> [FAIL][32] ([i915#2598]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb5/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb5/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2: - shard-glk: [PASS][33] -> [FAIL][34] ([i915#79]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk7/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu: - shard-snb: [PASS][35] -> [FAIL][36] ([i915#2546]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-snb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-snb4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu: - shard-iclb: [PASS][37] -> [DMESG-WARN][38] ([i915#1982]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite: - shard-tglb: [PASS][39] -> [DMESG-WARN][40] ([i915#1982]) +4 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-glk: [PASS][41] -> [INCOMPLETE][42] ([i915#2635]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk9/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html - shard-apl: [PASS][43] -> [INCOMPLETE][44] ([i915#1635] / [i915#2635]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html - shard-kbl: [PASS][45] -> [INCOMPLETE][46] ([i915#155] / [i915#648]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html - shard-iclb: [PASS][47] -> [INCOMPLETE][48] ([i915#1185] / [i915#250]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html - shard-hsw: [PASS][49] -> [INCOMPLETE][50] ([i915#2637]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html * igt@kms_plane_multiple@atomic-pipe-b-tiling-y: - shard-iclb: [PASS][51] -> [FAIL][52] ([i915#1779]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb1/igt@kms_plane_multiple@atomic-pipe-b-tiling-y.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb3/igt@kms_plane_multiple@atomic-pipe-b-tiling-y.html * igt@kms_psr@psr2_sprite_render: - shard-iclb: [PASS][53] -> [SKIP][54] ([fdo#109441]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb2/igt@kms_psr@psr2_sprite_render.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb4/igt@kms_psr@psr2_sprite_render.html * igt@perf@global-sseu-config-invalid: - shard-hsw: [PASS][55] -> [SKIP][56] ([fdo#109271]) +1 similar issue [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw8/igt@perf@global-sseu-config-invalid.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw6/igt@perf@global-sseu-config-invalid.html - shard-iclb: [PASS][57] -> [SKIP][58] ([i915#1354]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb1/igt@perf@global-sseu-config-invalid.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb6/igt@perf@global-sseu-config-invalid.html - shard-glk: [PASS][59] -> [SKIP][60] ([fdo#109271] / [i915#1354]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk7/igt@perf@global-sseu-config-invalid.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk3/igt@perf@global-sseu-config-invalid.html - shard-apl: [PASS][61] -> [SKIP][62] ([fdo#109271] / [i915#1354] / [i915#1635]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl3/igt@perf@global-sseu-config-invalid.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl8/igt@perf@global-sseu-config-invalid.html - shard-kbl: [PASS][63] -> [SKIP][64] ([fdo#109271] / [i915#1354]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl6/igt@perf@global-sseu-config-invalid.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl6/igt@perf@global-sseu-config-invalid.html - shard-tglb: [PASS][65] -> [SKIP][66] ([i915#1354]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb8/igt@perf@global-sseu-config-invalid.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb5/igt@perf@global-sseu-config-invalid.html * igt@perf@polling-parameterized: - shard-glk: [PASS][67] -> [FAIL][68] ([i915#1542]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk8/igt@perf@polling-parameterized.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk1/igt@perf@polling-parameterized.html * igt@prime_vgem@sync@rcs0: - shard-tglb: [PASS][69] -> [INCOMPLETE][70] ([i915#409]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb6/igt@prime_vgem@sync@rcs0.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb2/igt@prime_vgem@sync@rcs0.html #### Possible fixes #### * igt@gem_exec_whisper@basic-queues-priority: - shard-glk: [DMESG-WARN][71] ([i915#118] / [i915#95]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk1/igt@gem_exec_whisper@basic-queues-priority.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk9/igt@gem_exec_whisper@basic-queues-priority.html * igt@gem_softpin@noreloc-s3: - shard-iclb: [INCOMPLETE][73] ([i915#1373]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb8/igt@gem_softpin@noreloc-s3.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb7/igt@gem_softpin@noreloc-s3.html - shard-apl: [INCOMPLETE][75] ([i915#1635] / [i915#2635]) -> [PASS][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl4/igt@gem_softpin@noreloc-s3.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl3/igt@gem_softpin@noreloc-s3.html - shard-glk: [INCOMPLETE][77] ([i915#2199] / [i915#2635]) -> [PASS][78] [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk8/igt@gem_softpin@noreloc-s3.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk8/igt@gem_softpin@noreloc-s3.html - shard-hsw: [INCOMPLETE][79] ([i915#2637]) -> [PASS][80] [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw5/igt@gem_softpin@noreloc-s3.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw1/igt@gem_softpin@noreloc-s3.html - shard-kbl: [INCOMPLETE][81] -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl6/igt@gem_softpin@noreloc-s3.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl2/igt@gem_softpin@noreloc-s3.html * igt@i915_module_load@reload: - shard-iclb: [DMESG-WARN][83] ([i915#1982]) -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb2/igt@i915_module_load@reload.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb6/igt@i915_module_load@reload.html * igt@i915_pm_rpm@i2c: - shard-glk: [DMESG-WARN][85] ([i915#1982]) -> [PASS][86] +7 similar issues [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk9/igt@i915_pm_rpm@i2c.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk3/igt@i915_pm_rpm@i2c.html * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy: - shard-kbl: [DMESG-WARN][87] ([i915#1982]) -> [PASS][88] +2 similar issues [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl1/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl7/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@flip-vs-cursor-toggle: - shard-tglb: [FAIL][89] ([i915#2346]) -> [PASS][90] [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb7/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb3/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-ytiled: - shard-apl: [DMESG-WARN][91] ([i915#1635] / [i915#1982]) -> [PASS][92] +5 similar issues [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl6/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-ytiled.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl8/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-ytiled.html * igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled: - shard-snb: [FAIL][93] ([i915#54]) -> [PASS][94] [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-snb5/igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-snb5/igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite: - shard-tglb: [DMESG-WARN][95] ([i915#1982]) -> [PASS][96] +2 similar issues [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-kbl: [INCOMPLETE][97] ([i915#155]) -> [PASS][98] [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html - shard-glk: [INCOMPLETE][99] ([i915#2635]) -> [PASS][100] [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk8/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk8/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html - shard-iclb: [INCOMPLETE][101] ([i915#1185]) -> [PASS][102] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb5/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html * igt@kms_psr@psr2_sprite_mmap_gtt: - shard-iclb: [SKIP][103] ([fdo#109441]) -> [PASS][104] +2 similar issues [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb1/igt@kms_psr@psr2_sprite_mmap_gtt.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html * igt@kms_setmode@basic: - shard-hsw: [FAIL][105] ([i915#31]) -> [PASS][106] [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw2/igt@kms_setmode@basic.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw8/igt@kms_setmode@basic.html * igt@perf@polling-parameterized: - shard-hsw: [FAIL][107] ([i915#1542]) -> [PASS][108] [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw6/igt@perf@polling-parameterized.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw7/igt@perf@polling-parameterized.html #### Warnings #### * igt@gem_softpin@noreloc-s3: - shard-tglb: [DMESG-WARN][109] ([i915#1436]) -> [DMESG-WARN][110] ([i915#2411]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb5/igt@gem_softpin@noreloc-s3.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb8/igt@gem_softpin@noreloc-s3.html * igt@i915_pm_rpm@system-suspend: - shard-tglb: [DMESG-WARN][111] ([i915#2411]) -> [SKIP][112] ([i915#579]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb6/igt@i915_pm_rpm@system-suspend.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb6/igt@i915_pm_rpm@system-suspend.html - shard-apl: [DMESG-WARN][113] ([i915#1635] / [i915#1982]) -> [SKIP][114] ([fdo#109271] / [i915#1635]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl2/igt@i915_pm_rpm@system-suspend.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl8/igt@i915_pm_rpm@system-suspend.html * igt@kms_dp_dsc@basic-dsc-enable-edp: - shard-iclb: [DMESG-WARN][115] ([i915#1226]) -> [SKIP][116] ([fdo#109349]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-iclb5/igt@kms_dp_dsc@basic-dsc-enable-edp.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-tglb: [INCOMPLETE][117] ([i915#1436] / [i915#456]) -> [DMESG-WARN][118] ([i915#2411]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-tglb: [DMESG-WARN][119] ([i915#2411]) -> [INCOMPLETE][120] ([i915#1436]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc: - shard-apl: [FAIL][121] ([fdo#108145] / [i915#1635] / [i915#265]) -> [DMESG-FAIL][122] ([fdo#108145] / [i915#1635] / [i915#1982]) [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl1/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html * igt@runner@aborted: - shard-hsw: ([FAIL][123], [FAIL][124]) ([fdo#109271] / [i915#2295] / [i915#2439]) -> [FAIL][125] ([i915#2295]) [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw5/igt@runner@aborted.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-hsw2/igt@runner@aborted.html [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-hsw8/igt@runner@aborted.html - shard-kbl: [FAIL][126] ([i915#1611] / [i915#2295] / [i915#2439]) -> [FAIL][127] ([i915#1611] / [i915#2295] / [i915#2439] / [i915#483]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-kbl7/igt@runner@aborted.html [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-kbl6/igt@runner@aborted.html - shard-apl: ([FAIL][128], [FAIL][129], [FAIL][130]) ([fdo#109271] / [i915#1611] / [i915#1635] / [i915#1814] / [i915#2295] / [i915#2439]) -> ([FAIL][131], [FAIL][132]) ([i915#1611] / [i915#1635] / [i915#1814] / [i915#2295] / [i915#2439] / [i915#62]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl4/igt@runner@aborted.html [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl2/igt@runner@aborted.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-apl2/igt@runner@aborted.html [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl8/igt@runner@aborted.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-apl7/igt@runner@aborted.html - shard-glk: ([FAIL][133], [FAIL][134], [FAIL][135]) ([i915#1611] / [i915#1814] / [i915#2295] / [i915#2439] / [i915#86] / [k.org#202321]) -> ([FAIL][136], [FAIL][137]) ([i915#1611] / [i915#1814] / [i915#2295] / [i915#2439] / [k.org#202321]) [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk8/igt@runner@aborted.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk1/igt@runner@aborted.html [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-glk8/igt@runner@aborted.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk6/igt@runner@aborted.html [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-glk8/igt@runner@aborted.html - shard-tglb: ([FAIL][138], [FAIL][139], [FAIL][140]) ([i915#1602] / [i915#2295] / [i915#2439] / [i915#456]) -> ([FAIL][141], [FAIL][142], [FAIL][143]) ([i915#1814] / [i915#2295] / [i915#2426] / [i915#2439] / [i915#409]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb3/igt@runner@aborted.html [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb5/igt@runner@aborted.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9326/shard-tglb6/igt@runner@aborted.html [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb6/igt@runner@aborted.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb8/igt@runner@aborted.html [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/shard-tglb2/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1185]: https://gitlab.freedesktop.org/drm/intel/issues/1185 [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226 [i915#1354]: https://gitlab.freedesktop.org/drm/intel/issues/1354 [i915#1373]: https://gitlab.freedesktop.org/drm/intel/issues/1373 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#1515]: https://gitlab.freedesktop.org/drm/intel/issues/1515 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155 [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602 [i915#1611]: https://gitlab.freedesktop.org/drm/intel/issues/1611 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#1779]: https://gitlab.freedesktop.org/drm/intel/issues/1779 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2199]: https://gitlab.freedesktop.org/drm/intel/issues/2199 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2389]: https://gitlab.freedesktop.org/drm/intel/issues/2389 [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411 [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426 [i915#2439]: https://gitlab.freedesktop.org/drm/intel/issues/2439 [i915#250]: https://gitlab.freedesktop.org/drm/intel/issues/250 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546 [i915#2598]: https://gitlab.freedesktop.org/drm/intel/issues/2598 [i915#2635]: https://gitlab.freedesktop.org/drm/intel/issues/2635 [i915#2637]: https://gitlab.freedesktop.org/drm/intel/issues/2637 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#409]: https://gitlab.freedesktop.org/drm/intel/issues/409 [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456 [i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#648]: https://gitlab.freedesktop.org/drm/intel/issues/648 [i915#71]: https://gitlab.freedesktop.org/drm/intel/issues/71 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#86]: https://gitlab.freedesktop.org/drm/intel/issues/86 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [k.org#202321]: https://bugzilla.kernel.org/show_bug.cgi?id=202321 Participating hosts (11 -> 8) ------------------------------ Missing (3): pig-skl-6260u pig-glk-j5005 pig-icl-1065g7 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5850 -> IGTPW_5166 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_9326: 3048c2a1dcf02422e89930148ffad9e91d690499 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_5166: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/index.html IGT_5850: 9748a4a0f93d108955d374a866e60cb962da9b5d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5166/index.html [-- Attachment #1.2: Type: text/html, Size: 37577 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-11-13 21:37 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-13 14:53 [Intel-gfx] [PATCH i-g-t 1/4] intel_gpu_top: User friendly device listing Tvrtko Ursulin 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin 2020-11-13 14:53 ` [Intel-gfx] [PATCH i-g-t 2/4] lsgpu: " Tvrtko Ursulin 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin 2020-11-13 14:53 ` [Intel-gfx] [PATCH i-g-t 3/4] lsgpu: Add filter type print-out selection Tvrtko Ursulin 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin 2020-11-13 15:18 ` [Intel-gfx] " Tvrtko Ursulin 2020-11-13 14:53 ` [Intel-gfx] [PATCH i-g-t 4/4] intel_gpu_top: Default GPU list to PCI mode Tvrtko Ursulin 2020-11-13 14:53 ` [igt-dev] " Tvrtko Ursulin 2020-11-13 18:26 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] intel_gpu_top: User friendly device listing Patchwork 2020-11-13 21:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.