All of lore.kernel.org
 help / color / mirror / Atom feed
From: "José Expósito" <jose.exposito89@gmail.com>
To: Louis Chauvet <louis.chauvet@bootlin.com>
Cc: igt-dev@lists.freedesktop.org, Jim Shargo <jshargo@chromium.org>,
	Marius Vlad <marius.vlad@collabora.com>
Subject: Re: [PATCH i-g-t 01/39] lib/drmtest: Add VKMS as a known driver type
Date: Thu, 13 Mar 2025 18:22:47 +0100	[thread overview]
Message-ID: <Z9MUZxblyxdMVl2t@fedora> (raw)
In-Reply-To: <5a65a7b8-269f-4017-bf2f-5e1601336a1b@bootlin.com>

Hi Louis,

On Thu, Feb 27, 2025 at 02:12:13PM +0100, Louis Chauvet wrote:
> 
> 
> Le 18/02/2025 à 17:49, José Expósito a écrit :
> > As we are going to add VKMS specific tests, allow to check if it is
> > available.
> > 
> > Co-developed-by: Jim Shargo <jshargo@chromium.org>
> > Signed-off-by: Jim Shargo <jshargo@chromium.org>
> > Co-developed-by: Marius Vlad <marius.vlad@collabora.com>
> > Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
> > Signed-off-by: José Expósito <jose.exposito89@gmail.com>
> > ---
> >   lib/drmtest.c | 18 ++++++++++++++++++
> >   lib/drmtest.h |  8 ++++++--
> >   2 files changed, 24 insertions(+), 2 deletions(-)
> > 
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index 436b6de78..2cc6e0c29 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -971,3 +971,21 @@ void igt_require_xe(int fd)
> >   {
> >   	igt_require(is_xe_device(fd));
> >   }
> > +
> > +void igt_require_vkms(void)
> > +{
> > +	/*
> > +	 * Since VKMS can create and destroy virtual drivers at will, instead
> > +	 * look to make sure the driver is installed.
> > +	 */
> > +	struct stat s = {};
> > +	int ret;
> > +	const char *vkms_module_dir = "/sys/module/vkms";
> > +
> > +	ret = stat(vkms_module_dir, &s);
> > +
> > +	igt_require_f(ret == 0, "VKMS stat of %s returned %d (%s)\n",
> > +		      vkms_module_dir, ret, strerror(ret));
> > +	igt_require_f(S_ISDIR(s.st_mode),
> > +		      "VKMS stat of %s was not a directory\n", vkms_module_dir);
> > +}
> > diff --git a/lib/drmtest.h b/lib/drmtest.h
> > index 27e5a18e2..1b57e49ec 100644
> > --- a/lib/drmtest.h
> > +++ b/lib/drmtest.h
> > @@ -54,15 +54,18 @@ int __get_drm_device_name(int fd, char *name, int name_size);
> >   #define DRIVER_PANFROST	(1 << 5)
> >   #define DRIVER_MSM	(1 << 6)
> >   #define DRIVER_XE	(1 << 7)
> > -#define DRIVER_VMWGFX   (1 << 8)
> > +#define DRIVER_VKMS	(1 << 8)
> > +#define DRIVER_VMWGFX	(1 << 9)
> 
> Is it normal to change the DRIVER_VMWGFX value?

Ugh, not at all. This looks like poor conflict resolution by me during one of
the multiple rebases.

Thanks for noticing!

> I also found the `module` list in drmtest.c that use this value, I think
> this list is used to do the proper `modprobe` during a open_driver().
> 
> Maybe you can use it, so you will be able to do:
> 
> 	drm_load_module(DRIVER_VKMS); // (If I understand correctly, this fails
> silently)
> 	igt_require_vkms();
> 
> And future tests requiring a vkms device will be able to do:
> 
> 	open_driver(DRIVER_VKMS);

Good point, added the missing bits to drmtest.c and the call to
"drm_load_module(DRIVER_VKMS);" in "igt_fixture".

Sending v2 in a bit with this and other changes :)

Jose

