mirror of https://gitee.com/openkylin/linux.git
Merge branch 'drm-intel-fixes' into drm-intel-next
This commit is contained in:
commit
9aa73a51c9
|
@ -1945,7 +1945,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
|
||||||
if (!dev_priv->mm.gtt) {
|
if (!dev_priv->mm.gtt) {
|
||||||
DRM_ERROR("Failed to initialize GTT\n");
|
DRM_ERROR("Failed to initialize GTT\n");
|
||||||
ret = -ENODEV;
|
ret = -ENODEV;
|
||||||
goto out_iomapfree;
|
goto out_rmmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
agp_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT;
|
agp_size = dev_priv->mm.gtt->gtt_mappable_entries << PAGE_SHIFT;
|
||||||
|
@ -1989,7 +1989,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
|
||||||
if (dev_priv->wq == NULL) {
|
if (dev_priv->wq == NULL) {
|
||||||
DRM_ERROR("Failed to create our workqueue.\n");
|
DRM_ERROR("Failed to create our workqueue.\n");
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto out_iomapfree;
|
goto out_mtrrfree;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* enable GEM by default */
|
/* enable GEM by default */
|
||||||
|
@ -2076,13 +2076,21 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_gem_unload:
|
out_gem_unload:
|
||||||
|
if (dev_priv->mm.inactive_shrinker.shrink)
|
||||||
|
unregister_shrinker(&dev_priv->mm.inactive_shrinker);
|
||||||
|
|
||||||
if (dev->pdev->msi_enabled)
|
if (dev->pdev->msi_enabled)
|
||||||
pci_disable_msi(dev->pdev);
|
pci_disable_msi(dev->pdev);
|
||||||
|
|
||||||
intel_teardown_gmbus(dev);
|
intel_teardown_gmbus(dev);
|
||||||
intel_teardown_mchbar(dev);
|
intel_teardown_mchbar(dev);
|
||||||
destroy_workqueue(dev_priv->wq);
|
destroy_workqueue(dev_priv->wq);
|
||||||
out_iomapfree:
|
out_mtrrfree:
|
||||||
|
if (dev_priv->mm.gtt_mtrr >= 0) {
|
||||||
|
mtrr_del(dev_priv->mm.gtt_mtrr, dev->agp->base,
|
||||||
|
dev->agp->agp_info.aper_size * 1024 * 1024);
|
||||||
|
dev_priv->mm.gtt_mtrr = -1;
|
||||||
|
}
|
||||||
io_mapping_free(dev_priv->mm.gtt_mapping);
|
io_mapping_free(dev_priv->mm.gtt_mapping);
|
||||||
out_rmmap:
|
out_rmmap:
|
||||||
pci_iounmap(dev->pdev, dev_priv->regs);
|
pci_iounmap(dev->pdev, dev_priv->regs);
|
||||||
|
|
|
@ -52,7 +52,7 @@ module_param_named(powersave, i915_powersave, int, 0600);
|
||||||
unsigned int i915_semaphores = 0;
|
unsigned int i915_semaphores = 0;
|
||||||
module_param_named(semaphores, i915_semaphores, int, 0600);
|
module_param_named(semaphores, i915_semaphores, int, 0600);
|
||||||
|
|
||||||
unsigned int i915_enable_rc6 = 1;
|
unsigned int i915_enable_rc6 = 0;
|
||||||
module_param_named(i915_enable_rc6, i915_enable_rc6, int, 0600);
|
module_param_named(i915_enable_rc6, i915_enable_rc6, int, 0600);
|
||||||
|
|
||||||
unsigned int i915_enable_fbc = 1;
|
unsigned int i915_enable_fbc = 1;
|
||||||
|
|
|
@ -165,7 +165,7 @@ void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring);
|
||||||
int __must_check intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n);
|
int __must_check intel_wait_ring_buffer(struct intel_ring_buffer *ring, int n);
|
||||||
static inline int intel_wait_ring_idle(struct intel_ring_buffer *ring)
|
static inline int intel_wait_ring_idle(struct intel_ring_buffer *ring)
|
||||||
{
|
{
|
||||||
return intel_wait_ring_buffer(ring, ring->space - 8);
|
return intel_wait_ring_buffer(ring, ring->size - 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
int __must_check intel_ring_begin(struct intel_ring_buffer *ring, int n);
|
int __must_check intel_ring_begin(struct intel_ring_buffer *ring, int n);
|
||||||
|
|
Loading…
Reference in New Issue