[igt-dev] [PATCH i-g-t v4 2/3] tools/intel_gpu_top: Add generation info in header
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Wed Nov 18 15:20:27 UTC 2020
On 18/11/2020 13:50, Zbigniew Kempczyński wrote:
> In multi device world we may want to see generation of device we're
> tracking counters. Add pretty name of the device to be more verbose.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Petri Latvala <petri.latvala at intel.com>
> ---
> lib/Makefile.am | 4 +++-
> lib/meson.build | 1 +
> tools/intel_gpu_top.c | 8 ++++++--
> 3 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index fecf34cd..c476eeab 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -118,7 +118,9 @@ libigt_device_scan_la_SOURCES = \
> igt_list.c \
> igt_tools_stub.c \
> igt_device_scan.c \
> - igt_device_scan.h
> + igt_device_scan.h \
> + intel_device_info.c \
> + intel_chipset.h
>
> libigt_perf_la_SOURCES = \
> igt_perf.c \
> diff --git a/lib/meson.build b/lib/meson.build
> index 090a10cd..540facb2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -182,6 +182,7 @@ lib_igt_device_scan_build = static_library('igt_device_scan',
> ['igt_device_scan.c',
> 'igt_list.c',
> 'igt_tools_stub.c',
> + 'intel_device_info.c',
> ],
> dependencies : scan_dep,
> include_directories : inc)
> diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c
> index 86de09aa..3e97be2c 100644
> --- a/tools/intel_gpu_top.c
> +++ b/tools/intel_gpu_top.c
> @@ -1028,6 +1028,7 @@ static bool print_groups(struct cnt_group **groups)
>
> static int
> print_header(const struct igt_device_card *card,
> + const char *codename,
> struct engines *engines, double t,
> int lines, int con_w, int con_h, bool *consumed)
> {
> @@ -1107,7 +1108,7 @@ print_header(const struct igt_device_card *card,
> printf("\033[H\033[J");
>
> if (lines++ < con_h) {
> - printf("intel-gpu-top: %s - ", card->card);
> + printf("intel-gpu-top: %s @ %s - ", codename, card->card);
> if (!engines->discrete)
> printf("%s/%s MHz; %s%% RC6; %s %s; %s irqs/s\n",
> freq_items[1].buf, freq_items[0].buf,
> @@ -1317,6 +1318,7 @@ int main(int argc, char **argv)
> bool list_device = false;
> char *pmu_device, *opt_device = NULL;
> struct igt_device_card card;
> + char *codename = NULL;
>
> /* Parse options */
> while ((ch = getopt(argc, argv, "o:s:d:JLlh")) != -1) {
> @@ -1441,6 +1443,7 @@ int main(int argc, char **argv)
> ret = EXIT_SUCCESS;
>
> pmu_sample(engines);
> + codename = igt_device_get_pretty_name(&card, false);
>
> while (!stop_top) {
> bool consumed = false;
> @@ -1463,7 +1466,7 @@ int main(int argc, char **argv)
> break;
>
> while (!consumed) {
> - lines = print_header(&card, engines,
> + lines = print_header(&card, codename, engines,
> t, lines, con_w, con_h,
> &consumed);
>
> @@ -1490,6 +1493,7 @@ int main(int argc, char **argv)
> usleep(period_us);
> }
>
> + free(codename);
> err:
> free(engines);
> free(pmu_device);
>
Works for me.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the igt-dev
mailing list