[igt-dev] [Intel-gfx] [PATCH i-g-t] intel-gpu-top: Support for client stats
Chris Wilson
chris at chris-wilson.co.uk
Fri Jan 22 11:41:36 UTC 2021
Quoting Tvrtko Ursulin (2021-01-22 11:36:48)
>
> On 21/01/2021 21:34, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2021-01-21 18:10:05)
> >> +static struct clients *init_clients(const char *drm_card)
> >> +{
> >> + struct clients *clients = malloc(sizeof(*clients));
> >> + const char *slash;
> >> + ssize_t ret;
> >> +
> >> + memset(clients, 0, sizeof(*clients));
> >> +
> >> + if (drm_card) {
> >> + slash = rindex(drm_card, '/');
> >> + assert(slash);
> >> + } else {
> >> + slash = "card0";
> >> + }
> >> +
> >> + ret = snprintf(clients->sysfs_root, sizeof(clients->sysfs_root),
> >> + "/sys/class/drm/%s/clients/", slash);
> >> + assert(ret > 0 && ret < sizeof(clients->sysfs_root));
> >
> > Afaict, igt_device_card_match_pci et al are not guaranteed to fill in
> > dev->drm_card and may leave it blank instead of finding the
> > corresponding /dev/dri/cardN.
>
> I did the rest but this is giving me trouble - can't see locally that it
> doesn't populate it. Do you know how to trigger that?
Maybe it doesn't, I was just looking at the udev population of the card
struct and surmised that if I could tell it to open a render device,
dev->drm_card will not be found.
This is all speculation on my part, I've just been burnt enough times
trying to set engine properties on the render sysfs :(
-Chris
More information about the igt-dev
mailing list