Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm...
[deliverable/linux.git] / drivers / gpu / drm / i915 / i915_dma.c
index 05b2b1901d60d3d9f5162bc1b35dfe799416ddac..fd06bff216ff5a9527072c06b8bf7b9a1af9fcf1 100644 (file)
@@ -515,9 +515,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
 
        intel_modeset_gem_init(dev);
 
-       /* Always safe in the mode setting case. */
-       /* FIXME: do pre/post-mode set stuff in core KMS code */
-       dev->vblank_disable_allowed = true;
        if (INTEL_INFO(dev)->num_pipes == 0)
                return 0;
 
@@ -954,9 +951,11 @@ static void intel_device_info_runtime_init(struct drm_device *dev)
        else if (INTEL_INFO(dev)->gen >= 9)
                gen9_sseu_info_init(dev);
 
-       /* Snooping is broken on BXT A stepping. */
        info->has_snoop = !info->has_llc;
-       info->has_snoop &= !IS_BXT_REVID(dev, 0, BXT_REVID_A1);
+
+       /* Snooping is broken on BXT A stepping. */
+       if (IS_BXT_REVID(dev, 0, BXT_REVID_A1))
+               info->has_snoop = false;
 
        DRM_DEBUG_DRIVER("slice total: %u\n", info->slice_total);
        DRM_DEBUG_DRIVER("subslice total: %u\n", info->subslice_total);
@@ -1262,8 +1261,15 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)
        pci_set_master(dev->pdev);
 
        /* overlay on gen2 is broken and can't address above 1G */
-       if (IS_GEN2(dev))
-               dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(30));
+       if (IS_GEN2(dev)) {
+               ret = dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(30));
+               if (ret) {
+                       DRM_ERROR("failed to set DMA mask\n");
+
+                       goto out_ggtt;
+               }
+       }
+
 
        /* 965GM sometimes incorrectly writes to hardware status page (HWS)
         * using 32bit addressing, overwriting memory if HWS is located
@@ -1273,8 +1279,15 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)
         * behaviour if any general state is accessed within a page above 4GB,
         * which also needs to be handled carefully.
         */
-       if (IS_BROADWATER(dev) || IS_CRESTLINE(dev))
-               dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(32));
+       if (IS_BROADWATER(dev) || IS_CRESTLINE(dev)) {
+               ret = dma_set_coherent_mask(&dev->pdev->dev, DMA_BIT_MASK(32));
+
+               if (ret) {
+                       DRM_ERROR("failed to set DMA mask\n");
+
+                       goto out_ggtt;
+               }
+       }
 
        aperture_size = ggtt->mappable_end;
 
This page took 0.070958 seconds and 5 git commands to generate.