Merge branch 'drm-intel-fixes' into drm-intel-next

This commit is contained in:
Keith Packard 2011-07-12 10:40:25 -07:00
commit 9aa73a51c9
3 changed files with 13 additions and 5 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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);