diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | 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 a9caf62b5dd2..4636391ded38 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -1956,9 +1956,17 @@ i915_mtrr_setup(struct drm_i915_private *dev_priv, unsigned long base, | |||
1956 | int i915_driver_load(struct drm_device *dev, unsigned long flags) | 1956 | int i915_driver_load(struct drm_device *dev, unsigned long flags) |
1957 | { | 1957 | { |
1958 | struct drm_i915_private *dev_priv; | 1958 | struct drm_i915_private *dev_priv; |
1959 | struct intel_device_info *info; | ||
1959 | int ret = 0, mmio_bar; | 1960 | int ret = 0, mmio_bar; |
1960 | uint32_t aperture_size; | 1961 | uint32_t aperture_size; |
1961 | 1962 | ||
1963 | info = (struct intel_device_info *) flags; | ||
1964 | |||
1965 | /* Refuse to load on gen6+ without kms enabled. */ | ||
1966 | if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET)) | ||
1967 | return -ENODEV; | ||
1968 | |||
1969 | |||
1962 | /* i915 has 4 more counters */ | 1970 | /* i915 has 4 more counters */ |
1963 | dev->counters += 4; | 1971 | dev->counters += 4; |
1964 | dev->types[6] = _DRM_STAT_IRQ; | 1972 | dev->types[6] = _DRM_STAT_IRQ; |
@@ -1972,7 +1980,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
1972 | 1980 | ||
1973 | dev->dev_private = (void *)dev_priv; | 1981 | dev->dev_private = (void *)dev_priv; |
1974 | dev_priv->dev = dev; | 1982 | dev_priv->dev = dev; |
1975 | dev_priv->info = (struct intel_device_info *) flags; | 1983 | dev_priv->info = info; |
1976 | 1984 | ||
1977 | if (i915_get_bridge_dev(dev)) { | 1985 | if (i915_get_bridge_dev(dev)) { |
1978 | ret = -EIO; | 1986 | ret = -EIO; |