[igt-dev] [PATCH i-g-t] lib/drmtest: Igt info msg on opened device
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Tue May 23 11:06:57 UTC 2023
On Mon, May 22, 2023 at 06:39:18PM +0200, Kamil Konieczny wrote:
> From: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
>
> Log info of each opened device path (ex. "Opened device: /dev/dri/card0")
> to have a trace of devices under test.
> Device path opened for the first time is logged at info level,
> subsequent opens (if any) are logged at debug level.
>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
> Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
> lib/drmtest.c | 32 +++++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index 7630bb793..4181644bf 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -205,6 +205,33 @@ static const struct module {
> {}
> };
>
> +struct _opened_device_path {
> + char *path;
> + struct igt_list_head link;
> +};
> +
> +/* Logs path of opened device. Device path opened for the first time is logged at info level,
> + subsequent opens (if any) are logged at debug level */
> +static void log_opened_device_path(const char *device_path)
> +{
> + static IGT_LIST_HEAD(opened_paths);
> + struct _opened_device_path *item;
> +
> + igt_list_for_each_entry(item, &opened_paths, link) {
> + if (!strcmp(item->path, device_path)) {
> + igt_debug("Opened previously opened device: %s\n", device_path);
> + return;
> + }
> + }
> +
> + item = calloc(1, sizeof(struct _opened_device_path));
> + igt_assert(item);
> + item->path = strdup(device_path);
> + igt_assert(item->path);
Maybe assert on 'device_path' at function beginning. Regardless decision
looks correct from my perspective.
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
--
Zbigniew
> + igt_list_add(&item->link, &opened_paths);
> + igt_info("Opened device: %s\n", item->path);
> +}
> +
> static int open_device(const char *name, unsigned int chipset)
> {
> const char *forced;
> @@ -235,8 +262,11 @@ static int open_device(const char *name, unsigned int chipset)
> break;
> }
> }
> - if ((chipset & chip) == chip)
> +
> + if ((chipset & chip) == chip) {
> + log_opened_device_path(name);
> return fd;
> + }
>
> err:
> close(fd);
> --
> 2.39.2
>
More information about the igt-dev
mailing list