diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-20 21:29:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-20 21:29:25 -0400 |
commit | f4b23cc2d5dc78ef5acbc529eb1219cc41eb5b96 (patch) | |
tree | cadf0fd7e2bcb2d2d2402fcddbda3ec9b53b2c0c /drivers/gpu/drm/i915/i915_gem.c | |
parent | e0959371b4aaddb9b986019d5cfef93f9801d0ff (diff) | |
parent | c42750b0261274107ae85c894c088e618a3e38b9 (diff) |
Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm/r600: fix possible NULL pointer derefernce
drm/radeon/kms: add quirk for ASUS HD 3600 board
include/linux/vgaarb.h: add missing part of include guard
drm/nouveau: Fix crashes during fbcon init on single head cards.
drm/nouveau: fix pcirom vbios shadow breakage from acpi rom patch
drm/radeon/kms: fix shared ddc harder
drm/i915: enable low power render writes on GEN3 hardware.
drm/i915: Define MI_ARB_STATE bits
vmwgfx: return -EFAULT if copy_to_user fails
fb: handle allocation failure in alloc_apertures()
drm: radeon: check kzalloc() result
drm/ttm: Fix build on architectures without AGP
drm/radeon/kms: fix gtt MC base alignment on rs4xx/rs690/rs740 asics
drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740
drm/radeon/kms: fix legacy tv-out pal mode
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index e7018708cc31..51bd301cf10d 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -4742,6 +4742,16 @@ i915_gem_load(struct drm_device *dev) | |||
4742 | list_add(&dev_priv->mm.shrink_list, &shrink_list); | 4742 | list_add(&dev_priv->mm.shrink_list, &shrink_list); |
4743 | spin_unlock(&shrink_list_lock); | 4743 | spin_unlock(&shrink_list_lock); |
4744 | 4744 | ||
4745 | /* On GEN3 we really need to make sure the ARB C3 LP bit is set */ | ||
4746 | if (IS_GEN3(dev)) { | ||
4747 | u32 tmp = I915_READ(MI_ARB_STATE); | ||
4748 | if (!(tmp & MI_ARB_C3_LP_WRITE_ENABLE)) { | ||
4749 | /* arb state is a masked write, so set bit + bit in mask */ | ||
4750 | tmp = MI_ARB_C3_LP_WRITE_ENABLE | (MI_ARB_C3_LP_WRITE_ENABLE << MI_ARB_MASK_SHIFT); | ||
4751 | I915_WRITE(MI_ARB_STATE, tmp); | ||
4752 | } | ||
4753 | } | ||
4754 | |||
4745 | /* Old X drivers will take 0-2 for front, back, depth buffers */ | 4755 | /* Old X drivers will take 0-2 for front, back, depth buffers */ |
4746 | if (!drm_core_check_feature(dev, DRIVER_MODESET)) | 4756 | if (!drm_core_check_feature(dev, DRIVER_MODESET)) |
4747 | dev_priv->fence_reg_start = 3; | 4757 | dev_priv->fence_reg_start = 3; |