diff options
author | Dave Airlie <airlied@panoply-rh.(none)> | 2008-03-11 11:49:27 +1000 |
---|---|---|
committer | Dave Airlie <airlied@panoply-rh.(none)> | 2008-03-11 13:23:33 +1000 |
commit | 52748d17923b7e501b707b950227864c0b64d8a1 (patch) | |
tree | 6c726bc83b2c5b00bd844416cc30f3627bcfcee6 /shared-core | |
parent | a7e6ca62ad0d9c3c45fd9e1d81b59c2db2d714cf (diff) |
drm: hopefully fix cursors on 965
Diffstat (limited to 'shared-core')
-rw-r--r-- | shared-core/i915_drv.h | 3 | ||||
-rw-r--r-- | shared-core/i915_init.c | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h index f6c0005d..b8dfbc34 100644 --- a/shared-core/i915_drv.h +++ b/shared-core/i915_drv.h @@ -139,9 +139,10 @@ struct drm_i915_private { int fence_irq_on; uint32_t irq_enable_reg; int irq_enabled; - struct workqueue_struct *wq; + bool cursor_needs_physical; + #ifdef I915_HAVE_FENCE uint32_t flush_sequence; uint32_t flush_flags; diff --git a/shared-core/i915_init.c b/shared-core/i915_init.c index 3d8a1dca..274322e1 100644 --- a/shared-core/i915_init.c +++ b/shared-core/i915_init.c @@ -130,6 +130,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) dev->types[8] = _DRM_STAT_SECONDARY; dev->types[9] = _DRM_STAT_DMA; + if (IS_MOBILE(dev) || IS_I9XX(dev)) + dev_priv->cursor_needs_physical = true; + else + dev_priv->cursor_needs_physical = false; + + if (IS_I965G(dev) || IS_G33(dev)) + dev_priv->cursor_needs_physical = false; + if (IS_I9XX(dev)) { pci_read_config_dword(dev->pdev, 0x5C, &dev_priv->stolen_base); DRM_DEBUG("stolen base %p\n", (void*)dev_priv->stolen_base); |