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

Ser, Simon simon.ser at intel.com
Fri Jul 12 10:00:57 UTC 2019


On Thu, 2019-07-11 at 19:21 +0200, 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>

This is a good idea.

Reviewed-by: Simon Ser <simon.ser at intel.com>

> ---
>  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
> + * 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