[igt-dev] [PATCH i-g-t 1/3] lib/drmtest: Add VKMS as a known driver type
Kamil Konieczny
kamil.konieczny at linux.intel.com
Wed Jun 28 18:50:55 UTC 2023
Hi James,
On 2023-06-23 at 19:09:52 -0400, James Shargo wrote:
> From: Jim Shargo <jshargo at chromium.org>
Please write here description what do you added to lib.
Use checkpatch.pl perl script from Linux kernel to spot
some problems with patches.
>
> Signed-off-by: Jim Shargo <jshargo at chromium.org>
> ---
> lib/drmtest.c | 26 ++++++++++++++++++++++++++
> lib/drmtest.h | 7 ++++++-
> 2 files changed, 32 insertions(+), 1 deletion(-)
>
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index 220cfb64d..ad8cbe302 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -150,6 +150,16 @@ bool is_intel_device(int fd)
> return is_i915_device(fd) || is_xe_device(fd);
> }
>
Document each new public function.
> +bool is_vkms_device(int fd)
Why not make it as other functions? Use __is_device()
> +{
> + char name[64] = "";
> +
> + if (__get_drm_device_name(fd, name, sizeof(name) - 1))
> + return false;
> +
> + return strncmp("vkms", name, strlen("vkms")) == 0;
> +}
> +
> static char _forced_driver[16] = "";
>
> /**
> @@ -734,3 +744,19 @@ void igt_require_xe(int fd)
> {
> igt_require(is_xe_device(fd));
> }
> +
Same here, write documentation.
> +void igt_require_vkms(void)
> +{
> + // Since VKMS can create and destroy virtual drivers at will,
> + // instead look to make sure the driver is installed.
---------- ^ ----- ^ -- ^^
s/instead look to //
imho here you should use C-style comment.
> + struct stat s = {};
> + int ret;
> + char *vkms_module_dir = "/sys/module/vkms";
------- ^
const
btw maybe this should be first param.
> +
> + 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);
> +}
You should also add this into modules[] struct in libdrm.c
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index ae86ee19a..1d418e1f6 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -53,14 +53,17 @@
> #define DRIVER_MSM (1 << 6)
> #define DRIVER_XE (1 << 7)
> #define DRIVER_VMWGFX (1 << 8)
> +#define DRIVER_VKMS (1 << 9)
>
> /*
> * 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.
> @@ -114,6 +117,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);
Keep it sorted aplhabetically.
>
> bool is_amdgpu_device(int fd);
> bool is_i915_device(int fd);
> @@ -123,6 +127,7 @@ bool is_nouveau_device(int fd);
> bool is_vc4_device(int fd);
> bool is_xe_device(int fd);
> bool is_intel_device(int fd);
> +bool is_vkms_device(int fd);
Move it after is_vc4_device.
Regards,
Kamil
>
> /**
> * do_or_die:
> --
> 2.41.0.162.gfafddb0af9-goog
>
More information about the igt-dev
mailing list