[igt-dev] [PATCH i-g-t 1/2] lib/igt_device_scan: Fix device selection filter

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Tue Sep 29 04:22:30 UTC 2020


On Mon, Sep 28, 2020 at 01:53:35PM -0700, Dixit, Ashutosh wrote:
> On Thu, 03 Sep 2020 04:01:09 -0700, Ayaz A Siddiqui wrote:
> >
> > DRM subsystem filter in intel_gpu_top was not working due to missing
> > PCI_SLOT_NAME property. Using the parent device in case of drm subsystem
> > leads to fix this issue.
> >
> > Signed-off-by: Ayaz A Siddiqui <ayaz.siddiqui at intel.com>
> > ---
> >  lib/igt_device_scan.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c
> > index 345bae76d..3583c69c7 100644
> > --- a/lib/igt_device_scan.c
> > +++ b/lib/igt_device_scan.c
> > @@ -1263,7 +1263,7 @@ bool igt_device_card_match(const char *filter, struct igt_device_card *card)
> >	/* We take first one if more than one card matches filter */
> >	dev = igt_list_first_entry(&igt_devs.filtered, dev, link);
> >
> > -	__copy_dev_to_card(dev, card);
> > +	__copy_dev_to_card(is_pci_subsystem(dev) ? dev : dev->parent, card);
> 
> Also I am wondering if this is required for only drm system then should
> this line be:
> 
>         __copy_dev_to_card(is_drm_subsystem(dev) ? dev->parent : dev, card)
> 
> Also does lsgpu (the only other caller of igt_device_card_match()) work
> with this change?

It is better than with previous patch but after playing with there's
still something I'm not happy with. It is - you're using drm:/path/...
filter to select exact drm device but you got its parent. Returned
card structure will contain "pci" as subsystem string instead of "drm".
This can be confusing but solves the problem accessing to pci slot name
with drm: filter only.

--
Zbigniew

> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev


More information about the igt-dev mailing list