> >   /*
> >    * Exclude DRVER_VGEM from DRIVER_ANY since if you run on a system
> >    * with vgem as well as a supported driver, you can end up with a
> >    * near-100% skip rate if you don't explicitly specify the device,
> >    * depending on device-load ordering.
> > + *
> > + * Exclude VKMS to prefer hardware drivers.
> >    */
> > -#define DRIVER_ANY 	~(DRIVER_VGEM)
> > +#define DRIVER_ANY	~(DRIVER_VGEM | DRIVER_VKMS)
> >   /*
> >    * Compile friendly enum for i915/xe.
> > @@ -135,6 +138,7 @@ void igt_require_i915(int fd);
> >   void igt_require_nouveau(int fd);
> >   void igt_require_vc4(int fd);
> >   void igt_require_xe(int fd);
> > +void igt_require_vkms(void);
> >   bool is_amdgpu_device(int fd);
> >   bool is_i915_device(int fd);
> 
> -- 
> Louis Chauvet, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> 
> 

  reply	other threads:[~2025-03-13 17:22 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 16:49 [PATCH i-g-t 00/39] VKMS configfs tests José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 01/39] lib/drmtest: Add VKMS as a known driver type José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-03-13 17:22     ` José Expósito [this message]
2025-02-18 16:49 ` [PATCH i-g-t 02/39] lib/igt_debugfs: Move is_mountpoint() to igt_aux José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 03/39] lib/igt_configfs: Add helper to mount configfs José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 04/39] lib/vkms: Add minimal VKMS library and test device default files José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 05/39] lib/vkms: Allow to enable/disable VKMS devices José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 06/39] tests/vkms_configfs: Test device invalid values José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 07/39] lib/vkms: Test plane default files José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 08/39] lib/vkms: Test plane default values José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 09/39] lib/vkms: Test plane invalid values José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 10/39] lib/vkms: Test CRTC default files José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 11/39] lib/vkms: Test CRTC default values José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 12/39] lib/vkms: Test CRTC invalid values José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 13/39] lib/vkms: Test encoder default files José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-03-13 17:25     ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 14/39] lib/vkms: Test connector " José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 15/39] lib/vkms: Test connector default values José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 16/39] lib/vkms: Test plane connector invalid values José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 17/39] lib/vkms: Test attaching planes to CRTCs José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-03-13 17:23     ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 18/39] lib/vkms: Test attaching encoders " José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 19/39] lib/vkms: Test attaching connectors to encoders José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 20/39] tests/vkms_configfs: Test enablement without pipeline items José Expósito
2025-02-27 13:06   ` Louis Chauvet
2025-02-28  1:47     ` Greg Kroah-Hartman
2025-02-28 11:58       ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 21/39] lib/vkms: Create VKMS device from static config José Expósito
2025-02-27 14:30   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 22/39] tests/vkms_configfs: Test adding too many planes José Expósito
2025-02-27 14:53   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 23/39] tests/vkms_configfs: Test not adding a primary plane José Expósito
2025-02-27 14:54   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 24/39] tests/vkms_configfs: Test adding multiple primary planes José Expósito
2025-02-27 15:00   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 25/39] tests/vkms_configfs: Test adding multiple cursor planes José Expósito
2025-02-27 15:00   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 26/39] tests/vkms_configfs: Test adding a plane without possible CRTCs José Expósito
2025-02-27 15:01   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 27/39] tests/vkms_configfs: Test enabling a device without CRTCs José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 28/39] tests/vkms_configfs: Test enabling a device with too many CRTCs José Expósito
2025-02-27 15:05   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 29/39] tests/vkms_configfs: Test enabling a device without encoders José Expósito
2025-02-27 15:05   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 30/39] tests/vkms_configfs: Test enabling a device with too many encoders José Expósito
2025-02-27 15:05   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 31/39] tests/vkms_configfs: Test adding an encoder without possible CRTCs José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 32/39] tests/vkms_configfs: Test adding a CRTC without encoders José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 33/39] tests/vkms_configfs: Test enabling a device without connectors José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 34/39] tests/vkms_configfs: Test enabling a device with too many connectors José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 35/39] lib/vkms: Test changing enabled device planes José Expósito
2025-02-28  8:51   ` Louis Chauvet
2025-02-28 11:52     ` José Expósito
2025-02-28 22:15       ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 36/39] lib/vkms: Test changing enabled device CRTCs José Expósito
2025-02-18 16:50 ` [PATCH i-g-t 37/39] lib/vkms: Test changing enabled device encoders José Expósito
2025-02-18 16:50 ` [PATCH i-g-t 38/39] lib/vkms: Test changing enabled device connectors José Expósito
2025-02-18 16:50 ` [PATCH i-g-t 39/39] tests/vkms_configfs: Test connector hot-plug José Expósito
2025-02-28  8:51   ` Louis Chauvet
2025-02-27 13:11 ` [PATCH i-g-t 00/39] VKMS configfs tests Louis Chauvet
2025-02-28 21:22 ` ✓ Xe.CI.BAT: success for VKMS configfs tests (rev3) Patchwork
2025-02-28 21:25 ` ✓ i915.CI.BAT: " Patchwork
2025-03-01  5:04 ` ✗ Xe.CI.Full: failure " Patchwork
2025-03-01  9:43 ` ✗ i915.CI.Full: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z9MUZxblyxdMVl2t@fedora \
    --to=jose.exposito89@gmail.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jshargo@chromium.org \
    --cc=louis.chauvet@bootlin.com \
    --cc=marius.vlad@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.