[PATCH] drm/i915: refuse to load on gen6+ without kms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 26 Mar 2012 21:33:18 +0200, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Spurred by an irc discussion, let's start to clear up which parts of
> our kms + ums/gem + ums/dri1 + vbios/dri1 kernel driver pieces
> userspace in the wild actually uses.
> 
> The idea is that we introduce checks at entry-points (module load
> time, ioctls, ...) first and then reap any obviously dead code in a
> second step.
> 
> As a first step refuse to load without kms on chips where userspace
> never supported ums. Now upstream hasn't supported ums on ilk, ever.
> But RHEL had the great idea to backport the kms support to their ums
> driver.
> 
> Cc: Dave Airlie <airlied at gmail.com>
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_dma.c |   10 +++++++++-
>  1 files changed, 9 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 64dfbb8..8567fdf 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1955,9 +1955,17 @@ i915_mtrr_setup(struct drm_i915_private *dev_priv, unsigned long base,
>  int i915_driver_load(struct drm_device *dev, unsigned long flags)
>  {
>  	struct drm_i915_private *dev_priv;
> +	struct intel_device_info *info;
>  	int ret = 0, mmio_bar;
>  	uint32_t agp_size;
>  
> +	info = (struct intel_device_info *) flags;
> +
> +	/* Refuse to load on gen6+ without kms enabled. */
> +	if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET))
> +		return -ENODEV;

The problem here is that this highlights that with the default
configuration we have no driver for our current hardware in the kernel.

You would also need to sneak

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index cc11488..ebc5135 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -139,6 +139,7 @@ config DRM_I915
 config DRM_I915_KMS
        bool "Enable modesetting on intel by default"
        depends on DRM_I915
+       default y
        help
          Choose this option if you want kernel modesetting enabled by default,
          and you have a new enough userspace to support this. Running old

past Linus first.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux