[igt-dev] [PATCH i-g-t] lib: Ditch "DRIVER_* for kms tests" cargo cult

Kazlauskas, Nicholas Nicholas.Kazlauskas at amd.com
Thu Jul 11 17:40:03 UTC 2019


On 7/11/19 1:21 PM, Daniel Vetter wrote:
> KMS is meant to be a (at least somewhat) generic userspace API. We do
> not want nor need to add a special match function for every driver
> ever written, that doesn't make sense, defeats the point of having
> generic tests for a generic testsuite, and really doesn't scale.
> 
> Also add a comment so people don't try to add ever more of these.
> 
> Also, this means no autoloading for you, but really igt should
> reinvent udev, and mostly this was needed for 2 reasons:
> - CI configuration falling to pieces because tests unloaded a driver,
>    and then died before cleaning up.
> - vgem, which is fake, and needs to be requested explictily.
> 
> We might want to throw that all out again, except for vgem.
> 
> Cc: Liviu Dudau <liviu.dudau at arm.com>
> Cc: Deepak Rawat <drawat at vmware.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> Cc: Leo Li <sunpeng.li at amd.com>
> Cc: Michał Winiarski <michal.winiarski at intel.com>
> Cc: "Ser, Simon" <simon.ser at intel.com>
> Cc: Oleg Vasilev <oleg.vasilev at intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>

With the typo (listed below) fixed, this is:

Acked-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>

While there are still many KMS tests written that don't target 
DRIVER_ANY, at the very least this can be discouraged going further for 
new UAPI.

Nicholas Kazlauskas

> ---
>   lib/drmtest.c |  9 ---------
>   lib/drmtest.h | 13 +++++++++----
>   2 files changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index 25f20353023b..c379a7b7974f 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -187,12 +187,6 @@ static int modprobe(const char *driver)
>   	return igt_kmod_load(driver, "");
>   }
>   
> -/* virtio's driver name is virtio_gpu but the module is virtio-gpu.ko */
> -static void modprobe_virtio(const char *name)
> -{
> -	igt_kmod_load("virtio-gpu", "");
> -}
> -
>   static void modprobe_i915(const char *name)
>   {
>   	/* When loading i915, we also want to load snd-hda et al */
> @@ -210,7 +204,6 @@ static const struct module {
>   	{ DRIVER_V3D, "v3d" },
>   	{ DRIVER_VC4, "vc4" },
>   	{ DRIVER_VGEM, "vgem" },
> -	{ DRIVER_VIRTIO, "virtio_gpu", modprobe_virtio },
>   	{}
>   };
>   
> @@ -363,8 +356,6 @@ static const char *chipset_to_str(int chipset)
>   		return "vc4";
>   	case DRIVER_VGEM:
>   		return "vgem";
> -	case DRIVER_VIRTIO:
> -		return "virtio";
>   	case DRIVER_AMDGPU:
>   		return "amdgpu";
>   	case DRIVER_PANFROST:
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index 6c4c3899cb31..614f57e6f7d5 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -38,13 +38,18 @@
>   
>   #include "igt_core.h"
>   
> +/*
> + * NOTE: Theser are _only_ for testcases exercising driver specific rendering

typo: Theser -> These

> + * ioctls and uapi (and a bunch of historical reasons). And KMS testcase should
> + * be build on top of DRIVER_ANY. Do _NOT_ add your driver here for enabling KMS
> + * tests.
> + */
>   #define DRIVER_INTEL	(1 << 0)
>   #define DRIVER_VC4	(1 << 1)
>   #define DRIVER_VGEM	(1 << 2)
> -#define DRIVER_VIRTIO	(1 << 3)
> -#define DRIVER_AMDGPU	(1 << 4)
> -#define DRIVER_V3D	(1 << 5)
> -#define DRIVER_PANFROST	(1 << 6)
> +#define DRIVER_AMDGPU	(1 << 3)
> +#define DRIVER_V3D	(1 << 4)
> +#define DRIVER_PANFROST	(1 << 5)
>   /*
>    * 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
> 



More information about the igt-dev mailing list