[PATCH] drm/i915: prevent generating unusable gvt build which no mpt module is selected

Jani Nikula jani.nikula at linux.intel.com
Wed May 24 11:35:54 UTC 2017


On Wed, 24 May 2017, changbin.du at intel.com wrote:
> From: Changbin Du <changbin.du at intel.com>
>
> At least we need one MPT module (currently only have one) selected
> to get GVTg functional. When GVTg is enabled while no MPT selected,
> the build just includes useless GVTg code. This doesn't make sense.
>
> With this patch, a submenut is created under i915 as below:
>   -*- Enable Intel GVT-g graphics virtualization host support
>   <M> Enable KVM/VFIO support for Intel GVT-g
>
> If no MPT is selected, GVTg will be disabled automatically.
>   < > Enable KVM/VFIO support for Intel GVT-g
>
> Signed-off-by: Changbin Du <changbin.du at intel.com>
> ---
>  drivers/gpu/drm/i915/Kconfig | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index a5cd5da..e380a5d 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -91,12 +91,15 @@ config DRM_I915_USERPTR
>  
>  	  If in doubt, say "Y".
>  
> +menu "Intel GVT-g graphics virtualization host support"
> +	depends on DRM_I915
> +	depends on 64BIT
> +
>  config DRM_I915_GVT
> -        bool "Enable Intel GVT-g graphics virtualization host support"
> -        depends on DRM_I915
> -        depends on 64BIT
> -        default n
> -        help
> +	bool "Enable Intel GVT-g graphics virtualization host support"
> +	default n
> +	depends on DRM_I915_GVT_KVMGT
> +	help

With this change, you can't actually change this config option. It's
purely subject to CONFIG_DRM_I915_GVT_KVMGT. You need to enable KVMGT to
even see this option, but enabling it will enable this one too. You
can't disable this before you disable KVMGT, but then disabling KVMGT
will disable this one too. This config option becomes pointless as a
visible option. Which isn't all that bad, considering
Documentation/kbuild/kconfig-language.txt:

  Note:
	select should be used with care. select will force
	a symbol to a value without visiting the dependencies.
	By abusing select you are able to select a symbol FOO even
	if FOO depends on BAR that is not set.
	In general use select only for non-visible symbols
	(no prompts anywhere) and for symbols with no dependencies.
	That will limit the usefulness but on the other hand avoid
	the illegal configurations all over.

BR,
Jani.

>  	  Choose this option if you want to enable Intel GVT-g graphics
>  	  virtualization technology host support with integrated graphics.
>  	  With GVT-g, it's possible to have one integrated graphics
> @@ -116,13 +119,14 @@ config DRM_I915_GVT
>  
>  config DRM_I915_GVT_KVMGT
>  	tristate "Enable KVM/VFIO support for Intel GVT-g"
> -	depends on DRM_I915_GVT
> +	select DRM_I915_GVT
>  	depends on KVM
>  	depends on VFIO_MDEV && VFIO_MDEV_DEVICE
>  	default n
>  	help
>  	  Choose this option if you want to enable KVMGT support for
>  	  Intel GVT-g.
> +endmenu
>  
>  menu "drm/i915 Debugging"
>  depends on DRM_I915

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the dri-devel mailing list